Commit Graph

4849 Commits

Author SHA1 Message Date
Alan Viverette
7e361d22e3 Fix accessibility state callbacks
BUG: 11141708
Change-Id: Ieff1fb90c4f894eba3c203089dd61e1dabdb7982
2013-10-09 17:20:43 -07:00
Alan Viverette
24305da7d6 Merge "Add listener for changes to touch exploration state" into klp-dev 2013-10-09 22:13:29 +00:00
Alan Viverette
5baeb9ad1e Add listener for changes to touch exploration state
BUG: 11141708
Change-Id: I353dfa2542ebd5e2ac89029dcd88623cc4c688e7
2013-10-09 14:42:05 -07:00
Alan Viverette
d9f53c0276 Merge "Clear accessibility focus when view becomes invisible" into klp-dev 2013-10-09 20:25:15 +00:00
John Spurlock
92128144d9 Merge "Introduce View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY." into klp-dev 2013-10-09 18:27:53 +00:00
John Spurlock
a12dccc098 Introduce View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY.
The existing View.SYSTEM_UI_FLAG_IMMERSIVE flag will be somewhat
redefined.  Swiping will clear the flags, revealing the normal bars.

The new View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY flag will enable
hideybars - the auto-hiding, semi-transparent bar mode.

Bug:11062108
Change-Id: Ibf8be9072f0075953baa4580cd976e7562d44455
2013-10-09 12:35:52 -04:00
Svetoslav
3edcd8cfdf Add missing locking when updating the accessibility node info cache.
bug:10489954

Change-Id: Iccf55d074ea712566f441b9f6616a4c1fe847e0a
2013-10-08 18:31:58 -07:00
Alan Viverette
2e84a99467 Clear accessibility focus when view becomes invisible
BUG: 10912882
Change-Id: I8c7c6906fcf7688ecdfac6649464f088dd812c41
2013-10-08 14:25:42 -07:00
Alan Viverette
3a407fad35 Merge "Fix HIDE_DESCENDANTS accessibility importance mode" into klp-dev 2013-10-08 20:14:21 +00:00
Alan Viverette
24cafbc56c Fix HIDE_DESCENDANTS accessibility importance mode
Ensures accessibility framework is notified when subtree visibility
changes as a result of hiding descendants. Fixes collision between
HAS_TRANSIENT_STATE flag and IMPORTANT_FOR_ACCESSIBILITY mask.

BUG: 11087525
Change-Id: I92dba27350970a09e76b5a878c7604ea06cae197
2013-10-07 18:28:45 -07:00
Alan Viverette
bdae814816 Merge "Provide example actions in AccessibilityEvent.setAction() docs" into klp-dev 2013-10-08 01:09:00 +00:00
Alan Viverette
5a0f4eccfb Ignore certain WindowManager flags when touch exploration is enabled
Specifically, ignore any flags that alter the visibility of the navigation
bar and transparency.

BUG: 11082573
Change-Id: I17264dc55a1c6c3cb9b9cf92d5121799cecee5b8
2013-10-07 15:12:57 -07:00
John Spurlock
3f7cd517aa Fix transparent -> translucent reference in private docs.
Bug:10781433
Change-Id: I9e71b38df3909c367c80a9a589d28f703d1c9936
2013-10-07 12:25:09 -04:00
John Spurlock
bd95740648 Transparent system ui flags -> Translucent WM flags.
Migrate View.SYSTEM_UI_FLAG_TRANSPARENT_(STATUS/NAVIGATION) to
WindowManager.LayoutParams.FLAG_TRANSLUCENT_(STATUS|NAVIGATION).

Add associated public attrs for both new window flags:
  windowTranslucentStatus
  windowTranslucentNavigation

Introduce convenient four new themes that set translucent decor:
  Theme.Holo.NoActionBar.TranslucentDecor
  Theme.Holo.Light.NoActionBar.TranslucentDecor
  Theme.DeviceDefault.NoActionBar.TranslucentDecor
  Theme.DeviceDefault.Light.NoActionBar.TranslucentDecor

Update PhoneWindowManager mechanism to plumb these values back to
SystemUI to drive bar mode state.

The new translucent flags come from the top fullscreen window, not
the focused window, so translucency does not change when opening
dialogs.

