Use two separate interfaces for flags and single value. This produces
correct API documentation.
Bug: 160605420
Test: atest PackageManagerShellCommandTest PackageManagerShellCommandIncrementalTest IncrementalServiceTest PackageManagerServiceTest ChecksumsTest
Change-Id: I9a7eaf86af558d8dcfd1636a4baf6a28e2ee79b1
Listen and respond to changes in state on background thread. Store in-memory to avoid
requerying frequently
Test: PeopleSpaceWidgetManagerTest, PeopleTileViewHelperTest,
PeopleSpaceUtilsTest
Bug: 182891880
Change-Id: Id0142b02bb549275c77d8940cda4eb1f0bf4e947
Change-Id: I65712a7a43d8956499533689fe77afbeeac5bd6e
We now have two notions of profileable:
* profileable from shell: the user can profile the app using ADB-based
tools (e.g. Android Studio or shell) . This is off unless the app
opts in.
* profileable from platform services: trusted platform services can,
in accordance to the app installer's Terms Of Service profile the
app. This is the default unless the app opts out. This is enforced
by the profilers with information provided by the framework.
A new flag <profileable android:enable="false"/> can be used to opt out
of profiling in general. If this is not given, the app is considered
profilable by the platform, but the data will *not* be exposed to the
user via shell or adb. If profiles of the app should be given to the
user (e.g. for using Android Studio), <profileable
android:shell="true"/> can can still be used.
We write whether the app opted out or not to packages.list, to be
consumed by the profilers.
CTS-Coverage-Bug: 186720347
Test: m
Test: on userdebug: /data/system/packages.list for preinstalled, Play
Store installed app and sideloaded app.
Test: on user: atest CtsPerfettoTestCases.
Bug: 170284829
Change-Id: I8d4bbedc043976fd11a95a511bd95a05c7ced7b9
Mark app compat changes guarding the new opt-out rules for D2D transfers
as @Overridable. This allows enabdling / disabling the behaviour without
code changes.
Bug: 186833084
Test: m -j
Change-Id: I97396bd2a27c86ffccffec364cf57d9647bb760d
* Add authorization check in DPMS for API
methods to set the private DNS mode and
the recommended global proxy.
* When there is a unaffiliated user, it is
assumed that it is managed separately.
* These are device-wide policies that affect
all users, so should only be set when it is
the same managing entity and all users on
the device are affiliated.
Bug: 177926343
Test: atest com.android.server.devicepolicy.DevicePolicyManagerTest
atest com.android.cts.devicepolicy.DeviceOwnerTest#testProxyPacProxyTest
atest com.android.cts.devicepolicy.DeviceOwnerTest#testProxyStaticProxyTest
Change-Id: I119a84988ad3cda42b709dbc6d63acf76b0031d6
- Use userId in streaming policy getters.
- Check if PO or DO exist
- Return NEARBY_STREAMING_NOT_CONTROLLED_BY_POLICY if DPC is not
present.
Bug: 179910174
Bug: 179910177
Test: Builds successfully
Change-Id: I49191a4ddea45925772d39614f5d7f82657b26ee
If temp allowlist reasonCode is REASON_PUSH_MESSAGING_OVER_QUOTA, check
DeviceConfig key "push_messaging_over_quota_behavior" to decide if
temp allowlist and FGS start are allowed. Three options:
1. -1, temp allowlist not allowed, FGS start not allowed.
2. 0, temp allowlist allowed, FGS start allowed.
3. 1, temp allowlist allowed, FGS start not allowed. This is default.
The device config command to change the behavior:
adb shell device_config set activity_manager push_messaging_over_quota_behavior <-1|0|1>
If temp allowlist reasonCode is REASON_DENIED, do not allow temp allowlist
at all.
Also, in DeviceIdleController.addPowerSaveTempAllowlistAppInternal(),
there used to be a check if the callingUid is on the mPowerSaveWhitelistSystemAppIds list,
this is unnecessary because upstream callers already checked if callingUid has
permission CHANGE_DEVICE_IDLE_TEMP_WHITELIST, and this permission is a privileged permission,
so removing the check of mPowerSaveWhitelistSystemAppIds should be safe.
Bug: 182796372
Test: atest cts/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java#testPushMessagingOverQuota
Test: atest cts/tests/app/src/android/app/cts/ActivityManagerFgsBgStartTest.java#testTempAllowListReasonCode
Change-Id: Id34b1c26c819dc4fe07838eb2e3a8f0138cbcf8f
Document when, on a managed device or profile, the DPC can
read hardware identifiers, and when it must use the new
enrollment-specific ID.
Bug: 172636282
Test: m docs
Change-Id: I783725853d0654d49518a38d8d8d04b3ca7e3ab0
Fixup non-writable app-private dirs that could have been left around by
an earlier race condition in the setup of the FUSE filesystem.
Bug: 181726193
Bug: 182088154
Test: erase userdata, check Youtube dirs are fixed up correctly
Reason for revert: fixing issue in original CL
Change-Id: Ifacf807f62dec3c9e22b5e5af0f2b00c4423ede4
This reverts commit 13f793aec9.
Reason for revert: Breaks device health checks; crashes if dir is null.
Bug: 181726193
Bug: 182088154
Fixes: 186633787
Change-Id: Ia28df79c6ff4aacd6bdadf1d9c540f49dcace707
Update the configurations via ActivityTaskManager to prevent the
activities being relaunched while in background. Instead, the
activities will be relaunched after brought to front and being visible.
This also prevents all activities in the system being relaunched
at the same time.
For framework resource updates, the global configuration will be
updated.
For individual package overlay changes, new asset sequence would be
set to the activity's requested configurations to ensure the activity
will be relaunch once visible. The requested asset sequence will be
reset if its parent has a newer asset sequence.
Bug: 185301309
Test: update app info via shell command while activity in background
Test: atest ResourcesLoaderValuesTest
Test: atest RoleManagerTest#requestRoleAndAllowThenIsRoleHolder
Change-Id: Ic7f13b768fb575d6301f05f7fda71b15d1ccf312
Fixup non-writable app-private dirs that could have been left around by
an earlier race condition in the setup of the FUSE filesystem.
Bug: 181726193
Bug: 182088154
Test: erase userdata, check Youtube dirs are fixed up correctly
Change-Id: I7972f79d14893571289a2245f98e90e6c8c69f0a
Add a field of supportsMultiWindow to TaskInfo for WM Shell to use.
Because we will change to Task#supportsMultiWindow to check the
support based on the root activity's resizibilty, min widht/height,
and the device settings, using this to replace the check in
ActivityTaskManager, which is pure device settings.
Bug: 176061101
Test: atest WMShellFlickerTests
Change-Id: Iad94b39506e71b6224d923f02bd7fc454cae02c8
Fixed following bugs:
- in certain cases deduplication could fail
- while requesting discrete ops, beginTimeMillis parameter was
ignored
- device_config parameters above guardrails were
still applied after reboot
Added support tests (coming in next CL):
- ability to offsetHistory for test
- ability to change quantization parameter to any value for tests
Test: coming in next CL
Bug: 183238944
Bug: 183239281
Bug: 176965672
Change-Id: I838a7897058b38aa0957a3666d4b37a5378e36be
Location is a fundamental feature for automotive, which should be
out of reach of device admins (for example, disabling it could
affect the navigation app).
Test: atest com.android.cts.devicepolicy.DeviceOwnerTest#testSetLocationEnabled # on automotive and phone
Bug: 186263875
Fixes: 185523465
Change-Id: I8a9d3347080d56c8f064038b66b5b1826e377f64
Added a way to capture just a window instead of the entire screen
to make tests easier.
Test: Builds
Bug: 185390632
Change-Id: I5138777bc87cdabcd2d8f574b1758509fc887c56