diff options
| author | 2024-09-10 12:06:06 +0200 | |
|---|---|---|
| committer | 2024-09-10 17:07:18 +0200 | |
| commit | 496c34dadbb87603d6e54f15d5a1f21f7087e692 (patch) | |
| tree | a2f802d01bdc5b5cf5bf68942f9d41b85513bc7a | |
| parent | 29d12d84bd5513303f0fa837dc3ad8650345c608 (diff) | |
Don't show MediaProjection consent Dialog above lockscreen
Remove FLAG_SHOW_WHEN_LOCKED from the MediaProjection consent Dialog to
prevent it from showing above the lockscreen.
Bug: 351409536
Test: manual
Flag: EXEMPT bugfix
Change-Id: Icfbee72318d39b9b669973c1be22782095c76a2d
2 files changed, 9 insertions, 3 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java index 18c6f53630a4..4251b81226b3 100644 --- a/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java +++ b/packages/SystemUI/src/com/android/systemui/mediaprojection/permission/MediaProjectionPermissionActivity.java @@ -307,7 +307,7 @@ public class MediaProjectionPermissionActivity extends Activity { private void setUpDialog(AlertDialog dialog) { SystemUIDialog.registerDismissListener(dialog); - SystemUIDialog.applyFlags(dialog); + SystemUIDialog.applyFlags(dialog, /* showWhenLocked= */ false); SystemUIDialog.setDialogSize(dialog); dialog.setOnCancelListener(this::onDialogDismissedOrCancelled); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java index c04616847ebe..0ad1042a665f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/SystemUIDialog.java @@ -480,10 +480,16 @@ public class SystemUIDialog extends AlertDialog implements ViewRootImpl.ConfigCh } public static AlertDialog applyFlags(AlertDialog dialog) { + return applyFlags(dialog, true); + } + + public static AlertDialog applyFlags(AlertDialog dialog, boolean showWhenLocked) { final Window window = dialog.getWindow(); window.setType(WindowManager.LayoutParams.TYPE_STATUS_BAR_SUB_PANEL); - window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM - | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); + window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM); + if (showWhenLocked) { + window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); + } window.getAttributes().setFitInsetsTypes( window.getAttributes().getFitInsetsTypes() & ~Type.statusBars()); return dialog; |