Temporarily fix the test mapping conflict of class vs
package due to two differents modules including different
types of filters.
Test: none
Bug: 127470443
Change-Id: I3dbf0012177b858655c0c29f52404eb51a9364b2
background activity launches
Necessary for early stages of enabling the feature in
enforcing mode - we'll need to temporarily whitelist
apps like Duo, so dogfooders can still use them.
Bug: 123354556
Test: atest WmTests:ActivityStarterTests
Test: adb shell settings put global background_activity_starts_package_names_whitelist com.ejc.bbc:com.whatever.dude
Change-Id: I2515b8ba334e87e7f201569ba5a6bb1b79395354
RoleManager methods that use this flag are marked as test APIs, this
marks the flag that they can accept as well.
Bug: 122852169
Test: Test package using test_current sdk using this flag builds
Change-Id: I6b5219d851b83f3392d668aa560b7fec5152f496
UsageStatsManager#registerAppUsageLimitObserver now accepts the time
remaining in addition to the total time limit.
The API now also uses java.time.Duration instead of long+TimeUnit for
the total time and remaining time.
Bug: 124272203
Test: atest FrameworksServicesTests:AppTimeLimitControllerTests
Test: atest android.app.usage.cts.UsageStatsTest#testObserveUsagePermissionForRegisterObserver
Test: atest android.app.usage.cts.UsageStatsTest#testObserveUsagePermissionForUnregisterObserver
Test: manual (mmma frameworks/base/tests/UsageStatsTest/)
Change-Id: I6f85ca9295cad46e10a30035b67e6210ae5c1886
Appops can be peformed by an app on its behalf and also on
behalf of another app, i.e. an app can perform a proxy op
and blame the work on another app. The proxy mechanims is
for apps doing work on behalf of other apps where GCore is
one example since the app doing the work needs to check if
the caller has access to the functionality - specifically
the app op backing a runtime permission in case the calling
app does not support runtime permissions.
Apps being able to blame work on other apps is a problem now
that we would be using historical op data to show permission
usage in the UI as apps can start blaming each other to gain
a competitive advantage.
To address the issue we are adding APIs for querying portions
of the app op data - last and historical. One can now get
the ops for work the app did for itself, work the app blamed
on other apps if the app is trusted, work the app blamed on
other apps if the app is not trusted, work other trusted apps
blamed on the app, work other untrusted apps blamed on the app.
A trusted app is one holding the permisison to update app op
stats which is privileged.
The data slicing API allow us to show in the UI only the trusted
poriton of the data which is work the app did for itself, work
trusted apps balmed on the app, and work the app if untrusted
blamed on other apps.
Test: atest CtsAppOpsTestCases
bug:111061782
Change-Id: I9a2bcaea272cb06f38ba742cf601a6dc3b287d5e
If they were null, then the Parcelable would fail to work.
Bug: 126726802
Test: manual
Change-Id: I7929ffa2f20e5de1c8e68e8263cca99496e9d014
Exempt-From-Owner-Approval: Trivial API annotations
Handles cases where apps try deleting paths returned in "_data"
columns, and where they try renaming across bind mounts.
Bug: 124349250
Test: atest android.appsecurity.cts.ExternalStorageHostTest#testExternalStorageRename
Change-Id: I7f4461bcacada80398eb95d051a0d29456f63499
StatusBarManager#setDisabledForSetup() requires
android.Manifest.permission.STATUS_BAR, and is now documented that way.
Also rename areNoComponentsDisabled to areAllComponentsEnabled so it
reads better
Bug: 126376147
Test: atest GtsStatusBarHostTestCases
Change-Id: I59b113a2568463541dfbd46f505489aa94aac9d9
To support Kotlin developers we here annotate all (non-deprecated)
public Notification.Builder methods with the @NonNull annotation.
Bug: 126699778
Test: N/A
Change-Id: I7ba56430bf2af8112d9be1bcbdd3601fb577543f
Annotate all Builder methods returning the Build objects as @NonNull,
this is to support Kotlin developers.
Bug: 126698549
Test: N/A
Change-Id: I147a61d73f7d819571dfe97f1b55d4c79cffbf52
Add more a specific description of what methods do when the
secure lock screen feature is not supported by the device.
Bug: 123270501
Test: make
Change-Id: Ib6c16f421cf3dc60b0f0cb0c6335c6dc35ac7ece
Instrumentation.sendPointerSync currently calls direclty into
InputManager to inject input. Instead have it call
injectInputAfterTransactionApplied to ensure it waits for animations
to complete and input windows to get set.
Additionally, changed injectInputAfterTransactionApplied to call
InputManagerInternal instead of InputManager to prevent the calling pid
from changing. This ensures the permission check remains tied to the client
that injected the input.
Bug: 123616343
Bug: 120920331
Test: atest HoverTest
Change-Id: I8c893e47fea9bd38e92da0ffa668ebca066f1080