summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Leon Scroggins III <scroggo@google.com> 2018-02-23 12:27:27 -0500
committer Leon Scroggins III <scroggo@google.com> 2018-02-23 12:36:29 -0500
commita38b2135a4bf4368734567a73d2e56f1c318fee9 (patch)
tree6f4ff371bfe270be8789e7614ba9b0986f02cee0
parent1474b78888012a5b89e2a486ff0148cacd94300c (diff)
setPreferRamOverQuality -> setConserveMemory
Bug: 73788928 Test: Ic4198306aae7f11a935aeeb970c8e05fbe440e7f Change-Id: Ia2d2a559c652647ab4ed86b99833d33224f453b9
-rw-r--r--api/current.txt2
-rw-r--r--graphics/java/android/graphics/ImageDecoder.java36
2 files changed, 20 insertions, 18 deletions
diff --git a/api/current.txt b/api/current.txt
index 3689e9f18b5d..6068492e5fac 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -13606,11 +13606,11 @@ package android.graphics {
method public android.util.Size getSampledSize(int);
method public void setAllocator(int);
method public void setAsAlphaMask(boolean);
+ method public void setConserveMemory(boolean);
method public void setCrop(android.graphics.Rect);
method public void setMutable(boolean);
method public void setOnPartialImageListener(android.graphics.ImageDecoder.OnPartialImageListener);
method public void setPostProcessor(android.graphics.PostProcessor);
- method public void setPreferRamOverQuality(boolean);
method public void setRequireUnpremultiplied(boolean);
method public void setResize(int, int);
method public void setResize(int);
diff --git a/graphics/java/android/graphics/ImageDecoder.java b/graphics/java/android/graphics/ImageDecoder.java
index acefead785c4..816dd52b03a9 100644
--- a/graphics/java/android/graphics/ImageDecoder.java
+++ b/graphics/java/android/graphics/ImageDecoder.java
@@ -28,34 +28,32 @@ import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.graphics.drawable.AnimatedImageDrawable;
-import android.graphics.drawable.Drawable;
import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
import android.graphics.drawable.NinePatchDrawable;
import android.net.Uri;
-import android.util.Size;
import android.system.ErrnoException;
import android.system.Os;
import android.util.DisplayMetrics;
+import android.util.Size;
import android.util.TypedValue;
-import libcore.io.IoUtils;
import dalvik.system.CloseGuard;
-import java.nio.ByteBuffer;
+import libcore.io.IoUtils;
+
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.lang.ArrayIndexOutOfBoundsException;
-import java.lang.AutoCloseable;
-import java.lang.NullPointerException;
-import java.lang.RuntimeException;
import java.lang.annotation.Retention;
-import static java.lang.annotation.RetentionPolicy.SOURCE;
+import java.nio.ByteBuffer;
import java.util.concurrent.atomic.AtomicBoolean;
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
/**
* Class for decoding images as {@link Bitmap}s or {@link Drawable}s.
*/
@@ -441,7 +439,7 @@ public final class ImageDecoder implements AutoCloseable {
private int mAllocator = ALLOCATOR_DEFAULT;
private boolean mRequireUnpremultiplied = false;
private boolean mMutable = false;
- private boolean mPreferRamOverQuality = false;
+ private boolean mConserveMemory = false;
private boolean mAsAlphaMask = false;
private Rect mCropRect;
private Rect mOutPaddingRect;
@@ -818,12 +816,16 @@ public final class ImageDecoder implements AutoCloseable {
* Specify whether to potentially save RAM at the expense of quality.
*
* Setting this to {@code true} may result in a {@link Bitmap} with a
- * denser {@link Bitmap.Config}, depending on the image. For example, for
- * an opaque {@link Bitmap}, this may result in a {@link Bitmap.Config}
- * with no alpha information.
+ * denser {@link Bitmap.Config}, depending on the image. For example, an
+ * opaque {@link Bitmap} with 8 bits or precision for each of its red,
+ * green and blue components would decode to
+ * {@link Bitmap.Config#ARGB_8888} by default, but setting this to
+ * {@code true} will result in decoding to {@link Bitmap.Config#RGB_565}.
+ * This necessarily lowers the quality of the output, but saves half
+ * the memory used.
*/
- public void setPreferRamOverQuality(boolean preferRamOverQuality) {
- mPreferRamOverQuality = preferRamOverQuality;
+ public void setConserveMemory(boolean conserveMemory) {
+ mConserveMemory = conserveMemory;
}
/**
@@ -904,7 +906,7 @@ public final class ImageDecoder implements AutoCloseable {
return nDecodeBitmap(mNativePtr, partialImagePtr,
postProcessPtr, mDesiredWidth, mDesiredHeight, mCropRect,
mMutable, mAllocator, mRequireUnpremultiplied,
- mPreferRamOverQuality, mAsAlphaMask);
+ mConserveMemory, mAsAlphaMask);
}
private void callHeaderDecoded(@Nullable OnHeaderDecodedListener listener,
@@ -1118,7 +1120,7 @@ public final class ImageDecoder implements AutoCloseable {
int width, int height,
@Nullable Rect cropRect, boolean mutable,
int allocator, boolean requireUnpremul,
- boolean preferRamOverQuality, boolean asAlphaMask)
+ boolean conserveMemory, boolean asAlphaMask)
throws IOException;
private static native Size nGetSampledSize(long nativePtr,
int sampleSize);