diff options
| author | 2019-07-02 19:52:51 +0000 | |
|---|---|---|
| committer | 2019-07-02 19:52:51 +0000 | |
| commit | 6836e6d02ef9902816217bb235eb76f9ddd2c39b (patch) | |
| tree | 9a4b52546fdf8a8350ab626e66e7590d94f42959 | |
| parent | a51df29cf567a41dc9c9ebc3d29770dbee7d331d (diff) | |
| parent | 6dad90e5883db82c345a3ab592b26f0fd69fe28d (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.java | 10 |
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); |