Merge "Fix a crash in PhysicalKeyboardFragment" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
2f80653aab
@@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user