summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java')
-rw-r--r--src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java214
1 files changed, 0 insertions, 214 deletions
diff --git a/src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java b/src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java
deleted file mode 100644
index 2dc90eca38..0000000000
--- a/src/com/android/settings/inputmethod/SingleSpellCheckerPreference.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * 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.settings.inputmethod;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-
-import android.app.AlertDialog;
-import android.content.ActivityNotFoundException;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.preference.Preference;
-import android.text.TextUtils;
-import android.util.Log;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.textservice.SpellCheckerInfo;
-import android.view.textservice.SpellCheckerSubtype;
-import android.view.textservice.TextServicesManager;
-import android.widget.ImageView;
-import android.widget.RadioButton;
-import android.widget.Toast;
-
-// TODO: Make this non-persistent.
-class SingleSpellCheckerPreference extends Preference {
- private static final String TAG = SingleSpellCheckerPreference.class.getSimpleName();
- private static final boolean DBG = false;
-
- private final SpellCheckerInfo mSpellCheckerInfo;
-
- private final SpellCheckersSettings mFragment;
- private final Resources mRes;
- private final TextServicesManager mTsm;
- private AlertDialog mDialog = null;
- private View mPrefAll;
- private RadioButton mRadioButton;
- private View mPrefLeftButton;
- private View mSettingsButton;
- private ImageView mSubtypeButton;
- private Intent mSettingsIntent;
- private boolean mSelected;
-
- public SingleSpellCheckerPreference(SpellCheckersSettings fragment, SpellCheckerInfo sci,
- TextServicesManager tsm) {
- super(fragment.getActivity(), null, 0);
- mFragment = fragment;
- mRes = fragment.getActivity().getResources();
- mTsm = tsm;
- setLayoutResource(R.layout.preference_spellchecker);
- mSpellCheckerInfo = sci;
- mSelected = false;
- final String settingsActivity = mSpellCheckerInfo.getSettingsActivity();
- if (!TextUtils.isEmpty(settingsActivity)) {
- mSettingsIntent = new Intent(Intent.ACTION_MAIN);
- mSettingsIntent.setClassName(mSpellCheckerInfo.getPackageName(), settingsActivity);
- } else {
- mSettingsIntent = null;
- }
- }
-
- @Override
- protected void onBindView(View view) {
- super.onBindView(view);
- mPrefAll = view.findViewById(R.id.pref_all);
- mRadioButton = (RadioButton)view.findViewById(R.id.pref_radio);
- mPrefLeftButton = view.findViewById(R.id.pref_left_button);
- mPrefLeftButton.setOnClickListener(
- new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- onLeftButtonClicked(arg0);
- }
- });
- mSubtypeButton = (ImageView)view.findViewById(R.id.pref_right_button2);
- mSubtypeButton.setOnClickListener(
- new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- onSubtypeButtonClicked(arg0);
- }
- });
- mSettingsButton = view.findViewById(R.id.pref_right_button1);
- mSettingsButton.setOnClickListener(
- new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- onSettingsButtonClicked(arg0);
- }
- });
- updateSelectedState(mSelected);
- }
-
- private void onLeftButtonClicked(View arg0) {
- mFragment.onPreferenceClick(this);
- }
-
- public SpellCheckerInfo getSpellCheckerInfo() {
- return mSpellCheckerInfo;
- }
-
- private void updateSelectedState(boolean selected) {
- if (mPrefAll != null) {
- mRadioButton.setChecked(selected);
- enableButtons(selected);
- }
- }
-
- public void setSelected(boolean selected) {
- mSelected = selected;
- updateSelectedState(selected);
- }
-
- private void onSubtypeButtonClicked(View arg0) {
- if (mDialog != null && mDialog.isShowing()) {
- mDialog.dismiss();
- }
- final AlertDialog.Builder builder = new AlertDialog.Builder(mFragment.getActivity());
- builder.setTitle(R.string.phone_language);
- final int size = mSpellCheckerInfo.getSubtypeCount();
- final CharSequence[] items = new CharSequence[size + 1];
- items[0] = mRes.getString(R.string.use_system_language_to_select_input_method_subtypes);
- for (int i = 0; i < size; ++i) {
- final SpellCheckerSubtype subtype = mSpellCheckerInfo.getSubtypeAt(i);
- final CharSequence label = subtype.getDisplayName(
- mFragment.getActivity(), mSpellCheckerInfo.getPackageName(),
- mSpellCheckerInfo.getServiceInfo().applicationInfo);
- items[i + 1] = label;
- }
- // default: "Use system language"
- int checkedItem = 0;
- // Allow no implicitly selected subtypes
- final SpellCheckerSubtype currentScs = mTsm.getCurrentSpellCheckerSubtype(false);
- if (currentScs != null) {
- for (int i = 0; i < size; ++i) {
- if (mSpellCheckerInfo.getSubtypeAt(i).equals(currentScs)) {
- checkedItem = i + 1;
- break;
- }
- }
- }
- builder.setSingleChoiceItems(items, checkedItem, new AlertDialog.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (which == 0) {
- mTsm.setSpellCheckerSubtype(null);
- } else {
- mTsm.setSpellCheckerSubtype(mSpellCheckerInfo.getSubtypeAt(which - 1));
- }
- if (DBG) {
- final SpellCheckerSubtype subtype = mTsm.getCurrentSpellCheckerSubtype(true);
- Log.d(TAG, "Current spell check locale is "
- + subtype == null ? "null" : subtype.getLocale());
- }
- dialog.dismiss();
- }
- });
- mDialog = builder.create();
- mDialog.show();
- }
-
- private void onSettingsButtonClicked(View arg0) {
- if (mFragment != null && mSettingsIntent != null) {
- try {
- mFragment.startActivity(mSettingsIntent);
- } catch (ActivityNotFoundException e) {
- final String msg = mFragment.getString(R.string.failed_to_open_app_settings_toast,
- mSpellCheckerInfo.loadLabel(mFragment.getActivity().getPackageManager()));
- Toast.makeText(mFragment.getActivity(), msg, Toast.LENGTH_LONG).show();
- }
- }
- }
-
- private void enableButtons(boolean enabled) {
- if (mSettingsButton != null) {
- if (mSettingsIntent == null) {
- mSettingsButton.setVisibility(View.GONE);
- } else {
- mSettingsButton.setEnabled(enabled);
- mSettingsButton.setClickable(enabled);
- mSettingsButton.setFocusable(enabled);
- if (!enabled) {
- mSettingsButton.setAlpha(Utils.DISABLED_ALPHA);
- }
- }
- }
- if (mSubtypeButton != null) {
- if (mSpellCheckerInfo.getSubtypeCount() <= 0) {
- mSubtypeButton.setVisibility(View.GONE);
- } else {
- mSubtypeButton.setEnabled(enabled);
- mSubtypeButton.setClickable(enabled);
- mSubtypeButton.setFocusable(enabled);
- if (!enabled) {
- mSubtypeButton.setAlpha(Utils.DISABLED_ALPHA);
- }
- }
- }
- }
-}