Fix software shortcut in dialog did not update when content change.
Root Cause: Dialog only get updated when clicked the trigger button to show dialog. Solution: Update the software shortcut content in dialog if needed in onResume() stage. Bug: 183342594 Test: atest AccessibilityDialogUtilsTest Change-Id: Ibcd66d6c57f1790f96f234e49f456cbc2c990f64
This commit is contained in:
@@ -38,7 +38,6 @@ import android.view.accessibility.AccessibilityManager;
|
||||
import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener;
|
||||
import android.widget.CheckBox;
|
||||
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceCategory;
|
||||
|
||||
@@ -132,12 +131,11 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
@Override
|
||||
public Dialog onCreateDialog(int dialogId) {
|
||||
if (mDialogDelegate != null) {
|
||||
final Dialog dialog = mDialogDelegate.onCreateDialog(dialogId);
|
||||
if (dialog != null) {
|
||||
return dialog;
|
||||
mDialog = mDialogDelegate.onCreateDialog(dialogId);
|
||||
if (mDialog != null) {
|
||||
return mDialog;
|
||||
}
|
||||
}
|
||||
final AlertDialog dialog;
|
||||
switch (dialogId) {
|
||||
case DialogEnums.GESTURE_NAVIGATION_TUTORIAL:
|
||||
return AccessibilityGestureNavigationTutorial
|
||||
@@ -148,10 +146,10 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
final int dialogType = WizardManagerHelper.isAnySetupWizard(getIntent())
|
||||
? DialogType.EDIT_SHORTCUT_MAGNIFICATION_SUW
|
||||
: DialogType.EDIT_SHORTCUT_MAGNIFICATION;
|
||||
dialog = AccessibilityDialogUtils.showEditShortcutDialog(getPrefContext(),
|
||||
mDialog = AccessibilityDialogUtils.showEditShortcutDialog(getPrefContext(),
|
||||
dialogType, dialogTitle, this::callOnAlertDialogCheckboxClicked);
|
||||
setupMagnificationEditShortcutDialog(dialog);
|
||||
return dialog;
|
||||
setupMagnificationEditShortcutDialog(mDialog);
|
||||
return mDialog;
|
||||
default:
|
||||
return super.onCreateDialog(dialogId);
|
||||
}
|
||||
@@ -209,7 +207,7 @@ public class ToggleScreenMagnificationPreferenceFragment extends
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
void setupMagnificationEditShortcutDialog(AlertDialog dialog) {
|
||||
void setupMagnificationEditShortcutDialog(Dialog dialog) {
|
||||
final View dialogSoftwareView = dialog.findViewById(R.id.software_shortcut);
|
||||
mSoftwareTypeCheckBox = dialogSoftwareView.findViewById(R.id.checkbox);
|
||||
setDialogTextAreaClickListener(dialogSoftwareView, mSoftwareTypeCheckBox);
|
||||
|
Reference in New Issue
Block a user