diff --git a/res/layout/preference_inputmethod.xml b/res/layout/preference_inputmethod.xml index 0e0c1ef209e..f1bd0a0956b 100644 --- a/res/layout/preference_inputmethod.xml +++ b/res/layout/preference_inputmethod.xml @@ -56,10 +56,12 @@ android:layout_height="wrap_content" android:layout_below="@android:id/title" android:layout_alignLeft="@android:id/title" + android:paddingBottom="3dip" android:visibility="gone" android:textAppearance="?android:attr/textAppearanceSmall" android:textSize="13sp" android:textColor="?android:attr/textColorSecondary" + android:background="?android:attr/selectableItemBackground" android:maxLines="4" /> diff --git a/src/com/android/settings/inputmethod/InputMethodPreference.java b/src/com/android/settings/inputmethod/InputMethodPreference.java index f490fd2e44b..5cc7ad0adb1 100644 --- a/src/com/android/settings/inputmethod/InputMethodPreference.java +++ b/src/com/android/settings/inputmethod/InputMethodPreference.java @@ -97,7 +97,19 @@ public class InputMethodPreference extends CheckBoxPreference }); mInputMethodSettingsButton = (ImageView)view.findViewById(R.id.inputmethod_settings); mTitleText = (TextView)view.findViewById(android.R.id.title); + + final boolean hasSubtypes = mImi.getSubtypeCount() > 1; + final String imiId = mImi.getId(); mSummaryText = (TextView)view.findViewById(android.R.id.summary); + mSummaryText.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View arg0) { + final Bundle bundle = new Bundle(); + bundle.putString(Settings.EXTRA_INPUT_METHOD_ID, imiId); + startFragment(mFragment, InputMethodAndSubtypeEnabler.class.getName(), + 0, bundle); + } + }); if (mSettingsIntent != null) { mInputMethodSettingsButton.setOnClickListener( new OnClickListener() { @@ -113,8 +125,6 @@ public class InputMethodPreference extends CheckBoxPreference } }); } - final boolean hasSubtypes = mImi.getSubtypeCount() > 1; - final String imiId = mImi.getId(); if (hasSubtypes) { final OnLongClickListener listener = new OnLongClickListener() { @Override @@ -142,8 +152,8 @@ public class InputMethodPreference extends CheckBoxPreference } private void enableSettingsButton() { + final boolean checked = isChecked(); if (mInputMethodSettingsButton != null) { - final boolean checked = isChecked(); mInputMethodSettingsButton.setEnabled(checked); mInputMethodSettingsButton.setClickable(checked); mInputMethodSettingsButton.setFocusable(checked); @@ -155,7 +165,8 @@ public class InputMethodPreference extends CheckBoxPreference mTitleText.setEnabled(true); } if (mSummaryText != null) { - mSummaryText.setEnabled(true); + mSummaryText.setEnabled(checked); + mSummaryText.setClickable(checked); } }