Loading services/core/java/com/android/server/wm/TaskSnapshotController.java +14 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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() { Loading @@ -112,7 +117,7 @@ class TaskSnapshotController { } private void handleClosingApps(ArraySet<AppWindowToken> closingApps) { if (!ENABLE_TASK_SNAPSHOTS || ActivityManager.isLowRamDeviceStatic()) { if (shouldDisableSnapshots()) { return; } Loading Loading @@ -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), Loading Loading @@ -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; } Loading services/core/java/com/android/server/wm/WindowManagerService.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading Loading
services/core/java/com/android/server/wm/TaskSnapshotController.java +14 −5 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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() { Loading @@ -112,7 +117,7 @@ class TaskSnapshotController { } private void handleClosingApps(ArraySet<AppWindowToken> closingApps) { if (!ENABLE_TASK_SNAPSHOTS || ActivityManager.isLowRamDeviceStatic()) { if (shouldDisableSnapshots()) { return; } Loading Loading @@ -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), Loading Loading @@ -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; } Loading
services/core/java/com/android/server/wm/WindowManagerService.java +2 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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); Loading