Commit Graph

23125 Commits

Author SHA1 Message Date
Jing Ji
e1eb2bf9a3 Merge "Add a parameter to the internal FGS notification listener" into tm-dev 2022-04-05 11:31:12 +00:00
Jing Ji
3d57c22c0e Add a parameter to the internal FGS notification listener
Don't use the notification ID to determine if it's being
canceled or not.

Bug: 203105544
Test: atest FrameworksMockingServicesTests:BackgroundRestrictionTest
Change-Id: I0ddcb7de57800c5f8b69100353ba7f71157a5448
2022-04-04 19:50:51 -07:00
Prabir Pradhan
edff385132 Change input injection security model to require INJECT_EVENTS permission
Previously, any app could inject input events into the system via the
IInputManager#injectInputEvent API. The injection was only allowed if
the input event targeted a window owned by the same UID as that of the
process calling the API. This had drawbacks metioned in the bug.

Here, we change the input injection security model so that the signature
permission INJECT_EVENTS is required to inject events. This permission
is given to the system and the shell, so input injection can still be
done through the 'adb shell input' command. We also allow injection from
instrumeted processes where the instrumentation source has the
permission. For exmaple, running a test from the shell allows for the
test to inject events.

We also add support for a targeted injection mode, where the input
injection succeeds only if the target window for the event is owned by
the provided UID. This allows us to support injection from the
Instrumentation class, which only allows for injection into windows
owned by the same UID. In contrast to this, injection from the
UiAutomation class will target all windows, including system and spy
windows.

Bug: 207667844
Bug: 194952792
Test: atest inputflinger_tests
Test: atest WindowInputTests
Test: manual with test app: app cannot inject navigation gestures
Change-Id: Ib0d66eff3fc2f061e7c0d3b7e139a841a9bcebc7
2022-04-04 19:22:51 +00:00
Sudheer Shanka
ec157586d7 Merge "Inform NPMS about the app coming to the TOP state early." into tm-dev 2022-04-04 09:56:02 +00:00
Shan Huang
69a3984aae Remove OnBackInvokedDispatcherOwner interface.
Test: m -j update-api. Build and flash and test back behavior throughout
the system.
Bug: 227500290

Change-Id: Ibdb13d02e044741d05d99f1cad96e43dc0129fe4
2022-04-01 20:27:34 +00:00
Vadim Caen
d0923a2197 Merge "Split animation methods out of OnBackInvokedCallback" into tm-dev 2022-04-01 20:13:30 +00:00
Vadim Caen
c627777dda Split animation methods out of OnBackInvokedCallback
This makes OnBackInvokedCallback SAM compatible

Bug: 227789359
Test: atest \
        CtsWindowManagerDeviceTestCases:android.server.wm.BackNavigationLegacyTest \
        CtsWindowManagerDeviceTestCases:android.server.wm.BackNavigationTests \
        WmTests:com.android.server.wm.BackNavigationControllerTests \
        FrameworksCoreTests:android.window.BackNavigationTest \
        FrameworksCoreTests:android.window.WindowOnBackInvokedDispatcherTest \
        CtsViewTestCases:android.view.cts.OnBackInvokedDispatcherTest
Change-Id: Iab86b0488f1b3048eb02042191acaeb6a645a0bc
2022-04-01 20:09:26 +00:00
Prabir Pradhan
baf0f20718 Merge "Remove injectInputAfterTransactionsApplied from WMS" into tm-dev 2022-04-01 19:39:15 +00:00
Jim Blackler
a4dd0499bd Merge "Add loading boost intervention for games." into tm-dev 2022-04-01 09:39:44 +00:00
Sudheer Shanka
e69f7fdbb6 Inform NPMS about the app coming to the TOP state early.
It's possible for an app to come to the TOP state before
the oomAdj computation is done and we cannot wait for
oomAdj computation to complete and then inform NPMS about
the state change. So, inform NPMS early about the state
change when we know the app is going to the TOP state.

Bug: 226299593
Test: atest tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
Change-Id: I5d582618652cead179c419f7fe084283dd89d514
2022-03-31 19:51:55 -07:00
jimblackler
ac10e4a396 Add loading boost intervention for games.
Bug: 207845905
Test: atest com.android.server.app.GameManagerServiceTests
Change-Id: I2d0b4988797fe21bd7aec6d5351273757ae1a3ce
2022-03-31 20:38:29 +00:00
Lee Shombert
b53dad8cb0 Merge "Put a binder cache on DevicePolicyManager APIs" into tm-dev 2022-03-31 15:09:47 +00:00
Prabir Pradhan
603fea1fab Remove injectInputAfterTransactionsApplied from WMS
Since we already have IWindowManager#syncInputTransactions, we can
remove the need to have an input injection API in the window manager
interface.

