Commit Graph

771 Commits

Author SHA1 Message Date
Sarah Chin
8517e8d998 Add read/write logic for SubscriptionPlan network types field
Add permissions for Phone process to access SubscriptionPlans for
meteredness

Test: manual verification
Bug: 169187737
Change-Id: Ib821590a573db87b22619cfe7ebe64c0230c5031
2020-09-23 23:59:02 -07:00
paulhu
41c59babd5 Add CONNECTIVITY_USE_RESTRICTED_NETWORKS permission to DownloadProvider
- DownloadManager will use the requestor app's default network to
open a connection. When the VPN app lists the DownloadProvider as
a disallowed application, this will fail with EPERM.
- This is because in R, the DownloadProvider lost its privileges
due to the removal of the CONNECTIVITY_INTERNAL permission. It's
removed without considering the corner case where the
DownloadProvider is excluded from using the VPN. It's the only
case where this makes a difference.
- Adding CONNECTIVITY_USE_RESTRICTED_NETWORKS will give
DownloadProvider the ability to use the VPN again in this case,
fixing the issue.

Bug: 165774987
Test: Build, flash rom and boot to home. Manully test that
      DownloadProvider can download file via VPN.
Change-Id: If8fa785568ace1f15f53daec67c06e1207d5dc9c
2020-09-08 11:19:01 +08:00
Fabian Kozynski
d951edaa48 Merge "Add MODIFY_AUDIO_ROUTING permission to systemui" into rvc-qpr-dev 2020-08-17 18:40:14 +00:00
Agatha Man
39bcfc7c83 Remove car permissions from common shell package
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
(cherry picked from commit 89e5cfe9d8)
Merged-In: I5a3b2086f605ba31f4231ec425cb2cb7c51ea7e6
2020-08-14 18:44:14 +00:00
Fabian Kozynski
5f617413aa Add MODIFY_AUDIO_ROUTING permission to systemui
Adds the privileged permission for AppOpsControllerImpl.

Test: build and record
Fixes: 164213112
Change-Id: Ib23749542bb41eb1df2fb7cfe62db57fba73d0cf
2020-08-14 11:40:29 -04:00
Philip P. Moltmann
f379917d3e Allow permission controller to read audio configuration
- Unfortunately there is no read-only permission that allows to read the
audio configuration
- Unfortunately there is no API bump before the feature ships that would
allow us to add such a read-only permission

Bug: 162547999
Test: Read audio configuration from permission controller
Change-Id: Icfe2b5ae54cae1cfc1be44a1370ffb0692365316
2020-08-05 02:40:55 +00:00
Agatha Man
77d8407cb0 Merge "Add CAR_DIAGNOSTICS, CLEAR_CAR_DIAGNOSTICS, CONTROL_APP_BLOCKING, and CAR_UX_RESTRICTIONS_CONFIGURATION permissions to run ATS tests" into rvc-qpr-dev 2020-07-27 21:09:41 +00:00
Agatha Man
5c17bba24d Add CAR_DIAGNOSTICS, CLEAR_CAR_DIAGNOSTICS, CONTROL_APP_BLOCKING,
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
2020-07-27 21:03:15 +00:00
Fabian Kozynski
9a85dc9c0a Merge changes from topic "permission_chip" into rvc-qpr-dev
* changes:
  Restricts notified app ops based on flags
  Add back privacy chip
2020-07-23 13:45:26 +00:00
TreeHugger Robot
b7130b274c Merge changes from topic "permission_hub_2_framework" into rvc-qpr-dev
* changes:
  Give Permission Controller the ability to see all accounts.
  Allow perm controller to read historical app-op data
2020-07-22 06:21:01 +00:00
Philip P. Moltmann
9abf24f032 Give Permission Controller the ability to see all accounts.
Bug: 161007415
Change-Id: I912cbfdc9a1881a0e9a1755848147cdf23781885
2020-07-21 20:38:37 +00:00
Fabian Kozynski
fd89d72b13 Restricts notified app ops based on flags
AppOps that are received by SystemUI and notified to listeners of
AppOpsControllerImpl are filtered based on the permission flag
PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED.