Imply some window-level system-ui visibility if one or both of these
new flags are present, specifically:
  FLAG_TRANSLUCENT_STATUS implies LAYOUT_STABLE, LAYOUT_FULLSCREEN
  FLAG_TRANSLUCENT_NAVIGATION implies LAYOUT STABLE, LAYOUT_HIDE_NAV

Rename all associated variable & resource names to use the term
translucent instead of transparent. (Retain the term semi-transparent
for the transient bar style).

Recents activity allowed to inherit translucent decor state via the
new PRIVATE_FLAG_INHERIT_TRANSLUCENT_DECOR.  Compensating changes
to use the full screen area more appropriately.

Update keyguard to use new WM flags.

Update docs and various api artifacts.

Sanity-check fixes:
 - Toasts and alerts given stable layout.
 - Suppress nu-gradient when in transient (hidey) mode.
 - New translucent flags use top-fullscreen window, dialogs don't clear.

Bug:10674960
Bug:11062108
Bug:10987178
Bug:10786445
Bug:10781433
Change-Id: If667a55bea4cf5e008549524b9899197fab55ebe
2013-10-06 16:03:53 -04:00
Alan Viverette
af43110c02 Provide example actions in AccessibilityEvent.setAction() docs
BUG: 11070461
Change-Id: I05799e721dd1285e5165e94c7d63084010fa478b
2013-10-04 13:16:51 -07:00
Alan Viverette
093318eeac Merge "Add importantForAccessibility mode to block entire hierarchy" into klp-dev 2013-10-03 20:33:56 +00:00
John Spurlock
e660ecc436 Merge "Store decor rects per window for transition cropping." into klp-dev 2013-10-03 02:28:58 +00:00
Adam Lesinski
d65825ab1c Merge "Private flags are masked in correct variable" into klp-dev 2013-10-03 01:52:18 +00:00
John Reck
172e87ce51 Reduce max recents on lowram
Bug: 10918599
 Reduce the number of recent tasks to 10 on lowram devices
 Use RGB_565 on low ram devices for thumbnails instead of ARGB_8888
 Combined this saves ~9MB across system_process and systemui

Change-Id: Ieddcb512c7341a90097bc7cbc72d7355a775b416
2013-10-02 17:51:11 -07:00
Alan Viverette
23be199171 Add importantForAccessibility mode to block entire hierarchy
Since older versions of the platform will crash if the mode is
set to 3, this CL adds an extra bit and uses 4 as the mode. This
will also cleanly default the mode to AUTO on unsupported
platforms.

BUG: 11031947
Change-Id: I48035abbf35523d65cead6f27be10f8087973ceb
2013-10-02 17:41:15 -07:00
Adam Lesinski
95c42974f7 Private flags are masked in correct variable
Newly added private flags were being masked in the public flag variable
as opposed to the correct privateFlags variable.

bug:11033280
bug:11043194
Change-Id: Idda3a70a083457f3f1b7d4b46d231f4a7e704cf0
2013-10-02 16:18:55 -07:00
John Spurlock
4664623c30 Store decor rects per window for transition cropping.
Instead of keeping a single global system decor rect around
in WindowManagerService, calculate and store policy-defined
system-decor frame for each window.

The per-window decor rect is useful for smooth transitions, since it
determines window cropping during transition animations.

Bug:10938001
Change-Id: Ice6652aa5946027c45c0b7ab4e46473a0f8e3f90
2013-10-02 18:12:16 -04:00
Adam Lesinski
6a591f5859 Make room for new public flags
Moved two hidden flags to private

bug:11033280
Change-Id: Icca867b073aff643eefdaf84df68de86bb6b05ac
2013-10-01 18:48:20 -07:00
Alan Viverette
f079a6d07f Merge "Set live region property on AccessibilityNodeInfo" into klp-dev 2013-10-01 18:33:12 +00:00
Alan Viverette
3320ef95de Merge "Add findFocus API for AccessibilityNodeProvider" into klp-dev 2013-10-01 18:32:48 +00:00
Alan Viverette
f877ed96b7 Set live region property on AccessibilityNodeInfo
BUG: 11012854
Change-Id: I2c88468be597eb3694fe3d0eb2f2d86981ea9829
2013-09-30 17:11:46 -07:00
Jeff Brown
2e05ec3235 Reset insets when inset computer is removed.
When an inset computer is registered with the view tree observer,
we report content insets to the window manager.  When an inset computer
is subsequently unregistered, we must take care to clear these insets.

