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

Commit 6cae189d authored by Keyvan Amiri's avatar Keyvan Amiri Committed by android-build-merger
Browse files

Merge "Disabled task snapshot for TV" into oc-dev

am: 08b953dd

Change-Id: I220460741e82abbfaf3746763cbb4b09e9357965
parents b22429d5 08b953dd
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -17,15 +17,13 @@
package com.android.server.wm;

import static android.app.ActivityManager.ENABLE_TASK_SNAPSHOTS;
import static android.graphics.Bitmap.Config.ARGB_8888;
import static android.graphics.Bitmap.Config.HARDWARE;

import android.annotation.Nullable;
import android.app.ActivityManager;
import android.app.ActivityManager.StackId;
import android.app.ActivityManager.TaskSnapshot;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.GraphicBuffer;
import android.graphics.Rect;
import android.os.Environment;
@@ -89,9 +87,16 @@ class TaskSnapshotController {
    private final ArraySet<Task> mTmpTasks = new ArraySet<>();
    private final Handler mHandler = new Handler();

    /**
     * Flag indicating whether we are running on an Android TV device.
     */
    private final boolean mIsRunningOnTv;

    TaskSnapshotController(WindowManagerService service) {
        mService = service;
        mCache = new TaskSnapshotCache(mService, mLoader);
        mIsRunningOnTv = mService.mContext.getPackageManager().hasSystemFeature(
                PackageManager.FEATURE_LEANBACK);
    }

    void systemReady() {
@@ -112,7 +117,7 @@ class TaskSnapshotController {
    }

    private void handleClosingApps(ArraySet<AppWindowToken> closingApps) {
        if (!ENABLE_TASK_SNAPSHOTS || ActivityManager.isLowRamDeviceStatic()) {
        if (shouldDisableSnapshots()) {
            return;
        }

@@ -188,6 +193,10 @@ class TaskSnapshotController {
                1f /* scale */);
    }

    private boolean shouldDisableSnapshots() {
        return !ENABLE_TASK_SNAPSHOTS || ActivityManager.isLowRamDeviceStatic() || mIsRunningOnTv;
    }

    private Rect minRect(Rect rect1, Rect rect2) {
        return new Rect(Math.min(rect1.left, rect2.left),
                Math.min(rect1.top, rect2.top),
@@ -301,7 +310,7 @@ class TaskSnapshotController {
     * Called when screen is being turned off.
     */
    void screenTurningOff(ScreenOffListener listener) {
        if (!ENABLE_TASK_SNAPSHOTS || ActivityManager.isLowRamDeviceStatic()) {
        if (shouldDisableSnapshots()) {
            listener.onScreenOff();
            return;
        }
+2 −1
Original line number Diff line number Diff line
@@ -601,7 +601,7 @@ public class WindowManagerService extends IWindowManager.Stub

    final UnknownAppVisibilityController mUnknownAppVisibilityController =
            new UnknownAppVisibilityController(this);
    final TaskSnapshotController mTaskSnapshotController = new TaskSnapshotController(this);
    final TaskSnapshotController mTaskSnapshotController;

    boolean mIsTouchDevice;

@@ -992,6 +992,7 @@ public class WindowManagerService extends IWindowManager.Stub

        mWindowPlacerLocked = new WindowSurfacePlacer(this);
        mPolicy = policy;
        mTaskSnapshotController = new TaskSnapshotController(this);

        LocalServices.addService(WindowManagerPolicy.class, mPolicy);