Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c0b569c3 authored by satok's avatar satok
Browse files

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

Change-Id: Ie430ca7ff4147c530aae895d1d13a40a01c63b98
parent 672b3c65
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -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) {
+14 −6
Original line number Original line Diff line number Diff line
@@ -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;
    }
    }
}
}
+9 −3
Original line number Original line Diff line number Diff line
@@ -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;
        }
        }