summaryrefslogtreecommitdiff
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
parent029688dacc332cbddce9a81fa0abe12f66d86966 (diff)
Now With Settings Menu
-rw-r--r--app/build.gradle2
-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
-rw-r--r--app/src/main/res/menu/level.xml5
-rw-r--r--app/src/main/res/values-de/strings.xml2
-rw-r--r--app/src/main/res/values-en/strings.xml4
-rw-r--r--app/src/main/res/values-es/strings.xml4
-rw-r--r--app/src/main/res/values-pl/strings.xml7
-rw-r--r--app/src/main/res/values/strings.xml16
-rw-r--r--app/src/main/res/xml/preference.xml10
-rw-r--r--app/src/main/res/xml/settings.xml38
12 files changed, 290 insertions, 37 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 80c13dc..8fbc211 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,7 +6,7 @@ android {
defaultConfig {
applicationId "com.example.spiritlevel"
- minSdkVersion 8
+ minSdkVersion 11
targetSdkVersion 18
}
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