There was a lot of fancy code just above the clear to ensure
that drawables that aren't affected by the change are kept,
then the entire array was cleared. This patch removes the
clear, so that the drawables that haven't changed are really
kept, matching the logs, comments and larger part of the code.
This patch also fixes the various constant states to return
correct ChangingConfigurations.
Change-Id: Ic11f6179537318d3de16dc58286989eb62a07f15
Old-Change-Id: I22495e6ed232dfe056207ce5155405af1fa82428
Backport changes related to BitmapRegionDecoder from HoneyComb to
Gingerbread.
Bug: 3309014
////////////////////////////////////////////////////
This is a combination of 7 commits.
Revert "Do not merge."
This reverts commit f7681f84918c27f6a626681ce37ed2a236c44e82.
Change-Id: I46fd710600b1649773eaea2d9abc2b21a592f9a6
Fix a initialization bug in BitmapRegionDecoder.
Change-Id: I6c1151fd34970a84d4de52d664d9a5dc464892c5
Fix segfault when tring to throw IOException.
Change-Id: I530cc4409ba4ca17cec933afad077c5f60ba554f
Fix 3122139, where previewing an attachment for the second time will
fail.
Use AutoFDSeek to mark and restore the position before we read data from
the descriptor.
Change-Id: I3d4f012dce486e19b113bc90a98b94031cfa8195
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
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
Correct the API comments.
BitmapRegionDecoder supports PNG as well.
Fix 3052285 by not publishing the BitmapRegionDecoder API until the honeycomb release.
Bug: 3052285
Change-Id: Ie339e414c1a5581e1d38684621e0e97162616977
Added null check in computeBitmapSize() to avoid unhandled
exception "java.lang.NullPointerException" at
android.graphics.Rect.<init>(Rect.java:72).
This problem was discovered in the wild.
Change-Id: I9d40629a052f1390e1811288af6209d8cc3f679b
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
Added null check in computeBitmapSize() to avoid unhandled
exception "java.lang.NullPointerException" at
android.graphics.Rect.<init>(Rect.java:72).
This problem was discovered in the wild.
Change-Id: I8a4729ceadcfc9744f11b8ceafdf24d6de88c645
In nativeCreateLargeBitmapFromFileDescriptor() if the file descriptor
can not be rewinded isShareable should be set to false.
Change-Id: I7dd545c9d52d21c226e11b8921e35a1d9bba9515
Merge commit '1b214be92ac206d8ac6ef4967db6e2859d91ab49' into gingerbread-plus-aosp
* commit '1b214be92ac206d8ac6ef4967db6e2859d91ab49':
Revert "Rename LargeBitmap to BitmapRegionDecoder for having a better API."
Merge commit 'b356f8acec9fdfd36f01e5cca4fe3a28ecd6e628' into gingerbread-plus-aosp
* commit 'b356f8acec9fdfd36f01e5cca4fe3a28ecd6e628':
Rename LargeBitmap to BitmapRegionDecoder for having a better API.
Move AssetStreamAdaptor, AutoFDSeek and nullObjectReturn to Utils.h because
BitmapFactory.cpp and BitmapRegionDecoder.cpp both need to use these utility functions.
Change-Id: I3e60c7fe4abd0289e1384e69a08fd20fe6fb0e10
Merge commit '72ecb00a89b7a49eadb9c3bb880102eef97c8eb6' into gingerbread-plus-aosp
* commit '72ecb00a89b7a49eadb9c3bb880102eef97c8eb6':
Revert "Don't recycle native bitmap after the finalizer is called."
Merge commit 'd6f7f225689ecd33dc54699acc01cfafc781c20d' into gingerbread-plus-aosp
* commit 'd6f7f225689ecd33dc54699acc01cfafc781c20d':
Load bitmaps in the correct format.
Merge commit 'dc2eabd10847d8e7f016fec5232d40b723ce2828' into gingerbread-plus-aosp
* commit 'dc2eabd10847d8e7f016fec5232d40b723ce2828':
Don't recycle native bitmap after the finalizer is called.
If an object A's finalizer calls Bitmap B's recycle() when B's
finalizer is already called, we will have trouble because the
native bitmap is already freed in the finalizer.
Change-Id: Ic0be8ed75fb3aacee9ce6e3d9908178a55151eb9
Merge commit 'd018a0ce72124f668d859b19fe3e73f5637d3c7c' into gingerbread-plus-aosp
* commit 'd018a0ce72124f668d859b19fe3e73f5637d3c7c':
Text selection without trackball.
Backported from HC.
Squashed commit of the following:
commit af214a595c7a9fdd11a2dc384f7d4665abf751c0
Fixes in TextView's selection.
commit eb9fd59ebe6500a66c2003d46b5802299970ae8d
TextView with Selection Contextual Mode
commit 4c4c338ef355b369ce4b57d6c6fba7ee8f9dddf4
Cosmetic changes around TextView.
commit d4b4b054e87480d984ad18766f5e76553e3080d8
Double and one and a half tap removed from TextView.
commit 897c2847ba1fca8ef01eadadd1bc3de007af3ee5
Selection handlers in TextView
commit 832be74a5394649e28927484d9a86c6d53b430e7
New cursor controller in TextViews.
Change-Id: I01cc64736e2abea605317ee53907a1713617fc17
Merge commit '288471d8a57e1c318742cbfc28697877436fdb87' into gingerbread-plus-aosp
* commit '288471d8a57e1c318742cbfc28697877436fdb87':
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
Merge commit '5352d2378d2f92ebe0657e4caedb4498492fc404' into gingerbread-plus-aosp
* commit '5352d2378d2f92ebe0657e4caedb4498492fc404':
docs: lots of additions to the resources docs
Merge commit '38137d7a27b037611c70a9d900aa53b4c15563bf' into gingerbread
* commit '38137d7a27b037611c70a9d900aa53b4c15563bf':
docs: lots of additions to the resources docs
Merge commit '38eea8bf990540360b45b963195a7766c30b55d2' into gingerbread-plus-aosp
* commit '38eea8bf990540360b45b963195a7766c30b55d2':
Remove the YV16 format for simplicity's sake.
new drawable resources
add <merge> and <include> to layout resource
update drawable class descriptioons to point to resources guide
add ID resource type
Change-Id: I733eec50bb2671f28c9e6dd7dec14eb6586f5193
The range-check in drawVertices previously checked that the color
count was equal to the vertex count. However, the vertex count is
specified in array elements, and there's two array elements per
vertex for the positions, but only one array element per vertex
for the colors.
Correct the code so the check is consistent with the element count.
Change-Id: Id043f1003f9245f18adc91bac49dc33727ca765e
Without this patch, an application could trigger a platform crash
by calling:
Typeface typeface = Typeface.createFromFile("");
boolean isbold = typeface.isBold();
The crash occurs since the Skia error that occurs when font loading
fails is not propagated.
With this patch, the Typeface constructor throws an
IllegalStateException when Skia fails to load the font (i.e. when
the native instance is null).
Change-Id: I1002b37b7b32840cb7eeef6819d2982cb18c9003
this is used in a few places to get access to the android.view.Surface
native surface. use a macro instead. Also rename the field to mNativeSurface.
Change-Id: I1c6dea14abd6b8b1392c7f97b304115999355094
Move all tests for android.* classes from tests/AndroidTests and
tests/CoreTests into framework/base/<core|graphics>/tests.
Consolidate all tests for java.* classes to tests/CoreTests.
Eventually hopefully these will be moved to dalvik/ somewhere.
Remove tests/AndroidTests entirely.
Change-Id: I86584d086ab7bd045bb38a10b699907805298a95