Move framework and layoutlib api libraries back to being project
libraries so that other modules can depend on it. This enables custom
widget libraries project to merge through cleanly.
Change-Id: I4f00d6fb378a80662f32491a2b0061d6bf61899f
Adds the widgets needed by the theme editor as a jar file that will be
linked from AS. The controls currently are:
- ThemePreviewLayout: A custom layout that allows to dynamically reflow
cards that display the theme preview.
- PressedButton: Custom button to display in a pressed state (currently
we can only do it programatically).
- ErrorCatcher: View that can wrap other view and stops a view throwing
exceptions that will break the theme editor rendering. This is
currently used to wrap the custom controls loaded from the source
code.
The new library currently depends on bridge to be able to use the logger
for the ErrorCatcher view. The ErrorCatcher view is a temporary solution
that will be replaced in a future CL and the dependency will be removed.
Change-Id: I832c447e22e1381abff74c46c4282921b3f6fa23
When doing the full build, javalib.jar wasn't created. However, mm had
created the javalib.jar. Fix the build by not depending on javalib.jar,
but on classes.jar
Change-Id: I643676b1d73cbfce42946a065a2ada6c50cc959a
- Add a script to copy the icons from the original source.
- Update layout used for the navigation bar to be closer to the original
layout.
- Update test image with the latest rendering.
- Add a nexus 5 landscape device config to help with testing.
Change-Id: I0b6674955e0970a6a8cce148b1b7aa61e1752ccd
- Remove ICU dependency (use the version bundled with platform).
- Restructure intelliJ project to move dependencies to module.
- Minor fixes to layoutlib tests.
TODO:
- Load ICU data.
- Hyphenator doesn't work.
- High quality line breaker not present.
Change-Id: I965e096e17bfc97ee995a649c3f4f6f64bb4f70d
Create XmlPullParser using callback provided by the client. This enables
clients to choose which XmlPullParser implementation they want.
Change-Id: I9ad97a4777820cdbe5c8fc3716f74ddec9065c70
- The mechanism to stop windows drawing while window animator was
animating was somehow flaky. It relied on the fact that the client
would call relayout() whenever the animating state changed. This is
mostly the case, but not for lockscreen animations. Instead, we now
use a push model, where window manager tells the app that the state
has changed.
- In addition, it only stopped drawing if that window was animating,
but then only resumed drawing after all windows have finished
animating. Now, we do this per window, so we only stop drawing for
windows that are currently animating.
- We resume the top activity now at the very beginning of the
unlocking sequence. This gives the app a chance to draw a frame
before the user sees anything. If it's to slow, then we just use the
outdated framebuffer.
Bug: 19964562
Change-Id: Ifef8abd189a3146d854b81b9b948861e4d38c155
This CL relands I1e50ee42838a1bf64a612da4904aa93458d44ea4, which was
reverted by I3decaf37198e5864a1763a059df4a36ebc70c5a7 due to the build
breakage in 'layoutlib' target, with a proper fix.
Hereafter the original CL description is repeated.
The auxiliary subtypes should be listed if the input method picker is
opened from NavBar keyboard icon. However there is only
IMM#showInputMethodPicker() API to open input method picker and this is
also used from LockScreen or Settings UI. Auxiliary subtypes should not
be listed there(Id7cf5d122). Thus framework shows auxiliary subtypes
based on IMMS#mInputShown and LockScreen state, but it is not a perfect
solution. If a physical keyboard is connected, the soft input may be
gone. As the result, auxiliary subtypes won't be listed even if it is
opened from NavBar keyboard icon.
To fix this issue, this CL introduces IMM#showInputMethodPicker(boolean)
to be able to decide showing auxiliary subtypes by caller.
Note that IMM#showInputMethodPicker(boolean) is still hidden with @hide.
There is no public API change in this CL.
Bug: 20763994
Change-Id: Id156c85535a221235737ea6dcc15a67f1c4b9f71
* commit '613aef87cf6a5958ff2fd255348f92f8d3de152e':
Add new parameter to the render method to allow forcing a measure pass.
Avoid caching mImage on the main render loop and use clipping.
GcSnapshot only allocates an image for tinting that is the size of the
current clipping area. When drawing to that image, the wrong
coordinate system was used since now we are dealing with only the
clipping rect we need to translate -clipX, -clipY the drawing so it's
painted at 0,0 of the new BufferedImage.
Change-Id: Id8639d5ea9bef36ac07743df332161d6eadc6a81
* commit '86bff0bb63f3667f0b450420514c931b1f4d25d2':
Add new parameter to the render method to allow forcing a measure pass.
Avoid caching mImage on the main render loop and use clipping.