Commit Graph

11080 Commits

Author SHA1 Message Date
Matt Gilbride
11d45a263c Merge "Add hidden Binder.getCallingUidOrWtf" am: e5a82fc9a2 am: fca24e3971 am: 05faaa8556
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2324515

Change-Id: I5aa92ccdb4d8df7563643f166113f98da8b0fd6a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-05 15:49:22 +00:00
Matt Gilbride
05faaa8556 Merge "Add hidden Binder.getCallingUidOrWtf" am: e5a82fc9a2 am: fca24e3971
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2324515

Change-Id: I9e5e8fa40d5819086b172302308330d18f3f380f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-05 15:43:45 +00:00
Matt Gilbride
fca24e3971 Merge "Add hidden Binder.getCallingUidOrWtf" am: e5a82fc9a2
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2324515

Change-Id: Ib8b6ae6d47aa42aecf6078a71cd6cfdd312f09dc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-05 15:14:20 +00:00
TreeHugger Robot
0307688430 Merge "Merge TQ1A.221205.012" into stage-aosp-master 2022-12-03 00:47:46 +00:00
mattgilbride
b776aa9e89 Add hidden Binder.getCallingUidOrWtf
Binder.getCallingUidOrThrow throws if the caller is NOT:
1) Called from within a binder transaction OR
2) Called from within a
   Binder.clearCallingIdentity/restoreCallingIdentity block

Number 2 was added in I162db933f9e52cd6f9f46796bda11ad6216d3d66
to allow us to migrate from Binder.getCallingUid to it. There are
many use cases where callers are not in a Binder transaction, but
have set the calling UID "explicitly" by calling clearCallingIdentity.

In order to further ease the migration from Binder.getCallingUid to
Binder.getCallingUidOrThrow, this hidden API behaves similarly,
but logs at WTF level instead of throwing IllegalStateException.

The motivation is to first migrate to the WTF version, so that
system_server will log and continue. The goal is to only use this
in the system (hence @hide). It will provide early signals as to the
feasibility of a given migration.

For example, its desirable to migrate the permission checking in code
generated by the @EnforcePermission annotation (via the AIDL compiler).
This call site is widely used, and itself subject to mass migrations to
@EnforcePermission instead of manual permission enforcement.

Bug: 252975769
Test: TH
Change-Id: I11ea3fdf889689d76211506e81420e694238ee68
2022-12-02 17:17:31 +00:00
Parth Sane
f63ab768a6 Merge "Add support for AIDL traces for Priv apps" am: 93dae4bc8f am: 4c17cc1766 am: a022ca79c7
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2311609

Change-Id: I55ca66be4da0baa8baff6887bba541adcffad44a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-02 11:52:12 +00:00
Parth Sane
a022ca79c7 Merge "Add support for AIDL traces for Priv apps" am: 93dae4bc8f am: 4c17cc1766
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2311609

Change-Id: I51a518a70c9ec3bc3393aa83b2f7dbd7366d1753
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-02 11:49:21 +00:00
Parth Sane
4c17cc1766 Merge "Add support for AIDL traces for Priv apps" am: 93dae4bc8f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2311609

Change-Id: Ie31a74f45c0f9f4c063373cdb610d167eb7920cf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-12-02 11:18:43 +00:00
Parth Sane
93dae4bc8f Merge "Add support for AIDL traces for Priv apps" 2022-12-02 10:42:33 +00:00
TreeHugger Robot
a6108fab7b Merge "frameworks: improve semantics and documentation for asyncTraceForTrack*" 2022-12-01 19:55:07 +00:00
Felipe Leme
de6c7ff862 Merge "Make UM.isUserVisible() and UM.getVisibleUsers() @SystemApis." 2022-12-01 16:29:08 +00:00
Lalit Maganti
8afa13d426 frameworks: improve semantics and documentation for asyncTraceForTrack*
This CL improves the documentation and semantic behaviour of asyncTraceForTrackBegin
to match how these methods were expected to be used. [1] misuses
the event as previously written because it provides overlapping
events with the same cookie: however, it also nests the events and due
to how Perfetto UI/trace_processor are implemented, this just ends up
*happening* to work out.

I will send some follow up CLs cleaning up usages in the broadcast code
where we should nest events instead of overlapping them.

