aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2011-02-03 17:05:46 +0900
committerJean Chalard <jchalard@google.com>2011-02-03 17:57:29 +0900
commitf9ec16f9c03545d2b4d0d5a40f23e28bd1826d5f (patch)
tree5c6d194952b19b434f4bc3465a1ea99e403a8f89 /java/src/com/android/inputmethod
parentea55bf5df7d26d12b36c47141bfbac5730c3929a (diff)
downloadlatinime-f9ec16f9c03545d2b4d0d5a40f23e28bd1826d5f.tar.gz
latinime-f9ec16f9c03545d2b4d0d5a40f23e28bd1826d5f.tar.xz
latinime-f9ec16f9c03545d2b4d0d5a40f23e28bd1826d5f.zip
Kill the process when the debug mode is updated.
Killing the process allows for some settings that are read only on service start up to be correctly read again. Change-Id: Ia48f2ca4760a530ac47b727f290d606715cb6bde
Diffstat (limited to 'java/src/com/android/inputmethod')
-rw-r--r--java/src/com/android/inputmethod/latin/DebugSettings.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/DebugSettings.java b/java/src/com/android/inputmethod/latin/DebugSettings.java
index 03211f36b..b23fe9fe8 100644
--- a/java/src/com/android/inputmethod/latin/DebugSettings.java
+++ b/java/src/com/android/inputmethod/latin/DebugSettings.java
@@ -20,6 +20,7 @@ import android.content.SharedPreferences;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
+import android.os.Process;
import android.preference.CheckBoxPreference;
import android.preference.PreferenceActivity;
import android.util.Log;
@@ -31,6 +32,7 @@ public class DebugSettings extends PreferenceActivity
private static final String DEBUG_MODE_KEY = "debug_mode";
private CheckBoxPreference mDebugMode;
+ private boolean serviceNeedsRestart = false;
@Override
protected void onCreate(Bundle icicle) {
@@ -39,16 +41,24 @@ public class DebugSettings extends PreferenceActivity
SharedPreferences prefs = getPreferenceManager().getSharedPreferences();
prefs.registerOnSharedPreferenceChangeListener(this);
+ serviceNeedsRestart = false;
mDebugMode = (CheckBoxPreference) findPreference(DEBUG_MODE_KEY);
updateDebugMode();
}
@Override
+ protected void onStop() {
+ super.onStop();
+ if (serviceNeedsRestart) Process.killProcess(Process.myPid());
+ }
+
+ @Override
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
if (key.equals(DEBUG_MODE_KEY)) {
if (mDebugMode != null) {
mDebugMode.setChecked(prefs.getBoolean(DEBUG_MODE_KEY, false));
updateDebugMode();
+ serviceNeedsRestart = true;
}
}
}