History log of /frameworks/base/graphics/java/android/graphics/BitmapFactory.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
51b75386a8f6a90e833002d2d1fed928039841e7 07-Jan-2016 Matt Sarett <msarett@google.com> Deprecate mCancel in BitmapFactory.Options API

This is a follow-up to:
https://googleplex-android-review.git.corp.google.com/#/c/837260/

BUG:26266063
Change-Id: I4a5a9c7bd1f04f27f096ce74668d1509791e1952
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
5e2496bcee239ce9ebeff6022b7badf81d87492c 18-Dec-2015 Matt Sarett <msarett@google.com> Make BitmapFactory.Options API Changes

This changes the documentation for inPreferQualityOverSpeed,
inDither, and requestCancelDecode().

These changes are a result of modifying the backends of
BitmapFactory and BitmapRegionDecoder to be faster, higher quality,
and to use standard libraries.

BUG:26266063
BUG:25556965
Change-Id: I9008fd276a38c737e242bcc6930ffe4e36d9fd1d
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
955d8d69ea6caabce1461dc25b339b9bf9dc61a6 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Put in real "code" (aka marketing) name.

Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
617dca9242778257ab0f25f65f28796580feed1c 05-Jul-2014 Nick Kralevich <nnk@google.com> am 50c3c114: am 664ec0a6: am 77491ac0: Merge "Correct typo in doc comment"

* commit '50c3c114603b493d7814c83f96c8057e040e6c28':
Correct typo in doc comment
77491ac00c18cd81328a3942c78a64436be65618 05-Jul-2014 Nick Kralevich <nnk@google.com> Merge "Correct typo in doc comment"
0aa39dc2dcfca20f4d9cbeb1699d48a4808f2c70 03-Jun-2014 Leon Scroggins III <scroggo@google.com> Ignore inPurgeable and inInputShareable.

These are discouraged anyway, due to the fact that using them may
result in decoding on the UI thread. Now that they are ignored, the
images will still be decoded; they just will never have their
memory purged, meaning there could be a RAM penalty. This is
acceptable, since apps are encouraged to instead use inBitmap to
manage bitmap memory.

This incidentally fixes BUG:15390468 by converting purgeable index8
(e.g. gif) images to non purgeable.

Change-Id: Ieaf3ab25d28d93fb94bdaea1eb3bd762f163b09a
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
5b15b1717ef95ef8c91f8587fee1f789aec6ae49 11-Dec-2013 Shuhrat Dehkanov <k@efir.uz> Correct typo in doc comment

Changed "will" to "with"
(will null Options -> with null Options)

Change-Id: I3bbfb953d8e783ca6335247463007cbee722a28e
Signed-off-by: Shuhrat Dehkanov <k@efir.uz>
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
e648c19bf33ce78b3f67b7ffd95c92fd6996c418 07-Mar-2014 Leon Scroggins III <scroggo@google.com> resolved conflicts for merge of 8d3281f5 to klp-dev-plus-aosp

Change-Id: If2855ff4f7a1e7645c69af378955868f44187376
8d3281f5f7a880b996e50d291ebb7154a486eb6c 06-Mar-2014 Leon Scroggins III <scroggo@google.com> am ee008d42: Merge "Update framework to use M33 Skia. DO NOT MERGE" into klp-dev

* commit 'ee008d4264a95bba5f90b17856fc06fa29a6f12c':
Update framework to use M33 Skia. DO NOT MERGE
5e49b497ae2019586937aae0e8159292363728b5 03-Dec-2013 Leon Scroggins III <scroggo@google.com> Update framework to use M33 Skia. DO NOT MERGE

(These CLs are already in master.)

Bug: 13246311

This cherry-picks 7 CLs:

-----------------------------------------------------------------------

Remove calls to deprecated SkBitmap::setIsOpaque()

setIsOpaque() has been removed from ToT Skia.

Update setters for mIsPremultiplied and hasAlpha to take the
other into consideration.

cherry-pick from: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a

-----------------------------------------------------------------------

Merge AssetStream with AssetStreamAdaptor.

Add enums to the constructor for AssetStreamAdaptor to choose the
different behaviors used by the (former) two different classes.

The old clients of AssetStream now get the following features of
AssetStreamAdaptor
- Debugging statements on error.
- The stream is an SkStreamRewindable.
- getLength() returns the correct value, and the old way of getting
the length (read(NULL, 0)) is no longer implemented, since it is
no longer used.
- isAtEnd() returns the correct value. ToT Skia makes it pure virtual,
so some implementation is necessary.

cherry-pick from: I2a5395914e4f53830aaefee396556459083a1c56

-----------------------------------------------------------------------

Deprecate Android-specific SkPaint functions.

The following functions were problematic:
const SkGlyph& getUnicharMetrics(SkUnichar, const SkMatrix*);
const SkGlyph& getGlyphMetrics(uint16_t, const SkMatrix*);
const void* findImage(const SkGlyph&, const SkMatrix*);

Replacing them with calls through SkGlyphCache solved a nasty crash
bug, so they have all been deprecated.

Bug: 11968757
cherry-pick from: Id746315d41aec5b211b78b172a883c2061130f08

-----------------------------------------------------------------------

pass SkGlyphCache into updateGlyphCache()

Doing so prevents us from double-locking the glyph cache, thereby
effectively locking ourselves out of reusing work that we'd just done.

Bug: 11968757
cherry-pick from: I5c552f2d0bbe30af2ce9054ba684e7da756a0d89