Bug: 259535570
Change-Id: Idcf10bed7ed1228b0ba9aa62ef3f47169030cc6a
2022-12-01 16:25:17 +00:00
Oli Lan
4e19d54ae3 Merge "Add system API to get the previous user." 2022-12-01 09:56:45 +00:00
Yeabkal Wubshit
c04d8de7c4 Merge "Create API to Compute Vibration Pattern Equivalent to a VibrationEffect" 2022-12-01 00:04:58 +00:00
Yeabkal Wubshit
4e125b212a Create API to Compute Vibration Pattern Equivalent to a VibrationEffect
This is initially thought of in
go/vibration-effects-for-notifications-dd, and can be used whenever a
vibration pattern is needed to be extracted from a VibrationEffect. See
also: go/vibration-changes-for-notification-channels

Bug: 241732519
Test: unit tests
Change-Id: Ieccbe95d40e638dec23014cc18ba11c0b5754fd8
2022-11-30 20:07:01 +00:00
Vikram Gaur
7cfaa10b96 Merge "Update javadoc for getDeclaredInstances." am: 5d7776c28a am: 9cde85d84f am: 0fb5d7af4d
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2305921

Change-Id: Iae6ed393ed1b4d764f231e71047831e94b69dce5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-30 19:54:13 +00:00
Oli Lan
c59305fbfb Add system API to get the previous user.
This adds a system API to retrieve the user that was last in the
foreground, apart from the current user.

This may be used for example when the current user is removed,
to switch to the previous current user.

Bug: 259373662
Test: atest UserManagerHostTest
Change-Id: Ie21fe2f47a90633d2e2a9cb36f03d7d1bca1f9d5
2022-11-30 12:09:18 +00:00
Vikram Gaur
0fb5d7af4d Merge "Update javadoc for getDeclaredInstances." am: 5d7776c28a am: 9cde85d84f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2305921

Change-Id: Ic7bbcfc37bccd5268726d9f2e512c86cd4e98ed9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-30 09:57:03 +00:00
Vikram Gaur
9cde85d84f Merge "Update javadoc for getDeclaredInstances." am: 5d7776c28a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2305921

Change-Id: I3b54a28fe405e49f9d8a557f2e06769c669700a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-30 09:28:29 +00:00
Xin Li
1a4195e73f Merge TQ1A.221205.012
Bug: 255404110

Merged-In: I2ec5fd036af1d35c6d3fe000ee41f3347f9aea41
Change-Id: I8eafa4a3b71c53c735f349332bb7c5f460f13bf2
2022-11-29 15:18:42 -08:00
Oli Lan
7d38aca0a7 Add a system API to get the main user.
This adds a system API to get the designated main user on the device.

The documentation for the existing isMainUser API is updated to make
clear that a main user might not exist on the device, particular for
non-phone/tablet form factors, but there will always be at most one
main user.

The CTS tests for isMainUser are updated to reflect that documentation,
and to no longer enforce that the main user is the first user on the
device

Bug: 259476886
Bug: 256624031
Test: atest UserManagerTest
Change-Id: Id1739b188d7c1c0f9006bc473de35a88d09cad95
2022-11-29 17:11:53 +00:00
Vikram Gaur
1b35d8eed1 Update javadoc for getDeclaredInstances.
Test: Javadoc changes
Bug: 259363062
Change-Id: Ibc99e71abbec01853f0eae187ee0d75f9fe94bfe
2022-11-28 19:55:21 +00:00
Felipe Leme
1b5fe567ff Make UM.isUserVisible() and UM.getVisibleUsers() @SystemApis.
These APIs are "similar" to AM.getCurrentUser() which is also
@SystemApi. Besides, regular apps shouldn't care about users.

Test: m update-api
Test: atest CtsMultiUserTestCases:android.multiuser.cts.UserManagerTest MultipleUsersOnMultipleDisplaysTest

Fixes: 259423113

Change-Id: I71a5bcefdb719cee632936faf8bdf87386356452
2022-11-28 04:23:17 +00:00
Matt Gilbride
b991fd2c9e Merge "Make getCallingUidOrThrow() not throw in clearCallingIdentity() blocks" am: a3862537ff am: 2f3bc71868 am: 96cf82ee53
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2311186

