Commit Graph

9137 Commits

Author SHA1 Message Date
Jorim Jaggi
d8f2268e3c Merge "Clean up starting window to prepare for saved surfaces" 2017-01-11 14:58:50 +00:00
David Stevens
e97cac4962 Merge "Fix calculation of duration in AnimationSet" 2017-01-11 05:36:25 +00:00
TreeHugger Robot
5f1d1cf744 Merge "YAMAFFR - Yet Another Major AutoFill Framework Refactoring" 2017-01-11 04:20:01 +00:00
David Stevens
ab9e3b5369 Fix calculation of duration in AnimationSet
Unfortunately, AnimationSet.getDuration is defined incorrectly, so
this fix doesn't actually affect any behavior.

Test: None
Change-Id: I8328b603aee23252b5fab4acfd34d3f0e8fe06c0
2017-01-10 19:19:56 -08:00
Santos Cordon
e89ba5222c Merge "Add Brightness setting for VR Mode." 2017-01-11 03:02:02 +00:00
Santos Cordon
3107d29c8f Add Brightness setting for VR Mode.
This change saves and loads a different brightness setting when the user
goes in and out of VR Mode.

Test: runtests frameworks-core
Test: Turn vr mode on and change brightness (should remain separate from
normal brightness)

Bug: 30984614
Change-Id: If3c3e81b592e0c6fd037e5783559683e5cb58379
2017-01-10 17:16:04 -08:00
TreeHugger Robot
5df7f1ab61 Merge "Provide non-blocking SurfaceView draw notification path." 2017-01-10 22:16:19 +00:00
Felipe Leme
6d553874be YAMAFFR - Yet Another Major AutoFill Framework Refactoring
- Explicitly split View methods into Assist and AutoFill methods, rather
  than use an overloaded method that takes flags.
- Simarly, renamed ASSIST_FLAG_SANITIZED_TEXT and
  ASSIST_FLAG_NON_SANITIZED_TEXT flags to
  AUTO_FILL_FLAG_TYPE_FILL and AUTO_FILL_FLAG_TYPE_SAVE respectively.
- Created a AutoFillUI class to host the auto-fill bar and other UI
  affordances.
- Moved the temporary notifications to AutoFillUI (eventually that
  class will host the real UI).
- Moved FillData to android.app.view.autofill package.
- Split IAutoFillCallback in 2 (IAutoFillAppCallback and
  IAutoFillServerCallback, residing at the app and system_server
  respectively), so service cannot fill the app directly (which lets
  the framework control the UI).
- Moved assist's IResultReceiver to AutoFillServiceImpl so
  system_server can act as a mediator between the AutoFillService
  implementation and the app being auto-filled.
- Replaced FillData and FillableInputFields by a bunch of new objects:
  - FillResponse contains a group of Datasets, each representing
  different values
    that can be used to auto-fill an activity (for example, different
    user accounts), optional id of fields the service is interested
    to save, and an optional bundle for service-side extras.
  - Dataset contains a name, Fields, and an optional bundle for
    service-side extras.
  - Fields contain an AutoFillId (parcelable) and a value (Bundle)
- Changed the temporary notifications to emulate the new workflow:
  - Initial notification requests the auto-fill data but do not
    auto-fill.
  - Once service calls back, a new notification is shown with the
    results.
  - Then if the user selects a dataset, the activity is auto-filled
    with it.
  - It also shows a notification to emulate what can be saved.
- Created an VirtualViewDelegate for views that uses a virtual
  hierarchy for assist data.
- Added new methods on ViewStructure to add children with virtual ids.
- Added 2 methods on View to support auto-fill:
  - autoFill(Bundle) to auto-fill the view.
  - getAutoFillType() to return how the view can be auto-filled.
- AutoFillType defines the input fields that support auto-fill:
  - Text fields (like EditText)
  - Toggle fields (like CheckBox)
  - Lists (like RadioGroup)
- AutoFillType can also have a sub-type representing its semantic (for
  now only text fields have it, and it's the same as getInputType()).
- etc :-)

Bug: 31001899
Test: manual verification
Change-Id: I2dd2fdedcb3ecd1e4403f9c32fa644cb914e186f
2017-01-10 12:50:47 -08:00
John Reck
d14cafc272 Merge "Remove unused variable." 2017-01-10 18:36:30 +00:00
Chris Craik
6f225cae06 Merge "Revert "Revert "Fast-path for ViewGroup#invalidateChild, invalidate tests""" 2017-01-10 18:15:57 +00:00
Jorim Jaggi
ba41f4b9e3 Clean up starting window to prepare for saved surfaces
- Move all starting window logic to AppWindowContainerController
- Use startingView to hold any kind of contents for startingWindow
- Remove some conflicting code which looks very old and doesn't
apply anymore.

