2887 Commits

Author SHA1 Message Date
Paul Duffin
ccb0445027 Prepare for removal of legacy-test from default targets
In preparation for removing junit classes from the Android API
the legacy-test target will be removed from the
TARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit
dependencies on junit and/or legacy-android-test to ensure that
modules will compile properly once it is removed.

(cherry picked from 6387604f9e672ece85e07c4bcbd7be396867f06f)

Bug: 30188076
Test: make checkbuild
Merged-In: I13e88297731253420e4e5f5291d503f13a39a156
Change-Id: I58446eb8c45d8ac2bcdbc9fa40d1321e811bdd4b
2017-01-19 09:43:05 +00:00
Alan Viverette
444f2043d1 Scale bitmap shaders for target density
am: 0d2a46b733

Change-Id: I8e3274a9c6047d943336827e7e0c8563e40c2ca5
2016-10-07 20:39:48 +00:00
Alan Viverette
0d2a46b733 Scale bitmap shaders for target density
Also fixes progress bar sample tile to reflect density and ensures
that ProgressBar.tileify() clones inner drawables into the correct
density.

Bug: 31841123
Test: BitmapDrawableTest#testPreloadDensity()
Test: ThemeHostTest
Test: Visual inspection of ApiDemos
Change-Id: I9dcb9817d8d91d61ff0215987247e9e7fb089c46
2016-10-07 16:23:32 -04:00
Doris Liu
897f5ca748 Restrict AVD and VD parsing to the current element instead of the whole document
am: 1f859716a8

Change-Id: Ic2fe385089997f89675be8f8a1559db979387dbb
2016-10-06 20:15:40 +00:00
Teng-Hui Zhu
8bf7fd89e7 Update JavaDoc about animatable on VectorDrawable
am: bb12929470

Change-Id: I476d1416b0f734fbc87895c22de3e95efdbf25b9
2016-10-06 20:14:23 +00:00
Doris Liu
1f859716a8 Restrict AVD and VD parsing to the current element instead of the whole document
This CL changes the AVD xml parsing to parsing only within the current
element, which prevents AVD parsing from always skipping to the end of
the doucment. So things that are defined after AVD in the same document
can be picked up by the xml parser.

The same fix has been applied to VD as well.

BUG: 31865175
Test: Manually following comment #1 in the bug above

Change-Id: I4ebdce1eb2e92d6f6e2c37caed9607253d24602f
2016-10-03 21:32:11 +00:00
Hemal Patel
da400e9dd4 Docs: Added info about vector drawable am: 47876e79de
am: bfa9663e97

Change-Id: I5649e6f9f0e6254d43e7229ef3e88b40351b14e5
2016-09-30 19:03:53 +00:00
Hemal Patel
bfa9663e97 Docs: Added info about vector drawable
am: 47876e79de

Change-Id: I73d39d61210064e9de4ec212fac51a43e7a791ae
2016-09-30 18:59:09 +00:00
Hemal Patel
47876e79de Docs: Added info about vector drawable
Added overview of vector drawable in the class overview section.

Bug: 25129687
Change-Id: I976177ddd3a8bddcbc6544cbc227b6b2099c7b0a
2016-09-29 13:31:27 -07:00
Teng-Hui Zhu
bb12929470 Update JavaDoc about animatable on VectorDrawable
b/31782834

Change-Id: I64279fd14841302caaa71c817feaf01b855126ad
2016-09-27 16:56:35 -07:00
Doris Liu
7d76fc4433 Improve Javadoc for AnimatedVectorDrawable
This CL adds a summary of what developers can expect from running
AVD on RenderThread.

Also re-structure the class level Javadoc summary to better organize
the examples.

Test: make offline-sdk-docs

BUG: 30402908
Change-Id: I7111f67db5f2ec352730f633bb34f2e89e1c70e9
2016-09-21 00:36:16 +00:00
Pablo Ceballos
23784fd6d9 Merge "Fail createVirtualDisplay with single-buffered Surface" into nyc-mr1-dev 2016-08-29 17:42:00 +00:00
Pablo Ceballos
aff2f94939 Fail createVirtualDisplay with single-buffered Surface
Bug 30106031

