Commit Graph

6130 Commits

Author SHA1 Message Date
Svetoslav
cd34983dfa am 89e5035d: am dcf21b96: Merge "Enhance computation of click point for accessibility." into lmp-mr1-dev automerge: 74a4a8d
* commit '89e5035da643369b857ebc87d11aa5190b1fb8df':
  Enhance computation of click point for accessibility.
2014-10-25 02:36:18 +00:00
Svetoslav
89e5035da6 am dcf21b96: Merge "Enhance computation of click point for accessibility." into lmp-mr1-dev automerge: 74a4a8d
* commit 'dcf21b968d3bd15f7e917ee585cf2a8dbe1babd5':
  Enhance computation of click point for accessibility.
2014-10-24 23:03:25 +00:00
Svetoslav
74a4a8d616 Merge "Enhance computation of click point for accessibility." into lmp-mr1-dev 2014-10-24 21:57:39 +00:00
Svetoslav
8ec648c18f am eed63916: am bd6fabe2: Merge "APIs for an accessibility service to put interaction tracking overlays." into lmp-mr1-dev automerge: 89e7ffe
* commit 'eed63916a184b05fa8572c9a8151745d05777740':
  APIs for an accessibility service to put interaction tracking overlays.
2014-10-24 02:14:06 +00:00
Svetoslav
eed63916a1 am bd6fabe2: Merge "APIs for an accessibility service to put interaction tracking overlays." into lmp-mr1-dev
automerge: 89e7ffe

* commit '89e7ffedadd20a3091e72b42f86c500452df193c':
  APIs for an accessibility service to put interaction tracking overlays.
2014-10-24 02:04:11 +00:00
Svetoslav
bd6fabe2ae Merge "APIs for an accessibility service to put interaction tracking overlays." into lmp-mr1-dev 2014-10-23 23:17:21 +00:00
Yigit Boyar
ba4814a49c am ab43570f: am f3ab4410: am fa9ed8ca: Merge "Added a generic configuration and theme based cache" into lmp-mr1-dev
* commit 'ab43570f5db770e55a73ccff346b3e922443d126':
  Added a generic configuration and theme based cache
2014-10-23 22:18:17 +00:00
John Reck
b19bb9bb5a am 35447aea: am fed6f4ef: am aca6ccf4: Merge "Improve documentation" into lmp-mr1-dev
* commit '35447aeabdb93d75074da6a9cb868500215f89d5':
  Improve documentation
2014-10-23 22:18:13 +00:00
George Mount
8132c699b1 am b5742f99: am 941252d3: am 523a129c: Merge "Use one method to change bounds in ChangeBounds." into lmp-mr1-dev
* commit 'b5742f997d3179f57c305c940dda35bf2f2aedc4':
  Use one method to change bounds in ChangeBounds.
2014-10-23 22:18:00 +00:00
Yigit Boyar
ab43570f5d am f3ab4410: am fa9ed8ca: Merge "Added a generic configuration and theme based cache" into lmp-mr1-dev
* commit 'f3ab441090a05bd428b9488b2e8e175f33bd6fe9':
  Added a generic configuration and theme based cache
2014-10-23 22:04:11 +00:00
John Reck
35447aeabd am fed6f4ef: am aca6ccf4: Merge "Improve documentation" into lmp-mr1-dev
* commit 'fed6f4ef2310ab3ec33d439702ea47f9b623795a':
  Improve documentation
2014-10-23 22:04:01 +00:00
George Mount
b5742f997d am 941252d3: am 523a129c: Merge "Use one method to change bounds in ChangeBounds." into lmp-mr1-dev
* commit '941252d3f002bbace92212e4f6340980984ce3ae':
  Use one method to change bounds in ChangeBounds.
2014-10-23 22:03:38 +00:00
Yigit Boyar
fa9ed8ca0a Merge "Added a generic configuration and theme based cache" into lmp-mr1-dev 2014-10-23 21:06:24 +00:00
John Reck
aca6ccf403 Merge "Improve documentation" into lmp-mr1-dev 2014-10-23 21:00:45 +00:00
John Reck
43a5328c83 Improve documentation
Bug: 17440886

Change-Id: I3f5c0dab6e08c0097fe60eb269e7fffe7b48b563
2014-10-23 13:58:34 -07:00
George Mount
523a129ced Merge "Use one method to change bounds in ChangeBounds." into lmp-mr1-dev 2014-10-23 20:52:13 +00:00
George Mount
d359952459 Use one method to change bounds in ChangeBounds.
Bug 17936593

