Merge "Fix a crash in PhysicalKeyboardFragment" into main

This commit is contained in:
Treehugger Robot
2024-10-16 14:44:34 +00:00
committed by Android (Google) Code Review

View File

@@ -289,11 +289,12 @@ public final class PhysicalKeyboardFragment extends DashboardFragment
getActivity().finish(); getActivity().finish();
return; return;
} }
ThreadUtils.postOnMainThread(() -> updateHardKeyboards(newHardKeyboards)); ThreadUtils.postOnMainThread(() -> updateHardKeyboards(context, newHardKeyboards));
}); });
} }
private void updateHardKeyboards(@NonNull List<HardKeyboardDeviceInfo> newHardKeyboards) { private void updateHardKeyboards(@NonNull Context context,
@NonNull List<HardKeyboardDeviceInfo> newHardKeyboards) {
if (Objects.equals(mLastHardKeyboards, newHardKeyboards)) { if (Objects.equals(mLastHardKeyboards, newHardKeyboards)) {
// Nothing has changed. Ignore. // Nothing has changed. Ignore.
return; return;
@@ -316,7 +317,7 @@ public final class PhysicalKeyboardFragment extends DashboardFragment
final Preference pref = new Preference(getPrefContext()); final Preference pref = new Preference(getPrefContext());
pref.setTitle(hardKeyboardDeviceInfo.mDeviceName); pref.setTitle(hardKeyboardDeviceInfo.mDeviceName);
String currentLayout = String currentLayout =
NewKeyboardSettingsUtils.getSelectedKeyboardLayoutLabelForUser(getContext(), NewKeyboardSettingsUtils.getSelectedKeyboardLayoutLabelForUser(context,
UserHandle.myUserId(), hardKeyboardDeviceInfo.mDeviceIdentifier); UserHandle.myUserId(), hardKeyboardDeviceInfo.mDeviceIdentifier);
if (currentLayout != null) { if (currentLayout != null) {
pref.setSummary(currentLayout); pref.setSummary(currentLayout);
@@ -336,7 +337,7 @@ public final class PhysicalKeyboardFragment extends DashboardFragment
vendorAndProductId.append("-"); vendorAndProductId.append("-");
vendorAndProductId.append(productId); vendorAndProductId.append(productId);
mMetricsFeatureProvider.action( mMetricsFeatureProvider.action(
getContext(), context,
SettingsEnums.ACTION_USE_SPECIFIC_KEYBOARD, SettingsEnums.ACTION_USE_SPECIFIC_KEYBOARD,
vendorAndProductId.toString()); vendorAndProductId.toString());
} }
@@ -352,10 +353,10 @@ public final class PhysicalKeyboardFragment extends DashboardFragment
|| InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) { || InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) {
Objects.requireNonNull(mKeyboardA11yCategory).setOrder(2); Objects.requireNonNull(mKeyboardA11yCategory).setOrder(2);
preferenceScreen.addPreference(mKeyboardA11yCategory); preferenceScreen.addPreference(mKeyboardA11yCategory);
updateAccessibilityBounceKeysSwitch(); updateAccessibilityBounceKeysSwitch(context);
updateAccessibilitySlowKeysSwitch(); updateAccessibilitySlowKeysSwitch(context);
updateAccessibilityStickyKeysSwitch(); updateAccessibilityStickyKeysSwitch(context);
updateAccessibilityMouseKeysSwitch(); updateAccessibilityMouseKeysSwitch(context);
} }
} }
@@ -413,46 +414,47 @@ public final class PhysicalKeyboardFragment extends DashboardFragment
mContentObserver, mContentObserver,
UserHandle.myUserId()); UserHandle.myUserId());
} }
updateAccessibilityBounceKeysSwitch(); final Context context = getContext();
updateAccessibilitySlowKeysSwitch(); updateAccessibilityBounceKeysSwitch(context);
updateAccessibilityStickyKeysSwitch(); updateAccessibilitySlowKeysSwitch(context);
updateAccessibilityMouseKeysSwitch(); updateAccessibilityStickyKeysSwitch(context);
updateAccessibilityMouseKeysSwitch(context);
} }
private void unregisterSettingsObserver() { private void unregisterSettingsObserver() {
getActivity().getContentResolver().unregisterContentObserver(mContentObserver); getActivity().getContentResolver().unregisterContentObserver(mContentObserver);
} }
private void updateAccessibilityBounceKeysSwitch() { private void updateAccessibilityBounceKeysSwitch(@NonNull Context context) {
if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()) { if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
return; return;
} }
Objects.requireNonNull(mAccessibilityBounceKeys).setChecked( Objects.requireNonNull(mAccessibilityBounceKeys).setChecked(
InputSettings.isAccessibilityBounceKeysEnabled(getContext())); InputSettings.isAccessibilityBounceKeysEnabled(context));
} }
private void updateAccessibilitySlowKeysSwitch() { private void updateAccessibilitySlowKeysSwitch(@NonNull Context context) {
if (!InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) { if (!InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) {
return; return;
} }
Objects.requireNonNull(mAccessibilitySlowKeys).setChecked( Objects.requireNonNull(mAccessibilitySlowKeys).setChecked(
InputSettings.isAccessibilitySlowKeysEnabled(getContext())); InputSettings.isAccessibilitySlowKeysEnabled(context));
} }
private void updateAccessibilityStickyKeysSwitch() { private void updateAccessibilityStickyKeysSwitch(@NonNull Context context) {
if (!InputSettings.isAccessibilityStickyKeysFeatureEnabled()) { if (!InputSettings.isAccessibilityStickyKeysFeatureEnabled()) {
return; return;
} }
Objects.requireNonNull(mAccessibilityStickyKeys).setChecked( Objects.requireNonNull(mAccessibilityStickyKeys).setChecked(
InputSettings.isAccessibilityStickyKeysEnabled(getContext())); InputSettings.isAccessibilityStickyKeysEnabled(context));
} }
private void updateAccessibilityMouseKeysSwitch() { private void updateAccessibilityMouseKeysSwitch(@NonNull Context context) {
if (!InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) { if (!InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) {
return; return;
} }
Objects.requireNonNull(mAccessibilityMouseKeys).setChecked( Objects.requireNonNull(mAccessibilityMouseKeys).setChecked(
InputSettings.isAccessibilityMouseKeysEnabled(getContext())); InputSettings.isAccessibilityMouseKeysEnabled(context));
} }
private void toggleKeyboardShortcutsMenu() { private void toggleKeyboardShortcutsMenu() {
@@ -489,13 +491,13 @@ public final class PhysicalKeyboardFragment extends DashboardFragment
@Override @Override
public void onChange(boolean selfChange, Uri uri) { public void onChange(boolean selfChange, Uri uri) {
if (sAccessibilityBounceKeysUri.equals(uri)) { if (sAccessibilityBounceKeysUri.equals(uri)) {
updateAccessibilityBounceKeysSwitch(); updateAccessibilityBounceKeysSwitch(getContext());
} else if (sAccessibilitySlowKeysUri.equals(uri)) { } else if (sAccessibilitySlowKeysUri.equals(uri)) {
updateAccessibilitySlowKeysSwitch(); updateAccessibilitySlowKeysSwitch(getContext());
} else if (sAccessibilityStickyKeysUri.equals(uri)) { } else if (sAccessibilityStickyKeysUri.equals(uri)) {
updateAccessibilityStickyKeysSwitch(); updateAccessibilityStickyKeysSwitch(getContext());
} else if (sAccessibilityMouseKeysUri.equals(uri)) { } else if (sAccessibilityMouseKeysUri.equals(uri)) {
updateAccessibilityMouseKeysSwitch(); updateAccessibilityMouseKeysSwitch(getContext());
} }
} }
}; };