Bug: 227356680
Test: presubmit
Change-Id: I730d05eec85978d8813e0924ddb4dba26922ea9f
2022-03-31 15:01:15 +00:00
Pratyush More
530587fb9e Merge "Enhance Javadoc for LocaleManager#setApplicationLocales." into tm-dev 2022-03-31 14:05:23 +00:00
Shan Huang
1b284d865f Merge "Deprecate Activity#onBackPressed and Dialog#onBackPressed." into tm-dev 2022-03-31 00:17:02 +00:00
Evan Rosky
b4749ccefa Merge "Hook up shell-transitions screenshotting for recents" into tm-dev 2022-03-30 23:52:15 +00:00
Hongwei Wang
b2a5b198cd Merge "Handle PiP shadow radius in WMShell" into tm-dev 2022-03-30 22:23:51 +00:00
Evan Rosky
353fe11e5d Merge "Add alternative to deprecated API" into tm-dev 2022-03-30 22:23:05 +00:00
Evan Rosky
f0dfb84bcd Add alternative to deprecated API
Bug: 217742181
Test: N/A, just comment change
Change-Id: Icf995b30ff12fc65d6b7455bb18e92882ad9f58f
2022-03-30 20:15:45 +00:00
Lee Shombert
fdd45a5c80 Put a binder cache on DevicePolicyManager APIs
Bug: 190489030

Put a binder cache in front of IDevicePolicyManager APIs.  The
following APIs are cached:
 * getKeyguardDisabledFeatures()
 * hasDeviceOwner()
 * getProfileOwnerOrDeviceOwnerSupervisionComponent()
 * isOrganizationOwnedDeviceWithManagedProfile()
 * getDeviceOwnerOrganizationName()
 * getOrganizationNameForUser()
 * isNetworkLoggingEnabled()

The caches use a shared key which means that all are invalidated at
the same time.  This is slightly less efficient than API-specific
invalidation but it greatly simplifies the invalidation logic in the
server.  The cost of invalidating all caches at the same time is small
if invalidation happens infrequently (less than one an hour, on
average).

The test classes are modified to disable caches in the local process.

Test:
 * atest FrameworksServicesTests:DevicePolicyConstantsTest
 * atest FrameworksServicesTests:DevicePolicyEventLoggerTest
 * atest FrameworksServicesTests:DevicePolicyManagerServiceMigrationTest
 * atest FrameworksServicesTests:DevicePolicyManagerTest
 * atest FrameworksServicesTests:EnterpriseSpecificIdCalculatorTest
 * atest FrameworksServicesTests:OverlayPackagesProviderTest
 * atest FrameworksServicesTests:OwnersTest
 * atest FrameworksServicesTests:PolicyVersionUpgraderTest
 * atest FrameworksServicesTests:SecurityEventTest
 * atest FrameworksServicesTests:SystemUpdatePolicyTest
 * atest FrameworksServicesTests:TransferOwnershipMetadataManagerTest

Change-Id: Iead8644cb413b45f3b6f3da81ff00a61788941a2
2022-03-30 12:49:05 -07:00
Pratyush More
4aee00f85e Enhance Javadoc for LocaleManager#setApplicationLocales.
This is being done in response to developer feedback. See the
attached bug for more info.

Bug: 226407732
Test: Javadoc change
Change-Id: I4e15e75db695eec650836da17074b1a2aae0fd5d
2022-03-30 12:35:19 +00:00
Kathy Chen
2816d09df5 Merge "Remove oneway from IAmbientContextManager." into tm-dev 2022-03-29 23:51:04 +00:00
Austin Borger
45081ab6a0 Merge changes from topics "b124224342", "change_procstate_flag" into tm-dev
* changes:
  Add new onUidProcAdjChanged callback to be consumed by the camera service.
  Modify UidRecord.CHANGE_PROCSTATE such that it behaves like a bit mask.
2022-03-29 21:52:36 +00:00
Kathy Chen
2efc9e5466 Remove oneway from IAmbientContextManager.
The AIDL interface is implemented by the system server. We need exceptions to propogate back to the calling app.

Test: cts test
Bug: 225108951
Change-Id: I0fcf58f3ecc204eb63644fa736b44f5a5b394be6
2022-03-29 13:09:03 -07:00
Austin Borger
db9165baf2 Add new onUidProcAdjChanged callback to be consumed by the camera
service.

