Commit Graph

3429 Commits

Author SHA1 Message Date
Bryce Lee
410b5a6f98 Unbind from overlay before checking attached.
Currently, DreamService#finish exits early if the window is not
attached. The unbind from the dream overlay service follows this
condition. As a result, it is possible that the service is not
unbound if the window was never attached. This changelist addresses
This potential connection leak by having the unbind precede the
check.

Fixed: 227498355
Test: manual
Change-Id: I7a73258cea5219bea96f4de3b90b4b5a66478fde
2022-04-04 14:57:13 -07:00
Jack Yu
2f0440e4fe Merge "Updated the owners" am: c22f798040 am: d7659e6014 am: 0d9d376b45
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2052239

Change-Id: I2b0f3ca4b76ca656dde769ae1b26a9fe6a83d870
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-04 06:06:57 +00:00
Jack Yu
d7659e6014 Merge "Updated the owners" am: c22f798040
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2052239

Change-Id: Icf59b227d3b37ba84874d9452b16762b47603649
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-04-04 05:40:33 +00:00
TreeHugger Robot
20514d4e5e Merge "Add tracing to wallpaper local colors" into tm-dev 2022-04-01 17:30:41 +00:00
Jack Yu
7750d9fa9f Updated the owners
Updated the owners to the latest telephony and
telecomm team members.

Test: Build
Bug: None
Change-Id: I3a456b168ec24199413e42c5fa615ecf285af79b
2022-04-01 16:46:46 +00:00
Jay Aliomer
43cd27258f Add tracing to wallpaper local colors
Bug: 221495444
Test: N/A
Change-Id: Ia72308eef6bfa08523dd6cb7653b047cade86f7b
2022-04-01 10:07:27 -04:00
Simran Basi
ab7ee498bc Merge "Delete attribute useTargetActivityForQuickAccess." into tm-dev 2022-03-31 18:26:52 +00:00
TYM Tsai
e6ae224102 Merge "Make TextView do not show IME when fill dialog popup" into tm-dev 2022-03-31 14:09:17 +00:00
Scottie Biddle
e30d9986f1 Delete attribute useTargetActivityForQuickAccess.
In practice, the value of this xml attribute is always going to a
function of  whether or not getTargetActivityPendingIntent() is null--
when a QuickAccessWalletService sends us a PendingIntent, we will use
that instead of the SystemUI card switcher activity.

If the PendingIntent is null, we then fall back to our old behavior:
* If the wallet is not currently showing any cards, launch the activity
  specified by getWalletIntent() (this is hardcoded in XML metadata).
    * If the wallet is currently showing cards, launch the SysUI
      switcher activity.

Test: atest CtsQuickAccessWalletTestCases --retry-any-failure
Test: atest QuickAccessWalletControllerTest
Fixes: 218860062
Change-Id: I62f7ca507ebce29b03d6ce76bccaa6d736720a86
Merged-In: I4cfaa5b6035499c47a0ed8b1a4a5f3e1f0f50860
2022-03-30 23:28:49 +00:00
Yuri Lin
f4853ae012 Write ZenPolicy conversation settings out to XML
because apparently we weren't doing that before

Bug: 223453030
Test: ZenModeConfigTest
Change-Id: Ied8f9120881d04987d38b8dc6364f864331a29f0
2022-03-28 16:04:49 +00:00
Tiger Huang
5b19a1584a Merge "Send InsetsState to the client via IWindow#resized" into tm-dev 2022-03-26 03:50:44 +00:00
Sharon Su
affee4a5e1 Merge "Update WallpaperEffectsGeneration api, including annotations on data classes and allow the same uid process to call returnCinematicResponse API." into tm-dev 2022-03-25 17:05:09 +00:00
Ayush Sharma
9f080a0345 Fix security hole in GateKeeperResponse am: 5d2176df69 am: 25356fba35 am: 936c9f03ea
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17343385

