Commit Graph

5776 Commits

Author SHA1 Message Date
Yohei Yukawa
bb9f624252 Use a bit more descriptive name for a parameter
The current parameter name "index" in
CursorAnchorInfo.Builder#setComposingText is a bit hard
to understand.

This CL names it with "composingTextStart" to clarify its usage.

Change-Id: I504939b8d2b48875d8baa9630b5a4f04a5d66dbe
2014-07-12 01:11:45 +09:00
George Mount
f3de5a2e34 Remove modified APIs
viewName was changed to transitionName and
MoveImage was replaced with ChangeImageTransform + ChangeBounds.

Change-Id: I5e0b0250ef3c926d1c3de212de3a5e1503e89b86
2014-07-11 14:37:11 +00:00
Leon Scroggins III
d66a8719b0 Merge "Simplify Shader.setLocalMatrix." 2014-07-10 21:35:02 +00:00
Leon Scroggins III
ab87983a11 Simplify Shader.setLocalMatrix.
Previously, calling setLocalMatrix updated any Paint that had the
Shader attached. This depended on deprecated behavior in Skia. Use
new Skia APIs, and do not modify any Paints that use the Shader.

In addition, update callers to call setShader (again) after modifying
the Shader.

Sample app at ag/499573 for testing.

Depends on I673801444f0a8fd4f192b5b7effdde1aa83e702b in external/skia.

BUG:14315916
Change-Id: I3c3316377874e89fccc85afb864bc038b0ef3890
2014-07-10 18:01:22 -04:00
Yohei Yukawa
7c940e94c9 Merge "Polish new IME API for L part 2: CursorAnchorInfo" 2014-07-10 21:43:01 +00:00
Yohei Yukawa
0023d0e0c4 Polish new IME API for L part 2: CursorAnchorInfo
This CL addresses feedbacks from internal customers for new
input method APIs that are mainly used for physical keyboard
support in L.

For performance reasons, #onUpdateCursorAnchorInfo is not called
back by default and each input method has to enable this
event notification explicitly whenever fine-grained character
locations are needed.

In L-preview, InputMethodSession#setCursorAnchorMonitorMode was
introduced for this purpose.  However, we got several feedbacks
to be addressed.
- The effect of #setCursorAnchorMonitorMode is not preserved
  during focus change.  IMEs need to call
  #setCursorAnchorMonitorMode every time when #onStartInput is
  called.  This is tricky and hard to understand.
- As #onUpdateCursorAnchorInfo is a new API, not all
  applications/text editors have supported it. Therefore IMEs
  can't always rely on it. However, there is no way to query
  if the attached target is supporting this new API or not.
  It would helpful for IME authors if we can provide a
  reliable way to query if the attached input target is
  supporting the new API or not.

In order to address these issues, the triggering method has
moved from InputMethodSession to InputConnection in this CL,
as an analogy of existing InputConnection#getExtractedText API,
which has provided similar functionality including optional
reactive event callbacks from the application to the IME.

BUG: 15812658
BUG: 16118603
Change-Id: I3c6b69bd9d79b199afe68d838f25effa6048e5cc
2014-07-11 21:13:17 +09:00
Alan Viverette
e34560b219 Add accessibility action to open power long-press dialog
Also fixes an infinite recursion bug in the WindowManagerService
implementation of WindowManagerInternal.

BUG: 16129909
Change-Id: I4f9d32f4e6c3ad460652c5e5271540fa5032a1f5
2014-07-10 14:54:26 -07:00
Adam Powell
ff0d298adb Add API to block focus in the presence of a touchscreen
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
2014-07-10 20:38:42 -07:00
Jorim Jaggi
6bdc9bae74 Merge "Add glyph rerasterization hack for SystemUI." 2014-07-09 20:06:40 +00:00
Jorim Jaggi
362dd6d632 Add glyph rerasterization hack for SystemUI.
Change-Id: I39d84e981b828b501801349d7a5e70a089b5f14e
2014-07-10 01:07:44 +00:00
Yohei Yukawa
0b01e7fc58 Polish new IME API for L: CursorAnchorInfo
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
2014-07-10 20:23:26 +09:00
Alan Viverette
503dca6f58 Merge "Add API for specifying popup window shadows and shadow insets" 2014-07-10 16:04:18 +00:00
Alan Viverette
ccb11e1837 Add API for specifying popup window shadows and shadow insets
BUG: 14569120
BUG: 13211941

