Loading services/core/java/com/android/server/wm/ActivityTaskManagerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -4125,8 +4125,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { // be retrieved by recents. While if updateCache is false, the real snapshot will // always be taken and the snapshot won't be put into SnapshotPersister. if (updateCache) { supplier = mWindowManager.mTaskSnapshotController .getRecordSnapshotSupplier(task); supplier = mWindowManager.mTaskSnapshotController.getRecordSnapshotSupplier( task, TaskSnapshot.REFERENCE_WRITE_TO_PARCEL); } else { return mWindowManager.mTaskSnapshotController.snapshot(task); } Loading services/core/java/com/android/server/wm/TaskSnapshotController.java +9 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.wm; import static android.window.TaskSnapshot.REFERENCE_NONE; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_SCREENSHOT; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; Loading Loading @@ -134,7 +136,7 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot if (shouldDisableSnapshots()) { return; } final SnapshotSupplier supplier = getRecordSnapshotSupplier(task); final SnapshotSupplier supplier = getRecordSnapshotSupplier(task, REFERENCE_NONE); if (supplier == null) { return; } Loading @@ -152,8 +154,12 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot * {@link AbsAppSnapshotController.SnapshotSupplier#handleSnapshot} to complete the entire * record request. */ SnapshotSupplier getRecordSnapshotSupplier(Task task) { SnapshotSupplier getRecordSnapshotSupplier(Task task, @TaskSnapshot.ReferenceFlags int initialUsage) { return recordSnapshotInner(task, true /* allowAppTheme */, snapshot -> { if (initialUsage != REFERENCE_NONE) { snapshot.addReference(initialUsage); } if (!task.isActivityTypeHome()) { mPersister.persistSnapshot(task.mTaskId, task.mUserId, snapshot); task.onSnapshotChanged(snapshot); Loading @@ -166,7 +172,7 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot */ @Nullable TaskSnapshot getSnapshot(int taskId, boolean isLowResolution) { return getSnapshot(taskId, false /* isLowResolution */, TaskSnapshot.REFERENCE_NONE); return getSnapshot(taskId, false /* isLowResolution */, REFERENCE_NONE); } /** Loading Loading
services/core/java/com/android/server/wm/ActivityTaskManagerService.java +2 −2 Original line number Diff line number Diff line Loading @@ -4125,8 +4125,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { // be retrieved by recents. While if updateCache is false, the real snapshot will // always be taken and the snapshot won't be put into SnapshotPersister. if (updateCache) { supplier = mWindowManager.mTaskSnapshotController .getRecordSnapshotSupplier(task); supplier = mWindowManager.mTaskSnapshotController.getRecordSnapshotSupplier( task, TaskSnapshot.REFERENCE_WRITE_TO_PARCEL); } else { return mWindowManager.mTaskSnapshotController.snapshot(task); } Loading
services/core/java/com/android/server/wm/TaskSnapshotController.java +9 −3 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.wm; import static android.window.TaskSnapshot.REFERENCE_NONE; import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_SCREENSHOT; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; Loading Loading @@ -134,7 +136,7 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot if (shouldDisableSnapshots()) { return; } final SnapshotSupplier supplier = getRecordSnapshotSupplier(task); final SnapshotSupplier supplier = getRecordSnapshotSupplier(task, REFERENCE_NONE); if (supplier == null) { return; } Loading @@ -152,8 +154,12 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot * {@link AbsAppSnapshotController.SnapshotSupplier#handleSnapshot} to complete the entire * record request. */ SnapshotSupplier getRecordSnapshotSupplier(Task task) { SnapshotSupplier getRecordSnapshotSupplier(Task task, @TaskSnapshot.ReferenceFlags int initialUsage) { return recordSnapshotInner(task, true /* allowAppTheme */, snapshot -> { if (initialUsage != REFERENCE_NONE) { snapshot.addReference(initialUsage); } if (!task.isActivityTypeHome()) { mPersister.persistSnapshot(task.mTaskId, task.mUserId, snapshot); task.onSnapshotChanged(snapshot); Loading @@ -166,7 +172,7 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot */ @Nullable TaskSnapshot getSnapshot(int taskId, boolean isLowResolution) { return getSnapshot(taskId, false /* isLowResolution */, TaskSnapshot.REFERENCE_NONE); return getSnapshot(taskId, false /* isLowResolution */, REFERENCE_NONE); } /** Loading