summaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
authorNikolaus Gotsche <n@softwarefools.com>2015-12-03 04:02:28 +0100
committerNikolaus Gotsche <n@softwarefools.com>2015-12-03 04:02:28 +0100
commit3f06aee05ac73d849cef45cc5de49268763f82da (patch)
treefae94f781dda8396a5bc3a47808220af2cb65b13 /app/src/main
parentf45a06098d4c4e60b2fdc78836bf6ef664900a91 (diff)
More Settings and Support Packages
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/AndroidManifest.xml31
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java12
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/LevelView.java80
-rw-r--r--app/src/main/res/values-fr/strings.xml22
-rw-r--r--app/src/main/res/values-it/strings.xml22
-rw-r--r--app/src/main/res/values-ru/strings.xml22
-rw-r--r--app/src/main/res/values/arrays.xml21
-rw-r--r--app/src/main/res/values/strings.xml4
-rw-r--r--app/src/main/res/xml/settings.xml8
9 files changed, 194 insertions, 28 deletions
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..05ca590
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="com.example.spiritlevel"
+ android:versionCode="1"
+ android:versionName="1.0" >
+
+ <uses-sdk
+ android:minSdkVersion="10"
+ android:targetSdkVersion="23" />
+
+ <application
+ android:allowBackup="true"
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/app_name"
+ android:theme="@style/AppTheme" >
+ <activity
+ android:name="com.softwarefools.nik.spiritlevel.LevelActivity"
+ android:label="@string/app_name"
+ android:screenOrientation="landscape" >
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <activity android:name="com.softwarefools.nik.spiritlevel.AppPreferences"
+ android:screenOrientation="portrait"
+ android:theme="@android:style/Theme" />
+ </application>
+
+</manifest>
diff --git a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
index a31be8d..5b618d0 100644
--- a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
+++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
@@ -72,7 +72,7 @@ public class LevelActivity extends Activity implements MySensorListener{
private TextView gravityField;
private Random r;
- public ArrayList<String> mysupplangs;
+
private Locale myLocale;
@@ -121,22 +121,22 @@ public class LevelActivity extends Activity implements MySensorListener{
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR) {
- String setlang = mySettings.getString("applicationLanguage","none");
+ String setlang = mySettings.getString("applicationLanguage","xxx");
String comp = getResources().getConfiguration().locale.getLanguage();
- if (setlang.contains(comp)){
+ if (!setlang.contains(comp)){
//Toast.makeText(getBaseContext(), "Language is local", Toast.LENGTH_SHORT).show(); // Toast Vorlage
- }
- else if (setlang=="none" ) {
+ if (setlang=="xxx" ) {
SharedPreferences.Editor editor = mySettings.edit();
editor.putString("applicationLanguage", comp);
editor.commit();
t1.setLanguage(getResources().getConfiguration().locale);
+ setLocale(setlang);
//Toast.makeText(getBaseContext(), "Needet to Set Variable", Toast.LENGTH_SHORT).show(); // Toast Vorlage
}else {
//Toast.makeText(getBaseContext(), "Some Fuckup! Set:"+setlang+", current: "+comp, Toast.LENGTH_SHORT).show(); // Toast Vorlage
setLocale(setlang);
- }
+ }}
//t1.setLanguage(getResources().getConfiguration().locale);
accelvector= new Vector<nikVector>();
diff --git a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelView.java b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelView.java
index 0ee160e..bf0a1b4 100644
--- a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelView.java
+++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelView.java
@@ -6,14 +6,17 @@ import com.softwarefools.nik.spiritlevel.*;
import java.util.Locale;
import android.content.Context;
+import android.content.SharedPreferences;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
+import android.graphics.Path;
import android.graphics.Point;
import android.graphics.RectF;
import android.hardware.Sensor;
import android.hardware.SensorManager;
+import android.preference.PreferenceManager;
import android.util.DisplayMetrics;
import android.view.Display;
import android.view.Menu;
@@ -94,6 +97,8 @@ public class LevelView extends View{
int mActionBarSize=0;
int statusbarSize=0;
+ SharedPreferences mySettings;
+
private String langname="";
//private float ballX = ballRadius + 20; // Ball's center (x,y)
@@ -135,7 +140,9 @@ public class LevelView extends View{
public LevelView(Context context) {
//registerForContextMenu();
+
super(context);
+ mySettings = PreferenceManager.getDefaultSharedPreferences(context);
init();
@@ -143,6 +150,7 @@ public class LevelView extends View{
private void init() {
+
ballBounds = new RectF();
helpBallBounds = new RectF();
helpBallBounds2 = new RectF();
@@ -203,7 +211,7 @@ public class LevelView extends View{
/**
* Initial Colorsettings
- * Derzeit
+ * Später
* Auslagerung in settings;
*/
paintCircle.setColor(Color.BLACK);
@@ -227,7 +235,7 @@ public class LevelView extends View{
paintVectorHelp.setColor(Color.RED);
paintVectorHelp.setAntiAlias(true);
-
+ //paintVector2.setStyle(Paint.Style.FILL_AND_STROKE);
paintVector2.setColor(Color.RED);
paintVector2.setAntiAlias(true);
paintVector2.setStrokeWidth(vectWidth);
@@ -326,23 +334,33 @@ public class LevelView extends View{
setVectorColor();
if(inHorizontalMode()){
- canvas.drawLine(xCenter, yCenter, x_gravEnd ,y_gravEnd , paintVector);
- levelballRadius=(int) (displayheight/20*(1-Math.sqrt(x_gravSense*x_gravSense+y_gravSense*y_gravSense)));
- levelballBounds.set(x_gravEnd-levelballRadius,y_gravEnd-levelballRadius,x_gravEnd+levelballRadius,y_gravEnd+levelballRadius);
- canvas.drawOval(levelballBounds, paintVector);
- canvas.drawLine(x_gravEnd-levelballRadius,y_gravEnd,x_gravEnd+levelballRadius,y_gravEnd,paintAxisHelpLines);
- canvas.drawLine(x_gravEnd,y_gravEnd-levelballRadius,x_gravEnd,y_gravEnd+levelballRadius,paintAxisHelpLines);
- canvas.drawLine(xCenter, yCenter, x_accEnd ,y_accEnd , paintVector2);
-
+ if(mySettings.getBoolean("applicationShowGrav",true)) {
+ canvas.drawLine(xCenter, yCenter, x_gravEnd, y_gravEnd, paintVector);
+ levelballRadius = (int) (displayheight / 20 * (1 - Math.sqrt(x_gravSense * x_gravSense + y_gravSense * y_gravSense)));
+ levelballBounds.set(x_gravEnd - levelballRadius, y_gravEnd - levelballRadius, x_gravEnd + levelballRadius, y_gravEnd + levelballRadius);
+ canvas.drawOval(levelballBounds, paintVector);
+ canvas.drawLine(x_gravEnd - levelballRadius, y_gravEnd, x_gravEnd + levelballRadius, y_gravEnd, paintAxisHelpLines);
+ canvas.drawLine(x_gravEnd, y_gravEnd - levelballRadius, x_gravEnd, y_gravEnd + levelballRadius, paintAxisHelpLines);
+ }
+ if(mySettings.getBoolean("applicationShowAccel",true)) {
+ //canvas.drawPath(getTrianglePath(xCenter, yCenter, x_accEnd, y_accEnd), paintVector2);
+ canvas.drawLine(xCenter, yCenter, x_accEnd, y_accEnd, paintVector2);
+ }
}else{
//levelballRadius=0;
levelballRadius=(int) (displayheight/20*(1-Math.sqrt(x_gravSense*x_gravSense+y_gravSense*y_gravSense)));
levelballBounds.set(x_gravEnd-levelballRadius,y_gravEnd-levelballRadius,x_gravEnd+levelballRadius,y_gravEnd+levelballRadius);
- canvas.drawLine(xCenter, yCenter, x_gravEnd ,y_gravEnd , paintVector);
- canvas.drawLine(xCenter, yCenter, x_accEnd ,y_accEnd , paintVector2);
- canvas.drawLine(xCenter, yCenter, x_horizon, y_horizon, paintVectorHelp);
- canvas.drawLine(xCenter, yCenter, x_horizon2, y_horizon2, paintVectorHelp);
-
+
+ if(mySettings.getBoolean("applicationShowAccel",true)) {
+ //canvas.drawPath(getTrianglePath(xCenter, yCenter, x_accEnd, y_accEnd), paintVector2);
+ canvas.drawLine(xCenter, yCenter, x_accEnd, y_accEnd, paintVector2);
+ }
+ if(mySettings.getBoolean("applicationShowGrav",true)) {
+ canvas.drawOval(levelballBounds, paintVector);
+ canvas.drawLine(xCenter, yCenter, x_gravEnd, y_gravEnd, paintVector);
+ canvas.drawLine(xCenter, yCenter, x_horizon, y_horizon, paintVectorHelp);
+ canvas.drawLine(xCenter, yCenter, x_horizon2, y_horizon2, paintVectorHelp);
+ }
}
canvas.save();
//canvas.rotate((float) (180*getAngle(y_gravSense, x_gravSense)/Math.PI));
@@ -351,13 +369,14 @@ public class LevelView extends View{
float sum_amax=(float)getLength(x_accSense_max,y_accSense_max,z_accSense_max);
float sum_na =(float) getLength(x_accSense-x_gravSense,y_accSense-y_gravSense,z_accSense-z_gravSense);
- canvas.drawText("G [m\u00B2/s]", x_gravEnd+levelballRadius+margin, y_gravEnd+margin, paintVector);
- canvas.drawText("\u01A9 "+niceValue(sum_g), x_gravEnd+levelballRadius+margin, y_gravEnd+margin+vectTextSize+vectTextDist, paintVector);
- canvas.drawText("x "+niceValue(x_gravSense), x_gravEnd+levelballRadius+margin, y_gravEnd+margin+2*vectTextSize+vectTextDist, paintVector);
- canvas.drawText("y "+niceValue(y_gravSense), x_gravEnd+levelballRadius+margin, y_gravEnd+margin+3*vectTextSize+vectTextDist, paintVector);
- canvas.drawText("z "+niceValue(z_gravSense), x_gravEnd+levelballRadius+margin, y_gravEnd+margin+4*vectTextSize+vectTextDist, paintVector);
- canvas.restore();
-
+ if(mySettings.getBoolean("applicationShowGrav",true)) {
+ canvas.drawText("G [m\u00B2/s]", x_gravEnd + levelballRadius + margin, y_gravEnd + margin, paintVector);
+ canvas.drawText("\u01A9 " + niceValue(sum_g), x_gravEnd + levelballRadius + margin, y_gravEnd + margin + vectTextSize + vectTextDist, paintVector);
+ canvas.drawText("x " + niceValue(x_gravSense), x_gravEnd + levelballRadius + margin, y_gravEnd + margin + 2 * vectTextSize + vectTextDist, paintVector);
+ canvas.drawText("y " + niceValue(y_gravSense), x_gravEnd + levelballRadius + margin, y_gravEnd + margin + 3 * vectTextSize + vectTextDist, paintVector);
+ canvas.drawText("z " + niceValue(z_gravSense), x_gravEnd + levelballRadius + margin, y_gravEnd + margin + 4 * vectTextSize + vectTextDist, paintVector);
+ canvas.restore();
+ }
// Acceleration Sumup
canvas.drawText("A [m\u00B2/s]", displaywidth-displaywidth/10, margin+vectTextSize, paintVector2);
@@ -443,6 +462,23 @@ public class LevelView extends View{
if(sqs<0.5) return true;
else return false;
}
+ public Path getTrianglePath(float cx, float cy , float x, float y){
+ int cxi=(int)cx;
+ int cyi=(int)cy;
+ int xi2=(int)(x/2);
+ int yi2=(int)(y/2);
+ Point a = new Point(cxi, cyi);
+ Point b = new Point(cxi+3*xi2,cyi+yi2);
+ Point c = new Point(cxi+xi2,cyi+3*yi2);
+
+ Path path = new Path();
+ path.setFillType(Path.FillType.EVEN_ODD);
+ path.lineTo(b.x, b.y);
+ path.lineTo(c.x, c.y);
+ path.lineTo(a.x, a.y);
+ path.close();
+ return path;
+ }
public void setVectorColor(){
//Color GRavity Vector
double prec=0;
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
new file mode 100644
index 0000000..4ec24e2
--- /dev/null
+++ b/app/src/main/res/values-fr/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+
+ <string name="action_settings">Paramètres</string>
+ <string name="action_record">Enregistrement</string>
+ <string name="action_record_text">Je commence à enregistrer!</string>
+ <string name="action_record_text_off">Je cesse d\'enregistrer!</string>
+
+ <string name="alert">Attention! Cela représente environ</string>
+
+ <string name="action_lang">Changer de langue</string>
+ <string name="action_lang_NA">Fichiers vocaux Frensh ne sont pas installés! S\'il vous plaît de les installer dans les paramètres de votre téléphone, en cas de besoin</string>
+
+ <string name="action_exit">Sortie</string>
+
+ <string name="change_text">Changer la langue vers le français</string>
+
+ <string name="goodby">Merci de ce que vous utilisez un logiciel de Fools! </string>
+
+ <string name="toast_force">Accélération détecté! \n Force de:</string>
+</resources>
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
new file mode 100644
index 0000000..3863fb2
--- /dev/null
+++ b/app/src/main/res/values-it/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+
+ <string name="action_settings">Impostazioni</string>
+ <string name="action_record">Registrar</string>
+ <string name="action_record_text">Comincio a registrare!</string>
+ <string name="action_record_text_off">Mi fermo a registrare!</string>
+
+ <string name="alert">Attenzione! Si tratta di circa </string>
+
+ <string name="action_lang">Cambia lingua</string>
+ <string name="action_lang_NA">Pacchetto discorso italiano non sono installati! Si prega di installarli nelle impostazioni del telefono, in caso di necessità</string>
+
+ <string name="action_exit">Uscita</string>
+
+ <string name="change_text">Cambio la lingua di italiano</string>
+
+ <string name="goodby">Grazie per l\'utilizzo di software Fools Software! </string>
+
+ <string name="toast_force">Accelerazione rilevata!\n Vigore:</string>
+</resources>
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
new file mode 100644
index 0000000..1a16df4
--- /dev/null
+++ b/app/src/main/res/values-ru/strings.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+
+ <string name="action_settings">настройки</string>
+ <string name="action_record">запись</string>
+ <string name="action_record_text">Я начинаю записывать!</string>
+ <string name="action_record_text_off">Я останавливаюсь, чтобы записать!</string>
+
+ <string name="alert">Внимание! Это примерно </string>
+
+ <string name="action_lang">Изменить язык</string>
+ <string name="action_lang_NA">Российские речевые файлы не устанавливаются! Пожалуйста, установите их в телефоне настройки, при необходимости</string>
+
+ <string name="action_exit">Выход</string>
+
+ <string name="change_text">Изменение языка на русский</string>
+
+ <string name="goodby">Спасибо за использование Software Fools Software!</string>
+
+ <string name="toast_force">Ускорение обнаружено! \n сила:</string>
+</resources>
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
new file mode 100644
index 0000000..0b8d638
--- /dev/null
+++ b/app/src/main/res/values/arrays.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string-array name="langlist">
+ <item>Deutsch</item>
+ <item>English</item>
+ <item>Español</item>
+ <item>Français</item>
+ <item>Italiano</item>
+ <item>Polski</item>
+ <item>Русский</item>
+ </string-array>
+ <string-array name="langValues">
+ <item>de</item>
+ <item>en</item>
+ <item>es</item>
+ <item>fr</item>
+ <item>it</item>
+ <item>pl</item>
+ <item>ru</item>
+ </string-array>
+</resources> \ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index fa7577e..3a9b6c2 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -36,5 +36,9 @@
<string name="settings_intent_bugreport_sum">Redirect to the SF.com Mantis server</string>
<string name="settings_language">Select Language</string>
<string name="settings_language_sum">Select one of the available Languages</string>
+ <string name="setting_accel">Accelleration</string>
+ <string name="setting_accel_sum">Show Acceleration vector on the Coordinates</string>
+ <string name="setting_gravity">Gravity</string>
+ <string name="setting_gravity_sum">Show gravitational acceleration on Coords</string>
</resources>
diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml
index 0a740ab..066fcf3 100644
--- a/app/src/main/res/xml/settings.xml
+++ b/app/src/main/res/xml/settings.xml
@@ -16,6 +16,14 @@
android:defaultValue="de"
android:entries="@array/langlist"
android:entryValues="@array/langValues" />
+ <CheckBoxPreference android:title="@string/setting_gravity"
+ android:defaultValue="true"
+ android:summary="@string/setting_gravity_sum"
+ android:key="applicationShowGrav" />
+ <CheckBoxPreference android:title="@string/setting_accel"
+ android:defaultValue="true"
+ android:summary="@string/setting_accel_sum"
+ android:key="applicationShowAccel" />
<CheckBoxPreference android:title="@string/setting_speak"
android:defaultValue="true"