Test: Make sure starting window still works.

Bug: 31339431
Change-Id: I018dd013ab7e64a44932b6d54ae9bb4a47f315d3
2017-01-10 18:38:32 +01:00
Eugene Susla
2ddcb077ac Merge "Unit test to keep a11y cache critical events up to date" 2017-01-09 22:59:39 +00:00
Tao Wu
f7fee94d75 Remove unused variable.
Code search show nobody referenced it and aosp image still compiles after
remove it.

Test: make -j18 systemimage userdataimage ramdisk

Change-Id: I3e37ea590610091b938296c999dceb3caf919906
Signed-off-by: Tao Wu <lepton@google.com>
2017-01-09 14:53:16 -08:00
TreeHugger Robot
e2489c67e1 Merge "Using official names for clusters and sections." 2017-01-09 20:25:45 +00:00
Robert Carr
25cfa13483 Provide non-blocking SurfaceView draw notification path.
SurfaceView needs to notify the window manager that
drawing has been completed, so that animations and such
can begin. Currently this is implemented through
having the SurfaceView user block in surfaceRedrawNeeded
(called from  UI thread) until a frame has been completed.
This blocking can be unnecessary serialization during startup, and
also clumsy to implement for some users.

Test: GLSurfaceView and takeSurface API Demos, android.server.cts.SurfaceViewTests
Bug: 31850030
Change-Id: Idda02098a635f25cf392f2d59a3abbe54a1d64d4
2017-01-09 10:44:58 -08:00
Chris Craik
3f06c6de08 Revert "Revert "Fast-path for ViewGroup#invalidateChild, invalidate tests""
Bug: 33797688

This reverts commit 1cb8b08ae4.

Change-Id: I322b550d65d48be4a99faf1790d138d26a996d7e
2017-01-09 18:30:35 +00:00
Chris Craik
2294458565 Merge "Fix NPE in RenderNodeAnimator ALPHA when used outside ViewPropertyAnimator" 2017-01-09 18:15:32 +00:00
Chris Craik
686d972e12 Fix NPE in RenderNodeAnimator ALPHA when used outside ViewPropertyAnimator
Bug: 33797688
Test: new RenderNodeAnimatorTest passes

Other clients use RenderNodeAnimator now, so call
ensureTransformationInfo to be safe.

Change-Id: I837d6f5b00bb368d2bbf77b94d4c19a8426b9927
2017-01-06 16:18:31 -08:00
Sergei Vasilinetc
ab08c65533 Merge changes I68d56d76,Iad432577
* changes:
  Hidden method to get a graphic buffer from a hardware bitmap
  Move GraphicBuffer to graphics package
2017-01-06 20:36:41 +00:00
Vadim Tryshev
311a5b5497 Using official names for clusters and sections.
Per the bug, “clusters” and “sections” are already the official names,
and for a general name for both, we use “keyboard navigation
groups”.

Bug: 33708251
Test: N/A.
Change-Id: Ieb1d2e8a1ad758f902b0a925fbe5d187e0f7ea06
2017-01-06 11:42:15 -08:00
Wale Ogunwale
26c0dfed7a Support for WindowContainer controllers and listeners
- WindowContainerController class allows a component outside window manager
to create a window container and communicate directly with it to make
changes. For example, the ActivityRecord class in activity manager uses the
AppWindowContainerController class to create and communicate with
AppWindowToken window container class which is its counterpart on the window
manager side.
- WindowContainerListener interface allows a component outside WM to get
notified of changes to a window container. For example, the ActivityRecord
class in AM implements the AppWindowContainerListener interface to get
notified of changes to the AppWindowToken container.

Bug: 30060889
Test: Existing tests pass and manual testing.
Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerControllerTests
Test: bit FrameworksServicesTests:com.android.server.wm.WindowContainerTests
Change-Id: I2896bfa46a80b227052528c7da8cf4e56beab4bc
2017-01-06 09:11:02 -08:00
Vladislav Kaznacheev
7039cbc6f3 Add content description and tooltip to menu item
Bug: 34076597
Test: manual
Change-Id: Ide32463252457721286c929ab2f8f7bae241835d
2017-01-05 09:57:40 -08:00
sergeyv
0a0f23163a Move GraphicBuffer to graphics package
Test: locally tested Bitmap.createHardwareBitmap method
bug: 30999911
Change-Id: Iad432577f26f2362ede9e77cd8a5425c010692e5
2017-01-04 14:01:52 -08:00
TreeHugger Robot
c587433dd1 Merge "Introducing teleportation between sections." 2017-01-04 20:43:44 +00:00
Eugene Susla
74c6cbaa63 Unit test to keep a11y cache critical events up to date
Unit test AccessibilityCache.CACHE_CRITICAL_EVENTS_MASK, introduced in Icbdb91803b646fa06aaf11996d350f6f65c1e809

