1831 Commits

Author SHA1 Message Date
Alan Viverette
02a078d088 am 25931ade: Merge "Clean up drawable theming APIs" into lmp-preview-dev
* commit '25931adee5ba954220190f48901bb66c8c9dd462':
  Clean up drawable theming APIs
2014-06-03 17:16:27 +00:00
Raph Levien
690d45157d am faa91203: Merge "Support fallbacks for custom typefaces (Minikin)" into lmp-preview-dev
* commit 'faa912037ca4895eb99155a4a53354435ee413c2':
  Support fallbacks for custom typefaces (Minikin)
2014-06-03 17:15:56 +00:00
ztenghui
5e9a42588e Merge "Add the tree hierarchy for the group" 2014-06-03 16:03:37 +00:00
ztenghui
4d24caf1de Add the tree hierarchy for the group
bug:15288554

Change-Id: I7caedb8466d078a0d9a6148e00d02eded4a4d234
2014-06-02 17:18:10 -07:00
Alan Viverette
5a4af17e27 Merge "Clean up drawable theming APIs" into lmp-preview-dev 2014-06-02 23:41:59 +00:00
Alan Viverette
6dbe51b50e Clean up drawable theming APIs
Removes APIs for themed creation of a drawable from a stream, since
that doesn't involve any inflation. Also cleans up tinting methods
left over from previous clean up.

BUG: 15089957
Change-Id: I2af7aa9a6d351ae61b33ee1216c674fae1bffe11
Signed-off-by: Alan Viverette <alanv@google.com>
2014-06-02 16:39:04 -07:00
Raph Levien
596f0b1a03 Merge "Support fallbacks for custom typefaces (Minikin)" into lmp-preview-dev 2014-06-02 22:54:58 +00:00
Raph Levien
d573794d83 Support fallbacks for custom typefaces (Minikin)
This patch adds the fallback font list to custom typefaces created from
files and assets, as well as those created by name. This is a fix for
the deskclock half of bug 15139067 "Centered text isn't working".

Change-Id: I0cc60951953dfb73817a98ddfee5713f0387ee90
2014-06-02 10:56:23 -07:00
Alan Viverette
57f285d3ab am 73d37038: Merge "Fix null paint in GradientDrawable, make default values explicit" into lmp-preview-dev
* commit '73d370389338b97f801631182bd9a650b42f9a1b':
  Fix null paint in GradientDrawable, make default values explicit
2014-06-02 17:45:04 +00:00
Alan Viverette
08847c8344 Merge "Fix null paint in GradientDrawable, make default values explicit" into lmp-preview-dev 2014-06-02 17:36:50 +00:00
Florin Malita
9ec2eabe5a Merge "Add a native Canvas wrapper." 2014-06-02 13:37:11 +00:00
Alan Viverette
71b2fbde56 Fix null paint in GradientDrawable, make default values explicit
BUG: 15237001
Change-Id: I80844919b910163ed986257efb4b6f8fb62eaf6a
2014-06-01 18:03:09 -07:00
Alan Viverette
52a557fae5 am cc179e25: Merge "Allow ripple bounds to change during enter animation" into lmp-preview-dev
* commit 'cc179e25ccab51cddd16bd3be064590a4c5bb58b':
  Allow ripple bounds to change during enter animation
2014-06-02 00:36:59 +00:00
Alan Viverette
dc6046fca3 Allow ripple bounds to change during enter animation
BUG: 15315168
Change-Id: I7588be96648318473998cfd5deba678224f1db51
2014-06-01 16:48:31 -07:00
Alan Viverette
6a407b0d48 am 8709eeb9: Merge "Fix padding for GradientDrawable" into lmp-preview-dev
* commit '8709eeb9ed08a70550b308e4e79cadf884e2e2d3':
  Fix padding for GradientDrawable
2014-06-01 23:45:51 +00:00
Alan Viverette
c65c7ae635 Merge commit '6682183b' into manualmerge
Conflicts:
	core/res/res/values/public.xml

