summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2019-07-02 19:52:51 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-07-02 19:52:51 +0000
commit6836e6d02ef9902816217bb235eb76f9ddd2c39b (patch)
tree9a4b52546fdf8a8350ab626e66e7590d94f42959
parenta51df29cf567a41dc9c9ebc3d29770dbee7d331d (diff)
parent6dad90e5883db82c345a3ab592b26f0fd69fe28d (diff)
Merge "Pre-emptively take a snapshot when finishing an activity before changing visibility" into qt-r1-dev
-rw-r--r--services/core/java/com/android/server/wm/ActivityStack.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index 2ecacbf55a00..46f86ee5e9f9 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -164,6 +164,8 @@ import com.android.server.am.AppTimeTracker;
import com.android.server.am.EventLogTags;
import com.android.server.am.PendingIntentRecord;
+import com.google.android.collect.Sets;
+
import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.lang.ref.WeakReference;
@@ -4024,6 +4026,14 @@ class ActivityStack extends ConfigurationContainer {
}
getDisplay().mDisplayContent.prepareAppTransition(transit, false);
+ // When finishing the activity pre-emptively take the snapshot before the app window
+ // is marked as hidden and any configuration changes take place
+ if (mWindowManager.mTaskSnapshotController != null) {
+ final ArraySet<Task> tasks = Sets.newArraySet(task.mTask);
+ mWindowManager.mTaskSnapshotController.snapshotTasks(tasks);
+ mWindowManager.mTaskSnapshotController.addSkipClosingAppSnapshotTasks(tasks);
+ }
+
// Tell window manager to prepare for this one to be removed.
r.setVisibility(false);