requestLayout() and forceLayout() should force the INVALIDATED
flag to be set, which causes a view's display list to be regenerated
on the next drawing operation. This is necessary when containers change
due to layout requests.
Change-Id: I5b18b5936b59f0605f93c8f45baf83a76dab4e5e
into the indeterminate progress icon
This fixes a bug that caused ActionViews to not be updated properly
after a pass through invalidateOptionsMenu/onPrepareOptionsMenu. Apps
can now set/clear action views to display progress spinner widgets or
anything else on demand.
Change-Id: I138eceb504177c6bb5b86d40a68a82973aa841a5
The objective in this listener is to be more careful about the
signal processing to prevent spurious orientation changes
and to make all of the tweakable factors physically meaningful.
The calibration is defined in terms of time constants and
does not assume a particular discrete sampling rate. This is
useful because it allows us to change the accelerometer sampling
interval if desired without having to change the calibration.
Moreover, the accelerometer sampling interval can vary +/- 20ms
from one sample to the next even in normal circumstances.
Proposed orientation changes are weighted by confidence factors
that vary exponentially in relation to how close the device
is to the ideal orientation change posture (screen is vertical,
angle is exactly at the midpoint of the orientation quadrant,
and no external acceleration beside gravity). When not in an ideal
posture, the device takes proportionally longer to settle into a
new orientation state.
Added a little tool to plot the log output of the
WindowOrientationListener. Check the README for more information
about how to use it.
Change-Id: I787f02d03582ff26367df65eda8d9ce85c5cb343
Bug 3381320
The tests were inconsistent between makeBlink and onDraw.
If the text is non-editable, do not draw the cursor.
Change-Id: I0405e59444261a553e868b3ae5bdddd278f60bb2
Bug 3381317
Changes made in https://android-git.corp.google.com/g/#change,91880
displayed the IME onFocus. However, the test was not consistent to what
is done in touch event. textIsEditable is now checked too.
Change-Id: If11382c1c90a557839b87d62494253470c42b621
1. Remove mDeferMultiTouch in WebView, it was for testing only but
we don't need it now since we always pass MultiTouch to WebKit.
2. Remove the use of mDeferMultiTouch in DRT tests.
3. Correct the index of getX(Y) for the second touch point in the
debug string of MotionEvent.
Change-Id: Ib63cfc5935af1a169ed26b2b138f74908492bc18
Previously, display lists were used only if hardware acceleration
was enabled for an application (hardwareAccelerated=true) *and* if
setDrawingCacheEnabled(true) was called. This change makes the framework
use display lists for all views in an application if hardware acceleration
is enabled.
In addition, display list renderering has been optimized so that
any view's recreation of its own display list (which is necessary whenever
the visuals of that view change) will not cause any other display list
in its parent hierarchy to change. Instead, when there are any visual
changes in the hierarchy, only those views which need to have new
display list content will recreate their display lists.
This optimization works by caching display list references in each
parent display list (so the container of some child will refer to its
child's display list by a reference to the child's display list). Then when
a view needs to recreate its display list, it will do so inside the same
display list object. This will cause the content to get refreshed, but not
the reference to that content. Then when the view hierarchy is redrawn,
it will automatically pick up the new content from the old reference.
This optimization will not necessarily improve performance when applications
need to update the entire view hierarchy or redraw the entire screen, but it does
show significant improvements when redrawing only a portion of the screen,
especially when the regions that are not refreshed are complex and time-
consuming to redraw.
Change-Id: I68d21cac6a224a05703070ec85253220cb001eb4
bug:3375074
1. The logic for updating the higher rank fields on wrapping of
lower rank ones was incorrect. Updated that logic.
2. On reaching the min/max date the spinners did not stop
when reaching that date. Now spinners stop at min/max.
3. Fixed a couple of edge case bugs while setting the
the min and max dates of the DatePicker on the fly.
4. Restricted the scrolling/flinging to end at the min
and max dates.
Change-Id: Ibb588ea2cf951cf8d50328bbfbe7ebdad7ee8067
1. Views may setSystemUiVisibility() to recommend that
the system chrome (status bar or other UI) show or hide
itself. (This functionality was previously available only
via the FLAG_FULLSCREEN window flag for some SystemUI
implementations.)
2. Views may register a OnSystemUiVisibilityChangedListener
on a view, and find out when the system UI actually
appears or disappears, allowing apps to coordinate the
appearance of their own UI if desired.
Bug: 3241144
Change-Id: Ia1758d94099182d49a1e3688ea2738ae4995b829
Bug 3374144
The fix in https://android-git.corp.google.com/g/#change,91880 is not
sufficient. An updated adapter needs to be able to force an update of
the poup result list.
Addded a flag that prevents the popup from being re-opened when it has
previously been closed by a user action.
Change-Id: I45fab056c8ebd6dc4317430213f2bc37b51b79e3
Also adjust default web text selection menu to allow overflow, preventing items
from being cut off in portrait or on smaller screens.
Change-Id: I686c9a8daab31a38c2fcb75ee1402f09f568c238
And also fix#3343369: EGL_BAD_DISPLAY and/or broadcast intent
TIME_SET before boot completion
And a few more tweaks to animations to keep the wallpaper displayed
when needed.
And make more use of the drag and drop "rotation disabled" thing to
also use it while animating the screen rotation, since if we try to
start a new rotation while doing the animation we end up with a mess.
Change-Id: I373af305a6e23a92835abed96229a83e173f67ce