Backup Latin IME settings shared preferences.

Backup the shared preferences when they change.
main
Amith Yamasani 2009-07-05 13:17:13 -07:00
parent 0d1bbf646d
commit ff74ee5825
3 changed files with 52 additions and 3 deletions

View File

@ -5,7 +5,8 @@
<uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
<application android:label="@string/english_ime_name">
<application android:label="@string/english_ime_name"
android:backupAgent="LatinIMEBackupAgent">
<!-- TODO: enable before donut release
<supports-density android:density="120" />
<supports-density android:density="160" />

View File

@ -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"));
}
}

View File

@ -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();
}
}