Change-Id: Ic91db6ee85dcd8a6b13716b600b04c78ceac4b33
2014-06-01 16:44:28 -07:00
Alan Viverette
c6c967b68a Merge "Fix padding for GradientDrawable" into lmp-preview-dev 2014-06-01 23:23:51 +00:00
Alan Viverette
982c59a55f Fix padding for GradientDrawable
BUG: 15197745
Change-Id: Ibd1c20dd8ba8c7ffbf65031be4ca9813304d4d0f
2014-06-01 16:11:32 -07:00
Alan Viverette
4d2f2483f6 Fixes hotspot list transitions, update to use a single hotspot
Also updates background and button colors to match spec, removes
dependency on bouncycastle Arrays. Vastly simplifies ripple drawing.
Adds APIs for maximum ripple radius. Makes selectableItemBackground
bounded by default and adds an unbounded version and theme attribute.

BUG: 15315168
BUG: 15314684
BUG: 15314830
BUG: 15316768
BUG: 15333033
BUG: 15344050
Change-Id: Ib0619587ce78e43056b66571bae185e0f1613185
2014-06-01 15:58:04 -07:00
Florin Malita
5c3d927e17 Add a native Canvas wrapper.
Instead of storing a direct SkCanvas reference, Canvas now tracks
an opaque native wrapper class. The native wrapper can be used to
store additional info for emulating deprecated Skia features
(at this point it only stores a canvas).

Some notes:

* all native handle -> SkCanvas conversions are routed through a
  handful of native utility methods.
* safeCanvasSwap() refactored as a lower level setNativeBitmp() - which
  is what clients need.
* removed unused get_thread_msec() (Canvas.cpp)

Change-Id: I715a5a6f1e1621c1cfc1e510ae4f2ea15cf11114
2014-05-30 16:11:04 -04:00
Raph Levien
ca672f2758 am 953fe800: Merge "Language and variant selection for Minikin" into lmp-preview-dev
* commit '953fe800caf1771217ff1e828d6aa93fbc16729c':
  Language and variant selection for Minikin
2014-05-29 22:38:34 +00:00
Raph Levien
f9e3d31127 Language and variant selection for Minikin
This is the frameworks/base side of what's needed to support language
selection (especially Han unification, but also compact/elegant
selection for scripts that require more vertical space).

This is part of the fix for bug 15179652 "Japanese font isn't shown on
LMP".

Change-Id: I8f0f3aa9a1915659f8d0b590cf1c56529356049a
2014-05-29 14:21:24 -07:00
ztenghui
c9ad54e8ec Merge "Add translation and scale to the group tag and related tests." 2014-05-28 21:59:42 +00:00
ztenghui
452f6ece7f Add translation and scale to the group tag and related tests.
bug:15288554

Change-Id: Iebe176d0a9c2c566d1910674a068e65e15569829
2014-05-28 13:22:44 -07:00
Derek Sollenberger
0d181540e0 Cleanup Canvas API by deprecating a few methods.
The clipRegion(Region) API exposed a different semantic than all other clip APIs by not
respecting the current matrix. The same behavior can be achieved by calling clipRect(Rect)
on the Rects within a Region.

bug: 14650725
Change-Id: I7e91813b8e2474f327e070e549fa303d66f8b552
2014-05-28 14:26:06 -04:00
ztenghui
63cfd85bcc Move the rotation information from path to group.
Also update the 3rd test to correctly testing clipping.

Removing some naive tests which rotate 360 or 0.

bug:15288554

Change-Id: I436e8e494cb78fc665a3890171a1af87367db419
2014-05-28 09:31:19 -07:00
Deepanshu Gupta
baef8c1ffe Layoutlib fixes for L [DO NOT MERGE]
This adds the new delegates that were missing. This starts the work on
changes related to Minikin Fonts.

There are some changes related to TypedArray that still need to be
fixed.

Change-Id: Ic2397b64aa3f1f48926e849b14689c47d9ee7f8c
(cherry picked from commit 7ca3612094270183243938e79337c84effea7ad0)
2014-05-27 18:01:34 -07:00
Deepanshu Gupta
b00cb8b8c7 Merge "Layoutlib fixes for L" 2014-05-27 21:18:04 +00:00
ztenghui
bd67759a3d Merge "Bring the group tag back to VectorDrawable." 2014-05-27 20:08:23 +00:00
ztenghui
6d9c422de5 Bring the group tag back to VectorDrawable.
This is the first step, including:
1. Bring the group tag back by reverting.
2. If there is no group tag, then treat all the paths as a single group.
Make sure our test cases covering both cases.