Change-Id: I434df329eb3c162dd9ef01245ac5e0da97216e70
2016-08-25 12:06:52 -07:00
Alan Viverette
709f0f3e15 Merge "Ensure the layer drawable callback is set when loading from theme" into nyc-mr1-dev 2016-08-24 18:17:04 +00:00
Alan Viverette
20109a689d Merge "Improve docs for GradientDrawable's useLevel and centerX/Y properties" into nyc-mr1-dev 2016-08-24 18:17:04 +00:00
Alan Viverette
11a84b8429 Ensure the layer drawable callback is set when loading from theme
Previously we would skip setting the changing configurations and callback
if the drawable had been loaded post-inflation from a theme attribute.

Bug: 30756548
Change-Id: Ia5457723ae8a62506a7562299d3fe78ec21f8030
2016-08-24 12:35:47 -04:00
Tenghui Zhu
3512b0001a Merge "Add an new internal DrawableContainer to handle animation scale == 0 case." into nyc-mr1-dev 2016-08-24 16:22:38 +00:00
Teng-Hui Zhu
0c03664fa6 Add an new internal DrawableContainer to handle animation scale == 0 case.
This will help ProgressBar to show something meaningful when animation scale is 0.
b/30877925

Change-Id: Ieb2e78712999d2e3f3a2a234bc605b4821ae41c0
2016-08-22 15:36:32 -07:00
Alan Viverette
66b3a0d1aa Avoid potential re-entry as a result of child mutation
Don't set the callback until we're all done making changes.

Bug: 30902893
Change-Id: Ia1560692a83ecb2c50f5e77fa4d1e8155a78a204
(cherry picked from commit b46ba3b2b0268688852cdf3d1fb4afe4873d63be)
2016-08-22 20:00:30 +00:00
Teng-Hui Zhu
d64255f61d Update the javaDoc for VectorDrawable and AnimatedVectorDrawable
b/30269243

Change-Id: I139a3fcac95c41a667fa06aa3223b812caad6243
(cherry picked from commit c224417511d8179a08c4dfd4badc73dd9699ebf2)
2016-08-22 18:32:09 +00:00
Philip P. Moltmann
366262dc78 Only have a single call into pdfium at a time.
Pdfium is not thread safe and uses global variables, hence no
parallel call pdfium is safe

Fixes: 28705066
Change-Id: I04309ee691bd9cea37587e0af5be2c07ce8c9f2c
(cherry picked from commit 0768a7dc450caf4c873c5b0883a75135536e1546)
2016-08-18 18:20:59 +00:00
Doris Liu
853b23d1fa Fix listeners not getting called when AVD falls back on UI thread
When AVD fall back on UI thread, in addition to transfer the pending
actions from RT animator to UI animator, we also need to transfer
the listener, if any.

BUG: 30901495
Change-Id: Ib4a7ebb2996a02596bb5789704617c894a5dd474
2016-08-17 00:20:39 +00:00
Dianne Hackborn
b34cbedb4e Fix issue #30766518: Document what targeting N does
Also small documentation cleanup in a few other places.

Change-Id: I16581c751aa0ffa146faba3b140a8fa2170f4520
2016-08-09 13:21:24 -07:00
Doris Liu
f7167e8f28 Support repeatMode = reverse in AVD
BUG: 30641232
Change-Id: I34c823a0a45c8441873a9b467275174c5529994b
2016-08-05 01:44:20 +00:00
Alan Viverette
daec5506c4 Improve docs for GradientDrawable's useLevel and centerX/Y properties
Bug: 30302143
Change-Id: I1007bf2a57ce73c9ed516a4717e7a539e9e9774b
2016-08-04 13:55:11 -04:00
John Reck
4387190d8e Eliminate recents upload jank
Bug: 30342017

Upload recents thumbnails in the
dead gaps between frames instead of
at the start of a frame. This eliminates
jank caused by the large texture
upload.

