If an input ANR is caused by the lock of window manager
or activity manager is held for a long time, we usually
get an unhelpful stack traces because the ANR reporting
is also blocked by the locks.
The pre-dump checks if the locks cannot be acquired within
a timeout, then dump the stack trace at the beginning of
notifying ANR.
Bug: 144987910
Test: 1. Launch a simple app.
2. Set break-points inside the lock of window manager
and activity manager.
3. Press back key and wait 5s.
4. Check the path /data/anr/ in device. There should
be a filename ends with "_pre".
Change-Id: I9831a31e17661d822572c73e64fe9980fe018b22
change #setBroadcastSubscriber and #unsetBroadcastSubscriber
to avoid using intentsender
Bug: 146074295
Test: Ran GTS Tests
Change-Id: I1510e44bcdf49b579fd49f51081c6a40618039fa
avoid using intentsender in #sendActiveConfigsChangedBroadcast
and #removeActiveConfigsChangedBroadcast.
Bug: 146074295
Test: Ran GTS Tests
Change-Id: I9313299ea0bc89f092b1c62fbfc34e06a127eaa9
This
- pipes through the featureId from AppOpsService to HistoricalRegistry
- changes the file format of historical app ops by adding the feature-id
tag. This will make us loose all previously collected app-ops. This is
ok as we never shipped a device with historical app-ops enabled
- Adds a new layer to the HistoricalOps hierarchy. For backwards
compatibility it is possible to go directly from package to op. In this
case a combined HistoricalOp object is generated on the fly.
- It is possible to filter historical ops requests by featureId.
Unfortunately a 'null' featureId is a valid ID. Hence there is now a
dedicated mask of paramters to filter for (@HistoricalOpsRequestFilter).
- Fixes the equals methods of HistoricalOp by implementing an equals
method for LongSparseLongArray
Test: atest CtsAppOpsTestCases AppOpsServiceTest
Bug: 136595429
Change-Id: I92c41e8ae2cd471051c2d628d49a3ad6a5a66330
Add cross_profile_apps.xml and
DevicePolicyManager#getAllCrossProfilePackages. This sets the list of default package names set by the OEM for the user to approve/disapprove for
cross profile communication during managed provisioning setup.
Some Javadoc can be improved once all CLs are in, since different APIs
should refer to each other.
BUG: 136249261
BUG: 144577776
BUG: 145970297
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
Change-Id: I214b521ffc7fb0179bff1ca65d6bc2a9f8decea3
Also, removes the 'privileged' protection level from the INTERACT_ACROSS_PROFILES permission and replaces it with 'appop'. 'Wellbeing' is also added temporarily, which will also be removed in this release.
This is part of a change to enable users to consent to cross profile app communications
BUG: 136249261
BUG: 144577776
BUG: 141690885
Test: atest AppOpsTest
Test: atest PermissionPolicyTest
Change-Id: I910daf7605f83946af171f38db002b920079f30b
Modified setTime and setTimeZone to be callable by a a profile owner
of an organization-owned device as well as a device owner.
Bug: 138709470
Test: Manual testing with testdpc and the set auto time zone toggle
atest com.android.server.devicepolicy.DevicePolicyManagerTest
atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testSetTime
atest com.android.cts.devicepolicy.MixedDeviceOwnerTest#testSetTimeZone
atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testSetTime
atest com.android.cts.devicepolicy.OrgOwnedProfileOwnerTest#testSetTimeZone
atest com.android.cts.devicepolicy.DeviceOwnerTest#testSetTime
Change-Id: I2de94035c20fc53cdd629860c84f237f3e7eaa1f
This reduces the overhead of collecting noted app-ops to the same amount
of binder calls as if we would not have the feature
Before (conceptionally):
---------------------------------
mode = service.noteOp()
if (mode == allowed && shouldCollectAsyncOp) {
fixup(message)
service.noteAsyncOp()
}
----------------------------------
After (conceptionally):
----------------------------------
if (shouldCollectAsyncOp) {
fixup(message)
}
mode = service.noteOp(shouldCollectAsyncOp, message)
----------------------------------
Bug: 136505050
Test: atest CtsAppOpsTestCases
Change-Id: If1b535a7c4b0f431f251c5d06cdf496c34920e23
Add new MANAGE_EXTERNAL_STORAGE permission. Couple it with
OP_MANAGE_EXTERNAL_STORAGE. Protection level for the permission is
currently signature|appop but will probably change later to |preinstalled.
Bug: 146425146
Test: device boots
Test: atest CtsPermission2TestCases:android.permission2.cts
.RuntimePermissionProperties#allAppOpPermissionNeedAnAppOp
Change-Id: I0298ca0f6f463c88b95da6ba9853d061c6983da2
... to avoid too frequent allocations of small objects.
There is no pool for NoteOpEvent objects as they are only freed in very
uncommon situation. Hence they are directly reinited instad of going
through a pool.
Test: atest CtsAppOpsTestCases
Bug: 136595429
Change-Id: Ia39ca9682771cbc44ddbeaadc55f7e3f17c86449
This is part of the NIAP audit logging requirement.
Bug: 137937540
Test: atest com.android.cts.devicepolicy.DeviceOwnerTest#testSecurityLoggingWithSingleUser
Change-Id: I4fe1e856337787dcd4fbe1b25ff2e9e5a18c2ce9
Instead of using "ro.product.apps.unbundled", use
"ro.product.vndk.version" to determine if product apks are unbundled.
"ro.product.vndk.version" will be defined by
PRODUCT_PRODUCT_VNDK_VERSION. If it is defined, all product apks must
be unbundled.
Bug: 144534640
Bug: 127738095
Bug: 128557860
Test: boot and check logs if product apps are loaded successfully
Change-Id: I6d0f7c20e131dfe12203c63a14e6254a8223893b
- Clean up usages of hidden AppOpsManager APIs in SmsApplication
- Add unit tests for SmsApplication
- Expose RoleManager#getDefaultSmsPackage for use in SmsApplication.
Bug: 146834818
Test: atest SmsApplicationTest
Change-Id: I4ab49d7f6274389e7de7cd7223cab3c433936044
There was no need for regionId in the request since you can just replace
the previous region with a new one. This reduces confusion and
simplifies the code. This also allowed TapExcludeRegionHolder to get
deleted and just store the excluded region in the WindowState.
Additionally, this fixed a bug where the excluded region would get
overwritten when the window region was smaller. If the window region was
resized later, the exclude region would remain small.
This is also preparing for more uses of this API with embedded windows
and window magnification.
Test: ActivityViewTest
Change-Id: Ia151115b5a5e8f2ce5e606fe627821dcfef5d9b5
Generic multi-window with no presentation attribution from the wm-core.
Needed for wm-shell to correctly drive multi-window cases like Bubbles
and n-way-split.
Current windowing modes split and freeform will probably be migrated to
this once wm-shell drives their presentation.
Test: N/A
Bug: 139371701
Change-Id: I5247f41b4f67d21b2bb5929a52e8ec93c41644c2