At the same time, fix one tiny UI bug in the test.

TODO:
1. Move the rotation to the group tag.
2. Add translation/scale to the group tag.
3. Convert the group into a tree hierarchy.

This reverts commit 404211630ba3bb865109434aba4433e7541b39d3.

Conflicts:
	graphics/java/android/graphics/drawable/VectorDrawable.java

Change-Id: Ife65bb6a7fc85f9947124b8e356cd5b82119796a
2014-05-27 10:15:52 -07:00
ztenghui
427a15a0f0 Merge "DO NOT MERGE: Hide the VectorDrawable" into lmp-preview-dev 2014-05-27 16:09:05 +00:00
Chris Craik
cd3a824548 Merge "DO NOT MERGE Inspect SkShader to determine hw shader." into lmp-preview-dev 2014-05-23 23:21:49 +00:00
ztenghui
72da163821 DO NOT MERGE: Hide the VectorDrawable
Change-Id: Ie65194c8ec54063f48a541ee0cc82bccc41f5353
2014-05-23 16:08:36 -07:00
Alan Viverette
0ff33fba40 am a8b23365: Merge "Add support for setColorFilter in VectorDrawable" into lmp-preview-dev
* commit 'a8b2336554daef1cf299ef0cbb6c51981a1e719f':
  Add support for setColorFilter in VectorDrawable
2014-05-23 21:22:50 +00:00
Alan Viverette
d6405c1c75 Merge "Add support for setColorFilter in VectorDrawable" into lmp-preview-dev 2014-05-23 21:20:45 +00:00
Alan Viverette
8c1244b98c Merge "Fix build." 2014-05-23 18:10:36 +00:00
Alan Viverette
d30241541c DO NOT MERGE Fix build.
Change-Id: I2e9f7f27c94b9f9240a5ca76952024055ff79878
2014-05-23 11:10:12 -07:00
Alan Viverette
7bf1eb63ec Fix build.
Change-Id: I2e9f7f27c94b9f9240a5ca76952024055ff79878
2014-05-23 11:09:51 -07:00
Alan Viverette
de220369c6 am e11794a2: Merge "Update switch, checkbox, radio button, button, and toggle button" into lmp-preview-dev
* commit 'e11794a2c1af70a265b6476ce3f3587814e9f0b3':
  Update switch, checkbox, radio button, button, and toggle button
2014-05-23 17:36:23 +00:00
Alan Viverette
fd6e411767 Add support for setColorFilter in VectorDrawable
Also cleans up inflation so that we can apply themes more easily.

Change-Id: I56decb29fe987286a38fc0aa96f95952cf67c120
2014-05-23 10:29:37 -07:00
Leon Scroggins III
0fa2bd699a DO NOT MERGE Inspect SkShader to determine hw shader.
cherry-pick of Iaa7189178bda1c55f96da044d2a9fa602ba36034

Instead of duplicating internal info about SkShader, inspect the
SkShader installed on the SkPaint.

core/java/android/view/GLES20Canvas.java:
Remove setupModifiers, nResetModifiers, and nSetupShader.

core/jni/android/graphics/Shader.cpp:
Remove calls to create/destroy the (previously) attached SkiaShader.

core/jni/android_view_GLES20Canvas.cpp:
Remove native code for setupShader and resetModifiers.

graphics/java/android/graphics/BitmapShader.java:
graphics/java/android/graphics/ComposeShader.java:
graphics/java/android/graphics/LinearGradient.java:
graphics/java/android/graphics/RadialGradient.java:
graphics/java/android/graphics/Shader.java:
graphics/java/android/graphics/SweepGradient.java:
Remove code keeping track of native SkiaShader.

libs/hwui/Caches.h:
Include Extensions.h.

libs/hwui/DeferredDisplayList.cpp:
Compare shaders on the paint, instead of on DrawModifiers.

libs/hwui/DisplayList.cpp:
libs/hwui/DisplayList.h:
Remove vector of SkiaShaders.

