Commit Graph

191 Commits

Author SHA1 Message Date
Svet Ganov
82f09bcf93 No camera for idle uids - framework
If a UID is idle (being in the background for more than
cartain amount of time) it should not be able to use the
camera. If the UID becomes idle we generate an eror and
close the cameras for this UID. If an app in an idle UID
tries to use the camera we immediately generate an error.
Since apps already should handle these errors it is safe
to apply this policy to all apps to protect user privacy.

Test: Pass - cts-tradefed run cts -m CtsCameraTestCases
      Added - CameraTest#testCameraAccessForIdleUid

Change-Id: If6ad1662f2af6592b6aca1aeee4bd481389b5e00
2018-01-21 02:55:49 -08:00
Yi Jin
d1238e7b50 Merge "Fix permissions problems of incidentd." 2018-01-19 23:27:32 +00:00
TreeHugger Robot
1d2ddf8ede Merge "Put contacts/calendar providers in except-idle whitelist" 2018-01-18 17:41:35 +00:00
Yi Jin
4bab3a191a Fix permissions problems of incidentd.
Test: manual
Change-Id: I4ee0d1f2349ee1a25a422cabf1b5b87c612710d2
2018-01-17 19:16:49 -08:00
Makoto Onuki
fb26332380 Put contacts/calendar providers in except-idle whitelist
Bug: 71911050
Test: Boot and dumpsys deviceidle
Change-Id: I544b660583c2752dadec920305b33b5a8557ce61
2018-01-17 13:23:50 -08:00
Jorim Jaggi
33a701a55c Remote animations (app-controlled animations)
Adds the ability for another app to control an entire app
transition. It does so by creating an ActivityOptions object that
contains a RemoteAnimationAdapter object that describes how the
animation should be run: Along of some meta-data, this object
contains a callback that gets invoked from WM when the transition
is ready to be started.

Window manager supplies a list of RemoteAnimationApps into the
callback. Each app contains information about the app as well as
the animation leash. The controlling app can modify the leash like
any other surface, including the possibility to synchronize
updating the leash's surface properties with a frame to be drawn
using the Transaction.deferUntil API.

When the animation is done, the app can invoke the finished
callback to get WM out of the animating state, which will also
clean up any closing apps.

We use a timeout of 2000ms such that a buggy controlling app can
not break window manager forever (duration subject to change).

Test: go/wm-smoke
Test: RemoteAnimationControllerTest

Bug: 64674361
Change-Id: I34e0c9a91b28badebac74896f95c6390f1b947ab
2018-01-17 15:12:19 +01:00
Yao Chen
0f2171041e make statsd run in its own uid
+ Assign permission android.permission.STATSCOMPANION to statsd
+ Fixes in StatsCompanionService to allow statsd to get uid mapping

Test: manual
Change-Id: I3e6ca79eefed7f93a4588578c156321c4c278fd3
2018-01-11 11:58:10 -08:00
Jeff Sharkey
4a539441d8 Start using new reserved disk GID.
We recently created a new GID that can be granted to critical system
processes, so that the system is usable enough for the user to free
up disk space used by abusive apps.

Define a permission for the GID so we can grant it to system apps,
and add the GID to core apps needed for system stability.  (The list
was mostly derived from filling a disk and seeing what caused the
device to fall over.)

Test: builds, boots
Bug: 62024591
Change-Id: Icdf471ed3bed4eeb8c01f1d39f0b40c1ea098396
2018-01-07 19:40:29 -07:00
TreeHugger Robot
b743b067e5 Merge "Don't record audio if UID is idle - core framework" 2017-12-26 03:39:42 +00:00
Roshan Pius
f76dc03d6f Settings: Add LOCAL_MAC_ADDRESS permission
This permission is needed for displaying the WIFI MAC address.

Bug: 70638295
Test: Wifi network details page shows the wifi MAC address.
Change-Id: Iaa595d520abf36ba55cfa9e888b169baae6ea1fb
2017-12-20 14:09:20 -08:00
Fan Zhang
c3a6ed25a6 Whitelist SettingsIntelligence to manage fingerprint
This permission used to be Settings. With new settings suggestion
system we need the permission in the unbundled app (SettingsIntelligence)

Bug: 69427300
Test: rebuild
Change-Id: Iaf8dd3281f4cdf5460dd544f50391ca241716d37
2017-11-30 15:50:54 -08:00
Svet Ganov
14ab967edd Don't record audio if UID is idle - core framework
If a UID is in an idle state we don't allow recording to protect
user's privacy. If the UID is in an idle state we allow recording
but report empty data (all zeros in the byte array) and once
the process goes in an active state we report the real mic data.
This avoids the race between the app being notified aboout its
lifecycle and the audio system being notified about the state
of a UID.

