Loading res/xml/keyboard_settings.xml +1 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,7 @@ <Preference android:key="physical_keyboard_pref" android:title="@string/physical_keyboard_title" android:summary="@string/summary_placeholder" android:fragment="com.android.settings.inputmethod.PhysicalKeyboardFragment"/> android:summary="@string/summary_placeholder"/> </PreferenceCategory> <PreferenceCategory Loading src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -172,7 +172,7 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment } use(AdvancedBluetoothDetailsHeaderController.class).init(mCachedDevice); use(LeAudioBluetoothDetailsHeaderController.class).init(mCachedDevice, mManager); use(KeyboardSettingsPreferenceController.class).init(mCachedDevice, getActivity()); use(KeyboardSettingsPreferenceController.class).init(mCachedDevice); final BluetoothFeatureProvider featureProvider = FeatureFactory.getFactory( context).getBluetoothFeatureProvider(); Loading src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java +22 −14 Original line number Diff line number Diff line Loading @@ -16,16 +16,15 @@ package com.android.settings.inputmethod; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.provider.Settings; import android.util.FeatureFlagUtils; import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import com.android.settings.Settings.PhysicalKeyboardActivity; import com.android.settings.core.BasePreferenceController; import com.android.settings.inputmethod.PhysicalKeyboardFragment.HardKeyboardDeviceInfo; import com.android.settingslib.bluetooth.CachedBluetoothDevice; Loading @@ -34,18 +33,14 @@ import java.util.List; public class KeyboardSettingsPreferenceController extends BasePreferenceController { private Context mContext; private CachedBluetoothDevice mCachedDevice; private Activity mActivity; public KeyboardSettingsPreferenceController(Context context, String key) { super(context, key); mContext = context; } public void init(@NonNull CachedBluetoothDevice cachedDevice, @NonNull Activity activity) { public void init(@NonNull CachedBluetoothDevice cachedDevice) { mCachedDevice = cachedDevice; mActivity = activity; } @Override Loading @@ -53,18 +48,26 @@ public class KeyboardSettingsPreferenceController extends BasePreferenceControll if (!getPreferenceKey().equals(preference.getKey())) { return false; } final Intent intent = new Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS); intent.setClass(mContext, PhysicalKeyboardActivity.class); intent.putExtra(PhysicalKeyboardFragment.EXTRA_BT_ADDRESS, mCachedDevice.getAddress()); mActivity.startActivityForResult(intent, 0); List<HardKeyboardDeviceInfo> newHardKeyboards = getHardKeyboardList(); for (HardKeyboardDeviceInfo hardKeyboardDeviceInfo : newHardKeyboards) { if (mCachedDevice.getAddress().equals(hardKeyboardDeviceInfo.mBluetoothAddress)) { Intent intent = new Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS); intent.putExtra( NewKeyboardSettingsUtils.EXTRA_INTENT_FROM, "com.android.settings.inputmethod.KeyboardSettingsPreferenceController"); intent.putExtra( Settings.EXTRA_INPUT_DEVICE_IDENTIFIER, hardKeyboardDeviceInfo.mDeviceIdentifier); mContext.startActivity(intent); break; } } return true; } @Override public int getAvailabilityStatus() { final List<HardKeyboardDeviceInfo> newHardKeyboards = PhysicalKeyboardFragment.getHardKeyboards(mContext); List<HardKeyboardDeviceInfo> newHardKeyboards = getHardKeyboardList(); if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_UI) && !newHardKeyboards.isEmpty()) { for (HardKeyboardDeviceInfo hardKeyboardDeviceInfo : newHardKeyboards) { Loading @@ -78,4 +81,9 @@ public class KeyboardSettingsPreferenceController extends BasePreferenceControll } return CONDITIONALLY_UNAVAILABLE; } @VisibleForTesting List<HardKeyboardDeviceInfo> getHardKeyboardList() { return PhysicalKeyboardFragment.getHardKeyboards(mContext); } } src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java +12 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.hardware.input.InputManager; import android.hardware.input.KeyboardLayout; import android.os.Bundle; import android.os.UserHandle; import android.util.Log; import android.view.InputDevice; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; Loading Loading @@ -59,10 +60,19 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment public void onActivityCreated(final Bundle icicle) { super.onActivityCreated(icicle); Bundle arguments = getArguments(); final String title = arguments.getString(NewKeyboardSettingsUtils.EXTRA_KEYBOARD_DEVICE_NAME); mInputDeviceIdentifier = arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER); if (mInputDeviceIdentifier == null) { Log.e(TAG, "The inputDeviceIdentifier should not be null"); return; } InputDevice inputDevice = NewKeyboardSettingsUtils.getInputDevice(mIm, mInputDeviceIdentifier); if (inputDevice == null) { Log.e(TAG, "inputDevice is null"); return; } final String title = inputDevice.getName(); getActivity().setTitle(title); updateCheckedState(); } Loading src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ public class NewKeyboardLayoutPickerContent extends DashboardFragment { arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE); if (identifier == null || NewKeyboardSettingsUtils.getInputDevice(inputManager, identifier) == null) { getActivity().finish(); return; } getActivity().setTitle(title); Loading Loading
res/xml/keyboard_settings.xml +1 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,7 @@ <Preference android:key="physical_keyboard_pref" android:title="@string/physical_keyboard_title" android:summary="@string/summary_placeholder" android:fragment="com.android.settings.inputmethod.PhysicalKeyboardFragment"/> android:summary="@string/summary_placeholder"/> </PreferenceCategory> <PreferenceCategory Loading
src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java +1 −1 Original line number Diff line number Diff line Loading @@ -172,7 +172,7 @@ public class BluetoothDeviceDetailsFragment extends RestrictedDashboardFragment } use(AdvancedBluetoothDetailsHeaderController.class).init(mCachedDevice); use(LeAudioBluetoothDetailsHeaderController.class).init(mCachedDevice, mManager); use(KeyboardSettingsPreferenceController.class).init(mCachedDevice, getActivity()); use(KeyboardSettingsPreferenceController.class).init(mCachedDevice); final BluetoothFeatureProvider featureProvider = FeatureFactory.getFactory( context).getBluetoothFeatureProvider(); Loading
src/com/android/settings/inputmethod/KeyboardSettingsPreferenceController.java +22 −14 Original line number Diff line number Diff line Loading @@ -16,16 +16,15 @@ package com.android.settings.inputmethod; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.provider.Settings; import android.util.FeatureFlagUtils; import androidx.annotation.NonNull; import androidx.annotation.VisibleForTesting; import androidx.preference.Preference; import com.android.settings.Settings.PhysicalKeyboardActivity; import com.android.settings.core.BasePreferenceController; import com.android.settings.inputmethod.PhysicalKeyboardFragment.HardKeyboardDeviceInfo; import com.android.settingslib.bluetooth.CachedBluetoothDevice; Loading @@ -34,18 +33,14 @@ import java.util.List; public class KeyboardSettingsPreferenceController extends BasePreferenceController { private Context mContext; private CachedBluetoothDevice mCachedDevice; private Activity mActivity; public KeyboardSettingsPreferenceController(Context context, String key) { super(context, key); mContext = context; } public void init(@NonNull CachedBluetoothDevice cachedDevice, @NonNull Activity activity) { public void init(@NonNull CachedBluetoothDevice cachedDevice) { mCachedDevice = cachedDevice; mActivity = activity; } @Override Loading @@ -53,18 +48,26 @@ public class KeyboardSettingsPreferenceController extends BasePreferenceControll if (!getPreferenceKey().equals(preference.getKey())) { return false; } final Intent intent = new Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS); intent.setClass(mContext, PhysicalKeyboardActivity.class); intent.putExtra(PhysicalKeyboardFragment.EXTRA_BT_ADDRESS, mCachedDevice.getAddress()); mActivity.startActivityForResult(intent, 0); List<HardKeyboardDeviceInfo> newHardKeyboards = getHardKeyboardList(); for (HardKeyboardDeviceInfo hardKeyboardDeviceInfo : newHardKeyboards) { if (mCachedDevice.getAddress().equals(hardKeyboardDeviceInfo.mBluetoothAddress)) { Intent intent = new Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS); intent.putExtra( NewKeyboardSettingsUtils.EXTRA_INTENT_FROM, "com.android.settings.inputmethod.KeyboardSettingsPreferenceController"); intent.putExtra( Settings.EXTRA_INPUT_DEVICE_IDENTIFIER, hardKeyboardDeviceInfo.mDeviceIdentifier); mContext.startActivity(intent); break; } } return true; } @Override public int getAvailabilityStatus() { final List<HardKeyboardDeviceInfo> newHardKeyboards = PhysicalKeyboardFragment.getHardKeyboards(mContext); List<HardKeyboardDeviceInfo> newHardKeyboards = getHardKeyboardList(); if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_UI) && !newHardKeyboards.isEmpty()) { for (HardKeyboardDeviceInfo hardKeyboardDeviceInfo : newHardKeyboards) { Loading @@ -78,4 +81,9 @@ public class KeyboardSettingsPreferenceController extends BasePreferenceControll } return CONDITIONALLY_UNAVAILABLE; } @VisibleForTesting List<HardKeyboardDeviceInfo> getHardKeyboardList() { return PhysicalKeyboardFragment.getHardKeyboards(mContext); } }
src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java +12 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.hardware.input.InputManager; import android.hardware.input.KeyboardLayout; import android.os.Bundle; import android.os.UserHandle; import android.util.Log; import android.view.InputDevice; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodManager; Loading Loading @@ -59,10 +60,19 @@ public class NewKeyboardLayoutEnabledLocalesFragment extends DashboardFragment public void onActivityCreated(final Bundle icicle) { super.onActivityCreated(icicle); Bundle arguments = getArguments(); final String title = arguments.getString(NewKeyboardSettingsUtils.EXTRA_KEYBOARD_DEVICE_NAME); mInputDeviceIdentifier = arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER); if (mInputDeviceIdentifier == null) { Log.e(TAG, "The inputDeviceIdentifier should not be null"); return; } InputDevice inputDevice = NewKeyboardSettingsUtils.getInputDevice(mIm, mInputDeviceIdentifier); if (inputDevice == null) { Log.e(TAG, "inputDevice is null"); return; } final String title = inputDevice.getName(); getActivity().setTitle(title); updateCheckedState(); } Loading
src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java +1 −0 Original line number Diff line number Diff line Loading @@ -47,6 +47,7 @@ public class NewKeyboardLayoutPickerContent extends DashboardFragment { arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE); if (identifier == null || NewKeyboardSettingsUtils.getInputDevice(inputManager, identifier) == null) { getActivity().finish(); return; } getActivity().setTitle(title); Loading