When a parent draws its child views, each child's bounds is checked
against the current dirty region. If the view falls outside of that
region is is rejected and doesn't enter into the parent's DisplayList.
This works in general, for both transformed and untransformed views
(because we skip this check if the view is transformed). But it breaks down
when the transform properties of the view change later, since DisplayList
properties simply push these values down to the view's DisplayList without
invalidating the parent. If a view is rejected when untransformed, then there
is nothing to cause it to be considered again until something causes an
invalidate of the parent.
The fix is to note when a view is rejected and record that information.
Later, when one of the transform-related properties change, we invalidate the parent
to force the check to happen again, which will cause the view to get drawn
if it's visible.
Issue #6477730 quickRejected views must recreate their DisplayLists on transform changes
Change-Id: I70caf198005cd7e424a37bccc6ae050e09880a6c
This crash could occur when invoking setSurfaceTexture() then getBitmap()
before the View has a chance to be drawn.
Change-Id: I25c55df15750e59b9c916e8f750de2c89718d39e
Limit BigText template to a fixed number of lines.
Optimize layout of BigText and Inbox for expansion.
Bug: 6457470
Change-Id: Ib7389e16e566df9f91347ca3fdd621916a12af9b
Also broadcast ACTION_AUDIO_BECOMING_NOISY on USB audio disconnect
Change-Id: I46dfcc744df880066aea6bf651334a081c14af0f
Signed-off-by: Mike Lockwood <lockwood@google.com>
This adds the Roboto Condensed family (with the name
sans-serif-condensed, for consistency with existing family names).
Change-Id: Ied2c509ebbb2b3b8637c659e62c9a821b6941eaa
Use the media controller as a reminder to the user when the video ended.
We don't quit the video here b/c user may want to replay the video.
bug:5340224
Change-Id: I6d5fdb54bb614277b75e1a18ebe0a7dadd47017e
Fix various issues in adjustStreamVolume() related to stream type aliases
using different ranges.
Always Update last audible index on all streams sharing the same alias.
Add check on setRingerMode() to prevent setting mode to VIBRATE when no
vibrator is present.
Issue 6455831.
Change-Id: Id110e05d2f16e208e1e398922617bf31967b62db
Now when a user start inline play and then switch to full screen, there is no
reload any more.
Basically, we change mediaplayer as a static member, and detect possible
situation to skip the prepare work.
bug:5710646
Change-Id: Ida34cf2e919a6cc8e0d52cd1175d51b5f5d527f7
TargetDrawables now have a "home" position they can be scaled about.
Added new "focused" state to TargetDrawable. This is used to distinguish between highlight and selection.
Updated target icons to use new focused state. Currently re-uses "activated" icon.
Change to event handling to allow cancel events when a target is highlighted to cause a selection.
Cleaned up MultiWaveView initialization code.
MultiWaveView animation improvements:
- new scale animation when center handle is touched.
- switched to using indices instead of foreach loops in critical path code to avoid creating temporary objects.
- updated and simplified animation code.
Change-Id: I593c021475f1644c73bdb9f84855e6a9fec7c0ab
...incorrect visibility when the ActionBar overflow menu is opened
Don't report layout flags in system UI visibility callback. Update
docs to reflect this.
Change-Id: Icfa411b5537de037cafbcac04991101e8b9138c4
Add synchronization to prevent concurrent accesses to
volume indexes HashMap in VolumeStreamState.
Use ConcurrentHashMap for VolumeStreamState mIndex and
mLastAudibleIndex.
Issue 6421841.
Change-Id: I6dee805a79aa5e2cd0ba4072014a2fcdda4ed507
The matrix calculated by Animations is pushed down to the native
DisplayList object, and is then used when the DL is issued to the
GL renderer. This works while the animation is running, but the end
of animations is not handled correctly. In particular, we never clear the
animation, so whatever the last frame of the animation calculated will
persist on that DisplayList object until it is recreated.
The fix is to note when we used to be animating and are no longer
doing so, taking that opportunity to push the cleared state down
to the DisplayList.
Issue #6448993 action bar -- including settings menu -- disappears on Nakasi
Change-Id: I73cdadaef40d87ccbc1beb02599c4d70506ea42b
1. Now the spinners in the time and data picker a wider therefore
easier to interact with, i.e. harder to miss accidentall.
2. Removed the scroll distance cut off user to distinguish between
fling and change by one.
3. Added visual feedback when the areas the serve as virtual buttons
in number picker are poked.
4. Removed the coeffcient that was making drap not to be one-to-one
with the scrolled distance.
5. Added some margin at the top and bottom of the spinners in
date and time pickers.
bug:6321432
Change-Id: I311c1733d1951b0563209401faa830ca70ec87cb
1. Scrolling actions are crucial for enabling a gesture based
traversal of the UI and specifically scrollable containers
especially lists and anything backed by an adapter. Since
accessibility focus can land only attached views, it cannot
visit views for adapter items not shown on the screen.
Auto scrolling the list as a result of putting access focus
ot a list item does not work well since the user may get
trapped in a long list. Adding an accessibility node provider
to emit virtual views for one view before the first and one
after the last is complex and suffers the limitation of trapping
the user. Accessibility service need an explicit scroll actions
which may be performed upon an explicit user action. Hence,
the user is informed for the start/end of the visible part of
the list and he makes a deliberate choice to scroll. This will
benefit also people developing Braille devices since they can
scroll the content without telling the user to stop using the
Braille controller and take the device out of his pocket to scroll
and go back to the Braille controller.
NOTE: Without these action large portions of the screen will be
hard to access since users will have to touch and explore to
find and scroll the list.
Change-Id: Iafcf54d4967893205872b3649025a4e347a299ed
Use long instead of int so we don't run into a 2GB file limit.
Fix possible overflows in offset and length.
Change-Id: Idb3a34f5600f9c2372b9c89256f21757049fa43b