Add API to disable snapshotting of activities
Test: runtest frameworks-services -c
com.android.server.wm.TaskSnapshotControllerTest
Test: Launch DisableScreenshotsActivity, go to recents, make sure
content is white.
Bug: 31339431
Change-Id: I329925d2fca389e561da3389a67fe888b5bb1033
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotController.java b/services/core/java/com/android/server/wm/TaskSnapshotController.java
index 469a8a7..4ae6dbe 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotController.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotController.java
@@ -152,8 +152,13 @@
}
}
- private boolean canSnapshotTask(Task task) {
- return !StackId.isHomeOrRecentsStack(task.mStack.mStackId);
+ @VisibleForTesting
+ boolean canSnapshotTask(Task task) {
+ // TODO: Figure out what happens when snapshots are disabled. Can we draw a splash screen
+ // instead?
+ final AppWindowToken topChild = task.getTopChild();
+ return !StackId.isHomeOrRecentsStack(task.mStack.mStackId)
+ && topChild != null && !topChild.shouldDisablePreviewScreenshots();
}
/**