Instead of calling setLeft(), setTop(), setRight(), setBottom()
separately, make one call that does all at the same time.

Change-Id: I986274f3a98b3136e71204501ffc272986ad31dd
2014-10-23 13:08:15 -07:00
Yigit Boyar
d422dc358f Added a generic configuration and theme based cache
For now, only animators use it but we can consider migrating
drawable cache to it as well.

Bug: 17456416
Change-Id: I571b96856805edb171f0fc52e6bff5a365f46b70
2014-10-23 11:46:01 -07:00
Svetoslav
8c4e97db87 Enhance computation of click point for accessibility.
In explore by touch mode the user performs a double tap to click on
an item. In this case the system sends down and up events at the
location of accessibility focus. The accessibility focused view may
be partially covered. In order to click in this view we compute a
point where to send the down and up events. This clicking strategy
is a bridge-gap and we will switch to accessibility actions in the
future.

When computing the point to click we were taking into account whether
the view was covered by a clickable sibling or a clickable sibling of
a predecessor. Despite our expectation cases in which this is not
enough happen in practice. In particular, the focused view may be
covered by a clickable descendant of a non-clickable sibling of a
predecessor that covers the focused view. This change takes care
of handling this case. Note that computing the click point is a fair
amount of work but this happens very rarely and on demand. Also the
code is short circuiting where possible.

Change-Id: I4d3cd8b67a7baf0bcc12f370ea7ba1b04c42c355
2014-10-23 17:46:39 +00:00
Wale Ogunwale
8c5304a95d am cbe7f818: am 1546422e: am d0aae5a2: Merge "Fix issue #17789629: PopupWindow overlaps with navigation bar." into lmp-mr1-dev
* commit 'cbe7f81819ca4ffb4da53e29121911fc35be0eee':
  Fix issue #17789629: PopupWindow overlaps with navigation bar.
2014-10-22 22:51:40 +00:00
Wale Ogunwale
cbe7f81819 am 1546422e: am d0aae5a2: Merge "Fix issue #17789629: PopupWindow overlaps with navigation bar." into lmp-mr1-dev
* commit '1546422ea7b0c62e6205ab9e85a370caf1d01756':
  Fix issue #17789629: PopupWindow overlaps with navigation bar.
2014-10-22 22:39:35 +00:00
Wale Ogunwale
d0aae5a222 Merge "Fix issue #17789629: PopupWindow overlaps with navigation bar." into lmp-mr1-dev 2014-10-22 22:17:19 +00:00
Derek Sollenberger
425cc668a9 Merge "Refactor HWUI to better handle Canvas DrawFilters." 2014-10-22 15:59:28 +00:00
John Reck
7ab73f1e98 am e73a54f3: am bf463af2: Merge "Surface:lockHardwareCanvas" into lmp-mr1-dev
automerge: 76f24bd

* commit '76f24bde7816dd97ed2375ec41c9817be0330d9f':
  Surface:lockHardwareCanvas
2014-10-21 23:34:46 +00:00
Svetoslav
3a5c721072 APIs for an accessibility service to put interaction tracking overlays.
An accessibility service may register to observe the interactive windows
on the primary display. These windows are the one that has input focus and
ones a sighted user can touch. It is sometimes beneficial for an
accessibility service to overlay a window to intercept user interaction
and based on that introspect and perform an action on the windows that
are on the screen. This is problematic as overlaying a full screen window
that is touchable prevents the accessibility service to introspect the
content under this window.

This change adds a special type of window that only an accessibility service
can place which does not affect what an accessibility service can "see" on
the screen. Hence, even putting such a window full screen the service will
be able to interact with the other interactive windows it covers.

Change-Id: I053ccc3a5c6360a98dc40bdb172b54dab35d8b31
2014-10-21 14:45:53 -07:00
John Reck
76f24bde78 am e73a54f3: am bf463af2: Merge "Surface:lockHardwareCanvas" into lmp-mr1-dev
* commit 'e73a54f33c029552469fcf1cda46eed2f360a38e':
  Surface:lockHardwareCanvas
