diff options
| -rw-r--r-- | core/java/android/window/flags/windowing_frontend.aconfig | 10 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/DeferredDisplayUpdater.java | 10 |
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 { |