2578 Commits

Author SHA1 Message Date
Alan Viverette
690a16c350 Invalidate the cached ripple drawable mask if mask layer changes
Bug: 21955350
Change-Id: I2e610a5a0af39668b7e9447cfd7d48d35e11d299
2015-06-19 13:42:39 -07:00
Doris Liu
a6c51149c5 Fix a typo in Drawable's javadoc
Change-Id: Ic168b250defb30512cb35a836118fe2bdf1b2e78
2015-06-18 15:28:27 -07:00
Dan Sandler
50ec9b1bd9 Merge "Patch up certain kinds of broken notifications." into mnc-dev 2015-06-18 20:26:49 +00:00
Dan Sandler
4e78706f43 Patch up certain kinds of broken notifications.
Notifications in which the icon resource ID is changed after
Builder.build() is called (even, and particularly, as the
last step in the current implementation of
setLatestEventInfo()) were not having their icons properly
parceled. In these cases we now attempt to catch this at
parcel time and construct the necessary Icon object.

But wait! Parceling does not require a Context. So we don't
actually know which package to load the resource from.
Therefore we now allow an Icon to be constructed with an
empty ("") package name, which allows us to complete this
parceling task despite the fact that a Notification does not
know its own package name. (In case you attempt to load a
drawable for such an Icon, loadDrawable will spot the ""
package and instead substitute the Context from its
parameters to try to load the resource.)

As it happens, even though the Notification does not know
its own package name, BaseStatusBar does, because it was
provided at NM.notify() time and is therefore included in
the StatusBarNotification structure. So we can actually
patch up the Icon (if it is TYPE_RESOURCE) and be sure to
get the icon loaded out of the correct package.

While we've got the hood open, this change fixes a couple of
related problems:

  • Foreground service notifications synthetically
    constructed for naughty icon==0 notifications (which we
    are still allowing...FOR NOW) were losing the
    FLAG_FOREGROUND_SERVICE flag (because we're
    re-build()-ing them from scratch rather than rewriting
    the provided Notification object). Now we set the flag
    and hang onto the new notification for next time
    setForeground() is called.

  • We now allow media notifications to avoid getting bumped
    to the top of the notification list if they're
    PRIORITY_MIN. You might want to do that, I guess?

Bug: 21333763
Change-Id: Ia5d1f1acb594c7677bcc75ee3d624da4ffca671f
2015-06-18 15:12:44 -04:00
Alan Viverette
67b5a68088 Merge "Resolve start/end insets in LayerDrawable.getIntrinsicWidth()" into mnc-dev 2015-06-17 21:31:06 +00:00
Alan Viverette
536652fe91 Resolve start/end insets in LayerDrawable.getIntrinsicWidth()
Bug: 21849185
Change-Id: If9b392d863e808d83a5d90bcc32df6cb9194cbdf
2015-06-17 14:09:53 -07:00
Alan Viverette
373954a1fd Refactor Drawable.getDither() to isDither()
Bug: 21342040
Change-Id: I801970c2a25289d670636ad5387ddf244fb48225
2015-06-17 13:59:31 -07:00
Alan Viverette
63a39ffe48 Ensure first load for bitmap and nine-patch gets correct density
Remove unnecessary lines setting target density on bitmap and nine patch,
since we'll do this later in inflate().

Bug: 21774853
Change-Id: I5ea316bee81f82192ce20f2f1bee0e62c6ec8ccb
2015-06-16 15:04:45 -07:00
Chet Haase
c03fa1ee54 Merge "Add isFilterBitmap() overrides where appropriate" into mnc-dev 2015-06-15 15:45:57 +00:00
Chet Haase
ea1363910b Add isFilterBitmap() overrides where appropriate
Issue #21825791 add isFilterBitmap() override to appropriate Drawable subclasses

Change-Id: I5cbd72c034be79b0aa53815c7a5a8ea499e6e02d
2015-06-15 08:43:27 -07:00
Chet Haase
96a443b58d Clarify Drawable.getOpacity() docs
Docs for translucent-vs-transparent-vs-opaque were confusing, especially since
the definition for those constants in PixelFormat are not the same as how they're
actually used in Drawable. This fix simply adds clarifying text to the method
comment for getOpacity().

Issue #21158891  Better document Drawable#getOpacity

Change-Id: I94725592f85e5d7874e3a3ac1c5bab969163fbf0
2015-06-12 17:21:31 +01:00
Keisuke Kuroyanagi
4039f6570c Merge "Improve boundary check for for Paint#DrawTextRun." into mnc-dev 2015-06-11 22:44:55 +00:00
Chris Craik
1b83edc616 Merge "Workaround shader crash" into mnc-dev 2015-06-11 20:29:05 +00:00
Keisuke Kuroyanagi
f2122ef549 Improve boundary check for for Paint#DrawTextRun.
Change-Id: I01027ebb9133240cc1c750824a41dd9fca484c1f
2015-06-11 20:46:53 +09:00
Chris Craik
b786bbdd11 Workaround shader crash
bug:21706035

