Commit Graph

6260 Commits

Author SHA1 Message Date
Filip Gruszczynski
3e11bf33a6 Support for devices with a chin.
Information about the chin is now part of the config.xml instead of the
theme. It is retrieved by WindowManagerService and passed to the clients
as insets. Clients can adjust their behavior in a way that makes it
invisible to the user, that part of the surface doesn't actually exist.

Bug: 19908853

Change-Id: Iedf57bf3c848201b854f91ffeb3b59187d375c1f
2015-05-20 14:20:30 -07:00
John Reck
951f23478d am d955dceb: am 862540cd: Merge "Revert "DO NOT MERGE Backport of limited jank-tracking metrics"" into lmp-mr1-dev
* commit 'd955dceb4f38f214e62024e808b2b1a21be41940':
  Revert "DO NOT MERGE Backport of limited jank-tracking metrics"
2015-05-14 01:05:47 +00:00
John Reck
d955dceb4f am 862540cd: Merge "Revert "DO NOT MERGE Backport of limited jank-tracking metrics"" into lmp-mr1-dev
* commit '862540cdb11a7128ae1fd670136f398645b4af7b':
  Revert "DO NOT MERGE Backport of limited jank-tracking metrics"
2015-05-14 00:51:07 +00:00
John Reck
862540cdb1 Merge "Revert "DO NOT MERGE Backport of limited jank-tracking metrics"" into lmp-mr1-dev 2015-05-14 00:40:45 +00:00
John Reck
e869835d6a am a5b28b92: am 69355eaa: Merge "DO NOT MERGE Backport of limited jank-tracking metrics" into lmp-mr1-dev
* commit 'a5b28b92b14d0949d43be6198fedc31872ad07f6':
  DO NOT MERGE Backport of limited jank-tracking metrics
2015-05-13 22:07:15 +00:00
John Reck
a5b28b92b1 am 69355eaa: Merge "DO NOT MERGE Backport of limited jank-tracking metrics" into lmp-mr1-dev
* commit '69355eaa1c1f4bfc961d5dd9fdb0f3817d36d5f0':
  DO NOT MERGE Backport of limited jank-tracking metrics
2015-05-13 21:52:50 +00:00
John Reck
25607a6642 Revert "DO NOT MERGE Backport of limited jank-tracking metrics"
This reverts commit 2614bd225f.

Change-Id: I344b4cbaa0bb0caf50bceb806d1446ee27ea52d8
2015-05-13 21:42:28 +00:00
John Reck
69355eaa1c Merge "DO NOT MERGE Backport of limited jank-tracking metrics" into lmp-mr1-dev 2015-05-13 21:42:13 +00:00
Svetoslav
13d8e41d3a am c6be7545: am 37661db7: AccessibilityNodeInfo refresh returns a stale state. - DO NOT MERGE
* commit 'c6be7545b4106b9ba586e365f2d2ab911cafea93':
  AccessibilityNodeInfo refresh returns a stale state. - DO NOT MERGE
2015-03-31 16:41:00 +00:00
Svetoslav
c6be7545b4 am 37661db7: AccessibilityNodeInfo refresh returns a stale state. - DO NOT MERGE
* commit '37661db7fa58c0559ef2b73b6f8c38124e3acd4a':
  AccessibilityNodeInfo refresh returns a stale state. - DO NOT MERGE
2015-03-31 16:33:21 +00:00
Svetoslav
37661db7fa AccessibilityNodeInfo refresh returns a stale state. - DO NOT MERGE
AccessibilityNodeInfo refresh was getting the latest cached
state but this is not good enough as an accessibility service
can execute an action on the node and then refresh it to get
the new state.

bug:16954787

Change-Id: I004b4987b8dc423a2ab7031a4fbfe64365ddd7fe
(cherry picked from commit 5738fec00d)
2015-03-31 01:25:35 +00:00
John Reck
2614bd225f DO NOT MERGE Backport of limited jank-tracking metrics
Bug: 19821830

Cherry-pick of ba6adf66d3
Cherry-pick of e70c5754d0

Change-Id: Id342fa0ab345f204bec58acf45ce72f6de950cfb
2015-03-18 14:22:01 -07:00
Griff Hazen
a093802171 Allow emulator to select a window outset bottom
And clean up some copied around code.

Bug: 17440607

Change-Id: I5cf9c58b49110c4be1a77dc9c410fedc6b99aef3
2015-03-13 10:01:41 -07:00
Jeff Brown
c2932a1be3 Hold a wake lock while dozing when display updates are pending.
When the display state is DOZE or DOZE_SUSPEND, assume this means
that the AP may go to sleep at any time so hold a wake lock for
a little while starting when traversals are scheduled to ensure
that the AP remains awake long enough to draw and post the frame
to the display hardware.