Test: Added - AudioRecordTest#testRecordNoDataForIdleUids
      Passing - cts-tradefed run cts-dev -m CtsMediaTestCases
                        -t android.media.cts.AudioRecordTest

bug:63938985
Change-Id: I15264c5c4b47813ca60280bce30b22b8b1f87eab
2017-11-22 20:59:14 -08:00
Fan Zhang
b0e44af1d4 Whitelist SettingsIntelligence to read search indexables.
This permission used to be Settings. With moving ranking to
SettingsIntelligence we need to move permission whitelisting as well

In a follow up we will remove the permission from Settings list.

Bug: 65065268
Test: flash with a clean build
Change-Id: I81fafe0b390df5990989da81629e4c6d67f1480a
2017-11-09 09:48:32 -08:00
TreeHugger Robot
b119f85d34 Merge "Custom message in AoD" 2017-11-07 17:24:27 +00:00
Amith Yamasani
4470ab9c33 Make CHANGE_APP_IDLE_STATE a system API
Allows a privileged app to set standby bucket states for apps.

Bug: 63527785
Test: adb shell am set-standby-bucket com.example.foo 0
Change-Id: I613f8872ae816e39b167aad1c289187362aa6094
2017-11-02 21:12:18 -07:00
Lucas Dupin
957e50ccdf Custom message in AoD
Optional message that lives under the clock and also
in AoD. Implemented using a slice.

Test: launch sysui, look at the date in AoD
Test: runtest -x packages/SystemUI/tests/src/com/android/systemui/keyguard/KeyguardSliceProviderTest.java
Change-Id: I9dbc827bd48c6a3d1b25b0a481ffaecc0dd37f25
2017-11-02 18:03:40 -07:00
Jeff Sharkey
d877f14834 Merge "Define OWNERS for permission grant changes." am: 8d2a5bd42a am: 4ab5a3f8cd
am: e2ef47f1bd

Change-Id: I32c2ddf0f6c5f21651750579e045198438045d12
2017-10-30 03:42:16 +00:00
Jeff Sharkey
e2ef47f1bd Merge "Define OWNERS for permission grant changes." am: 8d2a5bd42a
am: 4ab5a3f8cd

Change-Id: Ie27d6ee76a7ab6585881d5f83c197ab99f7d26f4
2017-10-30 03:26:54 +00:00
Jeff Sharkey
e40d8409bd Define OWNERS for permission grant changes.
Permission grant changes need explicit approval from product and
SWE leadership to ensure that CTS/CDD requirements are met.

Change-Id: I0a84712b5c5b4e11e72bf5921b72ef6a47e7fdc1
2017-10-29 19:32:02 -06:00
Fyodor Kupolov
7e7c48ae9c Updated the whitelist to match the state of platform apps
Some apps in frameworks/base are only included in AOSP targets and
discrepancies weren't discovered by CI tests.

Test: manual
Bug: 67718369
Change-Id: If88aa90f4dcab51b6e11562cadbe003948b6c149
2017-10-20 14:42:24 -07:00
Kang Li
21ec85f12a Update package name for ExtServices to whitelist permissions.
Test: shared images in Camera to verify this.

Change-Id: Iebbe7405afa7de5246e02d7dbdb84fb0f319db5f
2017-10-19 15:02:11 -07:00
Fyodor Kupolov
c56106a13e Crash if not all privileged permissions are whitelisted
Test: reboot device - no crashes
Test: Ran privapp_permissions.py for fugu/marlin/taimen
Bug: 64693550
Change-Id: I9522ccaa75858b9a3d153c95c529eff70cd13994
2017-10-09 14:27:47 -07:00
Shubang
8a56855ec4 Merge "Add permissions for LiveTv (AOSP)" into oc-mr1-dev am: 4dc2938418
am: e13b57b3b9

Change-Id: I91925da75262c8980d27e3e33f5822aa0b4495b4
2017-10-07 01:22:28 +00:00
Shubang
d06de348b6 Add permissions for LiveTv (AOSP)
It crashes without the permissions

Bug: 67474061
Test: make; flashall; install and open LiveTv;
Change-Id: Ifec8bfb4ee93ac6b9189a9c337fdd2ef9ec34537
2017-10-06 14:06:26 -07:00
Sunny Goyal
158c98cee1 Merge "Fixing Launcher package name for privilege permission" into oc-mr1-dev am: 22f7ae8d07
am: 1c56c23331

