45 Commits

Author SHA1 Message Date
Dianne Hackborn
be7c50e0a1 Add network access blocking when in battery save mode.
The network policy manager now monitors battery save mode and,
when in battery save, uses its facility to block access to metered
networks to block access to all networks.  That is, it tells the
network management service that all networks have an (infinite)
quota, and puts various app uids to be restricted under quota
interfaces as appropriate.

This new network blocking needs a new facility to be able to white
list apps, such as GmsCore.  To do this, I refactored the package
manager's permission configuration stuff into a separate SystemConfig
class that can be used by others, and it now has a new tag to
specify package names that should be white-listed for power save
mode.  These are retrieved by the network policy manager and used
to build a whitelist of uids.

The new general config files can now go in system/etc/config,
though currently everything still remains in the permissions dir.

Still left to be done is changing the semantics of what uids are
allowed in this mode, to include all perceptable uids.  (So that we
can still do things like background music playback.)  This will be
done in a follow-on CL.

Change-Id: I9bb7029f61dae62e6236da5ca60765439f8d76d2
2014-07-01 09:22:57 -07:00
Marco Nelissen
d983ba5cac Add PowerManager method to assign blame to a single uid
Currently used by audioflinger to account for recording wakelocks.
b/10985160

Change-Id: I18fc8487f2a197bf02b5269a4bcae9e75b6c2207
2013-10-03 08:49:36 -07:00
Jeff Sharkey
9c104ab454 Remove deprecated ACCESS_DRM permission.
The permission no longer exists, so don't assign it to media.

Bug: 9967611
Change-Id: I5e11fcfc265310cbc3c2a8812a13e68b717fa476
2013-09-03 12:04:39 -07:00
Jeff Sharkey
02e4d16ed9 Add GIDs to packages.list, update SD card perms.
Write supplementary GIDs to packages.list for lower-level system
components to parse.

WRITE_EXTERNAL_STORAGE also implies sdcard_r GID. Switch to always
enforce READ_EXTERNAL_STORAGE permission. Update permission docs to
mention new behavior.

Change-Id: I316ba4b21beebb387ac05c80980ae9b38235b37d
2013-08-12 20:31:36 -07:00
Eino-Ville Talvala
b8dd91a6b2 Camera: Remove camera gid from apps with camera permission.
This gid is not needed by camera-using apps, since all camera access
is mediated by the camera service, which does not depend on gid for
permission checks.

Bug: 9904186
Change-Id: I859e6cabc905af9d98e2b09f5bbad086b5eb2b26
2013-07-17 22:00:02 +00:00
Eino-Ville Talvala
788717ca59 Camera and MediaRecorder: Support AppOps
- Allow media processes to update AppOps state
- Pass package name to media services

Bug: 8181262
Change-Id: I115d39f0b306cb9eb7cd3d3e663c680b7322fd3f
2013-02-25 09:27:42 -08:00
Dianne Hackborn
514074fae8 App ops: cleanup, handle root and shell, perms.
Rework how the shell user is defined so that it is
associated with an actual apk, instead of being a free
roaming uid with special permissions assigned to it.
This allows us to correctly account for its operations
in app ops.

Implement a special case for the root user in app ops --
it is always allowed, always with the package name "root".

Add various code to take care of cleaning up package state
from app ops -- when packages are uninstalled, and during
boot if any packages currently being stored no longer exist.

Also fix a bug in the activity manager to correctly grant
permissions in all cases when onNewIntent() is being called.

Change-Id: Iae9f6d793ee48b93518c984ad957e46ae4582581
2013-02-11 15:33:48 -08:00
Doug Zongker
b616f0c239 add android.permission.LOOP_RADIO for access to loop radio device
Change-Id: I811d70fa67aa758122678809f32b8aade42ced0f
2013-01-29 10:39:13 -08:00
Guang Zhu
ef48662876 grant shell user EXPAND_STATUS_BAR permission
Bug: 7555251
Change-Id: I68cebb26bcee060c56e124941f3ea9289ab2b3bf
2012-11-15 19:49:42 -08:00
Matthew Xie
fca9d63635 Add multi user support for bluetooth
Create a BLUETOOTH_STACK permission to share between all users of
Bluetooth apk. Bluetooth Manager binds to apk of current user
bug 6925422