Change-Id: Ia1cd4824c742b2d6fc0feb2861ccfde0b6ac2189
2015-06-10 16:58:50 -07:00
Alan Viverette
99ca2a8470 Account for hotspot bounds in RippleDrawable projection check
Bug: 21502154
Change-Id: Iedf4bd07f10ec13070a68870304ab651c1f15c68
2015-06-08 16:10:27 -07:00
Alan Viverette
371b582c49 Merge "Implement getColorFilter() on VectorDrawable" into mnc-dev 2015-06-06 00:26:04 +00:00
Alan Viverette
a741711900 Implement getColorFilter() on VectorDrawable
Bug: 21580708
Change-Id: Id64bebeb5c39906ed34775e8ccc39f666966bad9
2015-06-05 17:20:11 -07:00
ztenghui
9605271806 Add reset to AVD
b/21664621

Change-Id: Ie40c3723860e183c8e4fedd2a76b9debbdf64a2a
2015-06-05 15:42:59 -07:00
ztenghui
e1352de673 Merge "Setup the animation callback for AnimatedVectorDrawable" into mnc-dev 2015-06-05 16:37:10 +00:00
Alan Viverette
c3b68dff16 Manually jump ripples when preemptively aborting RT animation
Bug: 21079749
Change-Id: If79dcef59aba616c0446efc623863f563cb16250
2015-06-04 15:33:52 -07:00
ztenghui
83a52031fd Setup the animation callback for AnimatedVectorDrawable
b/21341096

Change-Id: I84e20366db21ceaa4f044be3e322f9215bb06ad2
2015-06-04 12:55:21 -07:00
Eino-Ville Talvala
eebb834934 ImageFormat: Update definition of depth formats for confidence.
DEPTH16: Use high 3 bits for confidence measurement, with
0 = 100% confidence, 1 = 0% confidence, 2 = 1/7 (14.3%) confidence, etc.

DEPTH_POINT_CLOUD: Add confidence as 4th entry to each point,
with a value in range 0.f - 1.f inclusive.

Bug: 20123879
Change-Id: I23317b922ac727751156fa418ed239a696a898e5
2015-06-03 17:52:35 +00:00
Alan Viverette
2b184e8634 Merge "Reduce amount of unnecessary RippleDrawable mask redraw" into mnc-dev 2015-05-30 02:19:59 +00:00
Alan Viverette
15ce834e52 Reduce amount of unnecessary RippleDrawable mask redraw
Bug: 19638504
Change-Id: Ie7b639c543150e13aec30dfeca2b303d5b601cf3
2015-05-29 16:23:43 -07:00
Alan Viverette
db2911321b Merge "Replace PNG-based seekbar thumb animation with AVD" into mnc-dev 2015-05-29 22:51:04 +00:00
Alan Viverette
87e1938be8 Replace PNG-based seekbar thumb animation with AVD
Adds optical inset support for VectorDrawable and GradientDrawable.

Bug: 19944181
Change-Id: I9df04d9fe17ad858413e7f93694bf37ee2c43c85
2015-05-29 15:12:14 -07:00
Alan Viverette
3c436cb99f Merge "Postpone AnimatedVectorDrawable animator inflation until applyTheme()" into mnc-dev 2015-05-28 23:43:25 +00:00
Alan Viverette
b63b93dee7 Fix drawable CTS breakages
1. ClipDrawable.getOpacity() now correctly respects the current level
2. DrawableWrapper checks the contained drawable's changing config even
   if it doesn't have a constant state
3. DrawableWrapper gives priority to the last valid child drawable
   rather than the drawable attribute

Bug: 21406104
Change-Id: I442fe90d0a3865bfdc6b2d14a7358178310dde02
2015-05-28 13:50:44 -07:00
Alan Viverette
dfa4646eca API Review: Drawable
Renames boolean getters to isZzz(), callback from onChange to onChanged.

Bug: 21342040
Change-Id: I9700d645453354b608fd97a832359211d828b52f
2015-05-27 13:26:41 -07:00
John Reck
b1f6aebb4a Merge "Fix Bitmap#sameAs NPE" into mnc-dev 2015-05-20 14:18:34 +00:00
John Reck
3df4869a77 Fix Bitmap#sameAs NPE
Bug: 21281842

Change-Id: I4a1e33d7e642fa50e8789f1441e8587d1c15119c
2015-05-19 16:06:16 -07:00
Alan Viverette
d8d9a75f6a Postpone AnimatedVectorDrawable animator inflation until applyTheme()
This CL works around Animator's lack of support for applying a theme
after inflation by postponing Animator inflation until a theme is
available, either in inflate() or applyTheme().

Includes a workaround for AVDs that don't reference any theme attrs
in their animators and this don't require a call to applyTheme().

Partial implementation of removing non-constant data from the AVD's
constant state. Moves the mutable AnimatorSet to a local variable and
treats the Animators as constant data.

