Commit Graph

198 Commits

Author SHA1 Message Date
Paul Duffin
2a9cd14900 Merge "Conditionally remove android.test.base from bootclasspath" 2018-01-30 11:20:50 +00:00
Alison Cichowlas
76f0ccb5f1 Revert "Security model for moving sharesheet to systemui"
This reverts commit 88f3d4dbe1.

Bug: 72554856
Test: repro instructions in bug
2018-01-29 16:34:33 -05:00
Paul Duffin
a3b692113c Conditionally remove android.test.base from bootclasspath
This makes the runtime handling of the android.test.base library
conditional based on a build flag REMOVE_ATB_FROM_BCP.

When REMOVE_ATB_FROM_BCP=true:
* The framework-atb-backward-compatibility is added to the
  bootclasspath instead of android.test.base.
* Any APK that targets pre-P (or has a dependency on android.test.runner)
  has android.test.base added to their library list.

Otherwise:
* The android.test.base library is added to the bootclasspath.
* Any APK that explicitly specifies that it depends on the
  android.test.base library has the library removed as the classes
  are available at runtime.

Added android.test.base to platform libraries so it can be used when
not on the bootclasspath.

Tested both cases by building with or without the build flag, flashing,
setting up, adding an account, adding a trusted place.

Also, tested that all combinations of REMOVE_ATB_FROM_BCP and
REMOVE_OAHL_FROM_BCP work.

adb install -r -g out/target/product/marlin/testcases/FrameworksCoreTests/FrameworksCoreTests.apk
adb shell am instrument -w -e class android.content.pm.PackageBackwardCompatibilityTest,android.content.pm.AndroidTestRunnerSplitUpdaterTest,android.content.pm.OrgApacheHttpLegacyUpdaterTest,android.content.pm.RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest,android.content.pm.RemoveUnnecessaryAndroidTestBaseLibraryTest,android.content.pm.AndroidTestBaseUpdaterTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner

Bug: 30188076
Test: as above
Change-Id: I4b9d8a5bed6787cd334c2b13a458bbc0efc3f3b6
2018-01-29 11:48:44 +00:00
Selim Cinek
2627d72e61 Launching Notification animations inline
Using the new control mechanism introduced in order
to coordinate notification launches and smoothly
transform the notification into the launching window.

Bug: 69168591
Test: add notification, launch it
Change-Id: Ib2d671c65f276ec596a2f07edf64d65bf27a2882
2018-01-24 23:29:28 +00:00
Geoffrey Pitsch
d997d191ed Merge "Security model for moving sharesheet to systemui" 2018-01-24 17:33:59 +00:00
Geoffrey Pitsch
88f3d4dbe1 Security model for moving sharesheet to systemui
ResolverActivity (still in frameworks) now requests a "permission token"
that it hands to a stubbed system ui activity ChooserActivity.

This permission token allows an app (SysUI) with the signed permission
"START_ACTIVITY_AS_CALLER" to call
ActivityManagerService#startActivityAsCaller. Permission tokens are a
one-time use, limited-time offer.

Test: runtest systemui && manual testing
Bug: 69850752
Change-Id: I3600e1a8ff9eea7397f5f59853423c79b6401f98
2018-01-23 10:23:55 -05:00
Yi Jin
974e56f141 Enable incidentd.rc also add dump and usage_stats permission to statsd
so it bypass incidentd's permission check

Test: manual
Change-Id: I65b501fe46f66f9f62fedfcfc75aa17f29fc1076
2018-01-22 14:41:19 -08:00
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