Commit Graph

13416 Commits

Author SHA1 Message Date
Tarandeep Singh
95a3dbf03a Allow floating IME to apply final state.
Floating IME has zero insets and hence it becomes a special case where
Insets type to side map will have to be statically created per
form-factor. Realistically, IME side shouldn't change on any
form-factor.

Fix: 142713934
Test: Manually
     1. Enable floating mode in gboard.
     2. Tap on editor to verify gboard shows
     3. press back to verify gboard hides.

Change-Id: Ie2e2df3fdc5f637cf2efdf14bb5b74f45e3a929f
2019-10-24 21:20:40 +00:00
Jorim Jaggi
956ca413e3 Window Manager Flag Migration (4/n)
Wire up the appearance and the transient state of system bars between
WMS and System UI. The derived classes of CommandQueue.Callbacks no
longer listen to setSystemUiVisibility, but listen to showTransient,
abortTransient, and onSystemBarAppearanceChanged instead.

Bug: 118118435
Test: atest InsetsSourceProviderTest InsetsStateControllerTest
            InsetsPolicyTest WindowStateTests CommandQueueTest
            RegisterStatusBarResultTest InsetsFlagsTest
            LightBarControllerTest
Test: build on specific target
Change-Id: Ie35f4b4468bce7ef8c76f091e306610c069fba85
2019-10-19 16:59:06 +08:00
TreeHugger Robot
542b2aac7b Merge "Add missing @NonNull" 2019-10-17 19:32:30 +00:00
John Reck
4a6f2c59c0 Add missing @NonNull
Test: builds
Bug: 142875299
Change-Id: I7a8d6edcc83175c48948de0295c312494141a147
2019-10-17 17:21:29 +00:00
Ioannis Ilkos
5a5678d244 Merge "Revert "Window Manager Flag Migration (4/n)"" 2019-10-17 09:49:58 +00:00
Ioannis Ilkos
8cca14103c Revert "Window Manager Flag Migration (4/n)"
This reverts commit cb1b848084.

Reason for revert: Droidcop-triggered revert due to b/142849532

Change-Id: If81eba4e979e21202e78839bb1afbc66691098d2
2019-10-17 09:38:00 +00:00
Jackal Guo
41c5b259e8 Merge "Allow restarting of crashed a11y services" 2019-10-17 06:21:10 +00:00
Jorim Jaggi
cb1b848084 Window Manager Flag Migration (4/n)
Wire up the appearance and the transient state of system bars between
WMS and System UI. The derived classes of CommandQueue.Callbacks no
longer listen to setSystemUiVisibility, but listen to showTransient,
abortTransient, and onSystemBarAppearanceChanged instead.

Bug: 118118435
Test: atest InsetsSourceProviderTest InsetsStateControllerTest
            InsetsPolicyTest WindowStateTests CommandQueueTest
            RegisterStatusBarResultTest InsetsFlagsTest
            LightBarControllerTest
Change-Id: I1dcaff47ae57ccee91146fdc042cde5e26fc0b3f
2019-10-17 01:41:34 +08:00
TreeHugger Robot
eb64817aad Merge changes I2915cdc9,Ide6ba9d8
* changes:
  Remove name from InputMonitor
  Simplify creation of NativeInputChannel
2019-10-16 06:02:56 +00:00
Jackal Guo
fbac83822e Allow restarting of crashed a11y services
After an accessibility service crashes a few times in a short period
of time, framework would add it into a “blacklist”. User wouldn’t be
able to use (re-enable) it. If users express an intent in them working
again, we remove the crashed accessibility service from the blacklist.

Bug: 129689483
Test: a11y CTS & unit tests
Test: manual
      1. Install and enable an intentional crashed a11y service.
      2. After it's crashed and malfunctioning, re-enable it.
      3. Check if it's bound again.

Change-Id: Ia89121f11bc5e05fc829e0e3ecb266150409678b
2019-10-16 10:15:30 +08:00
TreeHugger Robot
453033f64d Merge "Use different reorder modes for fail safe before and after Overview" 2019-10-16 01:30:38 +00:00
Siarhei Vishniakou
7480ae28e4 Remove name from InputMonitor
InputMonitor already contains an inputchannel. And inputchannel has a
name. Using the latest codegen tool, toString would already properly
print name because InputChannel has toString. So we don't need to
duplicate this field in InputMonitor.

