summaryrefslogtreecommitdiff
path: root/app/src/main/java/com/softwarefools
diff options
context:
space:
mode:
authorNikolaus Gotsche <n@softwarefools.com>2015-12-01 05:47:56 +0100
committerNikolaus Gotsche <n@softwarefools.com>2015-12-01 05:47:56 +0100
commit555b367a8197b9d5e1dea80e81f3021e24754e29 (patch)
treefa2c6cb07c6630de1429c25d9941fe789a6bf36b /app/src/main/java/com/softwarefools
parent029688dacc332cbddce9a81fa0abe12f66d86966 (diff)
Now With Settings Menu
Diffstat (limited to 'app/src/main/java/com/softwarefools')
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/AppPreferences.java36
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java170
-rw-r--r--app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java33
3 files changed, 207 insertions, 32 deletions
diff --git a/app/src/main/java/com/softwarefools/nik/spiritlevel/AppPreferences.java b/app/src/main/java/com/softwarefools/nik/spiritlevel/AppPreferences.java
new file mode 100644
index 0000000..30be89a
--- /dev/null
+++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/AppPreferences.java
@@ -0,0 +1,36 @@
+package com.softwarefools.nik.spiritlevel;
+import com.example.spiritlevel.R;
+
+/**
+ * Created by nick on 01.12.15.
+ */
+import android.os.Bundle;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceScreen;
+
+public class AppPreferences extends PreferenceActivity {
+
+ public static final String PREFS_NAME = "MyPrefsFile";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit();
+
+
+ //Initialize the "up" button
+ // getActionBar().setDisplayHomeAsUpEnabled(true);
+ }
+
+ public static class MyPreferenceFragment extends PreferenceFragment
+ {
+ @Override
+ public void onCreate(final Bundle savedInstanceState)
+ {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.settings);
+ }
+ }
+
+}
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 75049a7..6875f54 100644
--- a/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
+++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java
@@ -5,15 +5,23 @@ import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
-
+import android.app.FragmentManager;
+import android.app.FragmentTransaction;
+import android.content.SharedPreferences;
import java.util.Locale;
+import java.util.Map;
import java.util.Random;
+import java.util.Set;
+import java.util.Vector;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
+import android.provider.Settings;
import android.util.DisplayMetrics;
//
//
@@ -41,13 +49,22 @@ import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
+//Toast.makeText(getBaseContext(), "Sometext", Toast.LENGTH_SHORT).show(); // Toast Vorlage
+
public class LevelActivity extends Activity implements MySensorListener{
- public static DecimalFormat f = new DecimalFormat("#0.000");
+ public static DecimalFormat f = new DecimalFormat("#0.000");
+
+ public static final String PREFS_NAME = "MyPrefsFile";
+
private SensorManager mSensorManager;
private Sensor mySensor;
private Sensor aSensor,gSensor;
private LevelView levelView;
+ private AppPreferences myprefs;
+
+ private Vector<nikVector> accelvector;
+ private Vector<nikVector> gravvector;
private TextView accelField;
private TextView gravityField;
@@ -57,6 +74,8 @@ public class LevelActivity extends Activity implements MySensorListener{
private Locale myLocale;
+ SharedPreferences mySettings;
+
TextToSpeech t1;
@@ -67,8 +86,23 @@ public class LevelActivity extends Activity implements MySensorListener{
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
levelView = new LevelView(this);
+ myprefs = new AppPreferences();
+
setContentView(levelView);
+
+ mySettings = PreferenceManager.getDefaultSharedPreferences(this);
+
+ //Fragments
+ //getFragmentManager().beginTransaction().replace(android.R.id.content, new PrefsFragment()).commit();
+ /*FragmentManager mFragmentManager = getFragmentManager();
+ FragmentTransaction mFragmentTransaction = mFragmentManager
+ .beginTransaction();
+ PrefsFragment mPrefsFragment = new PrefsFragment();
+ mFragmentTransaction.replace(android.R.id.content, mPrefsFragment);
+ mFragmentTransaction.commit();*/
+
+
r = new Random();
mysupplangs = new ArrayList<String>();
mysupplangs.add("de");
@@ -82,16 +116,27 @@ public class LevelActivity extends Activity implements MySensorListener{
@Override
public void onInit(int status) {
if(status != TextToSpeech.ERROR) {
-
- t1.setLanguage(getResources().getConfiguration().locale);
+ String setlang = mySettings.getString("applicationLanguage","none");
+ String comp = getResources().getConfiguration().locale.getLanguage();
+ if (setlang.contains(comp)){
+ //Toast.makeText(getBaseContext(), "Language is local", Toast.LENGTH_SHORT).show(); // Toast Vorlage
+ }
+ else if (setlang=="none" ) {
+
+ SharedPreferences.Editor editor = mySettings.edit();
+ editor.putString("applicationLanguage", comp);
+ editor.commit();
+ t1.setLanguage(getResources().getConfiguration().locale);
+ //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);
}
} });
- //
- //
- //t1.speak(Locale.getDefault().getLanguage(), TextToSpeech.QUEUE_FLUSH, null);
- //Toast.makeText(getBaseContext(), "|"+Locale.getDefault().getLanguage()+"|",Toast.LENGTH_SHORT).show();
- //langname="de";
+
setupActionBar();
@@ -108,9 +153,23 @@ public class LevelActivity extends Activity implements MySensorListener{
@Override
public void onResume() {
super.onResume();
- Toast.makeText(getBaseContext(), "onResume Sensors Started",
- Toast.LENGTH_SHORT).show();
-
+ // Toast.makeText(getBaseContext(), "onResume Sensors Started", Toast.LENGTH_SHORT).show();
+ String setlang = mySettings.getString("applicationLanguage","none");
+ String comp = getResources().getConfiguration().locale.getLanguage();
+ if (setlang.contains(comp)){
+ //Toast.makeText(getBaseContext(), "Language is local", Toast.LENGTH_SHORT).show(); // Toast Vorlage
+ }
+ else if (setlang=="none" ) {
+
+ SharedPreferences.Editor editor = mySettings.edit();
+ editor.putString("applicationLanguage", comp);
+ editor.commit();
+ t1.setLanguage(getResources().getConfiguration().locale);
+ //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);
+ }
orientation=getScreenOrientation();
// orientation= getResources().getConfiguration().orientation;
//Check device supported Accelerometer senssor or not
@@ -131,8 +190,7 @@ public class LevelActivity extends Activity implements MySensorListener{
//Start Accelerometer Listening
MySensorManager.stopListening();
- Toast.makeText(getBaseContext(), "onStop Sensors Stoped",
- Toast.LENGTH_SHORT).show();
+ //Toast.makeText(getBaseContext(), "onStop Sensors Stoped",Toast.LENGTH_SHORT).show();
}
}
@@ -148,8 +206,7 @@ public class LevelActivity extends Activity implements MySensorListener{
//Start Accelerometer Listening
MySensorManager.stopListening();
- Toast.makeText(getBaseContext(), "onDestroy Sensors Stoped",
- Toast.LENGTH_SHORT).show();
+ //Toast.makeText(getBaseContext(), "onDestroy Sensors Stoped", Toast.LENGTH_SHORT).show();
}
}
@@ -169,39 +226,55 @@ public class LevelActivity extends Activity implements MySensorListener{
// Handle item selection
switch (item.getItemId()) {
case R.id.action_settings:
- t1.speak(this.getString(R.string.action_settings), TextToSpeech.QUEUE_FLUSH, null);
+ beLoud(this.getString(R.string.action_settings));
+ //t1.speak(this.getString(R.string.action_settings), TextToSpeech.QUEUE_FLUSH, null);
+ Intent refresh = new Intent(this, AppPreferences.class);
+ startActivity(refresh);
+ return true;
+ case R.id.action_record:
+
+ //t1.speak(this.getString(R.string.action_record_text), TextToSpeech.QUEUE_FLUSH, null);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ //Toast.makeText(getBaseContext(), "Setting on Recording:"+prefs.getBoolean("applicationRecording",true), Toast.LENGTH_SHORT).show();
+ if (!prefs.getBoolean("applicationRecording",true)) {
+ Boolean a= prefs.getBoolean("applicationRecording",false);
+ beLoud(this.getString(R.string.action_record_text),a.toString());
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putBoolean("applicationRecording",true);
+ editor.commit();
+ } else {
+ SharedPreferences.Editor editor = prefs.edit();
+ editor.putBoolean("applicationRecording", false);
+ editor.commit();
+
+ // Save The DATA
+ }
+
+
return true;
case R.id.action_exit:
- t1.speak(this.getString(R.string.goodby), TextToSpeech.QUEUE_FLUSH, null);
+ //t1.speak(this.getString(R.string.goodby), TextToSpeech.QUEUE_FLUSH, null);
+
+ exitAll();
- System.exit(0);
return true;
case R.id.action_changelang:
+ //t1.speak(this.getString(R.string.change_text), TextToSpeech.QUEUE_FLUSH, null);
String comp=getResources().getConfiguration().locale.getLanguage();
String neus;
do {
int neur = r.nextInt(mysupplangs.size());
neus = mysupplangs.get(neur);
}while(comp.contains(neus));
+
setLocale(neus);
- t1.speak(this.getString(R.string.change_text), TextToSpeech.QUEUE_FLUSH, null);
- /*
- Schumamal..... Niks next Commit Test mit PW
- if (comp.contains("en")) {
- t1.speak(this.getString(R.string.change_text)+this.getString(R.string.change_german), TextToSpeech.QUEUE_FLUSH, null);
- //t1.setLanguage(getResources().getConfiguration().locale);
- setLocale("de");
+ /*
- }else if (comp.contains("de")) {
- t1.speak(this.getString(R.string.change_text)+this.getString(R.string.change_english), TextToSpeech.QUEUE_FLUSH, null);
- //t1.setLanguage(Locale.ENGLISH);
- setLocale("en");
- }else t1.speak(this.getString(R.string.fuckoff), TextToSpeech.QUEUE_FLUSH, null);
*/
return true;
default:
@@ -229,10 +302,13 @@ public class LevelActivity extends Activity implements MySensorListener{
@Override
public void onShake(float force) {
// TODO Auto-generated method stub
+ beLoud(this.getString(R.string.alert)+(int)force+this.getString(R.string.newton),this.getString(R.string.toast_force)+force+this.getString(R.string.newton_short));
+/*
String maketext= this.getString(R.string.alert)+(int)force+this.getString(R.string.newton);
//Toast.makeText(getApplicationContext(), toSpeak,Toast.LENGTH_SHORT).show();
t1.speak(maketext, TextToSpeech.QUEUE_FLUSH, null);
Toast.makeText(getBaseContext(), this.getString(R.string.toast_force)+force+this.getString(R.string.newton_short),Toast.LENGTH_SHORT).show();
+ */
}
/**
@@ -307,6 +383,10 @@ public class LevelActivity extends Activity implements MySensorListener{
return orientation;
}
public void setLocale(String lang) {
+
+ SharedPreferences.Editor editor = mySettings.edit();
+ editor.putString("applicationLanguage", lang);
+ editor.commit();
myLocale = new Locale(lang);
//langname=lang;
Resources res = getResources();
@@ -316,8 +396,34 @@ public class LevelActivity extends Activity implements MySensorListener{
res.updateConfiguration(conf, dm);
Intent refresh = new Intent(this, LevelActivity.class);
startActivity(refresh);
+ t1.setLanguage(getResources().getConfiguration().locale);
+ beLoud(this.getString(R.string.change_text));
+ //t1.speak(this.getString(R.string.change_text), TextToSpeech.QUEUE_FLUSH, null);
setupActionBar();
finish();
- t1.setLanguage(getResources().getConfiguration().locale);
+
}
+ public void beLoud(String whatsay,String whatwrite){
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ if(prefs.getBoolean("applicationWriting",true))Toast.makeText(getBaseContext(), whatwrite, Toast.LENGTH_LONG).show();
+ if(prefs.getBoolean("applicationTalking",true))t1.speak(whatsay, TextToSpeech.QUEUE_FLUSH, null);
+
+
+ }
+ public void beLoud(String what){
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
+ if(prefs.getBoolean("applicationWriting",true))Toast.makeText(getBaseContext(), what, Toast.LENGTH_LONG).show();
+ if(prefs.getBoolean("applicationTalking",true))t1.speak(what, TextToSpeech.QUEUE_FLUSH, null);
+
+
+ }
+ public void exitAll(){
+ t1.speak(this.getString(R.string.goodby), TextToSpeech.QUEUE_FLUSH, null);
+ while (t1.isSpeaking()){
+ //system.Out.Println("Do something or nothing while speaking..")
+ }
+ System.exit(0);
+ }
+
+
}
diff --git a/app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java b/app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java
new file mode 100644
index 0000000..9ff671a
--- /dev/null
+++ b/app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java
@@ -0,0 +1,33 @@
+package com.softwarefools.nik.spiritlevel;
+
+/**
+ * Created by nick on 01.12.15.
+ */
+public class nikVector {
+
+ private long t;
+ private double x;
+ private double y;
+ private double z;
+
+ public void nikVector(){
+ //get current timestamp
+ this.t=System.currentTimeMillis()/1000;;
+ this.x=66.6;
+ this.y=77.7;
+ this.z=13.1982;
+
+ }
+ public void nikVector(long ts,double a, double b , double c){
+ this.t=ts;
+ this.x=a;
+ this.y=b;
+ this.z=c;
+
+ }
+ public String getString(){
+ String str=t+" : "+x+";"+y+";"+z ;
+ return str;
+ }
+
+}