This patch is somewhat approximate but should be good enough for
most devices today.

Note that the implementation uses the window manager to ensure that
the window which wants to draw is actually visible before acquiring
the wake lock.  There is a cost to this test (a round-trip) which
should not be significant today since we do not expect apps to draw
more than one frame or two while dozing.  However, if we wanted to
support animations in general, we might want to optimize it or
eliminate the check altogether (since we can already account for
the app's use of the wake lock).

Another way to implement this functionality might be for the view
hierarchy to listen for the power manager to report that it has entered
a non-interactive power state before deciding to poke draw locks.
This would be somewhat more accurate than watching the display state.
Also, the draw lock timeout logic could be implemented more directly
instead of using an ordinary timed wake lock.

Bug: 18284212
Change-Id: I84b341c678303e8b7481bd1620e634fe82cc4350
2015-02-20 10:54:09 -08:00
Svetoslav
5136791b34 am 599c1042: Accessibility: Ensure fresh accessilbity focused and input focused nodes. automerge: 27ad2e9
* commit '599c1042896564906935bc688bbb85515a6dfa45':
  Accessibility: Ensure fresh accessilbity focused and input focused nodes.
2015-02-13 03:43:29 +00:00
Svetoslav
599c104289 Accessibility: Ensure fresh accessilbity focused and input focused nodes.
automerge: 27ad2e9

* commit '27ad2e95b40fd0ca76de384695498ea114d627ca':
  Accessibility: Ensure fresh accessilbity focused and input focused nodes.
2015-02-13 03:37:00 +00:00
Svetoslav
27ad2e95b4 Accessibility: Ensure fresh accessilbity focused and input focused nodes.
Change-Id: Ia3c84284843a415cdbbc2b6a9b06d9ddffbe0e04
2015-02-13 01:59:11 +00:00
Svetoslav
cf2c8545bd am 5521f39f: am c73cfa0f: Accessibiltiy: missed update to the previous patch.
* commit '5521f39ff75d2af909061581e27810afaa9ed242':
  Accessibiltiy: missed update to the previous patch.
2015-02-10 03:01:50 +00:00
Svetoslav
5521f39ff7 am c73cfa0f: Accessibiltiy: missed update to the previous patch.
* commit 'c73cfa0ffba344a83d61e2f4eb9715152a2807b8':
  Accessibiltiy: missed update to the previous patch.
2015-02-10 02:51:30 +00:00
Svetoslav
c73cfa0ffb Accessibiltiy: missed update to the previous patch.
Change-Id: I4c47d38f5e137dcc1c6db0561b3824a26572027d
2015-02-09 18:33:07 -08:00
Baligh Uddin
2083173af9 am fbf9666f: am b2ba6dfc: Merge "Accessibility: Handle a missed case when clicking focused views." into lmp-mr1-dev
* commit 'fbf9666f846284ee1d4d09e2d36f0d2b92120656':
  Accessibility: Handle a missed case when clicking focused views.
2015-02-10 01:17:42 +00:00
Baligh Uddin
fbf9666f84 am b2ba6dfc: Merge "Accessibility: Handle a missed case when clicking focused views." into lmp-mr1-dev
* commit 'b2ba6dfc7b33ec9e58d9f556206440a26069e264':
  Accessibility: Handle a missed case when clicking focused views.
2015-02-10 01:07:08 +00:00
Svet Ganov
f33fe1f486 Accessibility: Handle a missed case when clicking focused views.
The special logic for clicking on views in accessibility mode should not
prevent event interception and if a view interceptes the gesture we must
clear the special flag and do normal event dispatch. Also once we have a
view handling the touch gesture we do not need the special flag as we
know what will handle the event. This tightly follows standard event
dispatching.

bug:19252492

Change-Id: I0c9764c5050ec73f5f7980f3f0340dd9509a725a
2015-02-07 10:36:59 -08:00
Bryce Lee
1d97aa4d20 Merge "Allow single press of physical button to go home without sleeping." into lmp-mr1-modular-dev 2015-02-07 00:32:27 +00:00
Svet Ganov
eb642b60e7 am ff9b2525: am 34123f1c: Merge "Accessibility: ignore children of a view with node provider." into lmp-mr1-dev
* commit 'ff9b2525db61d4c175d9d61a0847586001cd4a11':
  Accessibility: ignore children of a view with node provider.
2015-02-06 23:58:52 +00:00
Svet Ganov
763ce6c0c4 am 41daba00: am 060bca74: Merge "Accessibility: Handle a missed case when clicking focused views." into lmp-mr1-dev
* commit '41daba0052f4a9146aad4977da9eccf3c72450ce':
  Accessibility: Handle a missed case when clicking focused views.
2015-02-06 23:58:49 +00:00
Svet Ganov
ff9b2525db am 34123f1c: Merge "Accessibility: ignore children of a view with node provider." into lmp-mr1-dev
* commit '34123f1ce83e39a5a6045b1a90a148cd4c514e7e':
  Accessibility: ignore children of a view with node provider.
2015-02-06 21:51:15 +00:00
Svet Ganov
41daba0052 am 060bca74: Merge "Accessibility: Handle a missed case when clicking focused views." into lmp-mr1-dev
* commit '060bca7444b8bf34fa95a6a71daf72fa8a85d78e':
  Accessibility: Handle a missed case when clicking focused views.
2015-02-06 21:51:11 +00:00
Svet Ganov
34123f1ce8 Merge "Accessibility: ignore children of a view with node provider." into lmp-mr1-dev 2015-02-06 21:49:02 +00:00
Svet Ganov
55bdb10c16 Accessibility: ignore children of a view with node provider.
A view that has an accessibility node provider should not have real children
since the provider is responsible to generate the node infos for the subtree
rooted at its hosting view. This is how the APIs are designed to work. However,
it is a common mistake and if this occurs the accessibility services
introspecting the screen get into an infinite loop.

The framework now does not add the real children of a view with a node provider
to the list of accessibility children. If the developer wants them exposed they
have to do that via the provider APIs as per contract.

bug:19297093

Change-Id: I1b01b1e4a85e1c397886fcd2506b434beb063687
2015-02-06 12:41:21 -08:00
Bryce Lee
53b9fbd161 Expose userActivityTimeout through @SystemApi getter/setter.
This reverts commit 0dad572090.
System api documentation is not updated under PDK builds.

Change-Id: I851bcd66e0b764265e69ac104d5604bf316d5d10
2015-02-06 12:06:34 -08:00
Bryce Lee
0dad572090 Revert "Expose userActivityTimeout through @SystemApi getter/setter."
This reverts commit 40a0ee65f2.

Change-Id: Ida1a40db25643f97e82d517bcf147f23e4a3a0fe
2015-02-06 19:35:33 +00:00
Svet Ganov
0a2cceebd5 Accessibility: Handle a missed case when clicking focused views.
The clicking logic was missing the case where a child of the accessibility
focused view reacts to the injected down up events for clicking. This
results of a whole class of views being non-interactive. Now if an event
is targeting accessibility focus and the dispatching view group has this
focus, we clear the flag before dispatching to children, so they can
handle the event rather ignoring it becuase they are not accessibility
focused.

bug:19252492

Change-Id: I6ac25bb7a50b35bb638ca4bfb9fc4198d08c2d4d
2015-02-06 10:23:33 -08:00
Bryce Lee
40a0ee65f2 Expose userActivityTimeout through @SystemApi getter/setter.
This change will make it accessible to unbundled wear home.

Bug: 18721755
Change-Id: I0634dbc5d8d8ebe25e45af0a1b1186fda5254dd5
2015-02-06 02:42:52 +00:00
Bryce Lee
01b0c5f55b Allow single press of physical button to go home without sleeping.
Bug: 18921423
Change-Id: Ic7ee7daeaf1b4e08a7c53451615736ee7a08fb61
2015-02-05 18:24:04 -08:00
Alan Viverette
80b381c073 am 9a166c7d: Merge "Mutate scroll bar drawables" into lmp-mr1-dev
* commit '9a166c7da3d77c4b9801dbe249f78149649d5b0e':
  Mutate scroll bar drawables
2015-02-06 00:25:33 +00:00
Alan Viverette
f8512ce081 Mutate scroll bar drawables
Bug: 19285726
Change-Id: I4bb596433c1fa1cc4e2fa53d0cdae992f9add858
2015-02-05 15:58:56 -08:00
George Mount
23eef1ec5e Fix TODO in javadoc for FEATURE_CONTENT_TRANSITIONS.
automerge: c3a043c

* commit 'c3a043cf0e1c91dcffc2cd596908266ba92a4c28':
  Fix TODO in javadoc for FEATURE_CONTENT_TRANSITIONS.
2015-02-05 00:15:50 +00:00
George Mount
c3a043cf0e Fix TODO in javadoc for FEATURE_CONTENT_TRANSITIONS.
Bug 19254085

Change-Id: I22d4c4e3d1d754ab96741eb0e0290d1ecfc05552
2015-02-04 15:27:56 -08:00
Svetoslav
b6b526eaaf Fix broken activation of the selected view in accessibility mode.
automerge: ded133c

* commit 'ded133c446fa9d0d23e6bde19a66fb2ce3980491':
  Fix broken activation of the selected view in accessibility mode.
2015-02-03 07:20:34 +00:00
Svetoslav
ded133c446 Fix broken activation of the selected view in accessibility mode.
We were using an approximation to determine where to send a pair of down
and up events to click on the view that has accessibility focus. We were
doing reverse computation to figuring out which portion of the view is
not covered by interactive views and get a point in this region. However,
determining whether a view is interactive is not feasible in general since
for example may override onTouchEvent. This results in views not being
activated or which is worse wrong views being activated.

This change swithes to a new approach to activate views in accessibility
mode which is guaranteed to always work except the very rare case of a
view that overrides dispatchTouchEvent (which developers shouldn't be
doing). The new approach is to flag the down and up events pair sent
by the touch explorer as targeting the accessibility focused view. Such
events are dispatched such that views predecessors of the accessibility
focus do not handle them guaranteeing that these events reach the accessibiliy
focused view. Once the accessibiliy focused view gets such an event it clears
the flag and the event is dispatched following the normal event dispatch
semantics.

The new approach is semantically equivalent to requesting the view to perform
a click accessiblitiy action but is more generic as it is not affected by
views not implementing click action support correctly.

bug:18986806
bug:18889611

Change-Id: Id4b7b886c9fd34f7eb11e606636d8e3bab122869
2015-02-02 23:17:17 +00:00
Svetoslav
55120a0f1a am 197adec3: Merge "Accessibility: Ignore overlapping siblings when computing a click location" into lmp-mr1-dev
* commit '197adec3656fc087d4aa56396e601bb8d04aa9fd':
  Accessibility: Ignore overlapping siblings when computing a click location
2015-01-27 04:26:51 +00:00
Svetoslav
197adec365 Merge "Accessibility: Ignore overlapping siblings when computing a click location" into lmp-mr1-dev 2015-01-27 04:23:44 +00:00
Chris Craik
00c53d66dd am cdd8b7f8: Merge "Invalidate outline on padding update" into lmp-mr1-dev
* commit 'cdd8b7f8199eb94ca133c8cebddf86adb0f9bb11':
  Invalidate outline on padding update
2015-01-27 01:13:00 +00:00
Chris Craik
c43a820945 Invalidate outline on padding update
bug:19113359

Ensures that ViewOutlineProvider#PADDED_BOUNDS is always kept up to
date with the view's padding.

Change-Id: I5e090bd8272e89d6b8b9055dbe95ef3d45333fcb
2015-01-26 14:40:29 -08:00
Svetoslav
a1ac6a0925 Accessibility: Ignore overlapping siblings when computing a click location
To click a view we were computing a click location by ignoring overlapping
views that are actionable. However, detection whether a view is actionable
is not always possible as the view may handle touch events directly. This
leads to unhandled edge cases. We are taking a conservative approach and
ignore all overlapping siblings regardless if clickable. This is also has
limitations but hopefully less frequent edge cases.

bug:18889611

Change-Id: Icea0b7b3e2d4ed53e50e01cb6a99b880be560b14
2015-01-23 16:13:43 -08:00
Svetoslav
6e9f276ff1 am 42a13865: Merge "Accessibilty: Cannot click on views in a scrollable container covered by the toolbar." into lmp-mr1-dev
* commit '42a13865a4527aaf907a6ced96f726b49b2cbbed':
  Accessibilty: Cannot click on views in a scrollable container covered by the toolbar.
2015-01-23 22:27:04 +00:00
Svetoslav
41fceb462b Accessibilty: Cannot click on views in a scrollable container covered by the toolbar.
In accessibility mode we calculate a point where to click in the accessibility
focused view as a bridge-gap solution before switching to accessibility click
actions. We cannot detect whether a view is covered by another one that consumes
all touch events, and therefore we may click on the wrong target. This was the
case with the toolbar. As a result a partially scrolled view in a scrollable
container covered by a toolbar cannot be activated and this is not an edge case.

bug:18986806

Change-Id: Ib41470c39806cec13e9b00b319879cd7f3412ab5
2015-01-22 18:51:47 -08:00
Bryce Lee
e036ce2e70 am 9320e9f0: Merge "Update javadoc for DEFAULT_FEATURES deprecation." into lmp-mr1-dev
* commit '9320e9f0a6af9269bc145ec7ab3d4b351f0614af':
  Update javadoc for DEFAULT_FEATURES deprecation.
2015-01-13 19:01:24 +00:00
Adam Powell
57744dd139 am 69c22e82: Merge "Add API for nested pre-processing of a11y events; fix ResolverDrawerLayout" into lmp-mr1-dev
* commit '69c22e82e9c3e95f4689a57320de3199ffd29262':
  Add API for nested pre-processing of a11y events; fix ResolverDrawerLayout
2015-01-13 19:01:19 +00:00