Apps that create RippleDrawable on a background thread could crash,
making them incompatible with S.
Test: manual with MindBody app
Fixes: 194952073
Change-Id: I9d16d5c63c192e96191b4fbc859ff3bc3da733cb
Don't try to do a RenderNodeAnimation if the RenderNode
isn't attached. Although this isn't strictly speaking a
valid state to be in, it's also easy for RippleDrawable
to just ignore it.
Bug: 186864959
Test: ripples still show up, are still RT accelerated normally
Change-Id: I8127f1419508157eb83ac9bb1562745ac53d2ced
1. Change mGradientColors to a ColorStateList array
2. Update mGradientColors array by reading the Theme and XML color in UpdateGradientDrawableGradient function
3. Query state color in each instance of mGradientColors array in
ensureValidRect function for LinearGradient object creation.
Bug: 157969624
Test: android.graphics.drawable.cts.GradientDrawableTest suite
Change-Id: Ibbf2c5cb2846d75c53bd34a3f04661ae604e6745
This CL fixes one of the issues with SurfaceView parent frame and
content syncing.
With BLAST, we have two surface controls each setting a scale. The
parent surface control sets a scale based on the requested surface
size and the SurfaceView layout size. The BlastBufferQueue surface
control scales the buffer to the requested buffer size if the buffer
has the appropriate scale mode.
The destination frame controls the second scaling and it must be
applied with the parent surface scale changes. This cl fixes flickers
where the requested fixed surface size changes without any view size
changes. This cl allows the caller to pass in a transaction to
BLASTBufferQueue#update which is updated with the destination frame
changes. This transaction can then be applied with the parent
surface changes.
This also fixes an issue where destination Frame was being set on
every buffer update and when we updated the BlastBufferQueue size.
Since buffer transactions can be queued up on the server side, a
stale value maybe applied for a few frames causing flickers.
Fixes: 194458377
Test: bug repro steps
Test: atest SurfaceViewSyncTest#testSurfaceViewSetFixedSize
Change-Id: I118bd1c3942b389e3951c3fd7389403895fc7b31
This feature is intended for use in headless test environments,
where disabling drawing has minimal compatibility impact and can
save significant resource usage when running UI tests.
This feature is controlled via a new system property
'debug.hwui.drawing_enabled', and a HardwareRenderer public API that can
override the property value on a per-process basis.
Bug: 188559292
Test: boot emulator, atest CtsGraphicsTestCases
Change-Id: I93c21e680382e03342f235dbf58bd7a5c8a6f767
The FontFamily will be removed if none of font files exist on the
device.
Bug: 192479819
Test: atest FontListParserTest
Change-Id: I36f6476fe37bc04ec8737936747385c63908d651
The boolean system property is named as "debug.hwui.webview_overlays_enabled"
Bug: 192267127
Test: change the property value, check presence of Webview Surface
Control
Change-Id: I01e3e26282a5fa79aa504a6e49c5abe1a1c3ea02
A native transaction passed from webview is sent back to native side, so java side does not manage the life cycle of the transaction.
Bug: 191414767
Test: Play a video, switch to another app, wait for 10 seconds
Change-Id: I013052c202b445438d6cb6497f5f9a2fc22a2b85
Set the root surface control transparent, and set the z order of the newly created child surface control to -1.
A new callback is needed to update root surface control in sync from Java side.
Bug: 186750329
Test: use latest APKs from Webview team, play a video, mini toolbar should be visible
Change-Id: I0b37ee8f83fd2b41ff4f2856dbadd31ff6170baf
Change the rerferene to java object from global reference to weak
reference.
Bug: 188555236
Test: check number of ViewRootImpl objects from Systrace
Change-Id: I52347b9efb211691826635d046259bc3c54b194f
Only start or stop the ripple if the state changed.
Avoids accidentally starting 2 ripples when the overall
state set changed but the state_activated specifically did
not.
Fixes: 188062293
Test: manual
Change-Id: If32f1ee5ad3e7294e2e6924b1a4a0e4070c8bcfc
The mask color filter has an alpha applied to it, it should not be used
on the focused states.
Focus works differently, where the alpha is defined by the state itself
(20% for hover, and 60% focus,) combined with the paint alpha.
Test: adb shell input keyevent 22
Test: manual on list item (not masked)
Test: manual on button (masked)
Fixes: 184717563
Change-Id: I01b8540face638330d016b413e70f2b74ce5592c
The previous attempt[1] of improving SystemFonts API is not good enough
for users. To further improve the performance, calculate font uniqueness
in native code. From Android S, the system font information is stored
in native code and has more information for skipping duplication check.
Bug: 188201287
Test: atest FontFamilyUpdateRequestTest
Test: atest FontListParserTest
Test: atest FontManagerTest
Test: atest NativeSystemFontTest
Test: atest PersistentSystemFontConfigTest
Test: atest SystemFontsTest
Test: atest SystemFontsUniqueNameTest
Test: atest UpdatableFontDirTest
Test: atest UpdatableSystemFontTest
Test: minikin_tests
Change-Id: Ib375dcda0f278c93ec8dd21636d7a22b4174f214
Drawables from different themes are yielding different densities.
Framework themes are returning 160 (DENSITY_MEDIUM), while AppCompat
is reporting 420 (DENSITY_420.)
This is causing the sparkles to have completely different sizes on
the same device, which is wrong.
Fixes: 189236372
Test: manual
Change-Id: Ia79e360123cf740aaba85d5348f07604c2b39026