Commit Graph

262 Commits

Author SHA1 Message Date
Patrick Dubroy
f890fab5a6 Ensure bitmaps aren't freed while referenced from a display list
Also removes the reference queue finalizers. They aren't necessary
anymore now that Bitmaps are allocated in the heap.
2010-12-20 17:02:15 -08:00
Carl Shapiro
2118b25ad4 Eliminate tracked allocations and the inNativeAlloc option.
Change-Id: Ic10b2b41a26925d799e5d1e50be77fc480ec0f17
2010-12-17 18:03:38 -08:00
Chet Haase
27c1d4debb Fix minor animation and doc issues
Change-Id: I0ea077d9434ac3e22e8600f22ca4a24a6a46965c
2010-12-16 15:25:52 -08:00
Romain Guy
82d4a3ab85 Merge "Make Drawable.mCallback a WeakReference." 2010-12-14 17:36:28 -08:00
Romain Guy
f2a47782f3 Make Drawable.mCallback a WeakReference.
Many memory leaks occur because of long lived drawables. This should
help.

Change-Id: I2e9e8dee26579ec56e8e73f08f6b1d62be7812d9
2010-12-14 17:33:00 -08:00
Patrick Dubroy
e4ac2d6b57 Allocate bitmap backing buffers in the Java heap.
Change-Id: I60f6ccff13357c1c518e9d56b02fe0171637edd1
2010-12-14 16:50:50 -08:00
Chet Haase
decc8cd41e Add ability to reuse bitmaps when decoding PNG content
Change-Id: Ic74b62c6280954ff80bcf64f3989a36c7c0b5615
2010-12-10 16:56:53 -08:00
Chet Haase
37f74cad46 Add ability to reuse bitmaps when loading new content
Change-Id: Ic5f5f40ee39787403977fb372b335dc21cf07243
2010-12-09 15:07:39 -08:00
Wei-Ta Chen
0e007d7ab9 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
2010-12-07 16:10:16 -08:00
Wei-Ta Chen
953f9094a2 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
2010-12-06 14:24:51 -08:00
Dianne Hackborn
8c7a580b34 Some theme cleanup.
- Add new dialog themes without a title bar.
- Add new Theme.Holo.NoActionBar.DialogWhenLarge.
- Remove old Extended and Theme.Light.Holo themes.
- Reorder the public definitions to keep things nice.

Also @hide the MipmapDrawable class.

Change-Id: Ic69a56e9b28aacf441780633f37f0bc6a475d08a
2010-12-03 16:32:50 -08:00
Gilles Debunne
0bb000931b Fix in vertical measurement in text lines with different text sizes
The last span of the TextLine was defining the FontMetrics, instead of
min/maxing the different values.

Bug 3220698

Change-Id: I7394b1699a15aeee4cc38462d561faf329d3e1f6
2010-12-02 16:18:54 -08:00
Chet Haase
2970c49938 various fixes for animations and javadocs
Issues around threading of animations and AnimatorSet bugs are
fixed in this change. Unrelated fixes to javadocs in other
framework classes are also part of the change.

Change-Id: I35f7e03ffdec9143bc2eb155e8f9384798ad35b3
2010-11-23 14:05:42 -08:00
Joe Onorato
e70b375c4b Add an opacity attribute to LayerDrawable that lets you control the opacity directly instead of
collecting the values from the children-- a task that is much harder to get right than we want to
spend startup time on.

Change-Id: Idf5b1d612472c6accfdc935c6a6fadb1eb239a73
2010-11-17 21:20:08 -08:00
Adam Powell
6af97e1c20 Revised assets for progress bars and indeterminate progress spinners.
Add support in ActionBar for activity-wide progress APIs.

Add ability for progress bars to set a target framerate rather than
the 5fps previously used.

Clean up some more dialog layouts using hardcoded styles rather than
theme attributes.

Change-Id: I8e88c7595e27c0b6f7829b598f2b084ac8501ae3
2010-11-12 19:06:40 -08:00
Adam Powell
021aad952b First pass at styling progress bars for Holo.
Added attribute to let scale drawables size based on the intrinsic
width and height as a minimum. This helps prevent artifacts when
some 9-patches are used in situations like progress bars.

Change-Id: I168a232d3225afe9b5578a05a9b8634a1084404c
2010-11-11 14:53:29 -08:00
Chet Haase
9891e1fce5 Add invalidation to Drawable when its properties change
invalidateSelf() already exists on Drawable. This triggers a call to
callback listeners so that they know the drawable has been invalidated.
For example, the background drawable on View will cause the View itself
to be invalidated.

Change-Id: I45b231a7600dcf3bc139e4059b7c9940ff49f60c
2010-11-11 13:20:08 -08:00
Romain Guy
1041aded2d Fix possible rendering issue when drawing a path.
Change-Id: I25f2e609589f0dd9294bcf7930de6398c0d7e377
2010-11-04 12:10:40 -07:00
Dianne Hackborn
079e235750 Add new fade in/out feature for drawable containers.
This is used to allow list view's pressed and activated indicators
to fade in an out, though of course it can be used elsewhere as well.