Change-Id: I507cd286d199109c7a9a1511d68ba5ab5d28069f
2016-08-01 16:36:14 -07:00
Sergei Vasilinetc
9b17ebca8f Merge "Turn off simplePath optimization then Path object is used as out param" into nyc-mr1-dev 2016-07-27 23:55:47 +00:00
sergeyv
a6a8557d6e Turn off simplePath optimization then Path object is used as out param
Change-Id: I4d9ae5c756b2ed1ba30483e8685ce1ad6c1f0c03
fixes:30349106
2016-07-27 14:13:34 -07:00
Alan Viverette
b46ba3b2b0 Avoid potential re-entry as a result of child mutation
Don't set the callback until we're all done making changes.

Bug: 30409766
Change-Id: Ia1560692a83ecb2c50f5e77fa4d1e8155a78a204
2016-07-27 10:23:35 -04:00
Doris Liu
26bb10999b Ensure native allocation/free is correctly registered
This CL fixes an issue where one of the constructors creates a
native tree object without registering the allocation of its
root group with the NativeAllocationRegistry.

BUG: 28943866
Change-Id: Ic8db3f2fa8036dfabdbc1a1fcbd58d08a0379e2d
2016-07-15 00:00:20 +00:00
John Reck
226b4764b4 Merge "Clarify Picture docs on playback" into nyc-mr1-dev 2016-07-01 20:41:24 +00:00
Teng-Hui Zhu
ab1cbc2c53 Mutate the drawable if a valid state change happen
In another word, create another cached bitmap, when the current VectorDrawable
will look differently when state changed.

Bug: 29870392
Bug: 29854240

Change-Id: I7a5ef91091e547a930368286defc7ab96aeb9471
(cherry picked from commit 4f1acfb5f507798daaff2ff0da47d2b15607ded4)
2016-06-30 23:11:48 +00:00
Teng-Hui Zhu
4f1acfb5f5 Mutate the drawable if a valid state change happen
In another word, create another cached bitmap, when the current VectorDrawable
will look differently when state changed.

b/29870392

Change-Id: I7a5ef91091e547a930368286defc7ab96aeb9471
2016-06-30 16:30:02 +00:00
John Reck
943c4e0813 Clarify Picture docs on playback
Change-Id: Iaf8d8d04deb97aff39c93c246ef20312c9c2a7cb
fixes: 26911597
2016-06-29 16:09:20 -07:00
Alan Viverette
25242a7bbc Merge \"Disable constant state sharing for VectorDrawable\" into nyc-dev
am: f66bdf9b57

Change-Id: I0c6397987d926c35cb5486fd9d2cb22efb8d8f14
2016-06-29 17:01:21 +00:00
Alan Viverette
f66bdf9b57 Merge "Disable constant state sharing for VectorDrawable" into nyc-dev 2016-06-29 16:54:29 +00:00
Alan Viverette
1882ce941b Disable constant state sharing for VectorDrawable
Bug: 29854240
Change-Id: Icc58d04ad6f471d05b085a9089893e4f7205eb7d
2016-06-29 11:32:13 -04:00
Chris Craik
1e5d428b3f Clip GradientDrawable's saveLayer
bug:29456451

Avoid using very expensive unclipped saveLayer codepath.

Change-Id: Ib96a46169faa89eda6889b16813a7941ab402779
2016-06-28 09:45:35 -07:00
Alan Viverette
e77dc4fe06 Merge \"Only block invalidation in DrawableContainer initialization\" into nyc-dev
am: 7a372a13af

Change-Id: I21a7dbf975a8dca02d87b9a0f084a6af74d55834
2016-06-21 13:53:49 +00:00
Alan Viverette
6d823891bb Only block invalidation in DrawableContainer initialization
Blocking (un)scheduling breaks AnimationDrawable's internal consistency.

Bug: 29309316
Change-Id: I59c79a4a9a92b599cd94bd941ae78ac25b874add
2016-06-17 13:08:42 -04:00
Doris Liu
126df850ce Support AVD animation falling back on UI thread
AVD will fall back to UI thread animation if the host view is
rendering onto a SW layer.

