diff --git a/res/layout/accessibility_edit_shortcut_component.xml b/res/layout/accessibility_edit_shortcut_component.xml index 02938c3a903..074a8783436 100644 --- a/res/layout/accessibility_edit_shortcut_component.xml +++ b/res/layout/accessibility_edit_shortcut_component.xml @@ -21,24 +21,36 @@ android:layout_height="wrap_content" android:orientation="vertical"> - + android:background="?android:attr/selectableItemBackground" + android:orientation="vertical"> - + + + + + { + checkBox.toggle(); + updateUserShortcutType(/* saveChanges= */ false); + }); + } private void initializeDialogCheckBox(Dialog dialog) { final View dialogSoftwareView = dialog.findViewById(R.id.software_shortcut); mSoftwareTypeCheckBox = dialogSoftwareView.findViewById(R.id.checkbox); + setDialogTextAreaClickListener(dialogSoftwareView, mSoftwareTypeCheckBox); + final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut); mHardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox); + setDialogTextAreaClickListener(dialogHardwareView, mHardwareTypeCheckBox); + updateAlertDialogCheckState(); } @@ -468,9 +479,6 @@ public abstract class ToggleFeaturePreferenceFragment extends SettingsPreference private void updateCheckStatus(CheckBox checkBox, @UserShortcutType int type) { checkBox.setChecked((mUserShortcutTypeCache & type) == type); - checkBox.setOnClickListener(v -> { - updateUserShortcutType(/* saveChanges= */ false); - }); } private void updateUserShortcutType(boolean saveChanges) { diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java index 4c2945ad176..5573746ca72 100644 --- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java +++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java @@ -246,13 +246,27 @@ public class ToggleScreenMagnificationPreferenceFragment extends throw new IllegalArgumentException("Unsupported dialogId " + dialogId); } + private void setDialogTextAreaClickListener(View dialogView, CheckBox checkBox) { + final View dialogTextArea = dialogView.findViewById(R.id.container); + dialogTextArea.setOnClickListener(v -> { + checkBox.toggle(); + updateUserShortcutType(/* saveChanges= */ false); + }); + } + private void initializeDialogCheckBox(AlertDialog dialog) { final View dialogSoftwareView = dialog.findViewById(R.id.software_shortcut); mSoftwareTypeCheckBox = dialogSoftwareView.findViewById(R.id.checkbox); + setDialogTextAreaClickListener(dialogSoftwareView, mSoftwareTypeCheckBox); + final View dialogHardwareView = dialog.findViewById(R.id.hardware_shortcut); mHardwareTypeCheckBox = dialogHardwareView.findViewById(R.id.checkbox); + setDialogTextAreaClickListener(dialogHardwareView, mHardwareTypeCheckBox); + final View dialogTripleTapView = dialog.findViewById(R.id.triple_tap_shortcut); mTripleTapTypeCheckBox = dialogTripleTapView.findViewById(R.id.checkbox); + setDialogTextAreaClickListener(dialogTripleTapView, mTripleTapTypeCheckBox); + final View advancedView = dialog.findViewById(R.id.advanced_shortcut); updateAlertDialogCheckState(); @@ -276,9 +290,6 @@ public class ToggleScreenMagnificationPreferenceFragment extends private void updateCheckStatus(CheckBox checkBox, @UserShortcutType int type) { checkBox.setChecked((mUserShortcutTypeCache & type) == type); - checkBox.setOnClickListener(v -> { - updateUserShortcutType(/* saveChanges= */ false); - }); } private void updateUserShortcutType(boolean saveChanges) {