Fix the title of the HW "Edit shortcuts" menu is truncated when the device is folded.

Solution:
Remove the attribute configchanges and store the situation to let the dialog automatically be created again when layout changes.

Bug: 194072748
Test: manual test
Change-Id: I0d70af45720d796bed1115f1835eb66fc6ccadf3
This commit is contained in:
Peter_Liang
2021-09-02 16:12:04 +08:00
parent 88869b1812
commit a71cd04883
2 changed files with 18 additions and 1 deletions

View File

@@ -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<AccessibilityTarget> 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();

View File

@@ -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">
<intent-filter>