libs/hwui/DisplayListOp.h:
Access the SkShader on mPaint.
Remove SetupShaderOp and ResetShaderOp.

libs/hwui/DisplayListRenderer.cpp:
libs/hwui/DisplayListRenderer.h:
Remove resetShader, setupShader, refShader, and mShaderMap.

libs/hwui/FontRenderer.cpp:
Pass SkShader to setupDrawShader and setupDrawShaderUniforms.

libs/hwui/OpenGLRenderer.cpp:
libs/hwui/OpenGLRenderer.h:
Add LayerShader, a class inheriting from SkShader, to mimic the
behavior of SkiaLayerShader. Unlike SkiaLayerShader, it can be set on
the SkPaint so it can be inspected later.
Set a LayerShader instead of a SkiaLayerShader.
setupDrawShader and setupDrawShaderUniforms now inspect an SkShader
passed in.
Inspect SkShader instead of mDrawModifiers.mShader.
Remove resetShader and setupShader.
setupDrawColorUniforms now takes a boolean indicating whether there is
a shader.
Add an inline function for accessing the SkShader on an SkPaint.
In setupDrawBlending(Layer*, bool), do not check the shader (which will
never be set), but do check whether the color filter may change the
alpha (newly fixed behavior).
In setupDrawBlending(SkPaint, ...), check the SkShader and whether the
color filter affects alpha (the latter is new behavior).

libs/hwui/Renderer.h:
Remove pure virtual functions setupShader and resetShader.

libs/hwui/ResourceCache.cpp:
libs/hwui/ResourceCache.h:
Remove functions for refing/unrefing shaders.

libs/hwui/SkiaShader.cpp:
libs/hwui/SkiaShader.h:
Much of this code was redundant and has been removed.
Convert structs into class with nothing but static functions for
calling describe/setupProgram.

libs/hwui/TextureCache.cpp:
libs/hwui/TextureCache.h:
Use the SkPixelRef as the key to the bitmap Lru cache, since shader
inspection will provide a different SkBitmap pointer (though it will
hold the correct SkPixelRef with the correct generation ID).

tests/CanvasCompare/src/com/android/test/hwuicompare/DisplayModifier.java:
tests/CanvasCompare/src/com/android/test/hwuicompare/ResourceModifiers.java:
Update manual test to have more shaders: radial, sweep, compose,
invalid compose.

BUG:10650594
Change-Id: I2e7182b3fc28268e7ca82fac6780540b6b45365c
2014-05-23 11:50:38 -04:00
Alan Viverette
2356c5e69b Update switch, checkbox, radio button, button, and toggle button
Add optical inset support to BitmapDrawable with gravity. Fix optical
inset support in DrawableContainer. Fix visibility change support in
AnimatedStateListDrawable. Adds a whole bunch of missing drawable
support to CheckedTextView.

BUG: 15127013
BUG: 15126976
BUG: 15125529
BUG: 15025806
BUG: 14597955
BUG: 14594498
BUG: 15152746
Change-Id: Id2d99e10838d25b6f927ca1e49996c8da8e78ab1
2014-05-22 22:43:59 -07:00
Chris Craik
d490aa4260 Merge "Inspect SkShader to determine hw shader." 2014-05-23 00:03:46 +00:00
Deepanshu Gupta
130d2353ed Layoutlib fixes for L
This adds the new delegates that were missing. This starts the work on
changes related to Minikin Fonts.

There are some changes related to TypedArray that still need to be
fixed.

Change-Id: Ic2397b64aa3f1f48926e849b14689c47d9ee7f8c
2014-05-22 16:24:10 -07:00
Leon Scroggins III
d1ad5e62fd Inspect SkShader to determine hw shader.
Instead of duplicating internal info about SkShader, inspect the
SkShader installed on the SkPaint.

core/java/android/view/GLES20Canvas.java:
Remove setupModifiers, nResetModifiers, and nSetupShader.

core/jni/android/graphics/Shader.cpp:
Remove calls to create/destroy the (previously) attached SkiaShader.

core/jni/android_view_GLES20Canvas.cpp:
Remove native code for setupShader and resetModifiers.