Change-Id: Ia21596b25a0471344d42d59377074f67fce00042
2014-07-09 18:26:30 +00:00
Yohei Yukawa
eea0b8b051 Fix inconsistencies in CursorAnchorInfo#equals
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
2014-07-10 03:06:04 +00:00
Yohei Yukawa
bf655982f8 Fix regressions in existing constructors of TextInfo
This is a follow up CL for Ib58ece68dee4c6187d469049,
which unexpectedly changed behavior of existing public
constructors of TextInfo class.

BUG: 15869548
Change-Id: If5837eb771d78cc24f4d68079009eb98a5641db7
2014-07-09 23:36:45 +09:00
John Reck
dcba6725e8 Fix layers lifecycle issues
Bug: 16118540

 Fix an issue where we could have a reference to a Layer after
 the GL context was destroyed

Change-Id: I7bfd909d735ca6b942ebe188fc10099422eb6d95
2014-07-08 14:14:55 -07:00
John Reck
8360153891 Revert "Fix destroyHardwareResources"
This reverts commit bac48c4d0c6f71f67074a430cd365ea2e15924b8.

Change-Id: Iba8b729d5e91ca31976fc2bdf9c1dd5fdb19de9a
2014-07-08 15:44:41 +00:00
Chris Craik
7f87e8acbb Merge "Query outline on background size change" 2014-07-05 02:59:43 +00:00
Chris Craik
0f632046dd Query outline on background size change
Background bounds are updated out of sync with View bounds, so query
as they change.

Change-Id: I9c94df17bac42dfcd4bb93b31903b59ebb58204b
2014-07-07 19:52:58 -07:00
John Reck
ec0c925480 Fix destroyHardwareResources
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
2014-07-07 23:37:40 +00:00
Alan Viverette
fccbff5f02 Add API on AccessibilityNodeInfo for retrieving TextView error
BUG: 11155198
Change-Id: Ie01b92e1071ff584b360cfa3ece4320ad05e4aae
2014-07-07 15:06:14 -07:00
Nick Kralevich
7f7bd3c705 am 89c9c67a: am d92ab153: am a6336747: Merge "Fix a copy/paste typo in ViewPropertyAnimator"
* commit '89c9c67a33abd2f9ef9f160c6fae73364e2b8c4f':
  Fix a copy/paste typo in ViewPropertyAnimator
2014-07-05 17:03:31 +00:00
Nick Kralevich
89c9c67a33 am d92ab153: am a6336747: Merge "Fix a copy/paste typo in ViewPropertyAnimator"
* commit 'd92ab153a3a33dcd1304661a9929112ab0b40d5a':
  Fix a copy/paste typo in ViewPropertyAnimator
2014-07-05 16:56:47 +00:00
Nick Kralevich
a6336747a4 Merge "Fix a copy/paste typo in ViewPropertyAnimator" 2014-07-02 20:52:43 +00:00
John Reck
4cce48e63f Merge "Fixes to startDelay" 2014-07-02 05:06:31 +00:00
John Reck
8d8af3c1b7 Fixes to startDelay
Bug: 15991758

 Don't update the UI thread with final value until after
 startDelay

Change-Id: Ie8bffb5a3ace353ec1d82943a4efcbd01c42c28f
2014-07-01 15:32:12 -07:00
George Mount
238010f056 Allow activity transitions to target nav and status bar colors.
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
2014-07-02 06:58:38 -07:00
Adrian Roos
fa10423fa0 Add stable insets for stable system windows
Adds a new kind of inset that only accounts for stable system
windows like the system or navigation bar.