Bug: b/32642665
Test: Ensure the introduced unit test passes
Change-Id: I60741c42334c61af8cd695e20c3a1f6be706824d
2017-01-04 11:45:08 -08:00
TreeHugger Robot
f2acf9df65 Merge "Fix custom pointer icon caching in ViewRootImpl" 2017-01-04 19:35:14 +00:00
Vadim Tryshev
8957f2ddda Introducing teleportation between sections.
The key combos differ from the ones in the spec because key combos
including Meta key don’t get delivered to apps. To fix this, I’ll
implement necessary plumbing after the feature freeze. Meanwhile,
temporary combos are used.

Given that the section and cluster teleportation have a lot in common,
I’m not introducing new methods, but adding a param to the cluster
teleportation ones. I should have also changed the names to something
like findNextKeyboardNavigationCluster => findNextFocusGroup, where
“FocusGroup” is a generalized name for clusters and sections.
However, that name depends on b/33708251, so I’m not doing it now. I
don’t rename existing identifiers, and using “focusGroup” for new
ones. Admittedly, this creates mess that will be resolved based on
the outcome of the mentioned bug.

Bug: 32151632
Test: Manual checks; CTS are coming after feature freeze
Change-Id: I01b5d6e5a9689b8f643fa4af695d2ce61265f374
2017-01-03 18:18:36 -08:00
Vladislav Kaznacheev
e40fb27f32 Fix custom pointer icon caching in ViewRootImpl
Currently if the pointer leaves a window which has
a custom pointer icon, the pointer icon is not updated
upon re-entry.

Bug: 33824962
Test: manual
Change-Id: I3e40413117b8aa2a1bde47394ef9318a03a7e135
2017-01-03 16:45:42 -08:00
Eugene Susla
eb1375c091 Always propagate AccessibilityCache events
Bug: b/32642665
Test: Steps:
	- Retrieve root AccessibilityNodeInfo
	- Change text on its child TextView
	- Wait for a few seconds to let the AccessibilityEvent propagate to
    the AccessibilityCache
	- Get the child AccessibilityNodeInfo from the root, corresponding to
    that TextView, and ensure that it's updated to reflect the text
    change
Change-Id: Icbdb91803b646fa06aaf11996d350f6f65c1e809
2016-12-29 13:05:58 -08:00
TreeHugger Robot
e097432e30 Merge "Revert "Add Brightness setting for VR Mode."" 2016-12-27 19:02:23 +00:00
Ian Pedowitz
7e96654f1b Revert "Add Brightness setting for VR Mode."
This reverts commit c7e853f511.

Bug: 33895226
Bug: 30984614
Change-Id: Icca320e02651b7dd7b8db84ab414f41edee32760
2016-12-27 18:28:36 +00:00
Santos Cordon
6982a108b2 Merge "Add Brightness setting for VR Mode." 2016-12-22 23:08:55 +00:00
TreeHugger Robot
8644daa39f Merge "Adjust tooltip layout" 2016-12-22 22:39:43 +00:00
Vladislav Kaznacheev
20a12da3ce Adjust tooltip layout
Position a mouse hover tooltip closer to the target.
Limit tooltip width and make it multiline (maxLines=3).
Show a long press tooltip above the target, not below.

Bug: 33352391
Bug: 33353823
Bug: 33354000

Test: manual
Change-Id: Ie00353d715d73d432b5d892a0a7c04508a003a78
2016-12-22 13:17:20 -08:00
TreeHugger Robot
6318e36a52 Merge "Restoring last focused view when teleporting to a cluster." 2016-12-22 21:11:38 +00:00
Santos Cordon
c7e853f511 Add Brightness setting for VR Mode.
This change saves and loads a different brightness setting when the user
goes in and out of VR Mode.

Bug: 30984614
Change-Id: Ie5578bbd6ea346f0eb34fe4abbfd604a5d7c0c93
2016-12-22 12:27:51 -08:00
Vadim Tryshev
01d8c49e04 Restoring last focused view when teleporting to a cluster.
The UX spec requires each cluster to remember which view was last
focused in it, and focus on it upon the teleportation to this
cluster.