graphics/java/android/graphics/BitmapShader.java:
graphics/java/android/graphics/ComposeShader.java:
graphics/java/android/graphics/LinearGradient.java:
graphics/java/android/graphics/RadialGradient.java:
graphics/java/android/graphics/Shader.java:
graphics/java/android/graphics/SweepGradient.java:
Remove code keeping track of native SkiaShader.

libs/hwui/Caches.h:
Include Extensions.h.

libs/hwui/DeferredDisplayList.cpp:
Compare shaders on the paint, instead of on DrawModifiers.

libs/hwui/DisplayList.cpp:
libs/hwui/DisplayList.h:
Remove vector of SkiaShaders.

libs/hwui/DisplayListOp.h:
Access the SkShader on mPaint.
Remove SetupShaderOp and ResetShaderOp.

libs/hwui/DisplayListRenderer.cpp:
libs/hwui/DisplayListRenderer.h:
Remove resetShader, setupShader, refShader, and mShaderMap.

libs/hwui/FontRenderer.cpp:
Pass SkShader to setupDrawShader and setupDrawShaderUniforms.

libs/hwui/OpenGLRenderer.cpp:
libs/hwui/OpenGLRenderer.h:
Add LayerShader, a class inheriting from SkShader, to mimic the
behavior of SkiaLayerShader. Unlike SkiaLayerShader, it can be set on
the SkPaint so it can be inspected later.
Set a LayerShader instead of a SkiaLayerShader.
setupDrawShader and setupDrawShaderUniforms now inspect an SkShader
passed in.
Inspect SkShader instead of mDrawModifiers.mShader.
Remove resetShader and setupShader.
setupDrawColorUniforms now takes a boolean indicating whether there is
a shader.
Add an inline function for accessing the SkShader on an SkPaint.
In setupDrawBlending(Layer*, bool), do not check the shader (which will
never be set), but do check whether the color filter may change the
alpha (newly fixed behavior).
In setupDrawBlending(SkPaint, ...), check the SkShader and whether the
color filter affects alpha (the latter is new behavior).

libs/hwui/Renderer.h:
Remove pure virtual functions setupShader and resetShader.

libs/hwui/ResourceCache.cpp:
libs/hwui/ResourceCache.h:
Remove functions for refing/unrefing shaders.

libs/hwui/SkiaShader.cpp:
libs/hwui/SkiaShader.h:
Much of this code was redundant and has been removed.
Convert structs into class with nothing but static functions for
calling describe/setupProgram.

libs/hwui/TextureCache.cpp:
libs/hwui/TextureCache.h:
Use the SkPixelRef as the key to the bitmap Lru cache, since shader
inspection will provide a different SkBitmap pointer (though it will
hold the correct SkPixelRef with the correct generation ID).

tests/CanvasCompare/src/com/android/test/hwuicompare/DisplayModifier.java:
tests/CanvasCompare/src/com/android/test/hwuicompare/ResourceModifiers.java:
Update manual test to have more shaders: radial, sweep, compose,
invalid compose.

BUG:10650594

Change-Id: Iaa7189178bda1c55f96da044d2a9fa602ba36034
2014-05-22 14:46:59 -04:00
Alan Viverette
e7772d313b Move setTint into Drawable, unhide getDirtyBounds on Drawable
BUG: 15089957
Change-Id: Ib622ba24b3f4bcf430e1d524895ac5cb104a232e
2014-05-21 23:50:03 -07:00
Alan Viverette
190dad4317 Merge "Style and asset cleanup" 2014-05-22 01:11:20 +00:00
Alan Viverette
0a1c6f021b Style and asset cleanup
Updates button drawable and colors, cleans up Quantum styles, updates
highlight attribute name and color, fixes popup backgrounds.

Also fixes GradientDrawable opacity check.

Change-Id: I75dd35e815a8a33ec9f0b16e881e774edfb8c092
2014-05-21 18:10:53 -07:00
Chris Craik
b8fe2fcd71 Merge "Define light position (using new lighting spec) in Java" 2014-05-22 00:18:21 +00:00
Alan Viverette
a22aa8806b Merge "Clean up hotspot bounds API" 2014-05-21 23:40:07 +00:00