diff options
Diffstat (limited to 'app/src/main/java')
| -rw-r--r-- | app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java | 12 | ||||
| -rw-r--r-- | app/src/main/java/com/softwarefools/nik/spiritlevel/LevelView.java | 80 |
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; |