Change-Id: I22d92503039e830328e6a22a724aeb1286730108
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-25 13:06:56 +00:00
Ayush Sharma
936c9f03ea Fix security hole in GateKeeperResponse am: 5d2176df69 am: 25356fba35
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17343385

Change-Id: I440c492f0199a89f61356c21cc0f0be8d0649199
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-25 12:54:22 +00:00
Ayush Sharma
25356fba35 Fix security hole in GateKeeperResponse am: 5d2176df69
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17343385

Change-Id: Iaa20c957e0944a9ce72c1584d93c352d7ffeee40
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-03-25 12:35:07 +00:00
Tiger Huang
bc1d8093db Send InsetsState to the client via IWindow#resized
In some cases, the InsetsState and the window frame can be changed at
the same time (such as orientation changed). Reporting them separately
might produce incorrect insets.

When the window layout is moved to the client, it uses the configuration
and the InsetsState to compute the window frame. They need to be
reported together as well.

Bug: 161810301
Bug: 160732586
Test: atest ActivityRecordTests WindowStateTests
Test: Add logs to check if we dispatch the correct insets to apps while
      rotating the display.
Change-Id: I5c9f628eda40932def97c5caf968cb62db128e80
2022-03-25 12:39:18 +08:00
TreeHugger Robot
bb497479ab Merge "Update the GrantTrustResult to remove static factory method." into tm-dev 2022-03-25 03:52:11 +00:00
TreeHugger Robot
ba57fccde4 Merge "Client feedback: Fix javadoc mistake" into tm-dev 2022-03-25 02:43:08 +00:00
Mark Renouf
fe4b81853e Merge "Remove permission token from startActivityAsCaller" into tm-dev 2022-03-25 02:32:08 +00:00
Sharon Su
bb146eff49 Update WallpaperEffectsGeneration api, including annotations on data classes and allow the same uid process to call returnCinematicResponse API.
Test: Manual test on device
Bug: 218570612
Change-Id: Ie12b570f1e6400ab9e289b882e5821921a609e0a
(cherry picked from commit 1611a8d1c5)
Merged-In: Ie12b570f1e6400ab9e289b882e5821921a609e0a
2022-03-24 23:08:08 +00:00
Dave McCloskey
c26e2e11a5 Update the GrantTrustResult to remove static factory method.
Bug: 226358933
Bug: 225231929
Test: atest TrustTests
CTS-Coverage-Bug: 213944235
Change-Id: I3d38a7df0bff3ef762579fa12bdfc68b6109f0fd
2022-03-24 11:04:02 -07:00
Tiger Huang
0797d97536 Merge "Introduce updateVisibility and updateLayout" into tm-dev 2022-03-23 17:44:42 +00:00
Lucas Dupin
f4dbcd621f Merge "Asynchronously bind/unbind service" into tm-dev 2022-03-23 17:11:24 +00:00
Mark Renouf
05a2ef2647 Remove permission token from startActivityAsCaller
The call is protected by the signature permission
START_ACTIVITY_AS_CALLER. This will remove the need for additional data
to be passed from system server.

Bug: 222082547
Bug: 226354782
Test: atest ActivityTaskManagerServiceTests, atest ChooserActivityTest,
      manual testing
Change-Id: I94f34a68e390569ec14dfebb1902a7c30558864f
2022-03-23 14:55:01 +00:00
TreeHugger Robot
49d28c5a9c Merge "[DO NOT MERGE] Remove the Client Suggestions APIs" into tm-dev 2022-03-23 07:25:35 +00:00
TYM Tsai
8f502801e1 Make TextView do not show IME when fill dialog popup
Make to show fill dialog only if IME is not showing. And if the field
will show fill dialog, ignore to show ime when clicks on the field.

Bug: 210926084
Test: Manual
  launch sample and click on password field -> show fill dialog
  click on username field (no fill dialog) -> show fill UI and IME
  IME is showing and click on password field -> show fill UI