This patch remembers whether the previously computed insets were
non-empty so that it can force insets to be reset when needed.

Bug: 10840662
Change-Id: I4cce5ba64cc5234b98363b025ac4bb42e64349f1
2013-09-30 15:57:43 -07:00
Alan Viverette
2e1e081146 Add findFocus API for AccessibilityNodeProvider
BUG: 9372171
Change-Id: Iea46ce5a4bf25baaabe5c07cd7d0c58bb31f23d9
2013-09-30 13:45:55 -07:00
Jim Miller
fb2e3c8d47 Merge "Fix permissions on WindowManagerService.showAssistant()" into klp-dev 2013-09-28 01:18:17 +00:00
Jim Miller
6c9df5054a Fix permissions on WindowManagerService.showAssistant()
Since binder call permissions are not transitive by design,
the proper way to fix this is to have the call talk directly
to keyguard from the navigation bar.

Fixes bug 9409008

Change-Id: Ibd90a79bb638c969b514455a2ad93c6ff668222d
2013-09-27 16:29:36 -07:00
Michael Wright
a977707d6e Add missing constructor parameter to KeyEvent
When in the SyntheticKeyHandler, a missing constructor paramater caused the
wrong contstructor to be called. This would cause the device id, scan code and
flags to be incorrect.

Bug: 10966229
Change-Id: Ib84ef88d28c0da517b376c5493a851cf8fe0a9f7
2013-09-27 14:12:23 -07:00
Jean Chalard
5638d29a64 Merge "Fix conflicting/unclear documentation in InputConnection." into klp-dev 2013-09-27 03:11:42 +00:00
Romain Guy
33ed738d49 Expose View.executeHardwareAction()
Bug #10911502

Views creating hardware resources need a way to safely interact
with the hardware. This new method invokes HardwareRenderer.safelyRun()
which executes a Runnable after making sure the hardawre rendering
context is in a valid state.

With the OpenGL backend, executeHardwareAction() tries to call
eglMakeCurrent() if needed. This method is not guaranteed to
work.

Change-Id: I38ec65132eeba85605cffb1a6de12b7a0184e213
2013-09-26 22:01:01 +00:00
Jean Chalard
4510eb4049 Fix conflicting/unclear documentation in InputConnection.
Bug: 10247660
Change-Id: I88f36a3764d5e6dee4e864cb9f6df713dde5e0f5
2013-09-26 15:47:29 +09:00
Chet Haase
d73d34c873 Merge "Use transition-only alpha property for fading transitions" into klp-dev 2013-09-18 17:51:34 +00:00
Chet Haase
4fa809fe74 Merge "Fix leak fix in ViewTreeObserver" into klp-dev 2013-09-18 17:48:38 +00:00
Chet Haase
c46181a963 Use transition-only alpha property for fading transitions
The original bug is fixed already, but showed up some problems in
the underlying fade-transition implementation. This fix addresses
those and other issues. The biggest part of the change should help
transition robustness in general, as it removes the dependency on the
public 'alpha' property of views and uses, instead, a new hidden property
on views called 'transitionAlpha'. This is a value which is normally
opaque (1), but which can be used by transitions (only) to animate the
translucency of views without disturbing the actual 'alpha' value which
might be manipulated outside of transitions. This should make transitions
much more robust in general.