As calls to obtain this flag require an IPC, three things are done to
mitigate impact:
* PermissionFlagsCache keeps track of requested flags and will update
those (in a background thread), when a change is notified for a given
uid.
* Calls to getActiveAppOps/getActiveAppOpsForUser should be made from a
background thread.
* notifySubscribers is always called in the background thread.

Bug: 160966908
Test: atest PermissionFlagsCacheTest AppOpsControllerTest
Change-Id: I871094c32ce5ec940d779626333caa0ca500a4e3
Merged-In: I871094c32ce5ec940d779626333caa0ca500a4e3
2020-07-20 16:02:19 -04:00
Agatha Man
39ba8c9cc3 Add CAR_DRIVING_STATE and CAR_CONTROL_AUDIO_VOLUME permissions to run
ATS tests

AtsCarHostTestCases and AtsCarDeviceApp requires CAR_DRIVING_STATE.
AtsDeviceInfo and AtsAudioDeviceTestCases requires
CAR_CONTROL_AUDIO_VOLUME.

Bug: 161193447
Test: m -j && run ats tests
Change-Id: Ib16c6c5e54b489479c872cfa826b055262b797bb
2020-07-17 17:48:36 +00:00
Sarah Chin
c363a3a148 Add HANDLE_CAR_MODE_CHANGED permission
Required to allow DeviceStateMonitor to monitor changes in car mode to
get an accurate state of when all screens are on/off.

Test: build
Bug: 160898432
Change-Id: If3ad86a2564ce3ba53afea44e8ad5bf02b8d51e0
2020-07-16 21:50:38 +00:00
Taran Singh
4545703367 Deliver hideInsets when target is removed
hideInsets(IME) may not be delivered to the control target if
the window requesting hide is no longer available in WindowManager's
window map. However, it is still nicer to deliver it to the default
display's control target rather than not delivering it at all.
Fix: 159623277
Test: Manually using steps in bug.

Change-Id: I22cdf20627da2183d30af444f6dd9d0375d417c1
2020-06-30 10:02:10 -07:00
TreeHugger Robot
0207dba4b6 Merge "Wait for remote animation to stop freezing display" into rvc-dev 2020-06-30 03:29:46 +00:00
Joshua Duong
5ab3aa0c7b Merge changes from topic "adbwifi-cts" into rvc-dev
* changes:
  Add shell commands for AdbService.
  Add shell permissions for CTS test (AdbManagerTest).
2020-06-30 00:55:36 +00:00
Riddle Hsu
96ed092b10 Wait for remote animation to stop freezing display
If display is rotated 180 degree, the display might not have
configuration change. And if there is remote rotation and it hasn't
done, the rotation of display is still the old one. Once there is
a path calls stop-freezing-display, the rotation animation will be
executed directly with 0 degree delta. And if the activity needs to
relaunch, there will be obvious flickering.

Fixes: 160107205
Test: atest DisplayContentTests#testRemoteRotation
Change-Id: I66a02b67f7066abafd65c2c282144222701feaae
2020-06-30 01:28:35 +08:00
Rajeev Kumar
8fe5465ada Add privapp permissions permission for
com.android.cellbroadcastreceiver package.

Bug: 159544147
Fixes: 159544147
Test: Built a system image with this change and flashed
a device with it and the device booted successfully.

Change-Id: I7fd5080aa740fcfcebeb4f934d0a3fc39d847cc9
2020-06-26 19:26:31 +00:00
Joshua Duong
f2e03b393f Add shell permissions for CTS test (AdbManagerTest).
Bug: 159936209

Test: atest CtsAdbManagerTests
Change-Id: I896b53df582cceb7d1b0d6694d00064b0fb57b94
2020-06-25 15:03:19 -07:00
Shafik Nassar
f59cdcf6dc Merge "Allow MediaProvider to request REGISTER_STATS_PULL_ATOM" into rvc-dev 2020-06-18 12:25:55 +00:00
shafik
44f3ca5679 Allow MediaProvider to request REGISTER_STATS_PULL_ATOM
MediaProvider needs the permission to register a StatsPullCallback in
statsd to pull the external storage metrics.