Change-Id: I2df5546e977c2d77bc66d97d12479d933826922a
2012-10-04 18:35:42 -07:00
Dianne Hackborn
786b44046a Fix installing applications from non-primary users.
We also now send the correct broadcasts to each user.

You no longer need to be running the shell as root
to be able to create/remove users.

Also added some more man page material to the pm command, and
got rid of a bunch of showUsage() calls that now make error
messages completely buried because of how large the usage info
has become.

And the package manager now shows the user each historical broadcast
was sent to.

Change-Id: Iab42498e1352a0c023069139c80fc04d2d69ab4b
2012-08-27 15:16:33 -07:00
Dianne Hackborn
b497a819b7 am f52dcf32: am da9754e8: Merge "Fix issue #6860828 Non-root shell can\'t grant permissions" into jb-dev
* commit 'f52dcf32f2fba7c89bbd127c22f2ee2b933915c6':
  Fix issue #6860828 Non-root shell can't grant permissions
2012-07-24 22:03:33 -07:00
Dianne Hackborn
4d5f968f41 Fix issue #6860828 Non-root shell can't grant permissions
That, plus a few other permissions.

Bug: 6860828
Change-Id: I69f0360471e4fd46e689388cd993e18c1e0bfb02
2012-07-23 11:46:32 -07:00
fredc
0f42037eb7 Non persistent adapter service
Change-Id: Ib13d5c77416e58161df0e04d7a15ec0dddbde8b5

Conflicts:

	core/java/android/bluetooth/BluetoothInputDevice.java

Conflicts:

	core/java/com/android/internal/app/ShutdownThread.java
	services/java/com/android/server/SystemServer.java

Conflicts:

	services/java/com/android/server/SystemServer.java
	services/java/com/android/server/pm/ShutdownThread.java
2012-07-16 21:20:54 -07:00
Dianne Hackborn
7924512aa1 Add new READ_EXTERNAL_STORAGE permission.
Also adds some initial compatibility code for dealing with it.

Change-Id: I104bff11798349e4aaa6da9b7be787b257daa1bb
2012-03-12 15:07:31 -07:00
Svetoslav Ganov
25872aa3ef Adding shell commands for modifying content.
1. Added methods to the ActivityManagerService remote interface
   that allow accessing content providers outside of an application.
   These methods are guarded by an internal signature protected
   permission which is given to the shell user. This enables a
   shell program to access content providers.

2. Implemented a shell command that takes as input as standart
   fagls with values and manipulates content via the content provider
   mechanism.

Change-Id: I2943f8b59fbab33eb623458fa01ea61a077b9845
2012-02-15 14:55:47 -08:00
Dianne Hackborn
7aa6d31240 Whoops, need to acquire lock.
Also increase time between reports to try to reduce the amount
of redundant spam we get.

Change-Id: Iedd7d743826fffa62ee431073cb7dfb49a00cea0
2011-11-15 16:12:30 -08:00
Dianne Hackborn
2c84cfc001 Various performance and other work.
- IME service now switches between visible and perceptible depending on
  whether it is being showm, allowing us to more aggressively free its
  memory when not shown.

- The activity display time is no longer delayed by the activity
  transition animation.

- New -R (repeat) option for launching activities with the am command.

- Improved some documentation on Loader to be clear about some methods
  that apps should not normally call.

- FrameworkPerf test now allows you to select individual tests to run.

Change-Id: Id1f73de66dc93d63212183958a72119ad174318b
2011-10-31 16:52:34 -07:00
Dianne Hackborn
fc8fa63861 Fix issue #5128639: SystemUI grows by 10MB after taking a screenshot
We now do the screenshot in a separate process.

Also change the recents panel to not use hardware acceleration
on lower-end devices.  And improve how it gets shown to not
load all data up-front which results in a long delay when you have
lots of recents.

Change-Id: Ia309a90f9939e5405758621b3f7114597bd0c02a
2011-08-17 17:45:05 -07:00
Eric Laurent
6dbdc40e9a Fix issue 4604090: notification sound interrupted.
The problem is that the audio HAL fails to acquire the wake lock when playing the notification.
This is because of a change that removed the mediaserver process form the system group for honeycomb.

