diff --git a/core/java/com/android/internal/accessibility/dialog/AccessibilityShortcutChooserActivity.java b/core/java/com/android/internal/accessibility/dialog/AccessibilityShortcutChooserActivity.java index 0b92b93f2c882..874e3f4ae26a3 100644 --- a/core/java/com/android/internal/accessibility/dialog/AccessibilityShortcutChooserActivity.java +++ b/core/java/com/android/internal/accessibility/dialog/AccessibilityShortcutChooserActivity.java @@ -47,6 +47,8 @@ import java.util.List; public class AccessibilityShortcutChooserActivity extends Activity { @ShortcutType private final int mShortcutType = ACCESSIBILITY_SHORTCUT_KEY; + private static final String KEY_ACCESSIBILITY_SHORTCUT_MENU_MODE = + "accessibility_shortcut_menu_mode"; private final List mTargets = new ArrayList<>(); private AlertDialog mMenuDialog; private AlertDialog mPermissionDialog; @@ -66,14 +68,30 @@ public class AccessibilityShortcutChooserActivity extends Activity { mMenuDialog = createMenuDialog(); mMenuDialog.setOnShowListener(dialog -> updateDialogListeners()); mMenuDialog.show(); + + if (savedInstanceState != null) { + final int restoreShortcutMenuMode = + savedInstanceState.getInt(KEY_ACCESSIBILITY_SHORTCUT_MENU_MODE, + ShortcutMenuMode.LAUNCH); + if (restoreShortcutMenuMode == ShortcutMenuMode.EDIT) { + onEditButtonClicked(); + } + } } @Override protected void onDestroy() { + mMenuDialog.setOnDismissListener(null); mMenuDialog.dismiss(); super.onDestroy(); } + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putInt(KEY_ACCESSIBILITY_SHORTCUT_MENU_MODE, mTargetAdapter.getShortcutMenuMode()); + } + private void onTargetSelected(AdapterView parent, View view, int position, long id) { final AccessibilityTarget target = mTargets.get(position); target.onSelected(); diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 17044523cf083..94cb49440b8f5 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -5864,7 +5864,6 @@ android:excludeFromRecents="true" android:documentLaunchMode="never" android:relinquishTaskIdentity="true" - android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation|keyboard|keyboardHidden" android:process=":ui" android:visibleToInstantApps="true">