Explicitly set FLAG_IMMUTABLE for all PendingIntents
in BugreportProgressService.
Test: Builds
Bug: 170165227
Bug: 171830604
Change-Id: Iae1489b9c8fa323448e60615e99ad96aee1cd1d7
Adding MANAGE_ACTIVITY_TASKS permission as the replacement, but
still grant the deprecated MANAGE_ACTIVITY_STACKS permission for
app compatibility.
Bug: 157876448
Test: presubmit
Change-Id: I894ee66e058b1024a731d3be4b33b69626451f08
We've been writing many new framework-specific Error Prone checkers
to help detect obscure platform bugs, and this change starts enabling
those checkers for more packages across the platform.
Bug: 155703208
Test: manual
Exempt-From-Owner-Approval: trivial blueprint changes
Change-Id: I1db3412b0be40f6f78c68331ae01756887192071
Some careful spot-checking has revealed common cases where it's
reasonable to blanket apply the new FLAG_IMMUTABLE option to newly
created PendingIntents. Specifically these situations:
-- Simple notification content clicks are immutable; there's no need
to communicate customized data back to the creator
-- Simple notification action clicks are immutable; there's no need
to communicate customized data back to the creator
-- Broadcast intents sent by AlarmManager are immutable; the system
dispatches them without customization.
Bug: 170165227, 170424283, 170425388, 170425877
Bug: 169791183, 170771965, 170226088, 170224928, 170767530
Test: none
Change-Id: I5ed68710d2ccad4635a30fd91136a9e6ad76a01d
This also introduces the CONTROL_DEVICE_STATE permission to protect
against setting the device state. The permission is granted to the shell
to allow overriding via ADB.
Two ADB commands are introduced with this change:
-> adb shell cmd device_state print-states
will print the list of states supported by the device
Ex:
$ adb shell cmd device_state print-states
[ 0, 1, 2 ]
-> adb shell cmd device_state state [reset|OVERRIDE_DEVICE_STATE]
will print the current device state or override the current device
state with the supplied override state.
Ex:
$ adb shell cmd device_state 0
Ex:
$ adb shell cmd device_state state
Device state: 0
----------------------
Base state: 2
Override state: 0
Bug: 159401801
Test: atest DeviceStateManagerServiceTest
Test: adb shell cmd device_state print-states
Test: adb shell cmd device_state state
Change-Id: I8a74f1f2bf8189523bdae861fb38f86988c21b2a
We need to grant/revoke notification listener privileges from
PermissionController maniline module.
This exposes a @SystemApi API to do so
Bug: 165951651
Test: atest NotificationManagerTest
Change-Id: I81502756e9c7f11ce0347f5f3c006a1539f91b37
This adds a new permission in AOSP, so it can be referenced by the Shell
command, which presubmit suggests has to be maintained in AOSP.
Bug: 159891384
Test: build only
Exempt-From-Owner-Approval: jsharkey@ approved but it appears to have reset...?
Change-Id: Ic7d403e20731e9d6bd82d5b2e2758cc61989cc59
This permission will be used for testing purposes
to override the display mode requests in DisplayModeDirector.
Bug: 159113268
Bug: 158316271
Test: m
Change-Id: Ibcafc50badcda929c3c3b446b6d0d9045c2a5b6d
Merged-In: I257636ae2a6ed74044e71e49a99024682c3a92c5
The added test API is used to ignore all votes in
DisplayModeDirector app votes. This way only the app
requested display mode will be picked. The API will be
used for testing app mode switch requests.
Bug: 159113268
Bug: 158316271
Test: m
Change-Id: I257636ae2a6ed74044e71e49a99024682c3a92c5
This is needed for a CTS test for picture-in-picture on TV.
As per go/privapp-permission:
1. This is the exact permission that guards specifically the
`PendingIntent::getIntent` method which is used in the test.
2. Two alternatives were considered:
a) Create another permisison and `@hide` it. However, this offers no
security benefit at the cost of maintenance overhead.
b) Do not create the test in the first place.
Bug: 153435517
Test: atest CtsSystemUiTestCases:PipNotificationTests
Change-Id: I04a5c82334a676351828fb82f2ac5886c888a0bc
There's a lot of confusing logic where 90 and 270 rotation values need
to be flipped to ensure the screenshot is taken the correct orientation.
There's also confusion what useIdentityTransform means, especially if a
non 0 rotation value is sent.
The cases screenshot cares about is the following:
1. Take screenshot in current display orientation
2. Take screenshot with 0 rotation so the caller can handle rotating the
screenshot themselves.
With these two cases in mind, remove the rotation value passed in for
screenshots. If useIdentityTransform is true, it will rotate the
screenshot so it's in the 0 orientation. If useIdentityTransform is
false, it will use the current display rotation.
This simplifies the caller logic since they no longer have to find the
current display rotation to ensure the screenshot is taken in the
current rotation. The callers can just request the screenshot with
useIdentityTransform set to false.
Test: adb shell screencap
Test: Power + volume screenshot
Test: Screen rotation
Fixes: 135942984
Change-Id: I3435ee8b5dac05e910ec1e695f398c5dcdcff9e9
Removing car permissions that were added into common shell so that they
can be re-evaulated to include into CarShell. Adding car permissions to
shell should be reviewed by car frameworks team to determine what can be
allowed to the end-user and in terms of car safety.
Bug: 160339243
Test: make then check permission for shell user with adb shell pm dump
com.android.shell
Change-Id: I5a3b2086f605ba31f4231ec425cb2cb7c51ea7e6
and CAR_UX_RESTRICTIONS_CONFIGURATION permissions to run ATS tests
CarDeviceInfo requires CAR_DIAGNOSTICS, CLEAR_CAR_DIAGNOSTICS.
AtsCarHostTestCases requires CONTROL_APP_BLOCKING and
CAR_UX_RESTRICTIONS_CONFIGURATION.
Note: This change allows anyone with a usb cable to write an app
to call the protected APIs in her/his car.
Bug: 162120802
Test: make
Change-Id: I9d0e1266389170cca3624522820457e826bbc613
The permission RESET_APP_ERRORS is required for UnsupportedErrorDialogTests
Bug: 159443507
Test: built locally
Change-Id: I4d110278eb48799caf29f0582536a4dca10f10c1