Test: build
Bug: 149669087
Change-Id: I4f7e09c2e514e2290d1cd5ac765bb115e7ade9ef
2020-06-17 11:34:01 +01:00
Hao Chen
8de2ca3e5c Move car companion device support app perms to framework
Test: build and flash the trout PDK, boot to the UI
Bug: 158483244
Change-Id: Ic8cd135cde2d616e5a8d36b71de56acba4dab261
2020-06-16 21:30:12 +00:00
Yan Zhu
b6ac0061fa Merge "Install auto-generrate overlay packages even when not included in whitelist" into rvc-dev 2020-06-10 04:23:30 +00:00
Yan Zhu
31b01e4bc5 Install auto-generrate overlay packages even when not included in whitelist
Detect auto-generated overlay packages according to the suffix
(.auto_generated_rro_vendor_ OR .auto_generated_rro_product_)

Bug: 156668533
Bug: 140120696
Test: logcat: set DEBUG=true
adb logcat UserManagerService | grep overlay
atest
FrameworksServicesTests:com.android.server.pm.UserSystemPackageInstallerTest
-c

Change-Id: I1835eb923bf2421b2e171be0ac0fa400b6fd38f7
2020-06-08 16:34:34 -07:00
Zhomart Mukhamejanov
9fd6408edd Move car bugreport app perms to framework.
Change-Id: I5e541138c35cdf67d18ce5475221baeb3e7faef4
Test: emulator
Bug: 158151004
2020-06-07 18:04:19 -07:00
Dimuthu Gamage
8589197fb5 Adding incremental related peremissions to Shell
This is expected to be used with adoptShellPermission in the Incremental
CTS tests.

Test: atest android.content.pm.cts.PackageManagerShellCommandTest
(There will be future tests relying on this)

Bug: 158024822
Change-Id: I46674498783c5323668ff775c76ff31a304aeadb
2020-06-04 17:04:44 +00:00
Sung Min Lee
a90b1fcaca Add CAPTURE_AUDIO_OUTPUT permission required for GTS test
GtsDialerAudioTestCases require this privileged permission for testing in GTS.

Bug: 157243201
Test: run gts -m GtsDialerAudioTestCases
Change-Id: I32516e5dcf966b05cfb8ab4956a0cdb183298f2a
2020-06-02 21:24:59 -07:00
Mina Granic
3420744449 Merge "Whitelist READ_PRIVILEGED_PHONE_STATE permission needed by Build.getSerial()." into rvc-dev 2020-05-29 16:43:43 +00:00
Wei Wang
96f7636149 Add LOCATION_HARDWARE permission to shell.
A few location System APIs require LOCATION_HARDWARE permssion. Adding
this permission to shell so CTS tests can adopt this permission.

Bug:154347471

Test: atest PrivilegedLocationPermissionTest
Change-Id: I4abe4dc044ec4a3ab62352cc0f4a1726bebac633
2020-05-27 17:53:31 -07:00
Chen Xu
ef0740e227 Merge "support cellbroadcast data migration by dafault" into rvc-dev 2020-05-28 00:24:30 +00:00
Chen Xu
1d4939fff2 support cellbroadcast data migration by dafault
As part of mainline effort, cellbroadcastreceiver package name has been
renamed. Now its a completely new apk with different uid. That said all
user data e.g, cellbroadcast history and user preference from legacy app
com.android.cellbroadcastreceiver are gone. This change is to support
preserve user data when devices upgrate to R and take cellbraodcast.
mainline module.
1. create legacy cellbroadcast app with old pakcage name
com.android.cellbroadcastreceiver. this app only surface the old data
and should not contains any activities/services to handle emergecy apert
2. legacy cellbroadcast app will be included to the system image by
default. OEMs are free to remove it if they don't care data loss or
after R data migration is done. leagcy app will not be part of
com.android.cellbroadcast apex.
3. the real mainline module rename to com.android.cellbroadcast.module

