From b8e1799527046a5fc69e1c94c1bd6ebcc59e63c1 Mon Sep 17 00:00:00 2001 From: danielwbhuang Date: Thu, 23 Feb 2023 17:58:29 +0800 Subject: [PATCH] Change key name "Meta" to "Action key" 1. In the modifier key remapping page, the string "Meta" should be changed to "Action" 2. We should add the default focus effect when users go into this page first time. Demo: https://screencast.googleplex.com/cast/NTA2NjA2MzEyMjI2ODE2MHw2YjRjOTljMi0xMQ Bug: 269981968 Test: manual Change-Id: I481be0370166a8831bedc721751e23cee3b39703 --- res/values/strings.xml | 4 ++-- .../ModifierKeysPickerDialogFragment.java | 24 +++++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index bd0218608e6..da2c89f7574 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3916,8 +3916,8 @@ Caps lock Ctrl - - Meta + + Action key Alt diff --git a/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java b/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java index b016f221392..291ce455a97 100644 --- a/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java +++ b/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java @@ -54,6 +54,7 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { private Preference mPreference; private String mKeyDefaultName; + private String mKeyFocus; private Context mContext; private InputManager mIm; @@ -72,6 +73,7 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { public ModifierKeysPickerDialogFragment(Preference preference, InputManager inputManager) { mPreference = preference; mKeyDefaultName = preference.getTitle().toString(); + mKeyFocus = preference.getSummary().toString(); mIm = inputManager; } @@ -101,11 +103,11 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { ModifierKeyAdapter adapter = new ModifierKeyAdapter(modifierKeys); ListView listView = dialoglayout.findViewById(R.id.modifier_key_picker); listView.setAdapter(adapter); + setInitialFocusItem(modifierKeys, adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int i, long l) { adapter.setCurrentItem(i); - adapter.setClick(true); adapter.notifyDataSetChanged(); } }); @@ -165,13 +167,22 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { return modifierKeyDialog; } + private void setInitialFocusItem( + List modifierKeys, ModifierKeyAdapter adapter) { + if (modifierKeys.indexOf(mKeyFocus) == -1) { + adapter.setCurrentItem(modifierKeys.indexOf(mKeyDefaultName)); + } else { + adapter.setCurrentItem(modifierKeys.indexOf(mKeyFocus)); + } + adapter.notifyDataSetChanged(); + } + private static boolean isKeyCapsLock(Context context, String key) { return key.equals(context.getString(R.string.modifier_keys_caps_lock)); } class ModifierKeyAdapter extends BaseAdapter { private int mCurrentItem = 0; - private boolean mIsClick = false; private List mList; ModifierKeyAdapter(List list) { @@ -201,12 +212,15 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { TextView textView = view.findViewById(R.id.modifier_key_text); ImageView checkIcon = view.findViewById(R.id.modifier_key_check_icon); textView.setText(mList.get(i)); - if (mCurrentItem == i && mIsClick) { + if (mCurrentItem == i) { textView.setTextColor(getColorOfColorAccentPrimaryVariant()); checkIcon.setImageAlpha(255); + view.setBackground( + mContext.getDrawable(R.drawable.modifier_key_lisetview_background)); } else { textView.setTextColor(getColorOfTextColorPrimary()); checkIcon.setImageAlpha(0); + view.setBackground(null); } return view; } @@ -218,10 +232,6 @@ public class ModifierKeysPickerDialogFragment extends DialogFragment { public int getCurrentItem() { return this.mCurrentItem; } - - public void setClick(boolean click) { - this.mIsClick = click; - } } private int getColorOfTextColorPrimary() {