aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/inputmethod/latin/LatinIMEBackupAgent.java31
-rw-r--r--src/com/android/inputmethod/latin/LatinIMESettings.java21
2 files changed, 50 insertions, 2 deletions
diff --git a/src/com/android/inputmethod/latin/LatinIMEBackupAgent.java b/src/com/android/inputmethod/latin/LatinIMEBackupAgent.java
new file mode 100644
index 000000000..c454f120e
--- /dev/null
+++ b/src/com/android/inputmethod/latin/LatinIMEBackupAgent.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2009 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+
+package com.android.inputmethod.latin;
+
+import android.backup.BackupHelperAgent;
+import android.backup.SharedPreferencesBackupHelper;
+
+/**
+ * Backs up the Latin IME shared preferences.
+ */
+public class LatinIMEBackupAgent extends BackupHelperAgent {
+
+ public void onCreate() {
+ addHelper("shared_pref", new SharedPreferencesBackupHelper(this,
+ "com.android.inputmethod.latin_preferences"));
+ }
+}
diff --git a/src/com/android/inputmethod/latin/LatinIMESettings.java b/src/com/android/inputmethod/latin/LatinIMESettings.java
index e87c4a5a1..c8ea309e3 100644
--- a/src/com/android/inputmethod/latin/LatinIMESettings.java
+++ b/src/com/android/inputmethod/latin/LatinIMESettings.java
@@ -16,14 +16,17 @@
package com.android.inputmethod.latin;
+import android.backup.BackupManager;
+import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup;
import android.text.AutoText;
-public class LatinIMESettings extends PreferenceActivity {
-
+public class LatinIMESettings extends PreferenceActivity
+ implements SharedPreferences.OnSharedPreferenceChangeListener {
+
private static final String QUICK_FIXES_KEY = "quick_fixes";
private static final String SHOW_SUGGESTIONS_KEY = "show_suggestions";
private static final String PREDICTION_SETTINGS_KEY = "prediction_settings";
@@ -37,6 +40,8 @@ public class LatinIMESettings extends PreferenceActivity {
addPreferencesFromResource(R.xml.prefs);
mQuickFixes = (CheckBoxPreference) findPreference(QUICK_FIXES_KEY);
mShowSuggestions = (CheckBoxPreference) findPreference(SHOW_SUGGESTIONS_KEY);
+ getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(
+ this);
}
@Override
@@ -50,4 +55,16 @@ public class LatinIMESettings extends PreferenceActivity {
mShowSuggestions.setDependency(QUICK_FIXES_KEY);
}
}
+
+ @Override
+ protected void onDestroy() {
+ getPreferenceManager().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(
+ this);
+ super.onDestroy();
+ }
+
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
+ String key) {
+ (new BackupManager(this)).dataChanged();
+ }
}