Bug: 155844209

Change-Id: I5e61c7e777526e038cd8d9971a2c5b87c00eaacb
Merged-in: I5e61c7e777526e038cd8d9971a2c5b87c00eaacb
2020-05-27 20:25:10 +00:00
minagranic
f750a61838 Whitelist READ_PRIVILEGED_PHONE_STATE permission needed by Build.getSerial().
Bug: 144779107
Test: Plugged the phone, no SecurityException, started Phantoscope.
Change-Id: I2af21c1318fabb4d9a8b9bc6808dc163a3e353b5
2020-05-27 17:40:41 +00:00
Taran Singh
e20c25ddc6 Merge "Add Insets dumps and IME debug logs" into rvc-dev 2020-05-27 15:12:30 +00:00
Taran Singh
85661e3f9e Add Insets dumps and IME debug logs
Add more dumps and logs to better help debug IME insets better
Logging can be enabled by setting InsetsController.DEBUG to true.

Bug: 154348613
Test: manually build and flash.
      Verify showing and hiding IME shows logs.
      verify adb shell dumpsys window windows has new dumps

Change-Id: Iad0a21d81a22d6acfaaf5c5ca8b5131eec411e79
2020-05-27 15:12:07 +00:00
TreeHugger Robot
f49fa1a9ea Merge "Add support for TvInputManager.acquireTvInputHardware CTS" into rvc-dev 2020-05-27 04:39:45 +00:00
Ming-Shin Lu
aa9376bc4f Fix black screen during Quick switch
When quick switch a delayed task, before onTaskAppeared called,
if the user holds gesture on nav bar, TRANSIT_WALLPAPER_OPEN from closing
app happens will cancel recents animation when
WC#applyAnimationUnchecked, and that will cause the black screen if the
delayed task not yet drawn and there is no recents task snapshot on top.

Since cancelling recents animation during quick switching doesn't make
sense, to fix that, we should check the animation task target if is
still controlled by recents animation, if so, we should not cancel it.

Also, make sure if the appeared task has already been in task target list,
(i.e. task A appreared, quick switch to task B, before task B appeared,
quick switch back to task A) if so, we don't need to callback task
appeared again.

Fix: 156670249
Test: manual as issue test steps.
Change-Id: I303403d63c91c08fabcb8c5b1b1aac42c4ec65db
2020-05-25 21:20:33 +08:00
TreeHugger Robot
3ccf874dca Merge "Screen recording doesnt record internal audio" into rvc-dev 2020-05-18 16:37:11 +00:00
Jay Aliomer
c2094aedcc Screen recording doesnt record internal audio
Fixes: 156645454
Test: manual
Change-Id: I3be1df0e6261750b2fe923650ee3359414fce642
2020-05-16 17:58:25 -04:00
Amy Zhang
5f8498bcf1 Add support for TvInputManager.acquireTvInputHardware CTS
1. Add a test api in TvInputManager to add hardware device for testing
2. Add Shell permission for TV_INPUT_HARDWARE
3. Add TUNER_RESOURCE_ACCESS permission for TvInput Framework.

Test: atest android.media.tv.cts
Bug: 155114656
Change-Id: I227f13cbf14532d8732729412ae9c2518755ef02
2020-05-14 17:37:52 -07:00
TreeHugger Robot
021ceaecf2 Merge "Add day-night-mode permission to Shell." into rvc-dev 2020-05-13 19:41:38 +00:00
Treehugger Robot
fbd4a6f80a Add day-night-mode permission to Shell.
Without the permission "adb shell cmd uimode night <mode>" doesn't work.
Adding the permission to the AndroidManifest file so the shell command
will work.

Bug: 155584597
Test: run `adb shell cmd uimode night <no|yes|auto>`
Change-Id: Ic444f3351cb130d24a2794284c6bf8709c80712c
(cherry picked from commit a85cc22044)
2020-05-12 15:13:26 +00:00
Yuncheol Heo
561f67eb72 Includes SecondaryHome into the priv app whitelist.
- Add android.permission.INTERACT_ACROSS_USERS for the CarNotificationLib.