Test: atest android.autofillservice.cts.dialog.LoginActivityTest
Test: atest android.widget.cts.EditTextTest
Change-Id: I6080510d87c50969d85fd9ed746ceba7e3c1c685
2022-03-23 15:02:12 +08:00
Ayush Sharma
5d2176df69 Fix security hole in GateKeeperResponse
GateKeeperResponse has inconsistent writeToParcel() and
createFromParcel() methods, making it possible for a malicious app to
create a Bundle that changes contents after reserialization. Such
Bundles can be used to execute Intents with system privileges.

We fixed related issues previously for GateKeeperResponse class, but
one of the case was remaining when payload is byte array of size 0,
Fixing this case now.

Bug: 220303465
Test: With the POC provided in the bug.
Change-Id: Ida28d611edd674e76ed39dd8037f52abcba82586
Merged-In: Ida28d611edd674e76ed39dd8037f52abcba82586

(cherry picked from commit 46653a91c3)

Change-Id: I486348c7a01c6f59c952b20fb4a36429fff22958
2022-03-23 06:38:03 +00:00
TYM Tsai
613a8733c6 Client feedback: Fix javadoc mistake
Bug: 226053830
Test: make sdk
Change-Id: I97665d80f49a5d7adce9905623f659400f735f88
2022-03-23 01:06:45 +08:00
Tiger Huang
db407ef12d Introduce updateVisibility and updateLayout
This is a step to let the client layout its window locally. The ultimate
goal is to reduce the jank while laying out the window.

With the new AIDL methods, we can divide IWindowSession.relayout into:

- IWindowSession#updateVisibility (synchronized binder call)
  - To get or update the surface
  - To fetch the latest factors about window-layout
  - Only called when the view visibility is changed

- WindowLayout#computeFrames (local function call)
  - To compute the window frames

- IWindowSession#updateLayout (one way binder call)
  - To report the result of layout to the server

In this way, if the view visibility is not changed, the UI thread of
the client won't be blocked by the binder call during relayout.

The local layout project won't be done in a single CL. In order not to
break the existing logic, this CL introduces a flag: LOCAL_LAYOUT. The
flag will be enabled when the logic of local layout is ready.

Bug: 161810301
Bug: 175861051
Test: presubmit (no behavior change)
Change-Id: Ic4b2fc78a318f3a68e1ef8a35d8f3ab705856702
2022-03-22 23:42:47 +08:00
Lucas Dupin
1ad640ba13 Asynchronously bind/unbind service
Context#bindService can take unreasonably long to execute, causing API
clients to miss frames.

Test: atest TestQuickAccessWalletService
Test: atest QuickAccessWalletControllerTest
Fixes: 218323803
Change-Id: If0278a531b4eb07aad713986315118ac91337b0b
2022-03-21 18:20:16 -07:00
TYM Tsai
0871d02822 [DO NOT MERGE] Remove the Client Suggestions APIs
Bug: 224871426
Test: atest CtsAutoFillServiceTestCases
Change-Id: I178e0443278383120d9e6e3321ec96be8e5705c1
2022-03-22 00:21:12 +00:00
Dave McCloskey
c5a7ed29de Merge "Changes to support reducing noise in active unlock notifications." into tm-dev 2022-03-21 19:15:01 +00:00
Dave McCloskey
6c707a47da Changes to support reducing noise in active unlock notifications.
1. Add additional trigger onUserMayRequestUnlock
  - point existing trigger points from SystemUI to this
2. Argument added to onUserRequestedUnlock to indicate if user wants to
   dismiss keyguard.
3. Callback for result of grantTrust calls.
  - curently only calls back if device was unlocked as a result of the
    call

See design: go/au-noise-reduction

Note: changes made to SystemUI are manually tested and may need
refactoring which is being skipped now to meet the API Freeze deadline.