Change-Id: Ida72d323ed6e7692b58d07cecab31267b31dc063
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-23 17:07:05 +00:00
Parth Sane
1a382346df Add support for AIDL traces for Priv apps
Change-Id: I75c39ebdf87f1068a91c68654b4779eeda4995f0
Test: Manual
Bug: 236441443
2022-11-22 16:54:13 +00:00
Matt Gilbride
96cf82ee53 Merge "Make getCallingUidOrThrow() not throw in clearCallingIdentity() blocks" am: a3862537ff am: 2f3bc71868
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2311186

Change-Id: Idf161d70dfa5fe1a029245b5a568e9e0dde3baa4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-22 12:05:35 +00:00
Matt Gilbride
2f3bc71868 Merge "Make getCallingUidOrThrow() not throw in clearCallingIdentity() blocks" am: a3862537ff
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2311186

Change-Id: I4ad458fee77e00dd491407a5122c3c1173cf4e2e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-22 11:40:26 +00:00
TreeHugger Robot
5a7f703be3 Merge changes from topic "art-module-service-manager"
* changes:
  Revert "Expose ServiceManager.waitForService as system API."
  Register ArtModuleServiceManager on system server initialization.
2022-11-21 20:31:46 +00:00
mattgilbride
d8323e8684 Make getCallingUidOrThrow() not throw in clearCallingIdentity() blocks
The new method hasExplicitIdentity will track whether the caller is
within a Binder.clearCallingIdentity/restoreCallingIdentity block based
on packing this state information into the token returned by clearCallingIdentity.

Bug: b/252975769
Test: android.os.cts.BinderTest
Change-Id: I162db933f9e52cd6f9f46796bda11ad6216d3d66
2022-11-21 20:24:28 +00:00
Himanshu Gupta
44fa1ce60b Merge "Downgrading API permissions for updateExternalStorage" 2022-11-21 19:15:30 +00:00
Lucas Silva
d41cf351bc Merge "Update dream battery drain monitoring to exclude when charging is being artificially limited." into tm-qpr-dev am: e223e2bd01 am: d6ee230417
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20476147

Change-Id: I56fe47a13ccfc900a543c2cf35f700e4e10e0be5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-19 21:11:22 +00:00
Lucas Silva
d6ee230417 Merge "Update dream battery drain monitoring to exclude when charging is being artificially limited." into tm-qpr-dev am: e223e2bd01
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20476147

Change-Id: Ie1f2f2936122639d00f8af7529c95a770590a9dd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-19 20:39:02 +00:00
Jiakai Zhang
c39c0be88f Revert "Expose ServiceManager.waitForService as system API."
This reverts commit ee13e8d435.

Reason for revert: As discussed in b/233915142, an API that can obtain an arbitrary binder should not be exposed, and mainline modules should generally follow go/android-api-guidelines#the-moduleservicemanager-pattern.

Bug: 233915142
Test: Presubmit
Change-Id: I67e6e177d48ed213306aa0c10f83fe3b670daf1d
2022-11-18 18:12:48 +00:00
Jiakai Zhang
5dba0d5a49 Merge "Add ArtModuleServiceManager." 2022-11-18 15:12:23 +00:00
Himanshu Gupta
c04c7a230f Downgrading API permissions for updateExternalStorage
With ag/19901205 the permissions for this API were increased,
and calling users required 'MANAGE_EXTERNAL_STORAGE' permissions.

There is now a way to add the same functionality without
adding any additional permissions.

Bug: 235321217
Test: atest android.appsecurity.cts.StorageHostTest
Change-Id: I6b166ac191a80c600b527266f53107b8d9c78177
2022-11-18 14:54:12 +00:00
Nikita Ioffe
4c098eae7d Merge "Add Process.isIsolatedUid(int uid) API" am: 4fa14ea225 am: 8a2d970870 am: 28383f455e
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2231970

Change-Id: I2486ffd0f0902ce11b46ec7dd41eed48fe95332a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-16 19:40:11 +00:00
Jiakai Zhang
b8ee0118cc Add ArtModuleServiceManager.
This is to replace ServiceManager, which the ART module is currently
using to get the "artd" service.

Only the ART mainline module will be able to access an instance of this
class.

