diff options
| author | 2015-07-31 19:55:40 +0000 | |
|---|---|---|
| committer | 2015-07-31 19:55:40 +0000 | |
| commit | c8222f40fcea5912d7154858bf6de5fa95083e40 (patch) | |
| tree | 48152e2c4e639824c02f317c07d28ffb9818aad1 | |
| parent | 183b589fd4e3381a5f64f2782f3fffad9dd25b0e (diff) | |
| parent | c35e670d5386eb6388eb4e65746b950265312e7a (diff) | |
am c35e670d: Moving removeTask to separate thread.
* commit 'c35e670d5386eb6388eb4e65746b950265312e7a':
Moving removeTask to separate thread.
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/recents/misc/SystemServicesProxy.java | 44 |
1 files changed, 21 insertions, 23 deletions
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 17db4718bd26..298a1cced3ff 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.Rect; 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 @@ public class SystemServicesProxy { 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 @@ public class SystemServicesProxy { 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 @@ public class SystemServicesProxy { 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 @@ public class SystemServicesProxy { } /** 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 @@ public class SystemServicesProxy { 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) { |