summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/java/android/window/flags/windowing_frontend.aconfig10
-rw-r--r--services/core/java/com/android/server/wm/DeferredDisplayUpdater.java10
2 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/window/flags/windowing_frontend.aconfig b/core/java/android/window/flags/windowing_frontend.aconfig
index d6f65f8c9d8b..b71468247e37 100644
--- a/core/java/android/window/flags/windowing_frontend.aconfig
+++ b/core/java/android/window/flags/windowing_frontend.aconfig
@@ -19,6 +19,16 @@ flag {
}
flag {
+ name: "blast_sync_notification_shade_on_display_switch"
+ namespace: "windowing_frontend"
+ description: "Make the buffer content of notification shade synchronize with display switch"
+ bug: "337154331"
+ metadata {
+ purpose: PURPOSE_BUGFIX
+ }
+}
+
+flag {
name: "edge_to_edge_by_default"
namespace: "windowing_frontend"
description: "Make app go edge-to-edge by default when targeting SDK 35 or greater"
diff --git a/services/core/java/com/android/server/wm/DeferredDisplayUpdater.java b/services/core/java/com/android/server/wm/DeferredDisplayUpdater.java
index 125eb2a3a810..be44629a1fcf 100644
--- a/services/core/java/com/android/server/wm/DeferredDisplayUpdater.java
+++ b/services/core/java/com/android/server/wm/DeferredDisplayUpdater.java
@@ -194,6 +194,16 @@ public class DeferredDisplayUpdater implements DisplayUpdater {
final Rect startBounds = new Rect(0, 0, mDisplayContent.mInitialDisplayWidth,
mDisplayContent.mInitialDisplayHeight);
final int fromRotation = mDisplayContent.getRotation();
+ if (Flags.blastSyncNotificationShadeOnDisplaySwitch() && physicalDisplayUpdated) {
+ final WindowState notificationShade =
+ mDisplayContent.getDisplayPolicy().getNotificationShade();
+ if (notificationShade != null && notificationShade.isVisible()
+ && mDisplayContent.mAtmService.mKeyguardController.isKeyguardOrAodShowing(
+ mDisplayContent.mDisplayId)) {
+ Slog.i(TAG, notificationShade + " uses blast for display switch");
+ notificationShade.mSyncMethodOverride = BLASTSyncEngine.METHOD_BLAST;
+ }
+ }
mDisplayContent.mAtmService.deferWindowLayout();
try {