Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84455465 authored by Winson Chung's avatar Winson Chung Committed by android-build-merger
Browse files

Merge "Merge "Moving check for empty snapshots earlier." into oc-dr1-dev am:...

Merge "Merge "Moving check for empty snapshots earlier." into oc-dr1-dev am: 161d6564" into oc-dr1-dev-plus-aosp
am: b66c014d

Change-Id: I6bb9eeeb1c1b75f4901a436ace5c95e70cbebeb7
parents 5fb57668 b66c014d
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -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();
    }
    }


    /**
    /**
+16 −4
Original line number Original line Diff line number Diff line
@@ -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;
@@ -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;
@@ -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
@@ -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) {
@@ -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
+1 −6
Original line number Original line Diff line number Diff line
@@ -291,7 +291,6 @@ class TaskSnapshotPersister {
                failed = true;
                failed = true;
            }
            }
            if (!writeBuffer()) {
            if (!writeBuffer()) {
                writeBuffer();
                failed = true;
                failed = true;
            }
            }
            if (failed) {
            if (failed) {
@@ -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;
            }
            }