The fix consists in requesting the wake lock from PowerManagerService when AudioFlinger mixer
wakes up.

A consequence of this change is that audio HALs or pcm drivers do not have to hold wake locks
anymore as in the past.

Change-Id: I4fb3cc84816c9c408ab7fec75886baf801e1ecb5
2011-07-25 18:41:12 -07:00
Jeff Sharkey
9e18fd1a72 Permissions to protect bandwidth statistics.
Introduces new "net_bw_stats" group which will protect reading
detailed bandwidth statistics from the kernel.  Also introduce
"net_bw_acct" group which will enable specific applications to
request that their network traffic be counted against other UIDs.

This change associates manifest permissions with the low-level GIDs.

Change-Id: If3fc28053afda201ff305d798a8878ff1f35b997
2011-06-22 10:15:32 -07:00
Svetoslav Ganov
8643aa0179 Interrogation of the view hierarchy from an AccessibilityService.
1. Views are represented as AccessibilityNodeInfos to AccessibilityServices.

2. An accessibility service receives AccessibilityEvents and can ask
   for its source and gets an AccessibilityNodeInfo which can be used
   to get its parent and children infos and so on.

3. AccessibilityNodeInfo contains some attributes and actions that
   can be performed on the source.

4. AccessibilityService can request the system to preform an action
   on the source of an AccessibilityNodeInfo.

5. ViewAncestor provides an interaction connection to the
   AccessibiltyManagerService and an accessibility service uses
   its connection to the latter to interact with screen content.

6. AccessibilityService can interact ONLY with the focused window
   and all calls are routed through the AccessibilityManagerService
   which imposes security.

7. Hidden APIs on AccessibilityService can find AccessibilityNodeInfos
   based on some criteria. These API go through the AccessibilityManagerServcie
   for security check.

8. Some actions are hidden and are exposes only to eng builds for UI testing.

Change-Id: Ie34fa4219f350eb3f4f6f9f45b24f709bd98783c
2011-06-06 18:46:03 -07:00
Wink Saville
ec9b5d17af am ee081bf5: am 3ed0a1ec: Merge "IMS: Provide net_admin permission so that IPSec could be configured/used." into honeycomb-LTE
* commit 'ee081bf5ee936396a89d5bd2b29487047b260f49':
  IMS: Provide net_admin permission so that IPSec could be configured/used.
2011-05-03 16:36:36 -07:00
Ramesh Sudini
0e7b5a0287 IMS: Provide net_admin permission so that IPSec could be configured/used.
IMS configures the security database in kernel with keys generated from ISIM.

Change-Id: Iae9fb85f286ff2a627369d784a127bf7d4d8f4b3
2011-05-03 13:46:08 -07:00
Mike Lockwood
1e23db4c2f Revert "Remove permission android.permission.WRITE_MEDIA_STORAGE"
We need this to allow MTP to access secondary external storage devices

This reverts commit 35a2ea2fbf156a503d1b0bc6ca7784e51e2462f4.

Conflicts:

	data/etc/platform.xml

Change-Id: I9faf54526182a786a1c0ca1fd01a09baabca186d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-04-22 07:11:20 -07:00
Mike Lockwood
97d7e4c227 Make ACCESS_USB permission for applications to access USB devices:
- change from signatureOrSystem to normal
- no longer associate this permission with the "usb" unix group
- add to public API

Change-Id: I3be3a5d138719dd126ff0a798824a77f9ce79e24
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-22 15:56:09 -08:00
Mike Lockwood
35a2ea2fbf Remove permission android.permission.WRITE_MEDIA_STORAGE
Access to the /data/media directory is now restricted exclusively to the
sdcard daemon, so there is no longer a need for this permission.

Change-Id: Iea8400f0eee167df19cc231c502d251a364f98b3
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-12 12:48:13 -05:00
Mike Lockwood
10bc1114f3 Add separate permission and group for access to the MTP USB driver
Since the "usb" group and ACCESS_USB permission will be used by regular apps
to access USB devices in host mode, we need a separate permission for the
device side MTP driver.