This CL implements saving and restoring the focus.
It also introduces a public API so that an app could switch to a
cluster as if it was teleported to.

Bug: 32151632
Test: Manual checks; CTS are coming after feature freeze.
Change-Id: I0dc816776386015a7f1235f93e3dd9c03dfffcd6
2016-12-21 17:41:33 -08:00
Selim Cinek
c4946d4a00 Merge "Revert "Fast-path for ViewGroup#invalidateChild, invalidate tests"" 2016-12-21 15:57:38 +00:00
Selim Cinek
1cb8b08ae4 Revert "Fast-path for ViewGroup#invalidateChild, invalidate tests"
This reverts commit f7505803ea.

Change-Id: Ie7714360357e2baaf7723b8d992b3c6c4b0b9989
2016-12-21 15:34:30 +00:00
TreeHugger Robot
89eaa33e11 Merge "Fast-path for ViewGroup#invalidateChild, invalidate tests" 2016-12-21 00:34:05 +00:00
Chris Craik
f7505803ea Fast-path for ViewGroup#invalidateChild, invalidate tests
Bug: 33460152
Test: new tests passing

We spend a lot of time computing a damage rectangle that the ViewRootImpl ignores with HW
acceleration. Skip all that with a fast path.

Change-Id: Ia7447d1242cd5279be2ce34eead0cd813baffd33
2016-12-20 11:04:30 -08:00
Michael Kwan
cd6be5bdab Fix OnCancelListener for Dialogs on swipe to dismiss. am: 67639a5f67 am: 5a0c0ffd03
am: 95ccfb0dcc

Change-Id: I25f9462c60a59582d26a68c2cc7a2ca5a1c11857
2016-12-19 19:34:41 +00:00
Michael Kwan
95ccfb0dcc Fix OnCancelListener for Dialogs on swipe to dismiss. am: 67639a5f67
am: 5a0c0ffd03

Change-Id: Id8faa62cb551424036aae9f542f2d0776cfea522
2016-12-19 19:17:48 +00:00
Michael Kwan
5a0c0ffd03 Fix OnCancelListener for Dialogs on swipe to dismiss.
am: 67639a5f67

Change-Id: I92bc472b3519020eeadf61b1e8047aee9e8bd96c
2016-12-19 19:11:48 +00:00
Michael Kwan
67639a5f67 Fix OnCancelListener for Dialogs on swipe to dismiss.
Swipe to dismiss on dialogs did not dispatch onCancel events
to OnCancelListeners. Resolve by adding listener to monitor
swipe to dismiss events and dispatch onCancel events when
that occurs.

Bug: 33663411
Change-Id: I64ff29e008d485a4559eb3d1ff7f0e74dccff404
2016-12-16 13:43:16 -08:00
Vadim Tryshev
418b1fc512 Restricting navigation into and from clusters.
Tabbing loops inside cluster. Tabbing outside of clusters (i.e. in
the default cluster) won’t enter clusters. Initial focus won’t go
into a cluster.

Arrows work like before.

Bug: 32151632
Test: Manual checks. CTS test will be added after feature freeze.
Change-Id: Icecbd75394e2dd4afe2e1c4e6bc9ac64f6785699
2016-12-16 10:41:44 -08:00
TreeHugger Robot
5fb5881dbd Merge "Adding support for PIP actions." 2016-12-15 22:52:30 +00:00
Chris Craik
9180f64186 Merge "CriticalNative for RenderNode and DisplayListCanvas" 2016-12-15 21:48:17 +00:00
TreeHugger Robot
8102d91377 Merge "Teleportation between clusters." 2016-12-15 21:40:12 +00:00
Vadim Tryshev
01b0c9ed4e Teleportation between clusters.
Per the UX spec, key combos for quickly jumping between clusters are
Meta+Right and Meta+Left. However, these events don’t get delivered
to the app, and I’ll have to implement this plumbing after the
feature freeze. For now, the temporary combos are Ctrl-Shift-”-”
and Ctrl-Shift-”+”.

In addition to the key combo processing, the CL adds public APIs for
teleportation; they are similar to the API for moving the focus.

Bug: 32151632
Test: Manually checking that teleportation works. CTS test will be
added after the feature freeze.

Change-Id: I622156b9e4cc7c44e61623081d6d079bbe04fd02
2016-12-15 11:51:27 -08:00