Bug: 15457292
Change-Id: I681b711f6f40a94c25b7acd3a44eb3539486afab
2014-07-02 12:34:05 +00:00
Yohei Yukawa
8b4c1e953f Merge "Require coordinate transformation matrix if necessary" 2014-07-01 21:47:40 +00:00
Yohei Yukawa
b5268dcc17 Require coordinate transformation matrix if necessary
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
2014-07-02 16:03:16 +09:00
Sujith Ramakrishnan
cc32bd83e4 Add support for mouse-based text selection.
Incorporate patch from Logitech (donated under AOSP license) to the
framework to add mouse-based text selection to ArrowKeyMovementMethod.

Bug: 14652753

Change-Id: Iab264bb954b72ccedfada763eba8f13ef37a4578
2014-07-01 15:57:45 -07:00
Adam Powell
d76008352e Remove ActionBar.LayoutParams MarginLayoutParams constructor
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
2014-07-01 15:39:28 -07:00
Svetoslav
ff1d65b32f Merge "Reverting change in accessibility focus behavior" 2014-07-01 14:50:43 +00:00
Svetoslav
f159c1a460 Reverting change in accessibility focus behavior
bug:15995066

Change-Id: Ie22f203b9a95c3002188dacc3d753ff5d789ffd9
2014-07-01 14:54:29 -07:00
John Reck
a0b13bddb2 ViewPropAnimRT fixes
* Fixes NPE in isNativeInterpolator
 * Fixes null interpolator to mean LinearInterpolator instead of
   the default interpolator which is AccelerateDecelerateInterpolator

 Bug: 15991759

Change-Id: I66ff27154de1e227a07daaebc0519ee3cc0dd38f
2014-07-01 09:39:54 -07:00
John Reck
d907e5b1ef Merge "Fix onTrimMemory for HardwareRenderer" 2014-06-30 22:27:39 +00:00
John Reck
f47a594f52 Fix onTrimMemory for HardwareRenderer
Also fixes detachFunctor possibly drawing after return

 Bug: 15189843
 Bug: 15990672

Change-Id: I64c48cb674c461a8eeaba407b697e09f72c98ce3
2014-06-30 16:36:26 -07:00
Chris Craik
9a347f1992 Initial replacement of setOutline() with ViewOutlineProvider API
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
2014-07-01 00:16:25 +00:00
John Reck
9fa3a24d65 Add missing invalidate calls
Bug: 13675947

Change-Id: Ifaf8a43f487d167672d40fa49c85949738ab9396
2014-06-30 14:18:35 +00:00
John Reck
711ecaf000 Merge "More cleanups" 2014-06-27 15:56:14 +00:00
John Reck
918ad523b2 More cleanups
Change-Id: Id5967944b949a2aec57e4fe9fdcdc04c11b8c35a
2014-06-27 22:34:16 +00:00
Yohei Yukawa
5d6b6f2892 Allow TextInfo to store ParcelableSpans for TextService
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
2014-06-30 09:42:18 +09:00
Dan Stoza
f74930be60 Merge "Surface: Add allocateBuffers to avoid render delay" 2014-06-27 15:56:14 +00:00
George Mount
31e8005e06 Merge "Don't use overlay to transition ImageViews." 2014-06-27 15:56:14 +00:00
Yohei Yukawa
a1fda005f9 Use CharSequence instead of String in CursorAnchorInfo
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
2014-06-27 16:23:09 +09:00
George Mount
990205eada Don't use overlay to transition ImageViews.
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
2014-06-25 13:45:16 -07:00
John Reck
68bfe0a37a Animator refactoring & fixes
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
2014-06-26 10:45:43 -07:00
Adam Powell
371a809179 Inflate fragments from layout into child FragmentManagers
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
2014-06-24 12:29:32 -07:00
John Reck
cd028f336e Fix contants; RT-enable WebView pt2
Bug: 15838537

 * Fix kSync_UIRedrawRequired constant value (woops)
 * Tell CanvasContext that WebView is now rt-safe

Change-Id: Idf15cf21115c2ca24b8ccd00025e8502864cd87c
2014-06-24 08:44:29 -07:00
Hui Shu
9970aee6e8 Remove the return value of invokeFunctor
BUG: 15513308

Change-Id: I900800a6c63f15bf68afaf66b34303039038d3c2
2014-06-23 17:10:50 -07:00