Change-Id: Id03f7c4f3d2712c489b4b74cf17a72a182084501
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-10 08:54:34 -05:00
Mike Lockwood
3f425a6be4 Add new WRITE_MEDIA_STORAGE permission to control write access to /data/media
BUG: 3113970

Change-Id: Idb56be76729dc560dee5f680225cf4050f2751d2
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-29 19:16:45 -04:00
Dianne Hackborn
8f5edc93b6 am 840f0fec: am d3efa392: Clean up some permissions.
Merge commit '840f0fecd87357cadf4b2a0ae96d30b457f89729'

* commit '840f0fecd87357cadf4b2a0ae96d30b457f89729':
  Clean up some permissions.
2010-09-01 22:55:04 -07:00
Dianne Hackborn
d3efa39244 Clean up some permissions.
Note that WRITE_OWNER_DATA and READ_OWNER_DATA don't actually appear
to be associated with anything or used by anyone, so they are just
deleted.

Also deprecate the activity API to go in the foreground.  I didn't
realize that was released in the SDK.  It needs to go away.

Change-Id: I96f53702c2c79e4999b6b2c498abb770bd27e03a
2010-09-01 21:19:40 -07:00
Mike Lockwood
31ac8e9d56 Add new permission android.permission.ACCESS_USB to allow access to USB devices
Change-Id: Ib3dd573a5ef3950d20b21251fe7a3efad56b5c1f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-11 08:29:19 -04:00
Scott Su
527f015b9a Remove the decleration of com.android.im.plugin.jar in platform.xml
Add a column definition for keep_signed_in when query the active account with a given provider
2009-08-22 10:48:23 -07:00
Tao Liejun
05ff98bbef Fix minor obex bugs and re-format the comments
re-format comments
move connectible to connectable
remove unnecessary throws
remove not-used function ClientOperation.readResponse()
fix client abort case for PUT
set mOpen for PrivateOutputStream
add to platform.xml
2009-07-14 21:20:39 -07:00
Christopher Tate
de83ab9fce Grant adb the BACKUP permission
This also means we should no longer do explicit calling-identity fiddling in
dump(), relying instead on the usual permission enforcement mechanism to handle
things.
2009-07-14 15:38:07 -07:00
Bob Lee
aeb049ce8b Removed reference to awt jar from platform.xml. 2009-07-08 11:22:01 -07:00
San Mehat
5a3a77dabd base: Rename WRITE_SDCARD -> WRITE_EXTERNAL_STORAGE
Signed-off-by: San Mehat <san@google.com>
2009-06-01 09:25:28 -07:00
Mathias Agopian
627e7b50be split boot animation out of SurfaceFlinger
Conflicts:

	data/etc/platform.xml
2009-05-21 19:21:59 -07:00
Mike Lockwood
fd6e5f0dda location: Replace ILocationCollector interface with new ILocationProvider method
This change replaces ILocationCollector with a more general mechanism that
passes locations received from a provider to all other providers.
The network location provider now uses this to implement the location collector.
In the future, this could be used to inject network locations to the GPS
as aiding data.

This change also removes the now obsolete permission INSTALL_LOCATION_COLLECTOR.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-21 11:28:20 -04:00
Dianne Hackborn
a96cbb435d Implement compatibility support for WRITE_SDCARD permission.
Now old applications will automatically be granted it.  Also renamed it from
SDCARD_WRITE to WRITE_SDCARD to be consistent with our other permissions,
and re-arranged how we do targetSdkVersion to actually be usuable for this
kind of stuff.

Note that right now this results in basically all apps being given the
WRITE_SDCARD permission, because their targetSdkVersion is not set.  I will
be dealing with that in a future change.
2009-05-15 18:02:47 -07:00
San Mehat
29b57e63e5 API_CHANGE: external_storage: Add SDCARD_WRITE permission with associated strings
Signed-off-by: San Mehat <san@google.com>
2009-04-23 11:40:17 -07:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
d24b8183b9 auto import from //branches/cupcake/...@130745 2009-02-10 15:44:00 -08:00
The Android Open Source Project
b798689749 auto import from //branches/cupcake/...@125939 2009-01-09 17:51:23 -08:00