summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-10-31 17:34:01 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-10-31 17:34:01 +0000
commit594c71f35d2c4c839d200648b4f4f5a25a4a5b33 (patch)
tree19bc7888afd54792b96fcffc647d351f12071c6c /src
parent83a10ce25a2c92fec24400773aca640a873fb2e8 (diff)
make the input mode in the Android translator persistent
Diffstat (limited to 'src')
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java b/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java
index dd4d0936b..ab14bbfe2 100644
--- a/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java
+++ b/src/ui/android/src/org/grammaticalframework/ui/android/MainActivity.java
@@ -7,6 +7,7 @@ import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
+import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.speech.SpeechRecognizer;
@@ -73,11 +74,12 @@ public class MainActivity extends Activity {
}
});
- input_mode = true;
+ SharedPreferences pref = getPreferences(MODE_PRIVATE);
+ input_mode = pref.getBoolean("input_mode", true);
if (!SpeechRecognizer.isRecognitionAvailable(this)) {
input_mode = false;
- mStartStopButton.setImageResource(R.drawable.ic_keyboard);
}
+ mStartStopButton.setImageResource(input_mode ? R.drawable.ic_mic : R.drawable.ic_keyboard);
mSpeechListener = new SpeechInputListener();
@@ -131,10 +133,19 @@ public class MainActivity extends Activity {
}
@Override
+ protected void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+
+ outState.putBoolean("input_mode", input_mode);
+ }
+
+ @Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
-
+
+ menu.getItem(0).setTitle(input_mode ? R.string.keyboard_input : R.string.mic_input);
+
if (!SpeechRecognizer.isRecognitionAvailable(this)) {
menu.getItem(0).setEnabled(false);
}
@@ -155,6 +166,11 @@ public class MainActivity extends Activity {
mStartStopButton.setImageResource(R.drawable.ic_mic);
input_mode = true;
}
+
+ SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
+ editor.putBoolean("input_mode", input_mode);
+ editor.commit();
+
return true;
default:
return super.onOptionsItemSelected(item);