Bug: 233915142
Test: Presubmit
Change-Id: I94953bc7fbf471e142b1ab375fe1624bebd2a4ea
2022-11-16 18:52:19 +00:00
Nikita Ioffe
28383f455e Merge "Add Process.isIsolatedUid(int uid) API" am: 4fa14ea225 am: 8a2d970870
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2231970

Change-Id: I96d6b506b4a88228475f265a68a7ce67f869b2cc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-16 17:31:08 +00:00
Nikita Ioffe
8a2d970870 Merge "Add Process.isIsolatedUid(int uid) API" am: 4fa14ea225
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2231970

Change-Id: Id44255ed0e6e396367f67e82b8c9834d8f4d4ee1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-16 17:00:29 +00:00
Nikita Ioffe
4fa14ea225 Merge "Add Process.isIsolatedUid(int uid) API" 2022-11-16 16:58:19 +00:00
Oli Lan
327a277684 Merge "Add isMainUser system API." 2022-11-15 18:05:57 +00:00
Parth Sane
6685481d09 Merge "Add TRACE_TAG_AIDL to SystemApi for mainline modules" am: 60bcab9367 am: 2ca4a6f36a am: 5b4c044637
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2297837

Change-Id: I7134ba1c199e0c74d3a70dcefae321413277f5df
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-15 14:04:30 +00:00
Parth Sane
5b4c044637 Merge "Add TRACE_TAG_AIDL to SystemApi for mainline modules" am: 60bcab9367 am: 2ca4a6f36a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2297837

Change-Id: I0876dc9bbf39aca17d0ba7caa0f26d3ed4176c4f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-15 13:43:14 +00:00
Parth Sane
2ca4a6f36a Merge "Add TRACE_TAG_AIDL to SystemApi for mainline modules" am: 60bcab9367
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2297837

Change-Id: Ic57f33eaadd7a7a197cfabb44a7d362a77c71694
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-15 13:27:51 +00:00
Parth Sane
60bcab9367 Merge "Add TRACE_TAG_AIDL to SystemApi for mainline modules" 2022-11-15 13:03:21 +00:00
Oli Lan
f8a6722afc Add isMainUser system API.
This adds an API to determine if the context user is the designated
main user on the device. This user may have access to features which
are limited to a single user on the device.

In Android U, this will be the first user to go through setup.

On regular devices, this will be the system user, but on devices in
No Primary User / Headless System User Mode, it will be a different
user.

The isPrimaryUser System API is confusing because it actually always
returns the system user, even in headless mode. That API is deprecated
in this change.

On devices that are upgrading, if they are non-headless, the system user
will be the main user. If they are headless, the full user with the
earliest creation date will be given the flag.

Bug: 256624031
Test: atest UserManagerTest
Change-Id: Ib36f3b372f9bf33cbb097c4af63eb43515ac835b
2022-11-15 10:47:38 +00:00
Lucas Silva
a233bba91e Update dream battery drain monitoring to exclude when charging is being
artificially limited.

We may limit charging when battery is overheating, or due to dock defend
or other battery defend mechanisms. In these cases, the battery is
expected to drain while dreaming since charging is limited. Therefore,
do not exit dreams in this case.

Test: atest PowerManagerServiceTest
Fixes: 258027228
Change-Id: I10ce0c848892b42267d819d07a284d17a97899d1
2022-11-14 22:53:07 -05:00
Automerger Merge Worker
0077f82b7b Merge "Merge "ServiceManager APIs for Remote Key Provisioning mainline module." am: 81c4fd8041 am: 0dda81576c" into tm-qpr-dev-plus-aosp am: 3966b14282
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2299820

Change-Id: Icf1bde247713c6b71f3f235d4598b6693ed416ed
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-14 22:25:29 +00:00
TreeHugger Robot
a9a29f94dd Merge "UM.isUserTypeEnabled @TestApi" 2022-11-14 22:23:46 +00:00
Vikram Gaur
c6bab3f0d4 Merge "ServiceManager APIs for Remote Key Provisioning mainline module." am: 81c4fd8041 am: 0dda81576c
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2299820

Change-Id: Ie26bded6be2ea88e2f6b58108a18093434dc9663
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-14 21:38:10 +00:00