Merge "[step6] Apply api and fix crush in spell checker settings."

This commit is contained in:
satok
2011-07-25 14:56:46 -07:00
committed by Android (Google) Code Review
3 changed files with 28 additions and 11 deletions

View File

@@ -116,8 +116,11 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
final Intent intent = new Intent(Intent.ACTION_MAIN); final Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClass(getActivity(), SpellCheckersSettingsActivity.class); intent.setClass(getActivity(), SpellCheckersSettingsActivity.class);
((SpellCheckersPreference)findPreference("spellcheckers_settings")).setFragmentIntent( final SpellCheckersPreference scp = ((SpellCheckersPreference)findPreference(
this, intent); "spellcheckers_settings"));
if (scp != null) {
scp.setFragmentIntent(this, intent);
}
} }
private void updateInputMethodSelectorSummary(int value) { private void updateInputMethodSelectorSummary(int value) {

View File

@@ -16,20 +16,28 @@
package com.android.settings.inputmethod; package com.android.settings.inputmethod;
import android.util.Log;
import android.view.textservice.SpellCheckerInfo; import android.view.textservice.SpellCheckerInfo;
import android.view.textservice.TextServicesManager;
public class SpellCheckerUtils { public class SpellCheckerUtils {
public static void setSpellCheckersEnabled(boolean enable) { private static final String TAG = SpellCheckerUtils.class.getSimpleName();
private static final boolean DBG = false;
public static void setSpellCheckersEnabled(TextServicesManager tsm, boolean enable) {
} }
public static boolean getSpellCheckersEnabled() { public static boolean getSpellCheckersEnabled(TextServicesManager tsm) {
return true; return true;
} }
public static void setCurrentSpellChecker(SpellCheckerInfo info) { public static void setCurrentSpellChecker(TextServicesManager tsm, SpellCheckerInfo info) {
} }
public static SpellCheckerInfo getCurrentSpellChecker() { public static SpellCheckerInfo getCurrentSpellChecker(TextServicesManager tsm) {
return null; return null;
} }
public static SpellCheckerInfo[] getEnabledSpellCheckers() { public static SpellCheckerInfo[] getEnabledSpellCheckers(TextServicesManager tsm) {
return null; final SpellCheckerInfo[] retval = tsm.getEnabledSpellCheckers();
if (DBG) {
Log.d(TAG, "get spell checkers: " + retval.length);
}
return retval;
} }
} }

View File

@@ -19,20 +19,24 @@ package com.android.settings.inputmethod;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import android.content.Context;
import android.os.Bundle; import android.os.Bundle;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.view.textservice.SpellCheckerInfo; import android.view.textservice.SpellCheckerInfo;
import android.view.textservice.TextServicesManager;
public class SpellCheckersSettings extends SettingsPreferenceFragment public class SpellCheckersSettings extends SettingsPreferenceFragment
implements Preference.OnPreferenceChangeListener { implements Preference.OnPreferenceChangeListener {
private SpellCheckerInfo mCurrentSci; private SpellCheckerInfo mCurrentSci;
private SpellCheckerInfo[] mEnabledScis; private SpellCheckerInfo[] mEnabledScis;
private TextServicesManager mTsm;
@Override @Override
public void onCreate(Bundle icicle) { public void onCreate(Bundle icicle) {
super.onCreate(icicle); super.onCreate(icicle);
mTsm = (TextServicesManager) getSystemService(Context.TEXT_SERVICES_MANAGER_SERVICE);
addPreferencesFromResource(R.xml.spellchecker_prefs); addPreferencesFromResource(R.xml.spellchecker_prefs);
updateScreen(); updateScreen();
} }
@@ -49,16 +53,18 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment
@Override @Override
public void onResume() { public void onResume() {
super.onResume();
updateScreen(); updateScreen();
} }
@Override @Override
public void onPause() { public void onPause() {
super.onPause();
saveState(); saveState();
} }
private void saveState() { private void saveState() {
SpellCheckerUtils.setCurrentSpellChecker(mCurrentSci); SpellCheckerUtils.setCurrentSpellChecker(mTsm, mCurrentSci);
} }
private void updateScreen() { private void updateScreen() {
@@ -67,8 +73,8 @@ public class SpellCheckersSettings extends SettingsPreferenceFragment
} }
private void updateEnabledSpellCheckers() { private void updateEnabledSpellCheckers() {
mCurrentSci = SpellCheckerUtils.getCurrentSpellChecker(); mCurrentSci = SpellCheckerUtils.getCurrentSpellChecker(mTsm);
mEnabledScis = SpellCheckerUtils.getEnabledSpellCheckers(); mEnabledScis = SpellCheckerUtils.getEnabledSpellCheckers(mTsm);
if (mCurrentSci == null || mEnabledScis == null) { if (mCurrentSci == null || mEnabledScis == null) {
return; return;
} }