From cc497e347d9f0745f9818a3bdf584e862181a669 Mon Sep 17 00:00:00 2001 From: wilsonshih Date: Wed, 22 Mar 2023 16:14:04 +0800 Subject: [PATCH] Temporary decouple snapshot controller from transition. - Accediently capture task snapshot when activity converting translucent. - Need to fine tune the performance. When transition ready, only do capture snapshot so it won't block surface placement. The other analysis tasks such as load/remove/delete activity snapshot can be schedule after transition finish. Also this version should only focus on shell transiton. Bug: 274216498 Test: manual test there won't capture snapshot when app is converting from/to translucent. Change-Id: I1c106dfd128d8ae229fbcba3ed1bd793dac36b67 --- .../com/android/server/wm/ActivitySnapshotController.java | 6 ++++++ .../java/com/android/server/wm/SnapshotController.java | 6 +++++- services/core/java/com/android/server/wm/Transition.java | 8 +++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivitySnapshotController.java b/services/core/java/com/android/server/wm/ActivitySnapshotController.java index 90a4820e87246..105b2bb09cf8c 100644 --- a/services/core/java/com/android/server/wm/ActivitySnapshotController.java +++ b/services/core/java/com/android/server/wm/ActivitySnapshotController.java @@ -191,6 +191,9 @@ class ActivitySnapshotController extends AbsAppSnapshotController= 0; --i) { + final ActivityRecord ar = mParticipants.valueAt(i).asActivityRecord(); + if (ar == null || ar.getTask() == null + || ar.getTask().isVisibleRequested()) continue; + mController.mSnapshotController.mTaskSnapshotController.recordSnapshot( + ar.getTask(), false /* allowSnapshotHome */); + } } // This is non-null only if display has changes. It handles the visible windows that don't