In implementing and testing this overall fix, I noticed a couple of things
about transitions that were simply wrong (such as starting fades from the
wrong start value, and incorrectly avoiding transitions on some views
that didn't happen to have ids), and those are fixed in this CL as well.

Issue #10726905 ActionBar weirdness in People app
Issue #10727937 Menu items in gallery appear in faded color after selecting an image/album by long press

Change-Id: If1618446db10c1bfcff4761449241de4f559afc1
2013-09-18 08:55:47 -07:00
Chet Haase
fc343967c8 Fix leak fix in ViewTreeObserver
The leak fix of the CopyOnWriteArray in ViewTreeObserver was
too aggressive, always clearing the shadow copy when it should only
have cleared it when needed. The way it works now, we will always
clear the listeners for ViewTreeObserver after the listeners
are processed.

Issue #10815924 ViewTreeObserver leak fix too aggressive

Change-Id: Iff0095d73beb38e52b0a5ae6b6378afec4458fd3
2013-09-18 08:44:33 -07:00
Mindy Pereira
9f1221f87e Add isQuickScaleEnabled to ScaleGestureDetector
Change-Id: I23dabb8bec69573ca833e06a4fd36435c75d7d04
2013-09-17 10:50:06 -07:00
Chet Haase
7660d121b2 Plug leaks in transitions
Transitions were leaking views due to TransitionsValues holding references
to views/parents. The references were fine, but the retention of the transition
objects themselves were not. There were a few different places that needed to
be plugged:
- clones were not making new copies of some fields, leading to caching references
in the original object (which was then cloned later to other clones)
- Visibility was using a persistent field to cache temporary values. This transition,
when cloned, would retain these instances, keeping references to views
- ViewTreeObserver had a bug that would leak listeners

Issue #10749071 Activity instance leak between TransitionManager and InputMethodManager

Change-Id: I1d5d457dc5e020c7b9e8392a95e3b2c488461119
2013-09-14 12:06:18 -07:00
Chet Haase
5fd37236df Only buildLayer() on attached views
A recent change to ViewPropertyAnimator.withLayer() builds the layer
immediately after creating it. This works in general, but if the view
is not attached, buildLayer() throws an exception.

The fix is to ensure that the view is attached before calling buildLayer().

Issue #10750925 Dialer crashed and phone dropped while on call

Change-Id: I801c835a0f5cb81e159fe90c157c122cf2d0da01
2013-09-13 19:01:52 -07:00
Jean Chalard
940a2ad69e Merge "Don't send the same values to onUpdateSelection repeatedly" into klp-dev 2013-09-13 02:16:47 +00:00
Alan Viverette
2a65a2839e Merge "Add live region politeness to View, AccessibilityNodeInfo" into klp-dev 2013-09-13 01:45:10 +00:00
Alan Viverette
77e9a28e2f Add live region politeness to View, AccessibilityNodeInfo
Alters the content change API to contain a bit mask of types of
changes represented by the event. Live regions send CONTENT_CHANGED
events immediately. Removes unused APIs for EXPANDABLE/EXPANDED.

BUG: 10527284
Change-Id: I21523e85e47df23706976dc0a8bf615f83072c04
2013-09-12 17:16:09 -07:00
Svetoslav
651dd4e6ee Remove unneeded print APIs and update the min margins APIs.
1. Removed unneeded code in Resolution that was storing its
   label as resource and package name. We do not have predefined
   resolutions, therefore we always persist the label.

2. Renamed the print attribute margins to minMargins to reflect
   that these are the minimal margins the printer support. Updated
   the docs as well.

3. Renamed the create method of all builder to build.

bug:10727487

Change-Id: Ie72ab8aaa5215b8bd2853885011b3b4efa4deb2e
2013-09-12 16:58:58 -07:00
Jeff Brown
2626766095 Merge "Make View onKeyUp symmetric with onKeyDown." into klp-dev 2013-09-12 20:53:16 +00:00
Jean Chalard
c743cb9477 Don't send the same values to onUpdateSelection repeatedly
If the IME is repeatedly changing the text in its
onUpdateSelection handler, this will crash it with a
stack overflow exception. It's better than the old behavior,
which would result in a busyloop likely to make the
device completely unresponsive.

Bug: 10301239
Change-Id: I170cfb8ef20fc056d4725931890a987aefcaea8b
2013-09-12 16:52:56 +09:00
Jeff Brown
fb07349c07 Make View onKeyUp symmetric with onKeyDown.
Properly use KeyEvent.isConfirmKey() in both methods.

Change-Id: Id87158f2163f75af20350dc445df6a59f7190752
2013-09-11 20:51:13 -07:00
Mindy Pereira
af2d8bbdbd Merge "Scale feels too quick in relation to movement" into klp-dev 2013-09-11 23:33:02 +00:00
Igor Murashkin
2cad64c0fb Merge "Surface: Change OutOfResourcesException to be a runtime exception" into klp-dev 2013-09-11 18:28:07 +00:00