For the sake of devices with touchscreens and optional keyboards, add
the touchscreenBlocksFocus attr and associated get/set methods to
ViewGroup. This will act much like FOCUS_BLOCKS_DESCENDANTS, but only
if the context reports that a touchscreen is present. This allows an
app to define much coarser-grained block elements for focus instead of
navigating between each individual (normally) focusable element, on
the theory that the readily available touchscreen or other keyboard
shortcuts allow for more fine-grained interaction. Keyboard focus
navigation thereby becomes more efficient at a coarse level.
Bug 13987814
Change-Id: Ie652b8845122a59046e96ad6074b3de163779adc
Also fixes an infinite recursion bug in the WindowManagerService
implementation of WindowManagerInternal.
BUG: 16129909
Change-Id: I4f9d32f4e6c3ad460652c5e5271540fa5032a1f5
This CL allows application authors and input method authors to
communicate with each other more precisely on the visibility of
insertion marker and composing characters. Now we can describe
the situation where the coordinates of them are available but
they are overlapped by other UI elements.
This change is based on feedbacks from internal customers of
this preview API.
Change-Id: I82eba0e844a6f8b99ba11a68fad272399034cc24
BUG: 16118303
This CL addresses some inconsistencies found in
CursorAnchorInfo#equals.
- #mComposingText is now taken into consideration when
compared with other instances.
- NaN is now treated as if it was just a number in
CursorAnchorInfo#equals if and only if NaN is used in
-- #mInsertionMarkerHorizontal
-- #mInsertionMarkerTop
-- #mInsertionMarkerBaseline
-- #mInsertionMarkerBottom.
This is useful if we want to use NaN as a marker to
indicate that no value is specified.
Change-Id: Ibff31bc34b9d488731b294ad38240c567a06b627
This is a follow up CL for Ib58ece68dee4c6187d469049,
which unexpectedly changed behavior of existing public
constructors of TextInfo class.
BUG: 15869548
Change-Id: If5837eb771d78cc24f4d68079009eb98a5641db7
Bug: 16118540
Fix an issue where we could have a reference to a Layer after
the GL context was destroyed
Change-Id: I7bfd909d735ca6b942ebe188fc10099422eb6d95
The UI thread needs to know whether or not the display list is
valid, so bring back View.destroyHardwareResources and instead
have the native side assert that View did the right thing
Change-Id: I4f8dee6e9c13ec7ab520becdc5cfe20e92a76f8f
Bug 15885062
Action bar can already be targeted via android:action_bar.
Navigation bar background is now android:navigation:background.
Status bar background is now android:status:background.
Change-Id: I4604906923f3473af3beec4f865463b2fe4a5316
Adds a new kind of inset that only accounts for stable system
windows like the system or navigation bar.
Bug: 15457292
Change-Id: I681b711f6f40a94c25b7acd3a44eb3539486afab
With this CL, CursorAnchorInfo.Builder#build() raises
IllegalArgumentException when an application author attempts to
instantiate CursorAnchorInfo without the coordinate
transformation matrix but with specifying some positional
parameters such as composing character rectangle.
Since any other positional members in CursorAnchorInfo are
supposed to be specified in local coordinates, the application
author must provide the coordinate transformation matrix for
such positional data.
Change-Id: I2b0fd0f146a2b95fe4fa1324837d8cfee667208c
Incorporate patch from Logitech (donated under AOSP license) to the
framework to add mouse-based text selection to ArrowKeyMovementMethod.
Bug: 14652753
Change-Id: Iab264bb954b72ccedfada763eba8f13ef37a4578
Adding this for L caused some fun issues with source compatibility.
Apps that previously passed another MarginLayoutParams subclass to
ActionBar.LayoutParams' constructor started statically linking to a
constructor overload that did not exist on older platform changes with
no other source changes. In the interests of avoiding these headaches
for developers, remove it.
Bug 15933193
Change-Id: I01cf8dfa2341b9d9629331639433b59352e7e15a
* Fixes NPE in isNativeInterpolator
* Fixes null interpolator to mean LinearInterpolator instead of
the default interpolator which is AccelerateDecelerateInterpolator
Bug: 15991759
Change-Id: I66ff27154de1e227a07daaebc0519ee3cc0dd38f
bug:15283203
A View's outline is now managed by its outline provider. This means
the outline is automatically requeried when needed (e.g. drawable
updates or resize), with customizable querying behavior.
Also adds 'isFilled' property to outline, to be used for hinting
shadow overdraw avoidance.
Change-Id: Ie137548fa850f1ff7863ab2f660d05145c2ad11e
This CL adds a new constructor of TextService so that spell
parcelable spans can be preserved in TextInfo. The primary usage
scenario is to provide locale information for spell checker
service.
BUG: 15869548
Change-Id: Ib58ece68dee4c6187d469049fca8c35a307c7a01
This might be useful if we need to pass some spans from the
application to the input method through CursorAnchorInfo.
This change makes CursorAnchorInfo more consistent with other
input method APIs where CharSequence is preferred over String.
BUG: 15088391
Change-Id: Ie04e8a27050849fee1c93ef14b9944acc70fafe4
Bug 15744992
MoveImage used an overlay to transition ImageViews. This
caused strange problems when ImageViews were contained in
other Views. The new ChangeImageTransform does a smooth
transition for changes in scale type and bounds.
Change-Id: Ia5021f4828f8f818a8699b3bdd38437aeba1cfc8
Tweaks animators to have less unnecessary refcounting
Pull animator management out into seperate class
More control to tweak animator lifecycle, such as doing
Java-side handling of start delay by attaching but not
starting the animator
Change-Id: I4ff8207580ca11fb38f45ef0007b406e0097281c
Previously, if an app inflated a layout in a Fragment's onCreateView
that itself had fragments included, those fragments would be added to
the Activity-level FragmentManager and would not share the same
lifecycle with the fragment it was inflated for. This led to some
nasty management headaches.
If an app targets L or above, add the fragment to the child
FragmentManager of the current fragment when inflated using the
LayoutInflater passed to the parent fragment.
Bug 12763389
Change-Id: Iad4ed7d5df602aea9579bf1503e206fa894630c1
Bug: 15838537
* Fix kSync_UIRedrawRequired constant value (woops)
* Tell CanvasContext that WebView is now rt-safe
Change-Id: Idf15cf21115c2ca24b8ccd00025e8502864cd87c
Apps calling the View methods that accept TypedArray params have
always been wrong. There is no way to call these methods safely since
apps can't get at the correct filter array assumed in these methods'
implementations. Do the best we can with these calls anyway; ignore
whatever they did pass and just get the styled attributes from the
Context used to construct the view and its associated theme.
Bug 15792674
Change-Id: I6dfa1abf273b581e79a17a72f68c97ff9a9148c5