summaryrefslogtreecommitdiff
path: root/app/src/main/java/com/softwarefools/nik
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java/com/softwarefools/nik')
-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
2 files changed, 64 insertions, 28 deletions
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;