Commit Graph

5795 Commits

Author SHA1 Message Date
Chris Craik
6712495297 Merge "Simplify ViewRootImpl's AttachInfo usage" into lmp-dev 2014-07-17 18:05:14 +00:00
Chris Craik
d36a81f392 Simplify ViewRootImpl's AttachInfo usage
Change-Id: I4230e95ed5a52c8c5fae7d7b8d58827925db13ba
2014-07-17 11:14:15 -07:00
Adam Powell
b72be59a6a Add nested pre-fling for nested scrolling
Nested pre-fling allows a nested scrolling parent to consume a fling
operation before the child view does. If a parent has been consuming
nested pre-scroll events in a particular direction, this is generally
a good indication that it should also consume the resulting fling at
the end.

Bug 15538504

Change-Id: I88e8753a96c9b41815c3be530cafab8345164e64
2014-07-17 11:37:59 -07:00
Chris Craik
889fc94ffa Merge "Add accessibility text contrast setting" into lmp-dev 2014-07-16 21:54:23 +00:00
Chris Craik
cce47eb580 Add accessibility text contrast setting
b/14624452

Adds a feature which draws all text (in the HW accelerated standard
path) in a high contrast mode. Text is drawn at full alpha, and either
white or black (depending on its original color) with a starkly
contrasted outline beneath it.

Change-Id: I943f624b6367de35367cced3b2a8298f2bc62377
2014-07-16 18:25:23 -07:00
Alan Viverette
a51cab9288 Fix software dirty region, don't add insets to software windows
BUG: 16324957
Change-Id: Ia99619b7c314fbfce60a5ef8ac16b54680332899
2014-07-16 22:16:36 +00:00
John Reck
514a8b88f7 Merge "Fix root RenderNode damage calculation" into lmp-dev 2014-07-16 02:20:34 +00:00
John Reck
0a97330b98 Fix root RenderNode damage calculation
Bug: 15888445

Change-Id: I281ec9271c9889673dcdfcb6d31e341a7b47b7de
2014-07-16 13:55:14 -07:00
Alan Viverette
7068c39526 Fix hotspot movement on focus change
BUG: 15726988
Change-Id: I97f88e5f7e404ecfcd5c254fddd18c8f6616064e
2014-07-16 00:06:14 +00:00
Alan Viverette
57774a82f0 Ensure surfaces with insets aren't rendered as opaque
BUG: 16312821
Change-Id: Ie3012c34712b7bf91a2086a6b8c922d0ebfff2e6
2014-07-15 15:49:55 -07:00
Fabrice Di Meglio
bd9152f6ee Update DatePicker widget and its related dialog
- the old DatePicker widget is still there for obvious layout compatibility reasons
- add a new delegate implementation for having a new UI
- use the new delegate only for the DatePickerDialog (which does not need to be
the same)
- added support for Theming and light/dark Themes
- added support for RTL
- added support for Accessibility
- verified support for Keyboard
- verified that CTS tests for DatePicker are passing (for both the legacy and the
new widgets)

Also added a new HapticFeedbackConstants.CALENDAR_DATE and its related code for
enabling day selection vibration

Change-Id: I256bd7c21edd8f3b910413ca15ce26d3a5ef7d9c
2014-07-15 20:26:21 +00:00
Craig Mautner
bb74246278 Launch activity behind launching task.
Use ActivityOptions.makeLaunchTaskBehindAnimation() to launch tasks
behind the current task. Includes animations for launching and
launched tasks.

Fixes bug 16157517.

Change-Id: I0a94af70b4748592e94673b958ee824cfb3d7ec0
2014-07-15 11:36:25 -07:00
Alan Viverette
49a22e8202 Add window elevation for dialogs, clean up surface insets API
BUG: 13211941
Change-Id: I9d605d0b2fb24f9bf8e73fbecd520b6b52ae5751
2014-07-14 23:13:28 +00:00
RoboErik
550116576c Add API to set a default session in Activity
We may have multiple remote sessions at once so an app needs a way
to specify a default session to route media and volume commands to
when its activity is in the foreground. This adds an api that works
in parallel with the default stream api on Activity.

bug:15727927
Change-Id: I5b67cb3e20647f9437d90aa65be63efe8c7865cf
2014-07-14 11:17:06 -07:00
Alan Viverette
58c42c3596 Specify light and shadow properties in theme
BUG: 15859361
Change-Id: I65c9aa8c7ad7a709504c879d96158efba040d3ce
2014-07-12 20:49:17 -07:00
Chris Craik
7b7ca3cdf2 Disable setOutline() functionality, pending full removal
bug:15283203
Change-Id: Ibf127fecfcda835117c6087180c64f622b3041e4
2014-07-11 19:02:28 -07:00
Adam Powell
1c35b08c93 Add ViewGroup#getClipToPadding()
It's kind of silly that we've gone this long without a good way to
query this since it makes writing custom views that properly handle
EdgeEffects, etc. a real pain.

Change-Id: I08e1cdf9ec7b8ec3c287c22a5aa19d07a166a4e0
2014-07-11 16:12:53 -07:00
Chet Haase
685206cb03 Merge "Optimize gatherTransparentRegions to account for transparent bg" 2014-07-10 20:49:26 +00:00
Chet Haase
2b45a16b8b Optimize gatherTransparentRegions to account for transparent bg
gatherTransparentRegions() incorrectly takes the background into account
even when that background drawable is a completely transparent ColorDrawable
(which you can get by calling View.setBackgroundColor(0)). Checking
the opacity of the drawable allows us to ignore drawables that are not
visible.

Issue #13465427 Performance suggestion: View.setBackgroundColor(0) should set background to null

Change-Id: Ic552bf6a07cc9229fd32febc3ada73a0701cad0c
2014-07-11 13:38:51 -07:00
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
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
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
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