-----------------------------------------------------------------------

Updates to the Skia API needed to merge the WebView m33 version of Skia.

cherry-pick from: I0f63b53f2aae58871413b132742fc84138f069a3

Bugfix for screenshots (recent apps) due to incorrect rowBytes computation

bug: 12915192
cherry-pick from: I4d5fe2a2f75baf66099e0970fb646686a1992714

-----------------------------------------------------------------------

Fix bug in AndroidPixelRef where we did not store the correct imageInfo for a recycled bitmap.

cherry-pick from: I882483b78886e2f19fa4e43a86e69f5a82b3b7e5

-----------------------------------------------------------------------

Change-Id: Ie2b731a9f0795802418cfecddb4b684c92c64d33
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
a0398430fcf365fba6e42ad0bdca2fbf45ed6fe0 20-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
be 64-bit.

[x] Some minor changes have been done to conform with
standard JNI practice (e.g. use of jint instead of int
in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
yet. Specifically mAtlasMap member has to be converted
to hold native pointer using long. Added a TODO to
AssetAtlasManager.java to indicate the change required.

Change-Id: I940433f601c6db998c1a8ffff338f5361200d5ed
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
36bef0bf30d6bae48cf3837df351075ca4fce654 20-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make graphics classes 64-bit compatible

This a merger of two commits submitted to AOSP by
the following authors:

ashok.bhat@arm.com, david.butcher@arm.coma
craig.barber@arm.com, kevin.petit@arm.com and
marcus.oakland@arm.com

Due to the very large number of internal conflicts, I
have chosen to cherry-pick this change instead
of letting it merge through AOSP because the merge
conflict resolution would be very hard to review.

Commit messages below:

================================================
AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
be 64-bit.

[x] Some minor changes have been done to conform with
standard JNI practice (e.g. use of jint instead of int
in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
yet. Specifically mAtlasMap member has to be converted
to hold native pointer using long. Added a TODO to
AssetAtlasManager.java to indicate the change required.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

==================================================================

AArch64: Use long for pointers in graphics/Camera

For storing pointers, long is used in
android/graphics/Camera class, as native
pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use of
jint instead of int in JNI function prototypes)

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

===================================================================

Change-Id: Id5793fa0ebc17ee8b1eecf4b3f327977fdccff71
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
7023df08f14ec5dee76ac54c03e870f84e297636 27-Jan-2014 Narayan Kamath <narayan@google.com> Revert "AArch64: Make graphics classes 64-bit compatible"

This reverts commit 18b4cbeedef21c1fa666a110a157bab66edff976.

Change-Id: I0c52983a3ab1ace3ff743de546a43eca28e5cb0e
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
18b4cbeedef21c1fa666a110a157bab66edff976 20-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Make graphics classes 64-bit compatible

This a merger of two commits submitted to AOSP by
the following authors:

ashok.bhat@arm.com, david.butcher@arm.coma
craig.barber@arm.com, kevin.petit@arm.com and
marcus.oakland@arm.com

Due to the very large number of internal conflicts, I
have chosen to cherry-pick this change instead
of letting it merge through AOSP because the merge
conflict resolution would be very hard to review.

Commit messages below:

================================================
AArch64: Make graphics classes 64-bit compatible

Changes in this patch include

[x] Long is used to store native pointers as they can
be 64-bit.

[x] Some minor changes have been done to conform with
standard JNI practice (e.g. use of jint instead of int
in JNI function prototypes)

[x] AssetAtlasManager is not completely 64-bit compatible
yet. Specifically mAtlasMap member has to be converted
to hold native pointer using long. Added a TODO to
AssetAtlasManager.java to indicate the change required.

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Craig Barber <craig.barber@arm.com>
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

==================================================================

AArch64: Use long for pointers in graphics/Camera

For storing pointers, long is used in
android/graphics/Camera class, as native
pointers can be 64-bit.

In addition, some minor changes have been done
to conform with standard JNI practice (e.g. use of
jint instead of int in JNI function prototypes)

Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>

===================================================================

Change-Id: Ib3eab85ed97ea3e3c227617c20f8d213f17d4ba0
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
8790be6de3644e332ec6a17c855da89ffc13a9bf 03-Dec-2013 Leon Scroggins III <scroggo@google.com> Remove calls to deprecated SkBitmap::setIsOpaque()

setIsOpaque() has been removed from ToT Skia.

Update setters for mIsPremultiplied and hasAlpha to take the
other into consideration.

Change-Id: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
badb59cd5d2a2905494964889f002a277211000a 07-Nov-2013 Newton Allen <newt@google.com> am 47feee53: Merge "Fix some documentation typos." into klp-docs

* commit '47feee535f9e4e77165b93b6b9f10379e7aa4bbd':
Fix some documentation typos.
918997738383a847e3e019c24ec1b4f4ad39c43e 06-Nov-2013 Adam Koch <akoch@google.com> am 66e47c5f: am 0c5268c3: am be0b05a0: Merge "Doc fix: add more detail to BitmapFactory.Options.inPurgeable flag. Bug: 6064760" into klp-dev

* commit '66e47c5feca7425b0f2afbe3b4abb513b4f05279':
Doc fix: add more detail to BitmapFactory.Options.inPurgeable flag. Bug: 6064760
66e47c5feca7425b0f2afbe3b4abb513b4f05279 06-Nov-2013 Adam Koch <akoch@google.com> am 0c5268c3: am be0b05a0: Merge "Doc fix: add more detail to BitmapFactory.Options.inPurgeable flag. Bug: 6064760" into klp-dev

* commit '0c5268c3595ca029919df55453a2607cca06b361':
Doc fix: add more detail to BitmapFactory.Options.inPurgeable flag. Bug: 6064760
e1693df494dbdedfb5eac56bf59f86afc893b778 05-Nov-2013 Adam Koch <akoch@google.com> Doc fix: add more detail to BitmapFactory.Options.inPurgeable flag.
Bug: 6064760

Change-Id: I3fd833a3205be451ff6548fab3555d170c9c570e
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
ff236f5fc1a088b1210d37a67b0e88b06c0fbdb2 13-Aug-2013 Newton Allen <newt@google.com> Fix some documentation typos.

Change-Id: I0360d468d54d970c87f313e24e50965245206f28
(cherry picked from commit c502744f2ddcc80a34f5197b5d2c0d701c7d6e71)
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
c502744f2ddcc80a34f5197b5d2c0d701c7d6e71 13-Aug-2013 Newton Allen <newt@google.com> Fix some documentation typos.

Change-Id: I0360d468d54d970c87f313e24e50965245206f28
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
afbd777fdaf4ecc6c483c45fc8f8206a119574cc 26-Sep-2013 Leon Scroggins III <scroggo@google.com> am ae1e8855: am 8e4b16d6: Merge "Update docs to state that mark is no longer called." into klp-dev

* commit 'ae1e88553fa628dbf22aa5ed2659f5ea2c12793a':
Update docs to state that mark is no longer called.
321bc46b3c885a806f2e7e29db8212f7ea6c8670 25-Sep-2013 Leon Scroggins III <scroggo@google.com> Update docs to state that mark is no longer called.

BUG:6493544

Change-Id: I97a4d90ce2efcd12f8f1cc5b545f822f8e5a5ab0
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
44f65cb5fd3b36dbf06f76da62cd6c495358985b 18-Sep-2013 Leon Scroggins III <scroggo@google.com> am 2e4e9889: am 3490228e: Merge "Use a native buffer for decoding images." into klp-dev

* commit '2e4e98895b17ef248f5071202a3610ac715eaf0e':
Use a native buffer for decoding images.
7315f1baee19476363235127bc1438e2a291fa15 11-Sep-2013 Leon Scroggins III <scroggo@google.com> Use a native buffer for decoding images.

Fixes BUG:10725383

Depends on https://googleplex-android-review.git.corp.google.com/#/c/357300/
in external/skia.

In the previous fix for BUG:8432093 and BUG:6493544
(https://googleplex-android-review.googlesource.com/#/c/346191/),
instead of calling mark on the provided input stream, we
copied the entire stream in native code (except in one case;
more details below), allowing rewind no matter how much of
the stream had been read. This was because two decoders
may rewind after reading an arbitrary amount of the stream:
SkImageDecoder_wbmp and SkImageDecoder_libjpeg.

It turns out that the jpeg decoder does not need this rewind
after arbitrary length (it is a failure recovery case, and
libjpeg has a default recovery we can use - the above referenced
CL in Skia uses the default).

Although the wbmp decoder could read any amount given a
stream with the "right" data, and then return false, such a
stream would not be a valid stream of another format, so it
is okay for this rewind to fail.

Further, the previous fix was inefficient in the common case
where the caller decodes just the bounds, resets, then decodes
the entire image (since we have copied the entire stream twice).
The copy also resulted in the crashes seen in BUG:10725383.

In this CL, buffer only the amount of input needed by
SkImageDecoder::Factory to determine the type of image decoder
needed. Do not mark the input stream provided by the caller,
so their mark (if any) can remain in tact. The new Skia class
SkFrontBufferedStream allows buffering just the beginning
of the stream.

core/jni/android/graphics/BitmapFactory.cpp:
Instead of calling GetRewindableStream (which has been removed),
call CreateJavaInputStreamAdaptor. Then wrap it in an
SkFrontBufferedStream, with a large enough buffer to determine
which type of image is used.

core/jni/android/graphics/CreateJavaOutputStreamAdaptor.h:
core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp:
Remove mark, markSupported, and rewind. CreateJavaInputStreamAdaptor
now turns an SkStream which is not rewindable. If the caller
needs rewind that needs to be handled differently (for example,
by using SkFrontBufferedStream, as is done in BitmapFactory and
Movie.
Remove RewindableJavaStream and GetRewindableStream.
Remove code specific to ByteArrayInputStream, which makes slow
JNI calls. Instead, depend on the caller to buffer the input
in the general case. There is no reason to special case this
stream (especially since we already have decodeByteArray).
Remove CheckForAssetStream, which is now always special cased
in Java.

core/jni/android/graphics/Movie.cpp:
Call CreateJavaInputStreamAdaptor and use an SkFrontBufferedStream.
Add a native function for decoding an Asset, and remove old
call to CheckForAssetStream.

graphics/java/android/graphics/BitmapFactory.java:
Write a helper function for decoding a stream to consolidate
common code.
Buffer enough of the input so that SkImageDecoder::Factory
can rewind after having read enough to determine the type.
Unlike the old code, do NOT mark the caller's stream. This is
handled in native code. The caller's mark (if any) is left alone.

graphics/java/android/graphics/Movie.java:
Check for an Asset stream before passing to native, and
call a native function for handling the asset directly.

BUG:6493544
BUG:8432093
BUG:10725383

Change-Id: Ide74d3606ff4bb2a8c6cdbf11bae3f96696f331a
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
4669a5d2783efbd30a0fa32cf22185f61c3d1215 10-Sep-2013 John Reck <jreck@google.com> am 8eb3ece8: am 1d2daa78: Merge "Remove FD optimization case for decodeStream" into klp-dev

* commit '8eb3ece8eeaea4dc06c5b3854d8fd9efea4ef5fc':
Remove FD optimization case for decodeStream
5835157d762a5b6bffe3d892c588ebc475bccb44 10-Sep-2013 John Reck <jreck@google.com> Remove FD optimization case for decodeStream

Bug: 10677727
The problem is that the FileInputStream may be wrapping a pipe or
AssetFileDescriptor which fails if handed to decodeFileDescriptor.
The problem is that AFDs can start in the middle of a file, whereas
decodeFileDescriptor assumes it can mmap() the FD and start at
the beginning.

Change-Id: I98a3c5f789865145e25a99b32d205e290808c1cf
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
ebc6c4bb179ac3cafcf17a396abd199198079636 09-Sep-2013 Chris Craik <ccraik@google.com> am 177718a7: am f25fceef: Merge "Update doc for BitmapFactory.Options to include BitmapRegionDecoder" into klp-dev

* commit '177718a7d2fa22ee8b982b1c19d4db50beb5790b':
Update doc for BitmapFactory.Options to include BitmapRegionDecoder
352919efd02808f0d6222f7a2cc657f3455c2049 07-Sep-2013 Chris Craik <ccraik@google.com> Update doc for BitmapFactory.Options to include BitmapRegionDecoder

bug:9987022
Change-Id: I1a4e187e1c35a7758b70f69a0a25914597920e8f
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
672fcd5c9a90ed4e133d441fee3b0130c7acd769 05-Sep-2013 Chet Haase <chet@google.com> am 04f31501: am a9fa33b3: Merge "Change build version from KEY_LIME_PIE to KITKAT" into klp-dev

* commit '04f31501602a87ae9526983f4a92e623b4d68bb3':
Change build version from KEY_LIME_PIE to KITKAT
e8222dddaf2e3da14380101e818d4254899e0c0d 05-Sep-2013 Chet Haase <chet@google.com> Change build version from KEY_LIME_PIE to KITKAT

Issue #10631619 Change build version to KitKat

Change-Id: I6ad13f6169ad74204078d36929479998b498ad8b
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
083cdca013ec10a56f5b48a9461cb5b841fa61f1 03-Sep-2013 Romain Guy <romainguy@google.com> am 3d179241: am 3e8105e2: Merge "Update Bitmap.Config.ARGB_4444 documentation Bug #10510122" into klp-dev

* commit '3d179241bfbdeb4e293d2b773cfe6a586158d4b0':
Update Bitmap.Config.ARGB_4444 documentation Bug #10510122
3e8105e212e65005c0ef0ecc345b47eb0bf129bd 03-Sep-2013 Romain Guy <romainguy@google.com> Merge "Update Bitmap.Config.ARGB_4444 documentation Bug #10510122" into klp-dev
25ba1c86945a441428194d9ebcabbf31be75a45a 03-Sep-2013 Romain Guy <romainguy@google.com> Update Bitmap.Config.ARGB_4444 documentation
Bug #10510122

ARGB_4444 is deprecated and always replaced with ARGB_8888.

Change-Id: I0da96216af701a7df00ad35913066fbfa997d790
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
f7142e3e8bfba982ad73a7c7a6a992491b7cfb43 29-Aug-2013 Leon Scroggins III <scroggo@google.com> am af172519: am 4b299312: Merge "Replace stream wrap-function w/ more specific ones" into klp-dev

* commit 'af1725190fbb8dd7c29726f8b7c072f3af734aed':
Replace stream wrap-function w/ more specific ones
ca32021b43f326af7d3f4ae041f8db297f98a518 20-Aug-2013 Leon Scroggins III <scroggo@google.com> Replace stream wrap-function w/ more specific ones

The current stream wrapper returns a potentially incorrect
value for a call to getLength(), is typically copied into
another stream (not always in the same way), and doesn't
always take advantage of its underlying data (like when it
is an Asset). The overall goal of this CL is to provide the
caller with something that is ready to use, depending on
what is asked for. If a copy is desired, the copy is made
before being returned to the caller.

core/jni/android/graphics/Bitmap.cpp:

Include SkStream.h, since it is no longer included by
CreateJavaOutputStreamAdaptor's header file.

core/jni/android/graphics/BitmapFactory.cpp:

Pass an SkStreamRewindable to decoding functions, as Skia
decoders will be updated to only take an SkStreamRewindable
(which makes more sense because they require rewinding).

Call the more specific GetRewindableStream to get a
rewindable stream.

Remove copyAssetToStream which has been moved to Utils.

In nativeDecodeAsset, pass forcePurgeable as allowPurgeable
in doDecode. Technically the old code worked, but it checked
the BitmapOptions again.

Remove getFDSize, which is no longer used.

core/jni/android/graphics/BitmapRegionDecoder.cpp:

Remove redundant buildSkMemoryStream. nativeNewInstanceFromStream
now calls CopyJavaInputStream, which handles the copy.

Copy the Asset directly, using common code, rather than creating
an AssetStreamAdaptor to copy.

core/jni/android/graphics/CreateJavaOutputStreamAdaptor.cpp:
core/jni/android/graphics/CreateJavaOutputStreamAdaptor.h:

Provide new interfaces to access data from a Java InputStream.
The new interfaces are more specific about what type of stream
is desired.

Use forward declarations where possible.

Remove doSize, which gives a misleading answer to the question
of how long the entire stream is.

TODO: Only call FindClass etc once.

core/jni/android/graphics/Movie.cpp:

Check for an asset stream, and use it if possible. Then call
GetRewindableStream if there is not an asset.
Remove the memory leak. Call DeleteLocalRef to delete the
allocated memory.

core/jni/android/graphics/Picture.cpp:

Call the new interface.

core/jni/android/graphics/Utils.cpp:
core/jni/android/graphics/Utils.h:

Make AssetStreamAdaptor inherit from SkStreamRewindable so it
can be passed to Skia decoding functions once they require it.

Add CopyAssetToStream (moved from BitmapFactory.cpp) so it can
be used by multiple files.

graphics/java/android/graphics/BitmapFactory.java:

Remove the call to mark, which is now done natively.

Remove the BufferedInputStream. Mark/reset is now handled
by native code.

Allow decodeStream to handle a FileInputStream by using the
FileDescriptor, if it is seekable. In decodeFileDescriptor,
call nativeDecodeStream instead of decodeStream so this new
functionality will not loop.

Call setDensityFromOptions in decodeFileDescriptor.

graphics/java/android/graphics/BitmapRegionDecoder.java:

Remove the BufferedInputStream. Mark/reset is now handled
by native code.

TODO: ADD TESTS!

Requires https://googleplex-android-review.googlesource.com/#/c/344317/

BUG=https://b.corp.google.com/issue?id=8432093

Change-Id: I4419b70b3482325c98ecc673dbfc4613f1b18581
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
ed2515e853a0440555d76b2b935086211107dcef 21-Aug-2013 Chris Craik <ccraik@google.com> am 908d9bfa: am dc70afae: Merge "Add inPremutiplied option to BitmapFactory.Options, functionality in Bitmap" into klp-dev

* commit '908d9bfafd576755d06f0566fc4cac3831476f63':
Add inPremutiplied option to BitmapFactory.Options, functionality in Bitmap
1abf5d62429e5a9329520b2f7c2b5a5e7a8e72ec 16-Aug-2013 Chris Craik <ccraik@google.com> Add inPremutiplied option to BitmapFactory.Options, functionality in Bitmap

bug:2248948

Change-Id: I8fdd649332667598504a1076d5a447572bd53086
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
544333b39ec612e0e3426d3ef90b21761ea0d751 05-Aug-2013 Chris Craik <ccraik@google.com> Better explain outWidth/Height use with inJustDecodeBounds

Change-Id: I81d2d63a1dd0792ca11a157b30152496b16e4c8d
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
c84d203da21c3ae3ded94c79c035d41b27809b3b 13-Jul-2013 Chris Craik <ccraik@google.com> Add reconfigure method to Bitmap

bug:9797004

Grants a means to reuse a bitmap's allocation for different
width/height/Config without going through
BitmapFactoryOptions.inBitmap

Change-Id: Ib62319f3bd96c451fc1636288adf06a8275b4e3d
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
787e35793f47abdb6cc10f328cd58d362c7bd250 12-Jul-2013 Romain Guy <romainguy@google.com> Trace bitmaps decoding

Also remove dead code

Change-Id: Ie931b21858ccbe6ee4def54caf028fd2aed23317
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
905e8246ef0bd20ee28d81ce3da0c5e5fc8e3913 05-Jun-2013 Chris Craik <ccraik@google.com> Add support for post-decode density scaling with reuse

Also, simplifies scaling path, removing java variant - we always do
the scaling in native, which has the benefit of avoiding non-native
temporary allocations

Change-Id: I39c2219f5d77a267719629704e65611cf4388a82
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
7e8c03c0fed64c73a4f0cfb96a2c6905b348a143 03-Jun-2013 Chris Craik <ccraik@google.com> Support all formats for BitmapFactory.Options.inBitmap

bug:9194265

Instead of using custom code in skia to avoid allocations, use a
custom allocator that reuses the allocations from the inBitmap.

In order to avoid inconsistent state, the decode is done in a
separate bitmap and swapped into the existing native bitmap.

Eventually, we'd like to support inScaled=true completely avoiding
java allocations.

Change-Id: Ic4a2f2373b100a80a32c1cdebb7bcb726711c8a7
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
9f58361e98be7386a4eadd3aa254e9b7d09d0a3b 21-May-2013 Chris Craik <ccraik@google.com> Support larger bitmaps in BitmapFactory.Options.inBitmap

bug:8121994

Adds a new distiction between bitmap size and the allocation
(pixel ref/buffer) used to store its data.

BitmapFactory.inBitmap will allow a bitmap to be reinitialized with
new data if the bitmap being decoded is (after sampleSize) equal or
smaller.

Change-Id: I747750a735c858882df3af74fca6cdc46f2a9f81
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
25a3b1ddeb470737ba8d05baabd6f3e5ad394ab0 05-Mar-2013 Adam Koch <akoch@google.com> am cc3fec69: am 0c8dfd7d: am 1061c578: am 095aa4b6: am 1a5bec01: Merge "Doc fix: update BitmapFactory.Options.inSampleSize javadoc Bug: 8250653" into jb-mr1-dev

* commit 'cc3fec699d9fdf57a080106e6ca7b3ae845f1446':
Doc fix: update BitmapFactory.Options.inSampleSize javadoc Bug: 8250653
fe28ef84f253190faaecf6fa3848898e41212ddb 05-Mar-2013 Romain Guy <romainguy@google.com> Never resize a Bitmap down to 0 at load time
Bug #8313929

Change-Id: Ic9b691319f162228c72ad1afed4dfe0b4181c422
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
758333d70a749fb50276057abc585cbc0decc8d4 22-Feb-2013 Adam Koch <akoch@google.com> Doc fix: update BitmapFactory.Options.inSampleSize javadoc
Bug: 8250653

Change-Id: I7187372ab3c742b9395d119a7425f60f071dbb4e
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
afce5a4008c494f6384e1b6b2fb4f13d33e917cb 04-Feb-2013 Michael Jurka <mikejurka@google.com> Don't mark recycled bitmaps as immutable

Helps avoid Bitmap allocations in apps that use a
pool of bitmaps and recycle them

Change-Id: I787455a5207bf90d6ed9f1622e0f7f7e1a4a6704
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
b8151ecd6ef4faa5c16d0a4c3abb45ec84d1f97a 19-Apr-2012 Amith Yamasani <yamasani@google.com> Add an icon to the user information.

Store the icon in the user folder under /data/system,
similar to how the wallpaper is stored.

Change-Id: Id8ccb55b9e2ba7b4c557505a7f69f04eca1518cf
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
76344241719384f160ee623554f66987d0fcae41 30-Apr-2012 Dianne Hackborn <hackbod@google.com> Fix scaling of layout bounds.

Change-Id: I9d8c8924900fed69030ee3e8d6decee89ca67820
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
ec4a50428d5f26a22df3edaf7e5b08f41d5cb54b 04-Apr-2012 Amith Yamasani <yamasani@google.com> Embed layout padding in nine patch images

- Added a new custom PNG chunk that carries the layout padding ints.
- Extract the padding ticks from .9.png images and store in the chunk.
- Load the padding information at runtime into Bitmap and NinePatchDrawable.

- The new chunk is ordered first so that it doesn't cause a problem in older
versions of the platform.

Bug: 6087201

Change-Id: I5de46167a1d44b3ec21065b0c165e594b1dc8399
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
7b2f8b8fb7064a1d3b6d942b978c30c24c9d7299 20-Mar-2012 Romain Guy <romainguy@google.com> Pre-scale bitmaps on the native heap

Change-Id: I9819b532b89a997ab775b31ffee46445f1d16e20
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
caf813fe1ec10dda75cd752cb3ff80872ae7ac0b 16-Mar-2012 Romain Guy <romainguy@google.com> Remove unused private API

Change-Id: Iec9c2bc275fc7376f4e0b0b9c44059c56a9dd173
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
4e525a6e5ac7499f79f306e0a418f6f6b72c765d 08-Feb-2012 Romain Guy <romainguy@google.com> Tentative fix for mysteriously recycled bitmap

This code should not be triggered with scale == 1.0f because of the
density comparisons above though.

Change-Id: I9e39e3769a3b6550c97df3b213457947ec1f554b
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
39c512b623eff1d7a7b17f68a42723fbda9bf483 23-Feb-2011 Romain Guy <romainguy@google.com> Don't swap bottom left and bottom right corner radii.

Change-Id: If57b6627f67998edc384de15e3d970f8edf18211
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
4b26247e8b45850afc78e414a7007266dbdc5d18 18-Jan-2011 Owen Lin <owenlin@google.com> Merge "Change to stream decoding mode if the file descriptor cannot support seek." into honeycomb
a9d0d47076ecf2d1739bb3534abc9deead8ebebd 18-Jan-2011 Owen Lin <owenlin@google.com> Change to stream decoding mode if the file descriptor cannot support seek.

bug: 3298498
Change-Id: Id7ae46bf8e885a417753edbd6648332052fee469
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
2361098da3b9d9c3eeed410dc72ba62c0e9177cf 17-Jan-2011 Romain Guy <romainguy@google.com> Add BitmapFactory.Options.inMutable to load mutable bitmaps.

Change-Id: Iaa222127520f3aa55072d44af12ee3477908b876
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
2118b25ad422e946d4d87e191c5710bfacd7503e 18-Dec-2010 Carl Shapiro <cshapiro@google.com> Eliminate tracked allocations and the inNativeAlloc option.

Change-Id: Ic10b2b41a26925d799e5d1e50be77fc480ec0f17
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
decc8cd41eca3770c8f5ee13d81b9cd5f0c25ccd 11-Dec-2010 Chet Haase <chet@google.com> Add ability to reuse bitmaps when decoding PNG content

Change-Id: Ic74b62c6280954ff80bcf64f3989a36c7c0b5615
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
37f74cad46c6f1799aec3c52e8f47598237f43d4 09-Dec-2010 Chet Haase <chet@google.com> Add ability to reuse bitmaps when loading new content

Change-Id: Ic5f5f40ee39787403977fb372b335dc21cf07243
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
0e007d7ab9ae4f1be506f4976182609d80d75a5c 07-Dec-2010 Wei-Ta Chen <weita@google.com> Unhide inPreferQualityOverSpeed in BitmapFactory.Options.

The new field allows a developer to use a more accurate by
slightly slower IDCT method in JPEG decode. This in turns improves the
quality of the reconstructed image.

The field by default is not set and thus does not affect existing
applications.

Bug: 3238925

Related changes: https://android-git.corp.google.com/g/#change,83291 and
https://android-git.corp.google.com/g/#change,83294

Change-Id: I969f5c413f9b2179454aeb90e18ae8222ee583b4
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
953f9094a2ec14594fa8501d5f3e2d9e300b1b62 03-Dec-2010 Wei-Ta Chen <weita@google.com> Add inPreferQualityOverSpeed into BitmapFactory.Options.

The new field allows a developer to use a more accurate by
slightly slower IDCT method in JPEG decode. This in turns improves the
quality of the reconstructed image.

The field by default is not set and thus does not affect existing
applications.

Bug: 3238925
Change-Id: I93d55b7226e47a43e639325cd1a677694d6f2ee4
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
a23cdda0a5fad7798454ecb05a7855cb9211ea22 23-Sep-2010 Wei-Ta Chen <weita@google.com> am ac487f70: am 6b849e21: Unhide BitmapRegionDecoder.

Merge commit 'ac487f708f7b58dbd4f3021b520c6ed5975daebe'

* commit 'ac487f708f7b58dbd4f3021b520c6ed5975daebe':
Unhide BitmapRegionDecoder.
6b849e2123be98eb2a1a25b8abf0b13a279ce952 07-Sep-2010 Wei-Ta Chen <weita@google.com> Unhide BitmapRegionDecoder.

1. Rename LargeBitmap to BitmapRegionDecoder
2. Move the instantiations of BitmapRegionDecoder out of BitmapFactory.
3. Remove the use of MemoryFile in BitmapRegionDecoder, since MemoryFile's API had been modified in master. Otherwise, the change will break the master build.
4. Move AssetStreamAdaptor, AutoFDSeek and nullObjectReturn to Utils.h because BitmapFactory.cpp and BitmapRegionDecoder.cpp both need to use these utility functions.

Most of the modifications, except for (2) and (3), were reviewed in https://android-git.corp.google.com/g/#change,64716 .
However, that change broke the master build due to (3) and was reverted eventually.
So, instead of withdrawing this change and waiting for that change to be checked in again, I merge the two changes into one.

Change-Id: I2202c0fbbbd6d6676bbd9637e690023ea4099c40
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
2dcfbefbbeac406d16ec379c6430dd9ee9fd23a1 10-Sep-2010 Joseph Wen <josephwen@google.com> Fix bug in JNI BitmapFactory

In nativeCreateLargeBitmapFromFileDescriptor() if the file descriptor
can not be rewinded isShareable should be set to false.

Change-Id: I7dd545c9d52d21c226e11b8921e35a1d9bba9515
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
6e1df0e981c8c588e411b8ad6e55554fe4815655 09-Sep-2010 Gilles Debunne <debunne@google.com> Progress Dialog documentation example uses onPrepareDialog

Change-Id: I7afebdb321e28d8e4b1687ba4f503bde7d6031a0
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
288471d8a57e1c318742cbfc28697877436fdb87 19-Aug-2010 Romain Guy <romainguy@google.com> DO NOT MERGE. Load assets in place instead of deferring until draw.

Before this change, all framework assets would be decoded at drawing time
outside of zygote. This was forcing all apps to re-decode the assets and
zygote to keep an in-memory copy of each asset. This behavior is now
opt-in by setting the inPurgeable flag on BitmapFactory.Options.

Change-Id: Ief823139163d8071b8ee1267746622faf52eb8ec
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
207b3ab604bcbe47fa55f26f358cde60cf8a784d 19-Aug-2010 Romain Guy <romainguy@google.com> Load assets in place instead of deferring until draw.

Before this change, all framework assets would be decoded at drawing time
outside of zygote. This was forcing all apps to re-decode the assets and
zygote to keep an in-memory copy of each asset. This behavior is now
opt-in by setting the inPurgeable flag on BitmapFactory.Options.

Change-Id: Ic703f57adb26b2a701ecff0a653d35a93e26d47c
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
4b7cc6402892a92b820423561d1443d18e25b755 19-Aug-2010 Romain Guy <romainguy@google.com> Load opaque assets in RGB-565 until Bitmap.hasAlpha() works properly.

Change-Id: I1106855e9f2255c1b78fd76a3fe1c116b3c2fb87
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
a006b47298539d89dc7a06b54c070cb3e986352a 14-Apr-2010 Bjorn Bringert <bringert@android.com> New API and implementation of DB and memory-backed FDs

This depends on a kernel patch that implements read(2)
in the ashmem driver.

Bug http://b/issue?id=2595601

Change-Id: Ie3b10aa471aada21812b35e63954c1b2f0a7b042
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
1b10d3d23512f9f9a091e1f4c27bb3dc47806f6c 17-Aug-2010 Joseph Wen <josephwen@google.com> am 81dcea60: am f1f48bc7: Do JPEG tile-based decoding.

Merge commit '81dcea6093dfcdadd52982505249a5eacf47a81b'

* commit '81dcea6093dfcdadd52982505249a5eacf47a81b':
Do JPEG tile-based decoding.
f1f48bc7f200f54c76b22d845d8ba8419879b375 19-Jul-2010 Joseph Wen <josephwen@google.com> Do JPEG tile-based decoding.

Change-Id: I5c1b4ac3c02eb4350ef0ba9a7877b22cfd730cfb
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
594f4065141a53427cad6f4fc89219d2f27e1a7d 14-Jul-2010 Romain Guy <romainguy@google.com> Enable 32-bits only assets.

Go away dithering!

Change-Id: Iee5ee2e9430606e732d9b0abb3adc9f68275bd6d
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
03f0292744094ec107ffce71301c394503a31ded 09-Jun-2010 Gilles Debunne <debunne@google.com> New XmlDocumentProvider class.

Minor changes in the Adapters.java helper class.

Extracts data out of a XML document using an XPath-like syntax.

Change-Id: I0617b0783f11c86118b42cd8485d54440810c805
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
ab4a0c164b5a44d5bfd37069cfe499db31e7620c 26-Jan-2010 Mike Reed <reed@google.com> add API to change default config on image decoders.

May be called by the browser to get high-quality images when running in a 32bit window
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
7bcbd511731e13b9f2778e6aa6c633417d266f5e 23-Jun-2009 Marco Nelissen <marcone@google.com> Don't round size to page size. Ashmem will do this internally as needed.
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
650a3eb7d621dc8e81573142a4498bbd07bcde27 31-Aug-2009 Romain Guy <romainguy@android.com> Load bitmap resources entirely from native code.

Change-Id: I6660baec241794c40611bce79b7f9ce9479e52ba
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
7341d7a104b47996445d069a695e155a07184606 14-Aug-2009 Dianne Hackborn <hackbod@google.com> More work on wallpapers.

- Do better about figuring out when to stop them and other related window
management.
- Fix problem where we were not redrawing the surface when the orientation
changed. This was the cause of the device hang.
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
e2dba02441b42afbae725109ac779877a4b72aa0 25-Jul-2009 Dianne Hackborn <hackbod@google.com> am 11ea3347: Allow for screen density drawables in compatibility mode.

Merge commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8'

* commit '11ea33471e1a14a8594f0b2cd012d86340dd3bd8':
Allow for screen density drawables in compatibility mode.
11ea33471e1a14a8594f0b2cd012d86340dd3bd8 23-Jul-2009 Dianne Hackborn <hackbod@google.com> Allow for screen density drawables in compatibility mode.

This change allows us to use drawables that match the current screen
density even when being loaded in compatibility mode. In this case,
the bitmap is loaded in the screen density, and the bitmap and
nine-patch drawables take care of accounting for the density difference.

This should be safe for existing applications, for the most part, since
they shouldn't really be pulling the bitmap out of the drawable. For
the small rare chance of them breaking, it worth getting the correct
graphics. Also this will only happen when there is actually a resource
of the matching density, and no existing apps should have resources for
anything besides the default density (though of course all of the
framework resources will be available in the native density).

As part of this, the bitmap density API has been changed to a single
integer provider the DPI unit density.
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
469b4c67adc77a87eb2c9ed9217edf1778002828 20-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am aad0fcc9: Merge change 7783 into donut

Merge commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54'

* commit 'aad0fcc9619eb72c18a6afff48ebc9d4011f0f54':
Add "nodpi" density, and expose a bunch of density-related APIs.
a53b828635fce8b6b2d3e3377d74d72070056623 17-Jul-2009 Dianne Hackborn <hackbod@google.com> Add "nodpi" density, and expose a bunch of density-related APIs.

Also update the DpiTest app to use nodpi images, and try to have a mode
where it turns off compatibility though it's not quite working.
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
c634fdd8035cc06c34663b77ab199d29697273b4 18-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 09a903ab: Merge change 7696 into donut

Merge commit '09a903ab5b8d940605783ae4ee591c0f090a31d1'

* commit '09a903ab5b8d940605783ae4ee591c0f090a31d1':
add hidden Options field for native allocations
1b22b979256cf163ab9bbfd4fcfa16a8ce862ed1 17-Jul-2009 Mike Reed <reed@google.com> add hidden Options field for native allocations
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
984b5df3830fe26a45bee39c7e8dd86714c99ed0 17-Jun-2009 Marco Nelissen <marcone@google.com> Add support to BitmapFactory for decoding a bitmap from a MemoryFile FileDescriptor.
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
683f3bed89d15c673b9fd391dc258c088e9316ae 04-Jun-2009 Wei-Ta Chen <weita@google.com> Unhide inInputShareable in BitmapFactory.Options.

The variable works together with inPurgeable, which has been unhidden in
https://android-git.corp.google.com/g/Gerrit#change,2870.
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
eb949674fd3b83b706f795fc6b16ab1c66250c93 02-Jun-2009 Wei-Ta Chen <weita@google.com> Unhide inPurgeable in BitmapFactory.Options.

The correctness and effectiveness of the usage of the parameter are evaluated in:
https://android-git.corp.google.com/g/Gerrit#change,2768
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
c70e06bbfac0d92ec218a32e35d9d7fa80f23cc9 24-Apr-2009 Mike Reed <reed@google.com> Add (hidden for now) purgeable bitmaps

BitmapFactory::Options now let you specify if the resulting bitmap can be
"purgeable". If so, then its decoded pixels may be purged when not actively
being drawn, freeing up that RAM. When such a bitmap is drawn, it will
automatically be re-decoded on demand. This is done by having the bitmap
keep a reference/copy of the encoded data.

Where it is a reference or a copy is controlled by the "shareable" flag in
Options. If this is true, the implementation *may* just reference the encode
data (e.g. a file descriptor) rathern than making a complete copy of it.

Currently, purgeable is not supported for generic inputstreams, but is
enabled for byte-array, file-descriptor, and assets, though for impl
reasons only file-descripts are currently enabled for "shareable", but that
may change in the future.
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/graphics/java/android/graphics/BitmapFactory.java