Commit Graph

5815 Commits

Author SHA1 Message Date
Chris Craik
a753f4c6cb Move ClipBounds to native
bug:15698973

Also simplifies RenderNode LTRB properties

Change-Id: I09263a697b71d325a46b57cd5250a2b165f251c8
2014-07-25 20:56:50 +00:00
Svetoslav
a4725efd0b Improve the window query API performamce.
We are caching the window data in the accessibility service process.
When windows change we were sending the dalta of the windows the
service knows about. To make this work when the app asked for all
windows we had to call into the system as new windows may have
appeared. This was slow.

Now we are telling the service some windows change and if it gets
the windows we cache them. We call into the system only on a cache
miss and evict all windows from the cache on window change event.
We do not evict the nodes of the window as the former may have
just moved. If views in a window change they fire accessibility
events that trigger the correct eviction.

Change-Id: I586a72a2497b0d44a75288fa758e7e88817f3300
2014-07-25 01:17:02 +00:00
Svetoslav
f7c42c5067 Updated accessibility nodes not properly cached.
We have an accessibiliy node info cache in the process of each
accessibility service. Sometimes the cached node changes and
in this case we have evict from the cache the sub-trees rooted
at children that are no longer present. There was bug where if
none of the children is present anymore we did not evict their
sub-trees.

Also the verification logic was not stopping if a duplicate
node is seen potentially getting into an infinite loop.

bug:15729762

Change-Id: I7adf4f0a1bde07b385556d9acdded5059231f1f3
2014-07-24 19:24:42 +00:00
Chris Craik
058fc64001 Connect shadow style attributes to renderer
bug:15859361

Moves lighting info out of StatefulBaseRenderer, since it's not useful
at record time, and only used by OGLR.

Change-Id: I7ab065d02d9304afad1dc4c48597a7a621366f8e
2014-07-24 16:41:13 +00:00
Sander Alewijnse
d2a1eec400 Add Device Policy API to disable screen capture.
WindowManager will set secure flag on SurfaceControl for
all windows of a flagged user to prevent screen capture.
API is consistent with the camera disable API.

Change-Id: Ib180f67f1ad827b6f4aca2af615274256cce58f4
2014-07-23 13:44:28 +00:00
Chris Craik
c403a39089 Merge "Make setter methods on Outline call setEmpty() based on params" into lmp-dev 2014-07-22 22:02:55 +00:00
Chris Craik
0645128b80 Make setter methods on Outline call setEmpty() based on params
bug:16142564

Additionally, better define behavior around null outline providers:

A view with an empty outline, and setClipToOutline=true will not be
rendered, though one with a null outline provider
(and thus no outline) will be.

Change-Id: Ic9549841b107b2eb51b417c66058a0cd69dd89eb
2014-07-22 15:15:11 -07:00
Adam Powell
f1489c75f6 Merge "Allow focusable in touch mode views to ignore touchscreen focus blocks" into lmp-dev 2014-07-19 22:40:06 +00:00
Jeff Brown
970d4132ea Allow dreams to control screen state and brightness.
Added setDozeScreenState() and setDozeScreenBrightness() methods to
DreamService.  The values specified here only take effect once
startDozing is called and can be changed while dozing.

This required some significant rework of the display power controller
but the result seems quite nice and better represents the policy
we want to apply.

Changed the test dream a little bit to make it flash the screen
every minute using the new functions.

Bug: 15903322
Change-Id: I83bcc34503f1b87727d2b2b3c0ef08507f9f0808
2014-07-22 01:18:26 +00:00
Adam Powell
88c11754c1 Allow focusable in touch mode views to ignore touchscreen focus blocks
Bug 16284253

Change-Id: I7cddf1988b0c24ae3050a13d2ce6fb3143d8aade
2014-07-21 18:12:34 -07:00
Alan Viverette
4f64c04850 Clean up view tinting APIs, tileModeX/Y attribute docs
BUG: 16400590
BUG: 16403307
Change-Id: Ie924815a39eb0e683d1982b08ec478ed3edbfb7b
2014-07-22 01:03:58 +00:00
Alan Viverette
ac89416c77 Always apply surface insets
Change-Id: I9d8ad0c7fcf7a1016e01c2332f45614da5d2cf0c
2014-07-21 12:10:30 -07:00
Yohei Yukawa
ad8f1673f6 Merge "Add FLAG_CURSOR_ANCHOR_INFO_IMMEDIATE support in TextView" into lmp-dev 2014-07-17 21:15:46 +00:00
Yohei Yukawa
ff328ae743 Add FLAG_CURSOR_ANCHOR_INFO_IMMEDIATE support in TextView
This CL adds an initial support of
CursorAnchorInfoRequest#FLAG_CURSOR_ANCHOR_INFO_IMMEDIATE for
TextView.

This implementation is not highly optimized yet, but it just
works as it should.

BUG: 16379288
Change-Id: Iecb32b4c4dcd7db14d8b2a0d929e1d64e161bc58
2014-07-19 12:59:52 +09:00
John Reck
c01bd1167a Return Animator instead of ValueAnimator
Change-Id: I29a7cfdc7ffbb3a4d33f9e64f9d7ca791f5c947c
2014-07-19 02:00:15 +00:00
Chris Craik
31ba192dd2 Tweaks to outline API
b/15283203
b/16142564

Remove boolean return value chaining, as it's redundant with
the data in the Outline itself.

Change-Id: I3116e57cd1b35c98b74e95195117edd7e39fb2df
2014-07-19 00:13:59 +00:00
Dake Gu
7bf379c8af ActivityTransition: fix wrong width/height applied to sharedelement.
transform screen position/size to position/size in parent of sharedelement.
fixed bug of transformMatirxToLocal() and transformMatrixToGlobal() that gets

Change-Id: I4c7b12f1ada7004ab7594961df4079be4ca4c909
2014-07-18 22:49:57 +00:00
John Reck
d3de42cae8 Add RT-enabled reveal animator
Bug: 16161431

 Also re-writes RevealAnimator to avoid using any listeners internally,
 removing the logic around shadowing the update listeners.

Change-Id: I6ed8126398eed971a87f20bccb7584c9acafbb6c
2014-07-18 22:10:22 +00:00
Jeff Brown
5dc219142a Add new Display.STATE_DOZE_SUSPEND power state.
Change-Id: Ia62f4f0d25234281dc600d0b7f08b3c6a312db7a
2014-07-18 21:28:18 -07:00
Narayan Kamath
6648dded69 Fix broken locale related assumptions in TextServicesManager.
startsWith is a bogus check unless languages match. Also, don't
assume 2 letter languages.

bug: 10090157
Change-Id: I8adda61bddc465aac261c0ce2023fa9606affe1b
2014-07-18 15:02:34 +01:00
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