2014-10-21 21:39:36 +00:00
John Reck
bf463af2a5 Merge "Surface:lockHardwareCanvas" into lmp-mr1-dev 2014-10-21 20:59:53 +00:00
John Reck
bb2d0cc7e1 Surface:lockHardwareCanvas
Bug: 17440886

Change-Id: I1f2d98c63ec1a2814c2258cf7e0096139263770a
2014-10-21 13:23:56 -07:00
Wale Ogunwale
393b1c1e88 Fix issue #17789629: PopupWindow overlaps with navigation bar.
The Lollipop release introduced a feature that allowed
apps to extend under the navigation bar. This also means
any popup window that is anchored to the bottom of its
parent window will overlap with the navigation bar if the
parent window is extending underneath the navigation bar.

This change introduces a new window flag
(FLAG_LAYOUT_ATTACHED_IN_DECOR) that allows the app to
specify if the popup window should be attached to the decor
frame of the parent window thereby avoiding an overlap
with the screen decorations.

By default the flag is set on SDK version LOLLIPOP_MR1 or
greater and cleared on lesser SDK versions.

Also, replaced flags FLAG_NEEDS_MENU_KEY and
PRIVATE_FLAG_NEEDS_MENU_KEY_SET with needsMenuKey state
variable to make room for the new
FLAG_LAYOUT_ATTACHED_IN_DECOR flag.

Bug: 17789629
Change-Id: I2150e0c6ac688c966c0e8f7e54d42fd20285bea6
2014-10-21 12:45:53 -07:00
Alan Viverette
05b07c56b5 am a14344de: am 49870a1b: am e28cd1a2: Merge "Only request layout when removeView() actually removes a view" into lmp-mr1-dev
* commit 'a14344de9b4891301fcb1a57055e20e29f25075a':
  Only request layout when removeView() actually removes a view
2014-10-20 19:18:40 +00:00
Alan Viverette
a14344de9b am 49870a1b: am e28cd1a2: Merge "Only request layout when removeView() actually removes a view" into lmp-mr1-dev
* commit '49870a1b6460dc006a20fc11e1d0d67248a87be4':
  Only request layout when removeView() actually removes a view
2014-10-20 19:13:30 +00:00
Alan Viverette
e28cd1a276 Merge "Only request layout when removeView() actually removes a view" into lmp-mr1-dev 2014-10-20 19:00:36 +00:00
Adrian Roos
733ad97c38 am 4e2c2988: am 2f6fd874: am 5f978bfa: Merge "Retire RecentApplicationsDialog" into lmp-mr1-dev
* commit '4e2c29887616596e922e2b5fc5ac4929b3654f6c':
  Retire RecentApplicationsDialog
2014-10-20 13:20:37 +00:00
Adrian Roos
4e2c298876 am 2f6fd874: am 5f978bfa: Merge "Retire RecentApplicationsDialog" into lmp-mr1-dev
* commit '2f6fd874510cd333f7fc0b08e146d5d069fa2013':
  Retire RecentApplicationsDialog
2014-10-20 13:15:40 +00:00
Adrian Roos
5f978bfa09 Merge "Retire RecentApplicationsDialog" into lmp-mr1-dev 2014-10-20 13:04:09 +00:00
Svetoslav
e7797227c4 am f4346545: am 0ee9f361: am 0b5af04a: am ebb38bcc: am cd2b54e6: Merge "Accessibility no longer overrides strong encryption." into lmp-dev
* commit 'f43465452bb782166a4cb96dbfede9e7514787ba':
  Accessibility no longer overrides strong encryption.
2014-10-17 23:25:25 +00:00
Svetoslav
f43465452b am 0ee9f361: am 0b5af04a: am ebb38bcc: am cd2b54e6: Merge "Accessibility no longer overrides strong encryption." into lmp-dev
* commit '0ee9f36140530cf8ee60613f4f057c2ec95fe498':
  Accessibility no longer overrides strong encryption.
2014-10-17 23:19:57 +00:00
Svetoslav
0b5af04a8b am ebb38bcc: am cd2b54e6: Merge "Accessibility no longer overrides strong encryption." into lmp-dev
* commit 'ebb38bcc03a0f770d371b2ed997570572df7aed1':
  Accessibility no longer overrides strong encryption.
2014-10-17 23:09:55 +00:00
Svetoslav
a6711ff6f0 Accessibility no longer overrides strong encryption.
Updating the accessibility layer behavior to reflect the new
model where accessibility no longer overrides strong encryption.
Now enabling an accessibility service lowers the encryption
level but the user can bump it up in settings if desired.