Bug: 142581626
Test: presubmit
Change-Id: I2915cdc9928ab50991539593e584173e2231c16f
2019-10-15 17:27:21 -07:00
Tracy Zhou
9e0354f651 Use different reorder modes for fail safe before and after Overview
Currently, when recents animation is cancelled from fail safe mechanism,
we put the previous app back to the top. It no longer makes sense when
live tile is in the picture since we don't want the user to see the
previous app being brought up when they turn off and on the phone.

Fixes: 142088072
Test: Turn off and screen and back on. Make sure the user goes back to
home instead of previous app in live tile mode.

Change-Id: I5f16c4c8c77b918dc706c45acadf143edc454de9
2019-10-15 13:39:17 -07:00
TreeHugger Robot
ec214fe895 Merge "Improving hierarchy dump speed" 2019-10-15 10:25:37 +00:00
Roshan Pius
20bce169a5 Merge "Window: Mark SHOW_FOR_ALL_USERS flag as @SystemApi" 2019-10-14 18:03:23 +00:00
TreeHugger Robot
d6fd6f27f5 Merge changes from topic "b/142461756"
* changes:
  Ime target window should control when to hide IME (2/2)
  Ime target window should control when to hide IME (1/2)
2019-10-14 17:04:57 +00:00
Taran Singh
d7fc5864f4 Ime target window should control when to hide IME (2/2)
This followup CL implements hideInsets() introduced in 1/2.

Bug: 142461756
Bug: 111084606
Test: Manually tested using steps below:
  1. Make sure new insets flag is enabled
  2. Launch any activity which has child window with NOT_FOCUSABLE,
     ALT_FOCUSABLE_IM (e.g. Instagram login screen)
  3. Verify IME can be shown and hidden by this window.

Change-Id: I307594014eca8a06397c739ffbc9c12eac160fdc
2019-10-14 12:40:09 +00:00
Roshan Pius
a3f89c6882 Window: Mark SHOW_FOR_ALL_USERS flag as @SystemApi
Bug: 142090228
Test: Compiles
Change-Id: I850c7759dc909727f73e40fb6331871a9de25f20
2019-10-12 08:32:44 -07:00
Sunny Goyal
7a889e14a3 Improving hierarchy dump speed
> Moving the dump to UI thread instead of making every method call individually to UI thread

Test: Launcher view hierarchy dump changed from ~4.5 seconds to 260ms

Change-Id: I3a815755bc63fdd7a729aae46339dd3c55f09cd4
2019-10-11 15:14:35 -07:00
TreeHugger Robot
963754df14 Merge "Replace client token with a new token in InputWindowHandle" 2019-10-11 15:32:19 +00:00
Issei Suzuki
b4b372550e Merge "Removed dead code around TRANSIT_TASK_IN_PLACE" 2019-10-11 12:16:41 +00:00
Taran Singh
f1e0887eb8 Ime target window should control when to hide IME (1/2)
Input method frameworks uses focused window and some tricks
to best guestimate IME target. Though it doesn't always know the
actual IME target. e.g. when window has both NOT_FOCUSABLE,
ALT_FOCUSABLE_IM; IMF thinks focued window is IME target but it isn't
the case.

The right thing to do is to call both show(IME), hide(IME) on IME
target.

Bug: 142461756
Bug: 111084606
Test: Manually tested using steps below:
  1. Make sure new insets flag is enabled
  2. Launch any activity which has child window with NOT_FOCUSABLE,
     ALT_FOCUSABLE_IM (e.g. Instagram login screen)
  3. Verify IME can be shown and hidden by this window.

Change-Id: I13f3e04f6f9e1574db9cbb56bdb7817152499d03
2019-10-11 10:09:06 +02:00
Vishnu Nair
1878216520 Replace client token with a new token in InputWindowHandle
The tokens are used to map input data to its window and its channel. Currently InputWindowHandle
tokens uses the client IWindow binder token if the input is associated with a client window or a
newly generated token for temporary surfaces (drag input surface), and windowless surfaces.