Bug: 156114875
Test: check if SecondayHome is shown (in gcar_hl_md_emu_x86).
Change-Id: I79ae64b90a52235876a6e51ad01ae70def1bf1fa
2020-05-11 19:52:01 -07:00
Hall Liu
45066127b3 Convert Telephony broadcasts to be non-sticky
Convert ACTION_SERVICE_STATE_CHANGED and
ACTION_ANY_DATA_CONNECTION_CHANGED to be non-sticky broadcasts that
require the READ_PHONE_STATE permission to receive. As part of this,
declare READ_PHONE_STATE to be split from READ_PRIVILEGED_PHONE_STATE,
so that system apps holding READ_PRIVILEGED_PHONE_STATE can also receive
these broadcasts.

Also modify affected users to fetch the current value of the broadcast
upon registration instead of relying on the sticky nature of the
broadcast.

Bug: 150155839
Test: manual
Test: atest KeyguardUpdateMonitorTest
Change-Id: I020b1554c4fc59c138d015e787526b4a66c74853
2020-05-06 18:11:50 -07:00
Joseph Pirozzo
5212738a84 EmbeddedKitchenSinkApp BLUETOOTH_PRIVILEGED
Grant BLUETOOTH_PRIVILEGED permission to test app for Bluetooth testing.

Bug: 155672526
Test: In Kitchen Sink, connect on MAP profile.
Change-Id: I736f5a46e2f198947d7077a5542cf986aea7355c
2020-05-04 13:46:51 -07:00
Mark Renouf
a927929d99 Scroll Capture Framework
This is an implementation of long screenshots supporting
interactive, incremental capture of scrolling content using
a cooperative API between the app process and the system.

Design goals:

 - Provide for tile based incremental screenshots of scrolling content
 - Support existing apps without developer action
 - Provide support for non View-based Apps & UI toolkits

Bug: 148131831
Test: atest \
      FrameworksCoreTests:android.view.ScrollCaptureClientTest \
      FrameworksCoreTests:android.view.ScrollCaptureTargetResolverTest \
      FrameworksCoreTests:com.android.internal.view.ViewGroupScrollCaptureTest \
      FrameworksCoreTests:android.view.ScrollViewCaptureHelperTest \
      WmTests:com.android.server.wm.DisplayContentTest

Merged-In: I6c66a623faba274c35b8fa857d3a72030a763aea
Change-Id: I6c66a623faba274c35b8fa857d3a72030a763aea
2020-04-20 15:07:59 +00:00
Wei Sheng Shih
1a46294fdb Merge "Support addWindow as other user" into rvc-dev 2020-04-10 08:33:12 +00:00
Ming-Shin Lu
1c92e1f789 Merge "Trigger onTaskAppeared when a task started from recents becomes ready." into rvc-dev 2020-04-10 05:46:13 +00:00
lumark
04bceb99f1 Trigger onTaskAppeared when a task started from recents becomes ready.
In quick switch flows, launcher will first swipe task snapshot
through recents animation, and then start new task with custom animation
options through startActivityFromRecents after gesture finish detected,
and then finish recents animation finally.

But that way user may experience flickering before the new task launch
and recents animation finish.

To improve quick switch flickering, we ignore the new task's custom
animation from recents and generate task remote animation target,
and then trigger a callback for launcher to control/animate this
task surface, more like a part of RecentsAnimation,

Also, adding removeTask method for launcher can flexibility remove the
new task animation target once no need to animate, so that launcher
can decide when to finish recents animation.

Bug: 152480470
Test: manual as below steps:
  1) Doing quick switch task.
  2) Make sure launcher can receive onTaskAppeared callback.
  3) Make sure launcher calls removeTask successfully.
  4) Make sure launcher can finish recents animation after 3).
Change-Id: I0692a280a49719229fa8871509bad37a1343a00f
2020-04-10 02:20:03 +08:00
Charles Chen
5c082c998f Merge "Fix WindowContext leak" into rvc-dev 2020-04-09 07:39:29 +00:00