The camera service needs to know when individual process oom adj scores
are changed in order to address bug #124224342. When two separate
processes are displayed in split screen and focus is switched between
them, both proc states will remain the same while their oom scores
change. This is a problem if both have access to the camera - we want
only one owner of the camera stream at any given time and for the app
in focus to be the one to own it.

This patch adds a new IUidObserver registration level for individual
process oom score changes. In addition a new callback has been added to
IUidObserver to track these changes.

Change-Id: I68d964f474d20f819f54b614a4e314ce00aac8fb
Bug: 124224342
Test: -- ActivityManagerServiceTest
      -- ActivityManagerProcessStateTest
      -- ActivityManagerFgsBgStartTest
      -- UidObserverControllerTest
      -- NetworkPolicyManagerServiceTest
      -- ShortcutManagerTest2
      -- HintManagerServiceTest
      -- VibrationSettingsTest
      -- CameraEvictionTest#testCamera2AccessCallbackInSplitMode (x100)
2022-03-28 19:46:45 -07:00
Jerry Chang
64d76ce090 Merge changes from topic "splitscreen_singletop" into tm-dev
* changes:
  Consolidate split screen rotation in shell transition
  Add a single-top root task for split screen
2022-03-29 02:13:29 +00:00
Hongwei Wang
2708c3a74d Handle PiP shadow radius in WMShell
Deprecate also the shadow radius for PiP in Task

Bug: 206508708
Test: Verify the PiP enter/exit/move/resize transitions
Change-Id: I8ff83dd4e626a3455373fed6c908cf131ecae8fe
2022-03-28 16:43:46 -07:00
Sharon Su
589c1ad6ba Merge "Add more status code to cinematic effect response." into tm-dev 2022-03-28 20:39:33 +00:00
Shan Huang
f66c4d611b Deprecate Activity#onBackPressed and Dialog#onBackPressed.
Test: m -j update-api
Bug: 195946584
Change-Id: I680884520074751e1c5fd0c7bd906a5f11f30236
2022-03-28 17:36:25 +00:00
Pavel Grafov
66de8ccfc8 Merge "Simplyfy DPM binder by using WifiSsidPolicy." into tm-dev 2022-03-28 15:32:01 +00:00
Sharon Su
26aff6fbcb Add more status code to cinematic effect response.
Bug: 213238425
Test: cts

Change-Id: I26dfc53b22817953839d9882398a502ea7293c08
(cherry picked from commit 85d76e06ce)
Merged-In: I26dfc53b22817953839d9882398a502ea7293c08
2022-03-26 05:16:18 +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
Pavel Grafov
8d2caa2b01 Simplyfy DPM binder by using WifiSsidPolicy.
WifiSsidPolicy is parcelable, so there is no need to marshall it
explicitly as a deny- or allow-list using separate getters and
setters.

Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
test: atest WifiSsidRestrictionTest
Bug: 218495535
Change-Id: Iee06acb6b136766fb16cef2d60a46bd7373b5c56
2022-03-25 12:59:11 +00:00
Mark Renouf
fe4b81853e Merge "Remove permission token from startActivityAsCaller" into tm-dev 2022-03-25 02:32:08 +00:00
Jerry Chang
d6b42472ea Add a single-top root task for split screen
Make direct children of a created-by-organizer task organizable.
Add a single-top root task which the split divider bar can attach to. So
we can remove the special logic of the divider bar z-ordering in the
followup patch.

Bug: 207185041
Fix: 215322621
Test: atest ZOrderingTests
Test: atest com.android.wm.shell.splitscreen
Test: manual check the divider bar z-order setup with pip window and
      assistant voice plate
Change-Id: Ia36d7529ef52685be4516b6f6ea5d7179fc26fd6
2022-03-25 00:58:09 +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
Antonio Kantek
f9cb8fa27b Merge "Update setInTouchMode javadoc" into tm-dev 2022-03-24 21:07:40 +00:00
Evan Rosky
da6af4048d Hook up shell-transitions screenshotting for recents
shell-transitions doesn't use IRecentsAnimationController, so
instead add a companion takeTaskSnapshot to ATMS and use that
in the RecentsAnimation adapter.