These tokens are also used to send policy related events. From the token, it is not obvious what
the token represents for which component. This is a cleanup cl that removes the use of client before adding an explicit token for handling policy related events.
One use case of client token was to support pointer capture but this will move to using
the input channel socket.

Removing the client token allows windows to share its input token with other processes to enable
features like transfer focus without leaking the client token.

Bug: 134365580
Test: go/wm-smoke
Test: atest PointerCaptureTest WindowFocusTests

Change-Id: I49e4c54d977f98e855af9e7ed54443588fdb66c9
2019-10-10 18:35:55 -07:00
TreeHugger Robot
9319ea66be Merge "Update Ember's email" 2019-10-10 20:15:39 +00:00
Nader Jawad
5830fc9836 Merge "Do not parse angle if it is negative" 2019-10-10 20:02:14 +00:00
Rob Carr
093f80de20 Merge "ViewRootImpl: Add USE_BLAST flag." 2019-10-10 19:43:49 +00:00
Issei Suzuki
d196637f9f Removed dead code around TRANSIT_TASK_IN_PLACE
Test: All existing tests still pass.
Change-Id: I881677c3a1737e4d0eca0a651216679819584179
2019-10-10 15:13:33 +02:00
TreeHugger Robot
a36ebded5c Merge "Improve dumping of display list memory usage" 2019-10-10 01:21:01 +00:00
Nader Jawad
5baa087037 Do not parse angle if it is negative
If the Gradient angle is negative after
modding by 360, maintain the previous platform
behavior of TOP_BOTTOM oreintation instead of
attempting to wrap it

Test: Added CTS test to verify various negative
angle measurements
Bug: 142111195

Change-Id: Id9c050a9e15717bfaff331c6a37cb34cbce0f060
2019-10-09 17:03:17 -07:00
Chavi Weingarten
ca80d5b65b Merge "Replace SurfaceControl call points with Transaction calls (1/n)" 2019-10-09 20:59:48 +00:00
chaviw
619da69f9e Replace SurfaceControl call points with Transaction calls (1/n)
Removed calls to SurfaceControl methods that use the sGlobalTransaction
and changed to use the Transaction methods. Removed from all classes
except from WindowSurfaceController and deleted all unused methods from
SurfaceControl.

Test: go/wm-smoke
Change-Id: I69228214bdece20ea481c6d8041321f8385a446a
Exempt-From-Owner-Approval: Santos already +1'ed
2019-10-09 20:55:47 +00:00
John Reck
183e1380ce Improve dumping of display list memory usage
The first step of improving is measuring. So measure better.

Bug: 138856108
Test: dump
Change-Id: I076b904a1f0dfb209622c76bcb8778a10cd2b7db
2019-10-09 13:42:43 -07:00
Ember Rose
93fc45b1a7 Update Ember's email
Test: N/A
Bug: 141939605
Change-Id: Icd9ae23a74175a98f8495f71c85b69891d387df0
2019-10-09 19:38:32 +00:00
TreeHugger Robot
e37dab0efc Merge changes I679a0a38,I1c125029
* changes:
  Dispatch mouse events to the view under cursor.
  Stop splitting for mouse events.
2019-10-08 22:50:49 +00:00
Robert Carr
48ec4e0b5c ViewRootImpl: Add USE_BLAST flag.
Add support for ViewRootImpl submitting buffers using
BLAST and put this support behind a disabled-by-default
FLAG.

Bug: 135786080
Change-Id: Ia3f205e34db9f9aa574c9c2e2c499dd3046af220
2019-10-08 14:36:38 -07:00
Kevin Chang
143000b23f Merge "Create new API for ImageSpan" 2019-10-08 06:09:44 +00:00
Rhed Jao
c2653261c5 Merge "Accessibility shortcut improvement (3/n)" 2019-10-07 02:00:40 +00:00
Jacky Kao
61178c5f13 Merge "Implementing new API : getWindowsOnAllDisplays()" 2019-10-05 00:07:04 +00:00
Garfield Tan
63e6a35508 Dispatch mouse events to the view under cursor.
Events from touchpads may have multiple fingers on them, and the down
event may be active with a finger which coordinate isn't in the view
where the mouse cursor is. Need to make sure it's dispatched to the view
under the mouse cursor.

