From c9d948238ebe2c30d9db9e8c898496a2e624319f Mon Sep 17 00:00:00 2001 From: chaviw Date: Tue, 22 Feb 2022 17:30:33 -0600 Subject: [PATCH] Fix SnapshotTaskTests Added enable_recents_screenshot to windowmanager proto file so it can be used when testing. The test will read back this value to make sure it's set before proceeding with taking a task snapshot. Test: atest SnapshotTaskTests --rerun-until-failure 10 Fixes: 219750596 Change-Id: Ibd66c5f4d46e5102dbe0763f7b0b7cbcfb90a798 --- core/proto/android/server/windowmanagerservice.proto | 1 + .../core/java/com/android/server/wm/ActivityRecord.java | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/core/proto/android/server/windowmanagerservice.proto b/core/proto/android/server/windowmanagerservice.proto index c33b7c9217407..e8f7b9343746c 100644 --- a/core/proto/android/server/windowmanagerservice.proto +++ b/core/proto/android/server/windowmanagerservice.proto @@ -382,6 +382,7 @@ message ActivityRecordProto { optional bool in_size_compat_mode = 32; optional float min_aspect_ratio = 33; optional bool provides_max_bounds = 34; + optional bool enable_recents_screenshot = 35; } /* represents WindowToken */ diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index b0efa5b283bba..d7725865f609a 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -148,6 +148,7 @@ import static com.android.server.wm.ActivityRecordProto.ALL_DRAWN; import static com.android.server.wm.ActivityRecordProto.APP_STOPPED; import static com.android.server.wm.ActivityRecordProto.CLIENT_VISIBLE; import static com.android.server.wm.ActivityRecordProto.DEFER_HIDING_CLIENT; +import static com.android.server.wm.ActivityRecordProto.ENABLE_RECENTS_SCREENSHOT; import static com.android.server.wm.ActivityRecordProto.FILLS_PARENT; import static com.android.server.wm.ActivityRecordProto.FRONT_OF_TASK; import static com.android.server.wm.ActivityRecordProto.IN_SIZE_COMPAT_MODE; @@ -771,7 +772,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Last visibility state we reported to the app token. boolean reportedVisible; - boolean mEnablePreviewScreenshots = true; + boolean mEnableRecentsScreenshot = true; // Information about an application starting window if displayed. // Note: these are de-referenced before the starting window animates away. @@ -5151,7 +5152,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * See {@link Activity#setRecentsScreenshotEnabled}. */ void setRecentsScreenshotEnabled(boolean enabled) { - mEnablePreviewScreenshots = enabled; + mEnableRecentsScreenshot = enabled; } /** @@ -5163,7 +5164,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A * screenshot. */ boolean shouldUseAppThemeSnapshot() { - return !mEnablePreviewScreenshots || forAllWindows(WindowState::isSecureLocked, + return !mEnableRecentsScreenshot || forAllWindows(WindowState::isSecureLocked, true /* topToBottom */); } @@ -9184,6 +9185,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A // Only record if max bounds sandboxing is applied, if the caller has the necessary // permission to access the device configs. proto.write(PROVIDES_MAX_BOUNDS, providesMaxBounds()); + proto.write(ENABLE_RECENTS_SCREENSHOT, mEnableRecentsScreenshot); } @Override