summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jorim Jaggi <jjaggi@google.com> 2017-05-04 00:23:24 +0000
committer android-build-merger <android-build-merger@google.com> 2017-05-04 00:23:24 +0000
commit257a070939f7b8d8fa8c1554db47d8fbb2da994c (patch)
tree1726bf481fbcfe47f02fe17ce1901a2631ce0a0b
parentc96a3583189fc21ab3b3a390665dc5e9ddcf8cea (diff)
parentafe23b9b539fbf4eae0a38c47bdafdc14ae169d6 (diff)
Merge "Avoid reading HW bitmap pixels twice" into oc-dev
am: afe23b9b53 Change-Id: If844553df8ef3516880c51dad93edce49146fb70
-rw-r--r--services/core/java/com/android/server/wm/TaskSnapshotPersister.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotPersister.java b/services/core/java/com/android/server/wm/TaskSnapshotPersister.java
index f2a92df2b820..e5c7a72c78bc 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotPersister.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotPersister.java
@@ -24,6 +24,7 @@ import android.annotation.TestApi;
import android.app.ActivityManager.TaskSnapshot;
import android.graphics.Bitmap;
import android.graphics.Bitmap.CompressFormat;
+import android.graphics.Bitmap.Config;
import android.os.Process;
import android.os.SystemClock;
import android.util.ArraySet;
@@ -266,12 +267,13 @@ class TaskSnapshotPersister {
final File file = getBitmapFile(mTaskId, mUserId);
final File reducedFile = getReducedResolutionBitmapFile(mTaskId, mUserId);
final Bitmap bitmap = Bitmap.createHardwareBitmap(mSnapshot.getSnapshot());
- final Bitmap reduced = Bitmap.createScaledBitmap(bitmap,
+ final Bitmap swBitmap = bitmap.copy(Config.ARGB_8888, false /* isMutable */);
+ final Bitmap reduced = Bitmap.createScaledBitmap(swBitmap,
(int) (bitmap.getWidth() * REDUCED_SCALE),
(int) (bitmap.getHeight() * REDUCED_SCALE), true /* filter */);
try {
FileOutputStream fos = new FileOutputStream(file);
- bitmap.compress(JPEG, QUALITY, fos);
+ swBitmap.compress(JPEG, QUALITY, fos);
fos.close();
FileOutputStream reducedFos = new FileOutputStream(reducedFile);
reduced.compress(JPEG, QUALITY, reducedFos);