am c35e670d: Moving removeTask to separate thread.
* commit 'c35e670d5386eb6388eb4e65746b950265312e7a':
Moving removeTask to separate thread.
diff --git a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java
index 17db471..298a1cc 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java
@@ -48,6 +48,8 @@
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
import android.os.ParcelFileDescriptor;
import android.os.RemoteException;
import android.os.SystemProperties;
@@ -85,6 +87,15 @@
final static String TAG = "SystemServicesProxy";
final static BitmapFactory.Options sBitmapOptions;
+ final static HandlerThread sBgThread;
+
+ static {
+ sBgThread = new HandlerThread("Recents-SystemServicesProxy",
+ android.os.Process.THREAD_PRIORITY_BACKGROUND);
+ sBgThread.start();
+ sBitmapOptions = new BitmapFactory.Options();
+ sBitmapOptions.inMutable = true;
+ }
AccessibilityManager mAccm;
ActivityManager mAm;
@@ -98,17 +109,14 @@
String mRecentsPackage;
ComponentName mAssistComponent;
+ Handler mBgThreadHandler;
+
Bitmap mDummyIcon;
int mDummyThumbnailWidth;
int mDummyThumbnailHeight;
Paint mBgProtectionPaint;
Canvas mBgProtectionCanvas;
- static {
- sBitmapOptions = new BitmapFactory.Options();
- sBitmapOptions.inMutable = true;
- }
-
/** Private constructor */
public SystemServicesProxy(Context context) {
mAccm = AccessibilityManager.getInstance(context);
@@ -121,6 +129,7 @@
mWm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
mDisplay = mWm.getDefaultDisplay();
mRecentsPackage = context.getPackageName();
+ mBgThreadHandler = new Handler(sBgThread.getLooper());
// Get the dummy thumbnail width/heights
Resources res = context.getResources();
@@ -383,12 +392,17 @@
}
/** Removes the task */
- public void removeTask(int taskId) {
+ public void removeTask(final int taskId) {
if (mAm == null) return;
if (Constants.DebugFlags.App.EnableSystemServicesProxy) return;
// Remove the task.
- mAm.removeTask(taskId);
+ mBgThreadHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ mAm.removeTask(taskId);
+ }
+ });
}
/**
@@ -656,22 +670,6 @@
return windowRect;
}
- /**
- * Takes a screenshot of the current surface.
- */
- public Bitmap takeScreenshot() {
- DisplayInfo di = new DisplayInfo();
- mDisplay.getDisplayInfo(di);
- return SurfaceControl.screenshot(di.getNaturalWidth(), di.getNaturalHeight());
- }
-
- /**
- * Takes a screenshot of the current app.
- */
- public Bitmap takeAppScreenshot() {
- return takeScreenshot();
- }
-
/** Starts an activity from recents. */
public boolean startActivityFromRecents(Context context, int taskId, String taskName,
ActivityOptions options) {