diff options
| author | Nikolaus Gotsche <n@softwarefools.com> | 2015-12-01 05:47:56 +0100 |
|---|---|---|
| committer | Nikolaus Gotsche <n@softwarefools.com> | 2015-12-01 05:47:56 +0100 |
| commit | 555b367a8197b9d5e1dea80e81f3021e24754e29 (patch) | |
| tree | fa2c6cb07c6630de1429c25d9941fe789a6bf36b /app/src | |
| parent | 029688dacc332cbddce9a81fa0abe12f66d86966 (diff) | |
Now With Settings Menu
Diffstat (limited to 'app/src')
| -rw-r--r-- | app/src/main/java/com/softwarefools/nik/spiritlevel/AppPreferences.java | 36 | ||||
| -rw-r--r-- | app/src/main/java/com/softwarefools/nik/spiritlevel/LevelActivity.java | 170 | ||||
| -rw-r--r-- | app/src/main/java/com/softwarefools/nik/spiritlevel/nikVector.java | 33 | ||||
| -rw-r--r-- | app/src/main/res/menu/level.xml | 5 | ||||
| -rw-r--r-- | app/src/main/res/values-de/strings.xml | 2 | ||||
| -rw-r--r-- | app/src/main/res/values-en/strings.xml | 4 | ||||
| -rw-r--r-- | app/src/main/res/values-es/strings.xml | 4 | ||||
| -rw-r--r-- | app/src/main/res/values-pl/strings.xml | 7 | ||||
| -rw-r--r-- | app/src/main/res/values/strings.xml | 16 | ||||
| -rw-r--r-- | app/src/main/res/xml/preference.xml | 10 | ||||
| -rw-r--r-- | app/src/main/res/xml/settings.xml | 38 |
11 files changed, 289 insertions, 36 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; + } + +} diff --git a/app/src/main/res/menu/level.xml b/app/src/main/res/menu/level.xml index 76cfed8..bdc368f 100644 --- a/app/src/main/res/menu/level.xml +++ b/app/src/main/res/menu/level.xml @@ -10,6 +10,11 @@ android:orderInCategory="100" android:showAsAction="collapseActionView" android:title="@string/action_settings"/> + <item + android:id="@+id/action_record" + android:orderInCategory="2" + android:showAsAction="collapseActionView" + android:title="@string/action_record"/> <item android:id="@+id/action_changelang" android:title="@string/action_lang" diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 37a365f..75b7eb3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -3,6 +3,8 @@ <string name="action_settings">Einstellungen</string> + <string name="action_record">Aufnehmen</string> + <string name="action_record_text">Ich nehme Auf!</string> <string name="alert">Achtung! Das waren </string> diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index bb044b6..8a32421 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -3,7 +3,9 @@ <string name="action_settings">Settings</string> - + <string name="action_record">Record</string> + <string name="action_record_text">I start to record!</string> + <string name="alert">Attention! Thats about </string> <string name="action_lang">Change Language</string> diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index ef91cd8..8405214 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -3,7 +3,9 @@ <string name="action_settings">Calibración</string> - + <string name="action_record">Grabar</string> + <string name="action_record_text">Empiezo a grabar!</string> + <string name="alert">¡Guarda! Estos son </string> <string name="action_lang">Cambiar idioma</string> diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index b7f5ee4..a322da9 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -3,7 +3,10 @@ <string name="action_settings">Ustawienia</string> - + <string name="action_record">Rekord</string> + <string name="action_record_text">Zacznę nagrywać!</string> + + <string name="alert">Uwaga! To jest to około</string> <string name="action_lang">Zmień język</string> @@ -11,7 +14,7 @@ <string name="change_text">Zmiana języka polerować</string> - <string name="goodby">Dziękujemy za korzystanie z Software Fools Software! teraz spierdalaj</string> + <string name="goodby">Dziękujemy za korzystanie z Software Fools Software! teraz spierdalaj</string> <string name="toast_force">wykryte przyspieszenie! \n Siła:</string> </resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 789db9f..237b4f2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -11,4 +11,20 @@ <string name="lang_german">Deutsch</string> <string name="lang_english">English</string> + + <string name="settings_devname">Device Name</string> + <string name="settings_devname_sum">Please provide Devices Name</string> + <string name="setting_recording">Set to Record</string> + <string name="setting_recording_sum">Records Sensor Output when set</string> + <string name="settings_overall">System Settings</string> + <string name="settings_recording_preferences">Data Acquisition Setting</string> + <string name="settings_launch_preferences">Launch Settings</string> + <string name="settings_intent_reset">Reset System</string> + <string name="settings_intent_reset_sum">Resets the System</string> + <string name="setting_speak">Talk</string> + <string name="setting_speak_sum">Let the System Talk to you</string> + <string name="setting_write">Write</string> + <string name="setting_write_sum">Recieve written Notes from the System</string> + + </resources> diff --git a/app/src/main/res/xml/preference.xml b/app/src/main/res/xml/preference.xml new file mode 100644 index 0000000..1375291 --- /dev/null +++ b/app/src/main/res/xml/preference.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> + <EditTextPreference android:title="@string/settings_devname" + android:key="devicename" + android:summary="@string/settings_devname_sum"></EditTextPreference> + <CheckBoxPreference android:title="@string/setting_recording" + android:defaultValue="false" + android:summary="@string/setting_recording_sum" + android:key="applicationRecording" /> +</PreferenceScreen>
\ No newline at end of file diff --git a/app/src/main/res/xml/settings.xml b/app/src/main/res/xml/settings.xml new file mode 100644 index 0000000..de13ed0 --- /dev/null +++ b/app/src/main/res/xml/settings.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> + <PreferenceCategory + android:title="@string/settings_overall"> + + <EditTextPreference android:title="@string/settings_devname" + android:key="devicename" + android:summary="@string/settings_devname_sum"></EditTextPreference> + <CheckBoxPreference android:title="@string/setting_speak" + android:defaultValue="true" + android:summary="@string/setting_speak_sum" + android:key="applicationTalking" /> + <CheckBoxPreference android:title="@string/setting_write" + android:defaultValue="true" + android:summary="@string/setting_write_sum" + android:key="applicationWriting" /> + </PreferenceCategory> + <PreferenceCategory + android:title="@string/settings_recording_preferences"> + + <CheckBoxPreference android:title="@string/setting_recording" + android:defaultValue="false" + android:summary="@string/setting_recording_sum" + android:key="applicationRecording" /> + </PreferenceCategory> + <PreferenceCategory + android:title="@string/settings_launch_preferences"> + <PreferenceScreen + android:title="@string/settings_intent_reset" + android:summary="@string/settings_intent_reset_sum"> + + <intent android:action="android.intent.action.VIEW" + android:data="http://www.android.com" /> + + </PreferenceScreen> + + </PreferenceCategory> +</PreferenceScreen>
\ No newline at end of file |