Bug: 226446305
Test: go to recents, start select-mode on live tile
Change-Id: I35a1e7be02a01767802eca02b6ba045a7c8309b0
2022-03-24 13:43:38 -07:00
Alex Johnston
c7df8de886 Merge "Require TRIGGER_LOST_MODE permission for sendLostModeLocationUpdate" into tm-dev 2022-03-24 17:20:56 +00:00
Hui Yu
63258db33d Merge "[Bugfix] Don't delete mPendingUids if PendingTopPid is added later than updateOomAdj started" am: 8f321a616b am: c9c23976a9 am: a0be2d5cc5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2036403

Change-Id: I278a9e0c7cf4f42431a40c054738873888bf033f
2022-03-24 17:17:09 +00:00
Hui Yu
a0be2d5cc5 Merge "[Bugfix] Don't delete mPendingUids if PendingTopPid is added later than updateOomAdj started" am: 8f321a616b am: c9c23976a9
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2036403

Change-Id: Ie87188285f12c8d533ce053c1626a8080e04b67c
2022-03-24 16:46:13 +00:00
TreeHugger Robot
e61854471e Merge "RESTRICT AUTOMERGE Rename PermissionController resource constants" into tm-dev 2022-03-24 16:05:32 +00:00
Hui Yu
5e90a571ce Merge "Increase startForeground() timeout to 30 seconds." into tm-dev 2022-03-24 15:42:37 +00:00
Riddle Hsu
5ff11183cc Merge "Drop task snapshot with invalid hw buffer" into tm-dev 2022-03-24 14:23:49 +00:00
Issei Suzuki
215a637b6c Merge "Add ActivityOption to remove insecure keyguard when activity is launched." into tm-dev 2022-03-24 13:42:34 +00:00
Alex Johnston
f7a1a20815 Require TRIGGER_LOST_MODE permission for sendLostModeLocationUpdate
Changes:
* Use TRIGGER_LOST_MODE permission to gate the
  DevicePolicyManager API sendLostModeLocationUpdate

Bug: 223148704
Test: atest android.devicepolicy.cts.LostModeLocationTest
Change-Id: If15388a377c75b7581c9c2a35b3d9828f78e13fc
Merged-In: If15388a377c75b7581c9c2a35b3d9828f78e13fc
2022-03-24 12:29:28 +00:00
Riddle Hsu
5df3f27df3 Drop task snapshot with invalid hw buffer
The notifyTaskSnapshotChanged may not be always called after
Binder.clearCallingIdentity. And because there was commit
67b0902 that avoids keeping unnecessary buffer in remote
processes, it may mis-close the buffer in system server if
the calling pid isn't cleared on binder thread.

e.g. there are several suspects from ActivityTaskManagerInternal
Though it might be the responsibility of the caller to clear
binder identity before calling internal interfaces.

Instead of adding clearCallingIdentity every where:
1. Explicitly set the listener as local to skip closing the buffer
   so it is independent of which thread is calling.
2. Protect the persister when using the buffer.

Bug: 192143094
Bug: 220659717
Bug: 223950159
Bug: 225794452
Test: atest TaskSnapshotPersisterLoaderTest
Change-Id: I94e8e706e56a73fffe8189023bcef5efd797a24c
2022-03-24 08:44:31 +00:00
Antonio Kantek
afb41741b9 Update setInTouchMode javadoc
Update the javadoc for Instrumentation#setInTouchMode indicating that
starting from Android Tiramisu, this method will only take effect if the
instrumentation was sourced from SHELL or ROOT owned processes.

Test: m
Fixes: 222652344
Change-Id: I8af79acb11f17233f395412670c9f171aec80c59
2022-03-23 21:34:28 -07:00
huang chaopeng
2da542d368 [Bugfix] Don't delete mPendingUids if PendingTopPid is added later than updateOomAdj started
Analysis:
1.Doing updateOomAdjInnerLSP in backgroud, and it would last for a long
time
2.Now start a new Activity, windowManager save the latest topUid into PendingStartActivityUids
3.updateOomAdj task in step.1 done, and then delete all uids in PendingStartActivityUids
4.The topApp will be rejected by AppOps due to the deleting in step.3

Signed-off-by: huang chaopeng <huangchaopeng@oppo.corp-partner.google.com>
Change-Id: I52c7c2a8d6cb86b27b1f008cb56f670ce7698dc9
2022-03-24 10:47:35 +08:00
Sudheer Shanka
12e997720b Avoid checking for idle state when the app is in top state.
When we know that an app moved to a procstate that is considered
an interaction event, the app will not be in idle state. So, avoid
calling into UsageStatsService for idle state in this case.

Bug: 209338078
Test: atest tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java
Change-Id: I5648db595d2fd10a151da13e472fd905bcafe182
2022-03-23 18:25:18 +00:00