BUG: 27617346
Change-Id: I5b644529048a0c30aada3abf2f4e95e40760936d
2016-06-16 22:09:44 +00:00
Doris Liu
c9493879d7 Support Keyframe definition for AVD on RT
BUG: 27441613
Change-Id: Iece386f65f3704d1b7caa2b3690a8d3048ccf6e2
2016-06-09 14:40:32 -07:00
Doris Liu
a57e95a6a3 Throw Exception for wrong valueType with API guard
Previously, wrong valueType error is swallowed in jni. As a result,
some animations are quietly skipped without letting developers know.
This CL maintains that behavior for pre-N, and throws Exception
to notify developers of the error for N and above.

Bug: 29009391
Change-Id: I3e8f003cdb97d214da72af3f93a84f64797b1c2c
(cherry picked from commit 94db09917a17976135e2c63d8e4171c54730c079)
2016-06-09 14:39:18 -07:00
Doris Liu
3f6a95283a Merge "Handle hidden RT VectorDrawable animators" into nyc-mr1-dev 2016-06-09 21:30:03 +00:00
Doris Liu
718cd3eb70 Handle hidden RT VectorDrawable animators
This CL changes the target of VD specific animators to VectorDrawable,
instead of RenderNode. The benefit of doing so is that animators can
now detect whether the animation is meaningful by checking whether
their VD target is in the display list. If not, that means the VD is
not drawing for the current frame, in which case we can be smarter
and more power efficient by removing the animator from the list and
posting a delayed onFinished listener callback.

By setting VD as the animation target, when an ImageView decides to
update its drawable from one AVD to something else, we'll be able
to detect that the previous AVD is no longer in the display list,
and stop providing animation pulse to the stale AVD, which is
something we couldn't do previously.  This change also
handles the case where one AVD instance could be drawn in two
different views.

Bug: 27441375
Change-Id: Iaad1ed09cfd526276b95db0dd695275c28e074e8
2016-06-09 10:27:59 -07:00
Doris Liu
792926a58c Improve the property modification effiency of VectorDrawable animators
Previously, the VectorDrawable animators modify the VD properties by
doing reflection based on the property name. This CL avoids the overhead
of calling reflection by wrapping the setters of VD objects in
Float/IntProperty.

Bug: 28124049
Change-Id: I562c8d749fdfe508564c82a700a92e835cdd9ff4
(cherry picked from commit 9f3b31b9530a2121b4557fc312972c4faa133d5e)
2016-06-08 20:43:34 +00:00
Doris Liu
028029730b Copy native tree's property when mutate vector drawable
When mutating vector drawables, we need to not only copy over
the VD tree structure, but also the properties of the VD tree,
such as alpha.

Bug: 28974071
Change-Id: I265e7e3cb92455b876cae248bcb9811230cb34f9
2016-05-27 10:54:55 -07:00
Alan Viverette
2b561f1c35 Prevent callbacks during DrawableContainer child initialization
Bug: 28900939
Change-Id: I9c6c8af1665c2dc0bfa8bc8fc773c81e14f6aab1
2016-05-26 16:49:29 -04:00
Alan Viverette
09deff1bd9 Prevent LayerDrawable bounds updates from being re-entrant
Collect child invalidations during layer bounds change, then dispatch a
single invalidation if any children requested invalidation. This prevents
re-entrance from, for example, a LayerDrawable.updateLayerBounds() call
invoking setBounds() on a child, which necessarily calls invalidateSelf()
and immediately propagates up to ImageView.invalidateDrawable(), which
then calls configureBounds() and puts us back in updateLayerBounds().

Bug: 28636072
Change-Id: I36c9eefc18904d493292d51b37e4b05cfddcf794
2016-05-24 15:14:38 -04:00
Yohei Yukawa
23cbe85610 Move LocaleList to avoid layering violation.
Since LocaleList needs to depend on android.os.Parcelable, we cannot let
that class belong to "android.util" package, which causes layering
violation.

Bug: 28819696
Change-Id: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18
2016-05-17 16:42:58 -07:00