We'll follow up with real support for applyTheme() in Animator or
AnimatorSet, at which point we can remove this workaround.

Bug: 20817800
Change-Id: I555c53c955219990ee376bee568bcc038532f9ed
2015-05-18 18:53:46 -07:00
Alan Viverette
0c4729a1e4 Merge "Revert "Postpone AnimatedVectorDrawable animator inflation until applyTheme()"" into mnc-dev 2015-05-19 00:37:03 +00:00
Alan Viverette
344ad7126f Revert "Postpone AnimatedVectorDrawable animator inflation until applyTheme()"
This reverts commit 9b115a9870a184e32bdbd07f792f9b8c956c75ca.

Change-Id: Ief148510472e129f992cf52ef8b8a25b5e17e05f
2015-05-19 00:36:53 +00:00
Alan Viverette
365f5c2e4b Merge "Update ripple drawable target radius on bounds change" into mnc-dev 2015-05-18 22:32:57 +00:00
Alan Viverette
6ae9dc8049 Merge "Postpone AnimatedVectorDrawable animator inflation until applyTheme()" into mnc-dev 2015-05-18 22:24:39 +00:00
Riley Andrews
721ae5fec5 Add internal bitmap api for creating immutable ashmem backed bitmaps.
Bug 21037890
Change-Id: I827e83dd75e301e7d93ead5efdd744f0d8435ae5
2015-05-18 19:55:39 +00:00
Alan Viverette
5bc0144302 Update ripple drawable target radius on bounds change
Only bothers with the background and active ripple, since the exiting
ripples are in hardware animation mode anyway and can't be updated.

Bug: 21079749
Change-Id: I0f70c0c0feea32e2c70bb9b1b0fa3b7846b20c7f
2015-05-15 17:22:24 -07:00
Alan Viverette
e922f49b62 Allow getChangingConfigurations() on DrawableWrapper with null drawable
Change-Id: Iecf39b53419e07927a3fe3096036a57afd69439a
2015-05-15 14:53:03 -07:00
Alan Viverette
9b115a9870 Postpone AnimatedVectorDrawable animator inflation until applyTheme()
This CL works around Animator's lack of support for applying a theme
after inflation by postponing Animator inflation until a theme is
available, either in inflate() or applyTheme().

Includes a workaround for AVDs that don't reference any theme attrs
in their animators and this don't require a call to applyTheme().

We'll follow up with real support for applyTheme() in Animator, at which
point we can remove this workaround.

Bug: 20817800
Change-Id: I5a378a76e3625b9d754cb74ae98c07ba7c5698e5
2015-05-15 10:54:11 -07:00
Dan Sandler
d63f9321e6 Icon support comes to Notification.
And you may ask yourself: what is that beautiful icon?
  And you may ask yourself: where does that API go to?
  And you may ask yourself: is it a resource? is it a Bitmap?
  And you may say to yourself: my god, what have I done

(This patch fixes a number of bugs in the initial
implementation, but other than that, it's the same as it
ever was.)

Bug: 18568715
Bug: 21141842
Change-Id: I1d3f9427abd7f0bb57e533fcfac708851ff644b6
2015-05-15 12:35:21 +00:00
Dan Sandler
aee0c2ce39 Merge "Use Context instead of Resources in Icon.createWithResource." into mnc-dev 2015-05-15 04:39:42 +00:00
Yorke Lee
d76a81f519 Merge "Fix missing break in Icon class" into mnc-dev 2015-05-15 01:39:04 +00:00
Yorke Lee
220239e371 Fix missing break in Icon class
This causes RuntimeExceptions to fall through to the next
case statement.

Bug: 21168985
Change-Id: Ie69610b22c6caf9f6536ebd48673067880cb75a2
2015-05-14 18:24:31 -07:00
Doris Liu
4b4d475769 Merge "Start AnimationDrawable from the zeroth frame." into mnc-dev 2015-05-15 00:28:33 +00:00
Doris Liu
c7741d467b Start AnimationDrawable from the zeroth frame.
This CL fixes the issue where when start is called, we run the next frame
of the animation drawable while mCurFrame is already set to 0. The result
is that the first frame of the AnimationDrawable is then skipped.

Bug: 21168854
Change-Id: I2b77ae017d3debd0f8cfec81ea86d1120e78bb55
2015-05-14 17:23:43 -07:00
John Reck
0e4a2b5ff0 Merge "Check for setting to already set" into mnc-dev 2015-05-14 23:27:49 +00:00
John Reck
6d8371e73f Check for setting to already set
Bug: 20105644
Change-Id: Ia79d2ae5c725c139d2b7c423a899be625cb8f14f
2015-05-14 16:06:12 -07:00
Dan Sandler
02cd9f91a6 Use Context instead of Resources in Icon.createWithResource.
This works around situations where corrupted packages cause
Resources.getResourcePackageName to return something that
does't actually work.

Bug: 21144636
Change-Id: I271518599a8eb89d493f1ceda6cb2e47fb38a4ff
2015-05-14 13:23:12 -04:00