Bug: 140312476
Test: Two-finger scroll on DualShock 4 always happen in the view under
the cursor, regardless of the order of finger put on the touch pad.
Test: atest FrameworksCoreTests:ViewGroupTest

Change-Id: I679a0a38c830bd418bb412bc6f0d78ba5c93224a
2019-10-04 15:20:28 -07:00
Garfield Tan
f90c2775d6 Stop splitting for mouse events.
Events from multi-touch touchpads have mouse source and can have
multiple pointers. This is a whole gesture and shouldn't be split into
multiple views.

Bug: 140312476
Test: Attached a touchpad to crosshatch (in my case I used the touch pad
on DualShock 4). Moved the cursor around the edge of two scrollable
views and perform 2-finger scroll. Only one of the view responds to the
scroll. Note it may not be the view under the cursor that responds to
it, which is another bug that needs to be fixed.
Test: Multi-finger touches on touchscreen can still be split.

Change-Id: I1c1250291fa8a88b33f84ca3f80c8b7ac3a61e48
2019-10-04 15:20:16 -07:00
Rhed Jao
0090ad7fd4 Accessibility shortcut improvement (3/n)
- New class AccessibilityShortcutInfo to describe accessibility
  shortcut.
- New Intent category for the target of accessibility shortcut

Bug: 136293963
Test: atest AccessibilityShortcutInfoTest
Change-Id: Id47d397a03f3f710368550e551097214c7839943
2019-10-04 16:50:30 +08:00
Jacky Kao
c7be7b52a2 Implementing new API : getWindowsOnAllDisplays()
1. Implementing the new API for supporting multi-display.
SparseArray<List<AccessibilityWindowInfo>> getWindowsOnAllDisplays()
2. Modifying the documents of this API and its function is to get the window lists of
default display.
List<AccessibilityWindowInfo> getWindows()

Bug: 133279356
Test: a11y CTS & unit tests
Change-Id: Id4e874f43390bdf4196d106a44bbca18bf9fd1d6
2019-10-04 08:31:14 +08:00
Chavi Weingarten
6b44087b1a Merge "Added API to mirror display and added sample app." 2019-10-03 16:45:06 +00:00
Taran Singh
c0263d94a1 Merge "Add showInsets method in IWindow" 2019-10-03 11:10:02 +00:00
chaviw
a51724fc71 Added API to mirror display and added sample app.
Added the WMS.mirrorDisplay API to mirror a specified displayId. The
request requires the ACCESS_SURFACE_FLINGER permission.

Added a sample app to demonstrate the useablility of this API and
different ways the mirror SurfaceControl can be used.

Test: mmma tests/MirrorSurfaceTest and install apk
Bug: 131622422
Change-Id: Ic86115786d37473650b3c7ed39cba0bd4c65b281
2019-10-02 14:09:30 -07:00
Rob Carr
d3da95fd13 Merge "Improve WindowlessWM relayout support" 2019-10-02 21:03:07 +00:00
Mark Renouf
817d014bf0 Merge "Support frame-synchronized clipping on SurfaceView" 2019-10-02 15:03:15 +00:00
Kevin Chang
78840ec064 Create new API for ImageSpan
Create new API for adding content description into ImageSpan.

Bug: 135497450
Test: Adding CTS tests for new API in linked CL
Change-Id: I6cc58657c1dfbbddf00186aeea1faa0ce876f996
2019-10-02 09:26:39 +08:00
Robert Carr
650e718efb Improve WindowlessWM relayout support
The client may pass null layout params in the case
that nothing has changed. To handle this we should
cache the previous values.

Bug: 134365580
Test: WindowlessWmTests
Change-Id: I3192b84d1550f16dcca108bd9746176a4e5ffe42
2019-10-01 13:43:36 -07:00
Tarandeep Singh
0bedd94994 Add showInsets method in IWindow
Add showInsets(types, fromIme) in IWindow in order for WM to be able to request
show for any of the InsetTypes.
Note: This will be used in followup CLs.

Bug: 139487540
Bug: 118118435
Test: Build passing

Change-Id: Ie988d0a234befa530ca236a3bb32c77d8a4dce21
2019-10-01 13:22:55 -07:00