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

Commit ff720aeb authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Set pixel format of snapshot builder"

parents b80531d4 c802e4bf
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -281,7 +281,8 @@ class TaskSnapshotController {
     *
     * @return true if the state of the task is ok to proceed
     */
    private boolean prepareTaskSnapshot(Task task, float scaleFraction, int pixelFormat,
    @VisibleForTesting
    boolean prepareTaskSnapshot(Task task, float scaleFraction, int pixelFormat,
            TaskSnapshot.Builder builder) {
        if (!mService.mPolicy.isScreenOn()) {
            if (DEBUG_SCREENSHOT) {
@@ -339,6 +340,7 @@ class TaskSnapshotController {
                && (!activity.fillsParent() || isWindowTranslucent);

        builder.setTopActivityComponent(activity.mActivityComponent);
        builder.setPixelFormat(pixelFormat);
        builder.setIsTranslucent(isTranslucent);
        builder.setOrientation(activity.getTask().getConfiguration().orientation);
        builder.setWindowingMode(task.getWindowingMode());
+21 −0
Original line number Diff line number Diff line
@@ -19,10 +19,13 @@ package com.android.server.wm;
import static android.view.WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW;
import static android.view.WindowManager.LayoutParams.FLAG_SECURE;

import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
import static com.android.server.wm.TaskSnapshotController.SNAPSHOT_MODE_APP_THEME;
import static com.android.server.wm.TaskSnapshotController.SNAPSHOT_MODE_REAL;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;

@@ -175,4 +178,22 @@ public class TaskSnapshotControllerTest extends WindowTestsBase {
            }
        }
    }

    @Test
    public void testPrepareTaskSnapshot() {
        mAppWindow.mWinAnimator.mLastAlpha = 1f;
        spyOn(mAppWindow.mWinAnimator);
        doReturn(true).when(mAppWindow.mWinAnimator).getShown();
        doReturn(true).when(mAppWindow.mActivityRecord).isSurfaceShowing();

        final ActivityManager.TaskSnapshot.Builder builder =
                new ActivityManager.TaskSnapshot.Builder();
        final float scaleFraction = 0.8f;
        mWm.mTaskSnapshotController.prepareTaskSnapshot(mAppWindow.mActivityRecord.getTask(),
                scaleFraction, PixelFormat.UNKNOWN, builder);

        assertEquals(scaleFraction, builder.getScaleFraction(), 0 /* delta */);
        // The pixel format should be selected automatically.
        assertNotEquals(PixelFormat.UNKNOWN, builder.getPixelFormat());
    }
}