Minor optimization when starting quickstep.
Change-Id: I339c414d500a14407041189828838f35d2e63cf4
diff --git a/quickstep/src/com/android/quickstep/TaskThumbnailView.java b/quickstep/src/com/android/quickstep/TaskThumbnailView.java
index 55d22e0..6e8bbeb 100644
--- a/quickstep/src/com/android/quickstep/TaskThumbnailView.java
+++ b/quickstep/src/com/android/quickstep/TaskThumbnailView.java
@@ -50,7 +50,7 @@
protected Paint mBgFillPaint = new Paint();
protected BitmapShader mBitmapShader;
- private float mDimAlpha;
+ private float mDimAlpha = 1f;
private LightingColorFilter mLightingColorFilter = new LightingColorFilter(Color.WHITE, 0);
public TaskThumbnailView(Context context) {
@@ -64,7 +64,6 @@
public TaskThumbnailView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
setWillNotDraw(false);
- setDimAlpha(1f);
setClipToOutline(true);
}
diff --git a/quickstep/src/com/android/quickstep/TaskView.java b/quickstep/src/com/android/quickstep/TaskView.java
index f6408a8..029afd6 100644
--- a/quickstep/src/com/android/quickstep/TaskView.java
+++ b/quickstep/src/com/android/quickstep/TaskView.java
@@ -55,7 +55,6 @@
public TaskView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
- setWillNotDraw(false);
setOnClickListener((view) -> {
launchTask(true /* animate */);
});
diff --git a/quickstep/src/com/android/quickstep/TouchInteractionService.java b/quickstep/src/com/android/quickstep/TouchInteractionService.java
index 1218176..adaa785 100644
--- a/quickstep/src/com/android/quickstep/TouchInteractionService.java
+++ b/quickstep/src/com/android/quickstep/TouchInteractionService.java
@@ -81,7 +81,8 @@
private Intent mHomeIntent;
private ComponentName mLauncher;
-
+ private int mDisplayRotation;
+ private final Point mDisplaySize = new Point();
private final PointF mDownPos = new PointF();
private final PointF mLastPos = new PointF();
private int mActivePointerId = INVALID_POINTER_ID;
@@ -133,6 +134,9 @@
mDownPos.set(ev.getX(), ev.getY());
mLastPos.set(mDownPos);
mTouchSlop = ViewConfiguration.get(this).getScaledTouchSlop();
+ Display display = getSystemService(WindowManager.class).getDefaultDisplay();
+ display.getRealSize(mDisplaySize);
+ mDisplayRotation = display.getRotation();
mRunningTask = mAM.getRunningTask();
if (mRunningTask == null || mRunningTask.topActivity.equals(mLauncher)) {
@@ -202,12 +206,11 @@
// Preload and start the recents activity on a background thread
final Context context = this;
- final int runningTaskId = ActivityManagerWrapper.getInstance().getRunningTask().id;
final RecentsTaskLoadPlan loadPlan = new RecentsTaskLoadPlan(context);
Future<RecentsTaskLoadPlan> loadPlanFuture = BackgroundExecutor.get().submit(() -> {
// Preload the plan
RecentsTaskLoader loader = TouchInteractionService.getRecentsTaskLoader();
- loadPlan.preloadPlan(loader, runningTaskId, UserHandle.myUserId());
+ loadPlan.preloadPlan(loader, mRunningTask.id, UserHandle.myUserId());
// Pass the
Bundle extras = new Bundle();
@@ -222,17 +225,6 @@
ActivityOptions.makeCustomAnimation(this, 0, 0), UserHandle.myUserId(),
null, null);
*/
-
- // Kick off loading of the plan while the activity is starting
- Options loadOpts = new Options();
- loadOpts.runningTaskId = runningTaskId;
- loadOpts.loadIcons = true;
- loadOpts.loadThumbnails = true;
- loadOpts.numVisibleTasks = 2;
- loadOpts.numVisibleTaskThumbnails = 2;
- loadOpts.onlyLoadForCache = false;
- loadOpts.onlyLoadPausedActivities = false;
- loader.loadTasks(loadPlan, loadOpts);
}, loadPlan);
mInteractionHandler.setLastLoadPlan(loadPlanFuture);
@@ -255,14 +247,11 @@
Log.e(TAG, "Never received systemUIProxy");
return null;
}
- Display display = getSystemService(WindowManager.class).getDefaultDisplay();
- Point size = new Point();
- display.getRealSize(size);
// TODO: We are using some hardcoded layers for now, to best approximate the activity layers
try {
- return mISystemUiProxy.screenshot(new Rect(), size.x, size.y, 0, 100000, false,
- display.getRotation());
+ return mISystemUiProxy.screenshot(new Rect(), mDisplaySize.x, mDisplaySize.y, 0, 100000,
+ false, mDisplayRotation);
} catch (RemoteException e) {
Log.e(TAG, "Error capturing snapshot", e);
return null;