There is a lot of complexity in supporting this in list view.  The
two main things that are being dealt with:

- When recycling views, we need to make sure that the view's drawable
  state doesn't get animated from an old row's state.  The recycler
  now keeps track of which position a view was last in, and if it is
  reused at a new position there is a new View/Drawable API to tell
  it to jump to its current state instead of animating.

- For the pressed indicator to fade out, we need to keep displaying it
  after it is hidden.  There are new variables and code to keep track
  of this state, and tweaks in various places to be able to remember
  the last selected position and continue updating the drawable bounds
  as needed.

Change-Id: Ic96aa1a3c05e519665abf3098892ff2cc4f0ef2f
2010-11-03 19:11:19 -07:00
Chet Haase
70d4ba15b1 Performance optimizations for animations and toolkit
Change-Id: I316a48273a9cbb428a965e4b849b3e5e9e8202f1
2010-11-01 10:19:44 -07:00
Chet Haase
ad93c2bb63 Optimizing ColorFilter in display lists
Change-Id: Ie4d5e5b0bc45e0ce47bba144049303c270762e54
2010-10-26 12:52:03 -07:00
Bjorn Bringert
c9332fa3e9 Delete unused WebView drag tracking code
This also removes android.graphics.utils.BoundaryPatch
which was only used by the Browser for the unused drag
tracking (and by a demo app that I'm also removing).

Change-Id: I48253ae005ab11cb4c70d132bc1ea4f2692e2bd2
2010-10-14 09:39:25 +01:00
Romain Guy
41030da168 Add a getNativeMatrix() API.
This API can be used by WebView to apply the appropriate transform
on its rendering.

Change-Id: I79aa39a29805f462fb08226370328815e74bdc52
2010-10-13 13:40:37 -07:00
Romain Guy
4bb942083a Optimize 9patch rendering.
This change detects empty quads in 9patches and removes them from
the mesh to avoid unnecessary blending.

Change-Id: I4500566fb4cb6845d64dcb59b522c0be7a0ec704
2010-10-12 15:59:26 -07:00
Romain Guy
9db91243c5 Simplify black texture fragment shader.
Change-Id: If2d43f92f4c98ec128692761a670b0f31207a3c0
2010-10-12 13:13:09 -07:00
Brad Fitzpatrick
5e9f64ce24 am b12bfbd4: am eb6e22f2: Merge "Document Bitmap.createScaledBitmap" into gingerbread
Merge commit 'b12bfbd4df985041ab0e584ef5a746328baac038'

* commit 'b12bfbd4df985041ab0e584ef5a746328baac038':
  Document Bitmap.createScaledBitmap
2010-10-04 14:28:35 -07:00
Romain Guy
95930e13fa Apply all Canvas transformations to ColorDrawable.
Change-Id: I29252c58224b236d0770ec005da9842990ef2c06
2010-10-04 13:46:02 -07:00
Brad Fitzpatrick
b12bfbd4df am eb6e22f2: Merge "Document Bitmap.createScaledBitmap" into gingerbread
Merge commit 'eb6e22f29ded58e7e51702c34878fd01e20ff802' into gingerbread-plus-aosp

* commit 'eb6e22f29ded58e7e51702c34878fd01e20ff802':
  Document Bitmap.createScaledBitmap
2010-10-04 12:23:58 -07:00
Brad Fitzpatrick
02d9102b3b Document Bitmap.createScaledBitmap
Change-Id: Ife6a42bc08d17c56274e78a1f5d2c100c2fe4dc8
2010-10-04 10:52:18 -07:00
Brad Fitzpatrick
2b282d312d am 3d019a37: am 83d52229: Doc fix: duplicate word \'of\'
Merge commit '3d019a374fa41a11fb7b718770076e61235d1c45'

* commit '3d019a374fa41a11fb7b718770076e61235d1c45':
  Doc fix: duplicate word 'of'
2010-10-03 21:19:12 -07:00
Brad Fitzpatrick
3d019a374f am 83d52229: Doc fix: duplicate word \'of\'
Merge commit '83d522290e56f614d0d9373d47c2b54b9e207795' into gingerbread-plus-aosp

* commit '83d522290e56f614d0d9373d47c2b54b9e207795':
  Doc fix: duplicate word 'of'
2010-10-03 21:13:51 -07:00
Brad Fitzpatrick
83d522290e Doc fix: duplicate word 'of'
Change-Id: I45a4ca443becc2f2cf02cbca2bd61ef2ee590b5c
2010-10-03 21:07:21 -07:00
Wei-Ta Chen
eeac43ad3c am f7681f84: Do not merge.
Merge commit 'f7681f84918c27f6a626681ce37ed2a236c44e82' into gingerbread-plus-aosp

* commit 'f7681f84918c27f6a626681ce37ed2a236c44e82':
  Do not merge.
2010-10-01 12:36:05 -07:00
Wei-Ta Chen
f7681f8491 Do not merge.
Fix 3052285 by not publishing the BitmapRegionDecoder API until the honeycomb release.

Bug: 3052285
Change-Id: Ie339e414c1a5581e1d38684621e0e97162616977
2010-10-01 12:16:38 -07:00
Romain Guy
d799912770 Make simple paths made of lines work.
Bug #3041098

Change-Id: Ife9c3f01ded10e2bb35b1cdf1a54734d8347fee4
2010-09-30 16:57:13 -07:00
Sonia Serafimova
d45a33554c Prevent unhandled exception in NinePatchDrawable
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
2010-09-26 09:07:02 -07:00
Jean-Baptiste Queru
81859bc3d4 am ca3f968c: am 7d9c73fb: Merge "Prevent unhandled exception in NinePatchDrawable"
Merge commit 'ca3f968c6f0acbf94988d00bf21a82a2e8f49b86'

* commit 'ca3f968c6f0acbf94988d00bf21a82a2e8f49b86':
  Prevent unhandled exception in NinePatchDrawable
2010-09-26 08:44:16 -07:00
Jean-Baptiste Queru
ca3f968c6f am 7d9c73fb: Merge "Prevent unhandled exception in NinePatchDrawable"
Merge commit '7d9c73fb6f6f79f7f92b77482a0edbd7b89f2564' into gingerbread-plus-aosp

* commit '7d9c73fb6f6f79f7f92b77482a0edbd7b89f2564':
  Prevent unhandled exception in NinePatchDrawable
2010-09-26 08:39:03 -07:00
Wei-Ta Chen
a23cdda0a5 am ac487f70: am 6b849e21: Unhide BitmapRegionDecoder.
Merge commit 'ac487f708f7b58dbd4f3021b520c6ed5975daebe'

* commit 'ac487f708f7b58dbd4f3021b520c6ed5975daebe':
  Unhide BitmapRegionDecoder.
2010-09-22 23:06:55 -07:00
Wei-Ta Chen
ac487f708f am 6b849e21: Unhide BitmapRegionDecoder.
Merge commit '6b849e2123be98eb2a1a25b8abf0b13a279ce952' into gingerbread-plus-aosp

* commit '6b849e2123be98eb2a1a25b8abf0b13a279ce952':
  Unhide BitmapRegionDecoder.
2010-09-22 23:03:30 -07:00
Wei-Ta Chen
6b849e2123 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
2010-09-23 13:56:52 +08:00
Romain Guy
ddb80bebb0 Add support for circular gradients to the GL renderer.
This change also adds full support for local transformation matrices on
sweep and radial gradients.

Change-Id: Id8773bc0766575190e3f3d51984fc5e57b266c3f
2010-09-21 16:48:50 -07:00
Romain Guy
ee916f14cb Add support for SweepGradient in the GL renderer.
Change-Id: I7aa397ed4e34655ead9ba1f5b4ce087665e0f022
2010-09-20 17:54:17 -07:00
Adam Cohen
3a58ec108b Adding some documentation to Matrix.mapVectors methods.
Change-Id: I6c59c40ac9ebd39d9c5fc189917172da983cc766
2010-09-16 17:25:43 -07:00
Sonia Serafimova
279d006b1d Prevent unhandled exception in NinePatchDrawable
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
2010-09-15 13:22:43 +02:00
Joseph Wen
94db0238a3 am 219eb7ec: Merge "Fix bug in JNI BitmapFactory" into gingerbread
Merge commit '219eb7ec8403ef9b98125f2b58cc27669ae69712' into gingerbread-plus-aosp

* commit '219eb7ec8403ef9b98125f2b58cc27669ae69712':
  Fix bug in JNI BitmapFactory
2010-09-10 02:35:50 -07:00
Joseph Wen
2dcfbefbbe Fix bug in JNI BitmapFactory
In nativeCreateLargeBitmapFromFileDescriptor() if the file descriptor
can not be rewinded isShareable should be set to false.

Change-Id: I7dd545c9d52d21c226e11b8921e35a1d9bba9515
2010-09-10 17:24:15 +08:00
Gilles Debunne
a78eca95ff Merge "Progress Dialog documentation example uses onPrepareDialog" 2010-09-09 11:56:11 -07:00
Romain Guy
d90f23e24a Do not convert 8888 bitmaps to 565 when doing a copy.
Bug #2988077
This change keeps the 8888 format for new bitmaps and also keeps,
when possible, the opaque flag.

Change-Id: Ia61f2e89936916b329212a4c59a7d815c329f84e
2010-09-09 11:47:54 -07:00
Gilles Debunne
6e1df0e981 Progress Dialog documentation example uses onPrepareDialog
Change-Id: I7afebdb321e28d8e4b1687ba4f503bde7d6031a0
2010-09-09 09:21:53 -07:00