bug:17881324

Change-Id: Ic60d760c267d3f934040a42e1963b179bd8b9f5f
2014-10-17 14:33:11 -07:00
Alan Viverette
177ec4608e Only request layout when removeView() actually removes a view
BUG: 18035456
Change-Id: Iec82be63ef9fc4d0ff90d93f8f3a65328a5e1eba
2014-10-17 13:34:50 -07:00
Alan Viverette
d50efd6214 am 69441098: am 15d3a53b: am 721fc2ad: Fix build
* commit '694410981fc55c84f740dea41b640e2ff7f5e474':
  Fix build
2014-10-17 19:01:47 +00:00
Alan Viverette
694410981f am 15d3a53b: am 721fc2ad: Fix build
* commit '15d3a53be5fa856ad85d066111d27c60c885f3b2':
  Fix build
2014-10-17 18:55:05 +00:00
Alan Viverette
721fc2adf4 Fix build
Change-Id: Idd7ae84c0d128bd40f0e7a83882e4ed4181e8a4d
2014-10-17 11:36:38 -07:00
Alan Viverette
247566e3e6 am ef8a1914: am 0087f225: am 2f68a204: Merge "Check type resolution on declared methods and fields in ViewDebug" into lmp-mr1-dev
* commit 'ef8a19147e086c559e5e98e9ff340532385ab556':
  Check type resolution on declared methods and fields in ViewDebug
2014-10-17 17:32:11 +00:00
Alan Viverette
ef8a19147e am 0087f225: am 2f68a204: Merge "Check type resolution on declared methods and fields in ViewDebug" into lmp-mr1-dev
* commit '0087f2253ac8cbb4868fd27d71afbad32a103a75':
  Check type resolution on declared methods and fields in ViewDebug
2014-10-17 17:27:41 +00:00
Alan Viverette
2f68a204b2 Merge "Check type resolution on declared methods and fields in ViewDebug" into lmp-mr1-dev 2014-10-17 17:18:36 +00:00
Derek Sollenberger
09c2d4fe15 Refactor HWUI to better handle Canvas DrawFilters.
First, this CL removes the need to decompose the DrawFilters
in Java and instead passes the SkDrawFilter to HWUI directly.
This also allows the removal of duplicated logic between HWUI
and other Canvas implementations regarding Paint filter levels.

Second, the DrawFilter is now stored in the DisplayListRenderer
where we apply it to every paint BEFORE it is stored in the
DisplayList.  This eliminates the need to filter all Paints on
playback and removes additional complexity at playback.

Finally, as a result of storing the filtered paint we can now
do a better job caching the paints.  This takes advantage of
recent changes in Skia to quickly enable quick hashing and
comparison of paint objects.

Change-Id: Iec507a2d894827975cc4f1d22241542bb0534b4e
2014-10-17 10:44:29 -04:00
Adam Powell
aa2e0fd9fd am c928beac: am f8c7d87a: am 19c0a163: Merge "View measurement optimization" into lmp-mr1-dev
* commit 'c928beac470156dfb22a993a3a7ea0c4f3f2bd10':
  View measurement optimization
2014-10-16 00:37:19 +00:00
Adam Powell
c928beac47 am f8c7d87a: am 19c0a163: Merge "View measurement optimization" into lmp-mr1-dev
* commit 'f8c7d87a65f7a94201d7aa3c7ff3f474b83f43db':
  View measurement optimization
2014-10-16 00:32:14 +00:00
Adam Powell
9cefbda11e View measurement optimization
If a view hasn't explicitly requested layout and it's asked to measure
with MeasureSpec.EXACTLY in both dimensions and sizes that match its
current measured size, the measure operation is a no-op.

This helps out a number of ViewGroups that perform initial speculative
measurements with AT_MOST or UNSPECIFIED followed by looping over
child views and measuring EXACTLY to lock in the final measurement
with perhaps some extra leftover space distributed. In practice this
happens a fair bit, especially for views high up in the view
hierarchy. This optimization allows ViewGroup measurement code to be a
little cleaner in not having to keep track of this on its own.

Change-Id: I88ff46a7d37aeda7a4cd16204b68cab0d051b341
2014-10-15 12:20:36 -07:00