Loading packages/SystemUI/src/com/android/systemui/recents/views/RecentsTransitionHelper.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -400,8 +400,8 @@ public class RecentsTransitionHelper { view.draw(c); view.draw(c); } } node.end(c); node.end(c); return ThreadedRenderer.createHardwareBitmap(node, bufferWidth, bufferHeight) Bitmap hwBitmap = ThreadedRenderer.createHardwareBitmap(node, bufferWidth, bufferHeight); .createGraphicBufferHandle(); return hwBitmap.createGraphicBufferHandle(); } } /** /** Loading services/core/java/com/android/server/wm/TaskSnapshotController.java +16 −4 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,9 @@ package com.android.server.wm; import static android.app.ActivityManager.ENABLE_TASK_SNAPSHOTS; import static android.app.ActivityManager.ENABLE_TASK_SNAPSHOTS; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.annotation.Nullable; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityManager; import android.app.ActivityManager.StackId; import android.app.ActivityManager.StackId; Loading @@ -29,6 +32,7 @@ import android.graphics.Rect; import android.os.Environment; import android.os.Environment; import android.os.Handler; import android.os.Handler; import android.util.ArraySet; import android.util.ArraySet; import android.util.Slog; import android.view.DisplayListCanvas; import android.view.DisplayListCanvas; import android.view.RenderNode; import android.view.RenderNode; import android.view.ThreadedRenderer; import android.view.ThreadedRenderer; Loading Loading @@ -57,6 +61,7 @@ import java.io.PrintWriter; * To access this class, acquire the global window manager lock. * To access this class, acquire the global window manager lock. */ */ class TaskSnapshotController { class TaskSnapshotController { private static final String TAG = TAG_WITH_CLASS_NAME ? "TaskSnapshotController" : TAG_WM; /** /** * Return value for {@link #getSnapshotMode}: We are allowed to take a real screenshot to be * Return value for {@link #getSnapshotMode}: We are allowed to take a real screenshot to be Loading Loading @@ -154,6 +159,12 @@ class TaskSnapshotController { break; break; } } if (snapshot != null) { if (snapshot != null) { final GraphicBuffer buffer = snapshot.getSnapshot(); if (buffer.getWidth() == 0 || buffer.getHeight() == 0) { buffer.destroy(); Slog.e(TAG, "Invalid task snapshot dimensions " + buffer.getWidth() + "x" + buffer.getHeight()); } else { mCache.putSnapshot(task, snapshot); mCache.putSnapshot(task, snapshot); mPersister.persistSnapshot(task.mTaskId, task.mUserId, snapshot); mPersister.persistSnapshot(task.mTaskId, task.mUserId, snapshot); if (task.getController() != null) { if (task.getController() != null) { Loading @@ -162,6 +173,7 @@ class TaskSnapshotController { } } } } } } } /** /** * Retrieves a snapshot. If {@param restoreFromDisk} equals {@code true}, DO HOLD THE WINDOW * Retrieves a snapshot. If {@param restoreFromDisk} equals {@code true}, DO HOLD THE WINDOW Loading services/core/java/com/android/server/wm/TaskSnapshotPersister.java +1 −6 Original line number Original line Diff line number Diff line Loading @@ -291,7 +291,6 @@ class TaskSnapshotPersister { failed = true; failed = true; } } if (!writeBuffer()) { if (!writeBuffer()) { writeBuffer(); failed = true; failed = true; } } if (failed) { if (failed) { Loading Loading @@ -327,11 +326,7 @@ class TaskSnapshotPersister { final File reducedFile = getReducedResolutionBitmapFile(mTaskId, mUserId); final File reducedFile = getReducedResolutionBitmapFile(mTaskId, mUserId); final Bitmap bitmap = Bitmap.createHardwareBitmap(mSnapshot.getSnapshot()); final Bitmap bitmap = Bitmap.createHardwareBitmap(mSnapshot.getSnapshot()); if (bitmap == null) { if (bitmap == null) { Slog.e(TAG, "Invalid task snapshot"); Slog.e(TAG, "Invalid task snapshot hw bitmap"); return false; } else if (bitmap.getWidth() == 0 || bitmap.getHeight() == 0) { Slog.e(TAG, "Invalid task snapshot dimensions " + bitmap.getWidth() + "x" + bitmap.getHeight()); return false; return false; } } Loading Loading
packages/SystemUI/src/com/android/systemui/recents/views/RecentsTransitionHelper.java +2 −2 Original line number Original line Diff line number Diff line Loading @@ -400,8 +400,8 @@ public class RecentsTransitionHelper { view.draw(c); view.draw(c); } } node.end(c); node.end(c); return ThreadedRenderer.createHardwareBitmap(node, bufferWidth, bufferHeight) Bitmap hwBitmap = ThreadedRenderer.createHardwareBitmap(node, bufferWidth, bufferHeight); .createGraphicBufferHandle(); return hwBitmap.createGraphicBufferHandle(); } } /** /** Loading
services/core/java/com/android/server/wm/TaskSnapshotController.java +16 −4 Original line number Original line Diff line number Diff line Loading @@ -18,6 +18,9 @@ package com.android.server.wm; import static android.app.ActivityManager.ENABLE_TASK_SNAPSHOTS; import static android.app.ActivityManager.ENABLE_TASK_SNAPSHOTS; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; import android.annotation.Nullable; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityManager; import android.app.ActivityManager.StackId; import android.app.ActivityManager.StackId; Loading @@ -29,6 +32,7 @@ import android.graphics.Rect; import android.os.Environment; import android.os.Environment; import android.os.Handler; import android.os.Handler; import android.util.ArraySet; import android.util.ArraySet; import android.util.Slog; import android.view.DisplayListCanvas; import android.view.DisplayListCanvas; import android.view.RenderNode; import android.view.RenderNode; import android.view.ThreadedRenderer; import android.view.ThreadedRenderer; Loading Loading @@ -57,6 +61,7 @@ import java.io.PrintWriter; * To access this class, acquire the global window manager lock. * To access this class, acquire the global window manager lock. */ */ class TaskSnapshotController { class TaskSnapshotController { private static final String TAG = TAG_WITH_CLASS_NAME ? "TaskSnapshotController" : TAG_WM; /** /** * Return value for {@link #getSnapshotMode}: We are allowed to take a real screenshot to be * Return value for {@link #getSnapshotMode}: We are allowed to take a real screenshot to be Loading Loading @@ -154,6 +159,12 @@ class TaskSnapshotController { break; break; } } if (snapshot != null) { if (snapshot != null) { final GraphicBuffer buffer = snapshot.getSnapshot(); if (buffer.getWidth() == 0 || buffer.getHeight() == 0) { buffer.destroy(); Slog.e(TAG, "Invalid task snapshot dimensions " + buffer.getWidth() + "x" + buffer.getHeight()); } else { mCache.putSnapshot(task, snapshot); mCache.putSnapshot(task, snapshot); mPersister.persistSnapshot(task.mTaskId, task.mUserId, snapshot); mPersister.persistSnapshot(task.mTaskId, task.mUserId, snapshot); if (task.getController() != null) { if (task.getController() != null) { Loading @@ -162,6 +173,7 @@ class TaskSnapshotController { } } } } } } } /** /** * Retrieves a snapshot. If {@param restoreFromDisk} equals {@code true}, DO HOLD THE WINDOW * Retrieves a snapshot. If {@param restoreFromDisk} equals {@code true}, DO HOLD THE WINDOW Loading
services/core/java/com/android/server/wm/TaskSnapshotPersister.java +1 −6 Original line number Original line Diff line number Diff line Loading @@ -291,7 +291,6 @@ class TaskSnapshotPersister { failed = true; failed = true; } } if (!writeBuffer()) { if (!writeBuffer()) { writeBuffer(); failed = true; failed = true; } } if (failed) { if (failed) { Loading Loading @@ -327,11 +326,7 @@ class TaskSnapshotPersister { final File reducedFile = getReducedResolutionBitmapFile(mTaskId, mUserId); final File reducedFile = getReducedResolutionBitmapFile(mTaskId, mUserId); final Bitmap bitmap = Bitmap.createHardwareBitmap(mSnapshot.getSnapshot()); final Bitmap bitmap = Bitmap.createHardwareBitmap(mSnapshot.getSnapshot()); if (bitmap == null) { if (bitmap == null) { Slog.e(TAG, "Invalid task snapshot"); Slog.e(TAG, "Invalid task snapshot hw bitmap"); return false; } else if (bitmap.getWidth() == 0 || bitmap.getHeight() == 0) { Slog.e(TAG, "Invalid task snapshot dimensions " + bitmap.getWidth() + "x" + bitmap.getHeight()); return false; return false; } } Loading