Change-Id: I00aca55b29ff96f5db393b1130727d6dec5e612a
2017-09-29 23:14:54 +00:00
Sunny Goyal
71d4bcc053 Fixing Launcher package name for privilege permission
Test: None
Bug: 67017745
Change-Id: I37b903c0c771e54a68bf4dac42a0ce39641b7933
2017-09-29 20:08:15 +00:00
Robert Quattlebaum
df41b3eecd Ensure lowpan UID can manage LoWPAN interfaces
Bug: b/64399805
Change-Id: Idd0bd7ef0c4de48c95699efc43324bc4dce8e70a
2017-09-20 23:36:12 +00:00
Paul Duffin
0a22778237 Remove org.apache.http.legacy from bootclasspath
Updated data/etc/platform.xml to make the org.apache.http.legacy library
usable by applications. The runtime location of the
org.apache.http.legacy library is
/system/framework/org.apache.http.legacy.boot.jar not
/system/framework/org.apache.http.legacy.jar.

Stop removing org.apache.http.legacy from the required and optional
shared library lists and instead add it to the required list if it is
not present in either and the package is targeted at SDK
version <= O_MR1.

Bug: 18027885
Test: make FrameworksCoreTests, install and run
Change-Id: I686e3c20f5860e58825e1b88f220f9b8c335849c
2017-09-11 11:28:41 +01:00
Sudheer Shanka
93bfd052a8 Add PACKAGE_USAGE_STATS permission to shell.
This is needed for calling AM.registerUidObserver.

Fixes: 64400666
Test: cts-tradefed run singleCommand cts-dev -m CtsAppTestCases -t \
      android.app.cts.ActivityManagerProcessStateTest
Change-Id: I4f500d0d8d516b6b8961ea2f8c083add3ae949a9
2017-09-01 16:48:05 -07:00
Christopher Tate
615b37fbac Add Audio effect session intent to config file
Currently audio effect panel can't receive session
intent if app targetSdkVersion is Android O or later.
Because the intent is limited on background.
However this kind of application needs to receive
the intent when application plays music.

Bug: 62777192
Test: manual

Cherrypick of partner CL 870245

Change-Id: Ibcebb938fa9177a9b0a7be079b1c7374ba9424ee
2017-08-17 17:24:09 -07:00
fionaxu
a40b8b7431 Merge "app link handling under restricted mobile data" into oc-dr1-dev
am: 93bf6200eb

Change-Id: I1a506e9f8dae6fd76c74c3f9d7f93c40ce64a387
2017-08-08 09:02:23 +00:00
fionaxu
d60a9d0e58 app link handling under restricted mobile data
1. new actions to allow default carrier app dynamically enable/disable
app-link filtering
2. new intent to notify registered carrier apps of other default
networks
3. signal-to-actions config to sepcify carrier actions on default
network change
default network available -> disable intent filter for app-link
defaut network lost -> enable intent filter for app-link
4. new carrier actions to allow carrier apps to register/unregister
other network status dynmacially

Bug: 62487488
Test: Manual
Change-Id: Ie9fa9f3f4ca38f9f26a90a3dbf95f7f20a8ad773
2017-08-04 18:13:12 -07:00
Tomasz Wasilczyk
68a0dafc13 Merge "Rename ACCESS_FM_RADIO to ACCESS_BROADCAST_RADIO permission." into oc-mr1-dev 2017-07-25 17:18:50 +00:00
Tomasz Wasilczyk
df77643cd8 Rename ACCESS_FM_RADIO to ACCESS_BROADCAST_RADIO permission.
This is a backwards incompatible change against System API,
but as there are no existing radio apps, nobody uses it.

Bug: b/63405337
Test: manual
Change-Id: Iaf6085914434be01e1c1e363609e5b0087ffe127
2017-07-21 14:22:05 -07:00
Andrii Kulian
02689a7884 DO NOT MERGE Add permission to launch activities on VD
1. Added permission ACTIVITY_EMBEDDING which allows apps to launch
activities on virtual displays.
2. Allow owner of display to launch activities from same app without
permission check to owned display.
3. Added permission checks for launching on secondary displays to
more target task/stack resolution paths in ActivityStarter.

Bug: 63117330
Test: android.server.cts.ActivityManagerDisplayTests
Test: go/wm-smoke
Change-Id: If169a77fb56241e06f7de20168dc38c4b0a217f5
(cherry picked from commit 7158764983)
2017-07-21 18:31:20 +00:00
Jeff Sharkey
9f09e6a73d Unify permissions under UPDATE_DEVICE_STATS.
The UPDATE_DEVICE_STATS permission has become the de-facto mechanism
that platform components use to shift blame for resource usage, so
it's confusing to also have a separate MODIFY_NETWORK_ACCOUNTING
permission.  So this change replaces MODIFY_NETWORK_ACCOUNTING with
UPDATE_DEVICE_STATS.

Bug: 62483389
Test: builds, boots
Exempt-From-Owner-Approval: Bug 63673347
Change-Id: I872759f02327b6d531ec2338bd876890aded60ad
2017-07-17 16:10:55 -06:00
Jeff Davidson
c8d6ad8b70 Merge "Move eUICC permissions to com.android namespace." into oc-dr1-dev am: 3fc57019bb
am: aa7f92dc6a