Bug: 225231929
Test: atest TrustTests
Test: Manual interaction with wake & fingerprint sensor
CTS-Coverage-Bug: 213944235
Change-Id: I8d08229f09c9a1f2295b7eb464d12cad0c6b8303
2022-03-21 09:00:43 -07:00
Ayush Sharma
f811f765de Merge "Fix security hole in GateKeeperResponse" into tm-dev 2022-03-21 09:13:24 +00:00
Tiger Huang
883190cdb3 Merge "Push drag-resize mode to the client" into tm-dev 2022-03-21 05:51:13 +00:00
Tiger Huang
3e194cc9fa Push drag-resize mode to the client
The goal of this CL is to remove RELAYOUT_RES_DRAG_RESIZING_DOCKED and
RELAYOUT_RES_DRAG_RESIZING_FREEFORM, which is a step to make relayout an
oneway binder call.

When the resize mode is changed at the server side, the server will send
the new mode to the client via IWindow#resized, so the client doesn't
need to obtain the resize mode from the flags returned from relayout.

Bug: 161810301
Test: Perform drag-resize and drag-move on a freeform task and see if
      there is any unexpected behavior.
Change-Id: I450abc113932b6c1dc0ce0e2b76bebdf85a60777
2022-03-20 14:36:19 +08:00
Joanne Chung
f9fafbe617 Provide AutofillService to know how the dataset was shown to user
We introduce a filed for ui presentation in FillEventHistory.Event,
the type will be set for TYPE_DATASET_SHOWN and TYPE_DATASET_SELECTED.
The AutofillService can know which dataset is shown to user and which
type dataset user is clicked.

This change defines the definition and apply to TYPE_DATASET_SHOWN,
the TYPE_DATASET_SELECTED will be implemented on the follow up
change.

Bug: 223472350
Test: manual. build and boot pass. Test app and see dumpsys autofill
CTS-Coverage-Bug: 225310516

Change-Id: Ic221bd79e2ad512db5cd1ef8fd96c6bfae2ca616
2022-03-19 07:22:05 +00:00
Ahaan Ugale
ff1e4a4680 Merge "Allow AutofillService can identify if fill dialog presentation is needed." into tm-dev 2022-03-19 06:11:51 +00:00
Peiyong Lin
4bd3214296 Merge "Add permission for takeScreenshot API." into tm-dev 2022-03-19 01:53:16 +00:00
Joanne Chung
23668c560e Allow AutofillService can identify if fill dialog presentation is needed.
If the fill dialog is available for the field, the FillRequest flags
will contain FLAG_ACIVITY_START. The field is hidden originally but
it needs to be get from AutofillService to avoid creating unnessary
fill dialog presentation. Rename the flag because the it's not clear
to combine the relationship with fill dialog.

Bug: 223472039
Test: manual. Build and boot pass.

Change-Id: I52c367e75100f6af2ab782f58755bc5727b1dd72
2022-03-18 22:57:51 +00:00
TreeHugger Robot
c7af3f3088 Merge "Remove DisplayHashingService constructor" into tm-dev 2022-03-18 18:21:11 +00:00
Joanne Chung
2081b5d040 Merge changes from topic "presubmit-am-08bbcb587d4e47b6afcc900c23899344" into sc-v2-dev am: 0f608efde9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17184230

Change-Id: I35d157de8376b43f4359cd7243d12973704bf893
2022-03-18 10:21:11 +00:00
chaviw
4759768c18 Remove DisplayHashingService constructor
There's no need for the constructor and it shows up as missing CTS tests
for it. Rather than adding tests, just remove the constructor.

Test: atest DisplayHashManagerTest
Bug: 220812349
Change-Id: I6104a4955c4ca107820de39d0547d3901d96ca18
2022-03-17 12:47:12 -05:00
Joanne Chung
28faf49c0b Add hotword detection metrics.
Bug: 207717787
Test: build & boot pass.
Test: manual. Both trust and no-trust still work.
Test: manual. In nornal case, log with expected values, see bug for
details. Log expected value for some error cases (not all are tested)
by local changes.

Android Metrics Design Review : eldar/276723226

