Open the settings page for a specific physical keyboard
1. Check open from a notification 2. Check open from Bluetooth entry 3. If the inputDeviceIdentifier is not null, open the next page directly. 4. Add extra to record the class of sender for the future metrics. Demo: http://screencast/cast/NDU4MTYxOTIzMTg4MzI2NHxiYTQ0ODE5Ny02YQ Bug: 269212353 Test: manual, atest [Pass] atest KeyboardSettingsPreferenceControllerTest [Pass] atest PhysicalKeyboardPreferenceControllerTest Change-Id: Ie874003260896bbb949806623913e70486e4731d
This commit is contained in:
committed by
Daniel Huang
parent
9a40a296cc
commit
cc749159df
@@ -87,7 +87,6 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle bundle, String s) {
|
||||
Activity activity = Preconditions.checkNotNull(getActivity());
|
||||
mBluetoothAddress = activity.getIntent().getStringExtra(EXTRA_BT_ADDRESS);
|
||||
addPreferencesFromResource(R.xml.physical_keyboard_settings);
|
||||
mIm = Preconditions.checkNotNull(activity.getSystemService(InputManager.class));
|
||||
mImm = Preconditions.checkNotNull(activity.getSystemService(InputMethodManager.class));
|
||||
@@ -104,6 +103,19 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment
|
||||
if (!isModifierKeySettingsEnabled) {
|
||||
mKeyboardAssistanceCategory.removePreference(findPreference(MODIFIER_KEYS_SETTINGS));
|
||||
}
|
||||
InputDeviceIdentifier inputDeviceIdentifier = activity.getIntent().getParcelableExtra(
|
||||
KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER);
|
||||
// TODO (b/271391879): The EXTRA_INTENT_FROM is used for the future metrics.
|
||||
if (inputDeviceIdentifier != null) {
|
||||
Bundle arguments = new Bundle();
|
||||
arguments.putParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER,
|
||||
inputDeviceIdentifier);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.setDestination(NewKeyboardLayoutEnabledLocalesFragment.class.getName())
|
||||
.setArguments(arguments)
|
||||
.launch();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -187,14 +199,6 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment
|
||||
preferenceScreen.addPreference(category);
|
||||
|
||||
for (HardKeyboardDeviceInfo hardKeyboardDeviceInfo : newHardKeyboards) {
|
||||
|
||||
// if user go into this page from Connected devices entry, we should distinguish the
|
||||
// user-selected keyboard from all enabled keyboards.
|
||||
if (mBluetoothAddress != null
|
||||
&& !mBluetoothAddress.equals(hardKeyboardDeviceInfo.mBluetoothAddress)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// TODO(yukawa): Consider using com.android.settings.widget.GearPreference
|
||||
final Preference pref = new Preference(getPrefContext());
|
||||
pref.setTitle(hardKeyboardDeviceInfo.mDeviceName);
|
||||
@@ -247,7 +251,6 @@ public final class PhysicalKeyboardFragment extends SettingsPreferenceFragment
|
||||
Bundle arguments = new Bundle();
|
||||
arguments.putParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER,
|
||||
inputDeviceIdentifier);
|
||||
arguments.putString(NewKeyboardSettingsUtils.EXTRA_KEYBOARD_DEVICE_NAME, keyboardName);
|
||||
new SubSettingLauncher(getContext())
|
||||
.setSourceMetricsCategory(getMetricsCategory())
|
||||
.setDestination(NewKeyboardLayoutEnabledLocalesFragment.class.getName())
|
||||
|
||||
Reference in New Issue
Block a user