Change-Id: Ibd65e174e4067a8d45c8b9d45a7f020a48e1cdab
2017-07-11 02:03:11 +00:00
Paul Duffin
6ed04553ef Add android.test.mock to the optional runtime libraries
This is needed in order to make the following manifest entry work
properly.
  <uses-library android:name="android.test.mock"/>

Tested by adding the entry to an APK and installing it which caused an
error about an unknown library. Then updated this file, rebuilt,
reflashed and installed APK again at which point it worked.

Follow up change to cts/tests/signature will add proper test for this
library.

Bug: 30188076
Test: see above
Change-Id: I630b7bc48a50ab1c52bb5feed54c2e4deb876339
2017-07-07 12:12:06 +01:00
Jeff Davidson
3b16d3fc1e Move eUICC permissions to com.android namespace.
Change-Id: I3457fbb29d04ec82cb5bf819ca479bfe707e3e3f
Test: eSIM sanity check + CTS PermissionPolicyTest
Fixes: 62375320
2017-07-05 23:42:54 +00:00
Malcolm Chen
2106254088 Adding "Mobile data" and "Data usage" button in mobile settings.
Grant "READ_NETWORK_USAGE_HISTORY" permission to phone because
"Datat usage" button summary needs it. Settings provides new
intent to open mobile data usage page.

Bug: 62201918
Test: Manual
Change-Id: Ie317109c723f3946ace4d34c743081a7ae046462
2017-06-29 16:32:24 -07:00
Jeff Davidson
fa028b4145 Merge "Declare new permission for Phone process." 2017-05-24 01:01:32 +00:00
Lucas Dupin
8b3d839a5e Add change_overlay permission to systemui
SystemUI needs to be able to enable and disable
overlays in order to invert text and surface colors.

Bug: 38164700
Test: make
Change-Id: I7685d5fddb5a476e10012dab2d6e7ee5da206f80
2017-05-23 15:43:54 -07:00
Jeff Davidson
c1ef5336bc Declare new permission for Phone process.
Bug: 37480432
Test: TreeHugger + E2E IPC test
Change-Id: I7881651986b73ec6e21f121a8c5c2b85c9e52c3f
2017-05-15 17:57:51 -07:00
Siarhei Vishniakou
d2b712fae9 Merge "Merge "Adding 'uhid' permission for bluetooth stack." am: 3e010d1353 am: 96d3b668bb am: 50c5253c2d" into oc-dev-plus-aosp
am: b78aad827c

Change-Id: Ifbef6c022fc9d944e6126051977f181eca49a29a
2017-05-12 03:49:55 +00:00
Dianne Hackborn
b1080dbf95 Merge "Merge "Finish issue #37815224: DeviceManagementService is incorrectly..." into oc-dev am: 8d0ba598cf" into oc-dev-plus-aosp
am: e0375adaaf

Change-Id: I675107ab7e7cb5a497e56ca10307aed50e6df735
2017-05-12 03:43:09 +00:00
Siarhei Vishniakou
4bb8bea04a Merge "Adding 'uhid' permission for bluetooth stack." am: 3e010d1353 am: 96d3b668bb
am: 50c5253c2d

Change-Id: I965b2ad6b603dba82116180a43fc20684d2f1b59
2017-05-12 01:00:34 +00:00
Dianne Hackborn
06640fea7b Finish issue #37815224: DeviceManagementService is incorrectly...
...starting services from jobs

Remove dmagent from whitelist.

Test: manual

Change-Id: Id13b95b9ca4f8fa890f4e20cf133a6f4bc0e3cc5
2017-05-11 12:15:08 -07:00
Siarhei Vishniakou
9e089567fd Adding 'uhid' permission for bluetooth stack.
This CL is in support of another CL c/2048848, topic
'Refactor hid command in /frameworks/base/cmds'
in internal master. Adding the permissions for bluetooth
devices here to access uhid_node as part of the new 'uhid'
group.

Bug: 34052337
Test: Tested on angler, bluetooth mouse works OK.

Change-Id: I63963984a0a3dccb4fccc64bb6fef4e809e2737e
2017-05-11 01:35:25 +00:00
Dianne Hackborn
55b4d62c4b Merge "Work on issue #37815224: DeviceManagementService is incorrectly..." into oc-dev am: 72c0ab518a
am: c812cf27ab

Change-Id: I7a7b4b17a4eeeeda7619e6fa9702ef059af7d76f
2017-05-02 18:00:22 +00:00
Dianne Hackborn
d1f3df43c0 Work on issue #37815224: DeviceManagementService is incorrectly...
...starting services from jobs

Bring back the correct bg check restrictions on jobs, but also
bring back whitelisting of dmagent so it doesn't crash.

Test: booted and ran

Change-Id: I78892386bdcd4f39e0b1a6d33b224bdff958af37
2017-05-01 14:33:57 -07:00