Merged-in: Iaa778616eca4cfad83a94297d9cd6116bb9577e7
Change-Id: I98fde2467e09564569cdbf10b20e9defece65cbf
(cherry picked from commit e4b76fc200)
2022-03-17 19:36:08 +08:00
Nicholas Ambur
3d1093eefb expand test API for DSP kephrase trigger
Expands the existing test API to include the KeyphraseExtra information
in the fake DSP trigger event.

Test: atest CtsVoiceInteractionTestCases
Test: atest CtsVoiceInteractionHostTestCases
Bug: 193232191
Change-Id: I3392cb37afaed6f67fb2f3b22edcbe7c869d1eba
(cherry picked from commit 46c4ba27d1)
2022-03-16 19:22:27 +00:00
Ayush Sharma
46653a91c3 Fix security hole in GateKeeperResponse
GateKeeperResponse has inconsistent writeToParcel() and
createFromParcel() methods, making it possible for a malicious app to
create a Bundle that changes contents after reserialization. Such
Bundles can be used to execute Intents with system privileges.

We fixed related issues previously for GateKeeperResponse class, but
one of the case was remaining when payload is byte array of size 0,
Fixing this case now.

Bug: 220303465
Test: With the POC provided in the bug.
Change-Id: Ida28d611edd674e76ed39dd8037f52abcba82586
2022-03-16 18:04:03 +00:00
Kathy Chen
c7a552d74f Address API review feedback for AmbientContext. Add shell method for more test coverage. Do not unregister request from the same client and delegate to AiAi to handle it.
Test: CTS tests
Bug: 219740201
Change-Id: I8fa9df9cab9965d84d301760f4f7fba08dc44f54
(cherry picked from commit 542fc25dff)
2022-03-15 18:36:25 +00:00
Robert Carr
027b59d90a WMS/ViewRoot: Prepare for Async BLAST Sync [1/N]
We would like to make relayoutWindow a non-blocking call,
and of course why not, who likes blocking. However it functions
as a critical path of BLASTSync. To understand why examine the
Guarantee described in BLASTSync.md.

In order to implement this guarantee we need to know
“Which frame has the client finished drawing” when it calls
finishDrawing. The current answer to this question is
“The frame reflecting the state observed in the last call
to relayoutWindow”. The comments on mPending and mCurrentDrawHandlers
also have a lot more context on how this works currently. Since
relayoutWindow has a critical section, it also ensures that changes
to syncable state and preparation of sync will be observed atomically
(since they are both observed over relayoutWindow, which is always
called before any frame drawing updated syncable state).

We design a new protocol described in BLASTSync.md, which uses a seqId
to track which call to finishDrawing reflects which syncable state.
We implement this seqId based system. Unfortunately the WindowManager
doesn’t quite conform to the requirements specified by the protocol,
and a follow up CL ensures that syncable state changes will
always be sent with the seqId.

This CL simply adds the protocol specification and makes some required
interface changes. It can be seen to be a no-op.

Bug: 161810301
Bug: 175861051
Bug: 175861127
Bug: 200285149
Change-Id: If2dea07121fe7de5d2524c5b63678dddf955d4b7
2022-03-14 08:08:40 -07:00
Fabian Kozynski
82b2876457 Merge changes from topics "172251878", "presubmit-am-7890421506ee474b9057d3c5d333e341" into tm-dev
* changes:
  CompatChange to use hidden API in TileService
  Fix loopers in TileServices
2022-03-10 19:09:25 +00:00
Fabian Kozynski
af6c54c109 CompatChange to use hidden API in TileService
This adds a new hidden API in StatusBarManager for active
TileService#requestListeningState. That way, we can verify that the
calling package is the same as the one belonging to the tile.
This is enforced using CompatChange for apps that target T+.

Test: atest StatusBarManagerServiceTest
Test: atest TileServicesTest
Test: atest CtsSystemUiHostTestCases
Test: sample app targetting T
Fixes: 172251878

Change-Id: Ic9b8aca55dcfc2b32b018a5308f19e49a933c4c9
2022-03-10 16:47:27 +00:00