Better shadows for rectangles and rounded rectangles (includes circles).
The shadow painting code is mostly from CardView library, but modified
heavily since CardView needs to draw the shadow inside view bounds.
Change-Id: I88c9f19b1c16839b8d6db6df2bebff126fa5a9a3
The date picker and calendar widgets show the current date. Comparing
widgets showing current date with a static golden image wasn't the best
idea.
- Change the widgets to custom widgets that set a predefined date/time
so that the rendering is independent of the system date.
- Change the layout slightly to make it look nicer.
- Update gradle plugin version.
Change-Id: Ia3fb4965a372a28087a0d8c9df40fd6779df6050
Use themed context to inflate the action bar when AppCompat is used.
Also fix minor issues exposed as a result.
- Set project callback when LayoutInflater is created by
LayoutInflater.from(context).
- Remove duplication of code to get base context from context wrapper.
Bug: http://b.android.com/159711
Change-Id: I379ba2ba71c0ef547460987c3aa5db521c7de967
1. Remove unused modes - makes the class more manageable, and missing
modes can always be readded from the git history.
2. Reuse the existing BlendComposite instances where possible.
3. Fix incorrect alpha computation for multiply mode.
4. Change the alpha computation for all blend modes to compenstate for
the fact that the color filter image that we create extends beyond the
image it is inteded to be applied to.
Change-Id: Iedebf289a23325ee4c6d406dcad46a9edb1855c7
Throw a better error message when resolving a hexadecimal color value
but the user gave a Color State List. The two are easy to confuse since
the only way to distinguish between the two is to look at the
definition.
Bug: http://b.android.com/70110
Change-Id: Ic78962bd0674a92296a0fdd0de184cfe4d85a8e4
1. Some dynamic ids weren't created and resulted in ResourceNotFound
exceptions.
2. Prevent NPE if a style attribute (eg. style="?attr/foo"), which
cannot be resolved, is resolved. This effectively, also results in
making it harder to catch misconfigured themes. However, support
library does it, and we don't want to throw errors when the library is
working as intended.
Change-Id: I731d8fb9209eb72b464d235d1072d416e132970b
Framework has specialized versions of java.lang.System.arraycopy() for
all primitive data types. These versions are not present on the Desktop
VM. This change replaces calls to any of the specialized versions with
the more general alternative - the one using Objects.
Note that this was already being done for char.
Change-Id: If1584125fea8ecc080fb39a5ee6cdb4d922d0c98
(cherry picked from commit e1960cc0b541cda93db94de5bef42dff922b9ec3)
When the tests are run on the build server, they are run from the jar,
as opposed to the extracted build, which is default when run from an
IDE. Thus, when class.getResourceAsStream() is called with ".." in the
path, it is not resolved properly. This change explicitly resolves the
relative path, so that the test is run properly on the server.
Change-Id: Ib5fabd617dca4052220e5173a8bf4fb4234254ff
The LayoutLib rendering tests now compares the rendered image with a
golden file from a previous execution. This will help catch any
unexpected changes in the final rendering.
Change-Id: I80251a778e89df7d7ec13863a8f299967f3d747d
Time_Delegate was removed in change with Change-Id:
Iae5ef65678f0e6c7c5af520c45bd15980ce3fa55. But the name wasn't removed
from CreateInfo. This didn't cause any problems at runtime, but caused
the layoutlib_create tests to fail.
Change-Id: I079b1e024b97d389eb07d4f088fd860efbb02eb3
1. Return AccessibilityManager service from context.
2. Don't throw an exception if no style specifited in
obtainStyledAttributes. Specifying no style is valid and it's supposed
to use the default theme in that case.
Bug: http://b.android.com/82712 and http://b.android.com/79218
Change-Id: Iba7097f36996e4d6f1e9db778dc73294f2854c79
Moved the map from Preference to View Cookie to BridgeContext. This
means the map need not be static anymore.
NO_SQ: Depends on unsubmitted changes.
Change-Id: I662513def17bd6ec3a2646c3bec9bf4f9f89fc15
This change ensures that RandomAccessFile is always closed. Also, it
changes the BufferIterator implementation to delegate to the byte buffer
directly instead of mainitaining the position itself.
Change-Id: I8f93e80c91a7c35e6a7fb015185b8b11e36b6286
1. Change calls to java.lang.System.log* since they don't exist on the
host.
2. Clean up method rewrite mechanism in ReplaceMethodCallsAdapter.
3. Stub out creation of uninitialized GregorianCalendar.
4. Memory map the time zone data base file and provide a custom
implementation of BufferIterator for use by ZoneInfoDB
5. Delete unused Time_Delegate
Also fixed a comment in BridgeAssetManager and an error message in
FontFamily_Delegate.
Bug: http://b.android.com/79160
Change-Id: Iae5ef65678f0e6c7c5af520c45bd15980ce3fa55
TimePickerSpinnerDelegate doesn't need to deal with input when running
inside LayoutLib. So, we just return the keycodes as if it's running in
English locale.
Bug: http://b.android.com/79189
Change-Id: Ife0ae91a1e34a8dac379bc1dda1c1c8ed461c164
The shadows rendered are not the same as rendered by the framework. The
main purpose of the shadows here is let the user know when shadows will
be cast.
Currently rectangular shadows are available in only two intensities. Any
elevation below 10dp uses one shadow and any elevation over 10 dp uses
the other.
Also, even though the code for arbitrary shapes exist, it doesn't quite
work yet. No shadows are visible when that code is run.
Change-Id: Ie8235ffccf1d3809713f5d8f82afde434817d6b2