7b7c58b3842d47c4c8df4876e2e2248c58477d97 |
|
03-Dec-2014 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #18572506: AppOps in-memory state is invalid after... ...uninstalling updates to a system app Things seem to be working fine, however we were not as aggressive at writing out the current state in this case as we probably should be. Also introduce more features to the appops command, which are useful for testing this. Change-Id: I177a9cc0e16e98b76fee0d052d742e06842bb3f9
/frameworks/base/core/java/android/app/AppOpsManager.java
|
5064e7c70c54000abc0b37fda9caa8d71407f2f4 |
|
02-Sep-2014 |
Dianne Hackborn <hackbod@google.com> |
Add public constant for usage stats app op. Change-Id: Ibc031b50e9fa4f1bd0955e0afd98e8b1bd77b905
/frameworks/base/core/java/android/app/AppOpsManager.java
|
05542603dd4f1e0ea47a3dca01de3999a9a329a9 |
|
11-Aug-2014 |
Jeff Davidson <jpd@google.com> |
Less intrusive VPN dialog and other UX tweaks. -The ability to launch VPNs is now sticky; once approved by the user, further approvals are not needed UNLESS the connection is revoked in Quick Settings. -The old persistent notification has been removed in favor of the new Quick Settings UI. -The name of the VPN app is now pulled from the label of the VPN service rather than the app itself, if one is set. Bug: 12878887 Bug: 16578022 Change-Id: I102a14c05db26ee3aef030cda971e5165f078a91
/frameworks/base/core/java/android/app/AppOpsManager.java
|
b5cf61be7c82392a6f34f53d97c8382d9a0f0b3a |
|
19-Aug-2014 |
Adam Lesinski <adamlesinski@google.com> |
Add Shell command to set AppOps permissions Change-Id: I6446543b27f0d2d2e69590a2807e713c6d5ccbbc
/frameworks/base/core/java/android/app/AppOpsManager.java
|
15f83c6f64e26a74acf9b75ce41d39870d5a5b7a |
|
13-Aug-2014 |
Yorke Lee <yorkelee@google.com> |
Disable call log for users with DISALLOW_OUTGOING_CALLS restriction Bug: 16217514 Change-Id: Iacd5699d0a540ca0e5a678662379bf8c611f7462
/frameworks/base/core/java/android/app/AppOpsManager.java
|
41c1ded7f042a4cf303479550b38fa66d7a18906 |
|
05-Aug-2014 |
Amith Yamasani <yamasani@google.com> |
Allow phone UID to export singleton providers Also add a user variant of replacePreferredActivity for use by SmsApplication. Map user restrictions for SMS/MMS to AppOps perms. Bug: 16681533 Change-Id: I3dfed5fc754e33bb51c6f571851653a7c2770e46
/frameworks/base/core/java/android/app/AppOpsManager.java
|
33f5ddd1bea21296938f2cba196f95d223aa247c |
|
22-Jul-2014 |
Dianne Hackborn <hackbod@google.com> |
Add permissions associated with app ops. Change-Id: I575ad7a3ceea59486ca601f69760b14f6269511d
/frameworks/base/core/java/android/app/AppOpsManager.java
|
7b41467704f941b11af6aace3e40993afc7f6c6f |
|
18-Jul-2014 |
John Spurlock <jspurlock@google.com> |
Zen mode filtering should use new usage constants. Refactor stream-based calls to usage-based calls. Bug:15279516 Change-Id: I3f7757d8123c14670e2ad5f8e6aa4e9803efe7ec
/frameworks/base/core/java/android/app/AppOpsManager.java
|
c39d47a8e7c74bd539104b0efab898ef6fc43ddf |
|
09-Jul-2014 |
Michael Wright <michaelwr@google.com> |
Add MediaProjection APIs. The new MediaProjection infrastructure allows the system to hand out tokens granting the ability to capture the screen's contents, audio, etc. at a granular level. It's intended to be used both for screen casting, via the cast APIs, as well as screen sharing via third party applications. The screen sharing case is implemented, but all of audio capturing is still forthcoming. Change-Id: I4b24669bed7083e11413c10ed8d6b025f5375316
/frameworks/base/core/java/android/app/AppOpsManager.java
|
9854d5764887351a703568192a2ce7227cae03b5 |
|
02-Jul-2014 |
Julia Reynolds <juliacr@google.com> |
Map location-based op codes to UserManager.DISALLOW_SHARE_LOCATION. Bug: 15928422 Change-Id: I9c59599d3bd2026277dcb382c92d23deec950d40
/frameworks/base/core/java/android/app/AppOpsManager.java
|
1c7c319bb89b9988bfd12afc3e8d89449fd163fc |
|
26-Jun-2014 |
Jason Monk <jmonk@google.com> |
User restriction for disallowing window creation Block any types of windows that could by used by apps to create views on top of a locked app. This can be used by device admins in conjunction with lock task mode. Added a way for system (and priv apps) to bypass user restrictions for specified op codes. Bug: 15279535 Change-Id: I2381530ef6226a5bb32a99bb4030baafb39bf564
/frameworks/base/core/java/android/app/AppOpsManager.java
|
22c921a910d236abf3a1705a02541a49fdaf3a14 |
|
28-May-2014 |
Emily Bernier <ember@google.com> |
Add an app ops code for microphone muting. When OP_AUDIO_MICROPHONE (linked to the DISALLOW_UNMUTE_MICROPHONE user restriction) is set, the system blocks calls to setMicrophoneMute. Bug: 13585692 Change-Id: Ib32138bcc256cfbac4fe21a090d5ba34f5c641fc
/frameworks/base/core/java/android/app/AppOpsManager.java
|
45775c4f93ccac604dcd5b027c8201872bbd0d46 |
|
16-May-2014 |
Emily Bernier <ember@google.com> |
Connect user audio restrictions to app ops. Setting DISALLOW_ADJUST_VOLUME sets the relevant app ops as well, blocking calls in AudioService. Change-Id: I256b294465fc2e8b93cb0389b21299eacf0efb95
/frameworks/base/core/java/android/app/AppOpsManager.java
|
62062996dd256df8b575b2ba1f0bf97109c4e0ba |
|
06-May-2014 |
Jason Monk <jmonk@google.com> |
Notify AppOpsService of UserRestrictions and Owners This makes the DevicePolicyManagerService and UserManagerService push the DeviceOwner/ProfileOwners and user restrictions on boot as well as on any change. This also adds a list of restrictions that allow any op to connected with a user restriction such that it will return MODE_IGNORED when the user restriction is present (except for the device/profile owner). Change-Id: Id8a9591d8f04fe5ecebd95750d9010afc0cd786c
/frameworks/base/core/java/android/app/AppOpsManager.java
|
e22b3b143240f0f18e3d6d3c06686ad3c23b131b |
|
08-May-2014 |
Dianne Hackborn <hackbod@google.com> |
Usage stats! Start reworking the usage stats service to be able to have an API we can publish. The basic information it keeps is still the same, though that will be changing in the future. The one big addition here is that we are also now collecting configuration usage stats. Also introduce the start of an access model for usage stats, using app ops. There is an new app op that gives an application access to usage stats even if it normally wouldn't have it, disabled by default. Change-Id: I6ead28e18a7f08eafd057d6ff37dd9cb216358f4
/frameworks/base/core/java/android/app/AppOpsManager.java
|
1af30c7ac480e5d335f267a3ac3b2e6c748ce240 |
|
10-Mar-2014 |
John Spurlock <jspurlock@google.com> |
Add stream-level suppression to vibrate/audio services. - Add new audio restriction layer to app-ops. Restrictions add additional constraints to audio operations at a stream-level. Restrictions do not affect the persistable state, and are purely additive: that is, they can only impose additional contstraints, not enable something that has already been disabled. Restrictions also support a whitelisted set of exempt package names. - Add new audio stream-level checks to app-ops. - Implement a provisional OP_PLAY_AUDIO suppression to three java entry points MediaPlayer, AudioTrack, & SoundPool. - Enhance vibrator api to take stream information as an optional hint - the constants correspond to AudioManager stream types. OP_VIBRATE now supports the stream-level restriction check. - Simplify Vibrator subclasses by adding default implementations for two .vibrate calls. - Migrate NoMan's zen-mode control to use the new app-ops stream-level restriction mechanism. Change-Id: Ifae8952647202f728cf1c73e881452660c704678
/frameworks/base/core/java/android/app/AppOpsManager.java
|
75985bbe2f04519cc663db7ad54e8e69f3eabfc0 |
|
14-Mar-2014 |
John Spurlock <jspurlock@google.com> |
am 62826f55: am f6228d95: Merge "Fix doc typos in AppOpsManager.java" into klp-docs * commit '62826f55be4415684b4e321469298ba43d598bbb': Fix doc typos in AppOpsManager.java
|
925b85eae8ee605ef33bb8cca1018e474cef402a |
|
10-Mar-2014 |
John Spurlock <jspurlock@google.com> |
Fix doc typos in AppOpsManager.java Change-Id: I3c930a2afce48c57570681a95595149df5158053
/frameworks/base/core/java/android/app/AppOpsManager.java
|
fa06d03edf7b40f62615c58233dbdf135bac11df |
|
08-Oct-2013 |
Nick Kralevich <nnk@google.com> |
am 0b8fd029: am a299862d: Merge "Fix App Ops permission mapping structure." * commit '0b8fd029c052784d4adee940eaa904a339db6716': Fix App Ops permission mapping structure.
|
0b8fd029c052784d4adee940eaa904a339db6716 |
|
08-Oct-2013 |
Nick Kralevich <nnk@google.com> |
am a299862d: Merge "Fix App Ops permission mapping structure." * commit 'a299862dd2d46fda54678df07db66bef1a63bb9b': Fix App Ops permission mapping structure.
|
f97616c7baf989919a44c04a4bf3852f1b32ce06 |
|
07-Oct-2013 |
Robert Craig <rpcraig@tycho.ncsc.mil> |
Fix App Ops permission mapping structure. The entry to map the post notification op to a permission is at the wrong offset within the sOpPerms array. This patch fixes the issue. Change-Id: Ia241d274e484b6a24edbfb17b87bb887b61f1ee1 Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
/frameworks/base/core/java/android/app/AppOpsManager.java
|
e4cb66fd77084b2642e519bb7f4c27ae7ef95939 |
|
02-Oct-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #11044267: AppOpsManager.startWatchingMode should take a String Change-Id: I193a738f2e4ef147c22fb46cfa34ec14ad95d192
/frameworks/base/core/java/android/app/AppOpsManager.java
|
8828d3a153e28fe631edcd5145e6cc706e0b34c8 |
|
26-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #10919261: Don't clear OP_WRITE_SMS when resetting app prefs Add a new array indicating whether each op allows itself to be reset, and use it. Change-Id: I494f630bda170e061196a380563512e9e77b51a8
/frameworks/base/core/java/android/app/AppOpsManager.java
|
9bb0ee9131b0fa8cf2720f200575ba2ede48a65c |
|
22-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Issue #10461551: KLP API Review: AppOpsManager Changed public constants from integers to strings. Internally everything is still integers, since we want that more efficient representation for most things. Changed the Callback interface to OnOpChangedListener. We also have a private versin that again takes an int, and tricks to make both work. Reworked the class documentation to be appropriate to the SDK (as much as it can be); most of the existing documentation is moved to the private implementation. Also added documentation of the MODE constants. Change-Id: I4f7e73cc99fe66beff9194e960e072e2aa9458f8
/frameworks/base/core/java/android/app/AppOpsManager.java
|
f5d831915dd11e77cdcf5669228c55fe17a21c5e |
|
16-Sep-2013 |
David Braun <dabraun@google.com> |
Implement new method for handling SMS/MMS on the platform Multi project change: The changes in this project add the new (hidden) default sms application setting to Settings.Secure and updates AppOps to support the concept of an op defaulting to something other than allowed. OP_WRITE_SMS is set to default to MODE_IGNORED. Bug: 10449618 Change-Id: I37619784ac70c27cf9fbcbfcac1b263398bc4e01
/frameworks/base/core/java/android/app/AppOpsManager.java
|
95d785346b4dae808a2d8f77356175e55a572d96 |
|
11-Sep-2013 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #10688644: Java crash in com.android.phone: java.lang.SecurityException: Operation not allowed There was a situation I wasn't taking into account -- components declared by the system has a special ability to run in the processes of other uids. This means that if that code loaded into another process tries to do anything needing an app op verification, it will fail, because it will say it is calling as the system package name but it is not actually coming from the system uid. To fix this, we add a new Context.getOpPackageName() to go along-side getBasePackageName(). This is a special call for use by all app ops verification, which will be initialized with either the base package name, the actual package name, or now the default package name of the process if we are creating a context for system code being loaded into a non-system process. I had to update all of the code doing app ops checks to switch to this method to get the calling package name. Also improve the security exception throw to have a more descriptive error message. Change-Id: Ic04f77b3938585b02fccabbc12d2f0dc62b9ef25
/frameworks/base/core/java/android/app/AppOpsManager.java
|
b776122a8aa9fd082fa8aaa216c8a589d709c4c9 |
|
10-Sep-2013 |
David Braun <dabraun@google.com> |
Merge "Factor out read/write SMS settings seperate from send/receive." into klp-dev
|
18966a8dd8dfae553eaaafa87a656af3b7518fc6 |
|
10-Sep-2013 |
David Braun <dabraun@google.com> |
Factor out read/write SMS settings seperate from send/receive. Change-Id: I161782b1508be433c910ec13c0b18e728bf7d2ba
/frameworks/base/core/java/android/app/AppOpsManager.java
|
911d7f411f36f2279aae44c89ff1d33a29140046 |
|
06-Sep-2013 |
Jeff Sharkey <jsharkey@android.com> |
Provide calling package to ContentProviders. The calling package is important for ContentProviders that want to grant Uri permissions as a side effect of operations, so offer it through a new API. Validates the provided package against the calling UID before returning. Bug: 10626527 Change-Id: I7277880eebbd48444c024bcf5f69199133cd59e4
/frameworks/base/core/java/android/app/AppOpsManager.java
|
0770f9ef66f6e0d8724c972fbdce81aae6de2ca1 |
|
03-Aug-2013 |
Dianne Hackborn <hackbod@google.com> |
resolved conflicts for merge of c8911ddd to master Change-Id: I790b547268a23848577199256fc5abc9bdb7abb8
|
607b414d0444067e166fa54d8ea37563f2715ea3 |
|
03-Aug-2013 |
Dianne Hackborn <hackbod@google.com> |
Add new app ops method to reset all op modes. Change-Id: I5ee6764de8dc31d812e5a788914ab0099bbef4c0
/frameworks/base/core/java/android/app/AppOpsManager.java
|
0b8374501975aecd7a628336e2f7e53c272ebeea |
|
30-Jul-2013 |
David Christie <dnchrist@google.com> |
Add new app op to monitor high power location requests. This is a new op parallel to the existing OP_MONITOR_LOCATION but only tracks those requests deemed to be above a power threshold. Change-Id: I76fe4d9d2e550293b9da6d5cf902a5b4dd499f0f
/frameworks/base/core/java/android/app/AppOpsManager.java
|
e98f5dbe6b6f9f2cb6a73ee750faacda2596b34f |
|
18-Jul-2013 |
Dianne Hackborn <hackbod@google.com> |
Make it safe to use start/stop app ops outside of system proc We now keep track of all of the active start operations per non-system process, so they can be cleaned up if the process goes away. Change-Id: I9d05f1e0281c47dbe1213de014f0491f1359685c
/frameworks/base/core/java/android/app/AppOpsManager.java
|
3e82ba1a67b0c756ab6a289985f4cfc53725b311 |
|
16-Jul-2013 |
Dianne Hackborn <hackbod@google.com> |
Make ArrayMap public! :) Also do some tweaking of the various container classes to synchronize them with the support lib and make it easier to copy code between the two. And update activity/fragment to use ArrayMap. Change-Id: I3cfe82392a17119dfc72c3d9961f64e1914f42be
/frameworks/base/core/java/android/app/AppOpsManager.java
|
1304f4ae32cf7121fe11e95f2a7151ea208b6cca |
|
10-Jul-2013 |
Dianne Hackborn <hackbod@google.com> |
Add new location monitoring op, make some of app ops public. The new location monitoring op is to tell us when an application is monitoring for any location changes. It may be useful information in addition to the more explicitly information about when location data actually goes to the app. Also make parts of AppOpsManager public for use by gcore. It is not available to third party apps. Change-Id: Ib639f704258ffdd7f3acd7567350ed2539da628a
/frameworks/base/core/java/android/app/AppOpsManager.java
|
713df150b92a0a5eea877f99405e31eefbf93a09 |
|
17-May-2013 |
Dianne Hackborn <hackbod@google.com> |
Add app ops for wake locks. Currently only supports auditing, not disabling. Change-Id: Ie85f02c29b490d96e073f54d59e165d48c7c00c9
/frameworks/base/core/java/android/app/AppOpsManager.java
|
ba50b97cff80e73620a0e3d13cae169e095974a7 |
|
01-May-2013 |
Dianne Hackborn <hackbod@google.com> |
Add new app ops for various interesting audio service things. Media buttons: note when an application tries to take ownership of the media buttons. Audio focus: note when an application tries to take audio focus. Volume levels: note changes to the volume level of the various streams. Maybe we should also have some ops for muting streams, soloing streams, etc? Change-Id: I79a5d477b0bad4ff61486cdb73ffb1196a674964
/frameworks/base/core/java/android/app/AppOpsManager.java
|
efcc1a23a1f731390ef8506b3536b9562d18ed78 |
|
26-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: adding operations for reading/writing clipboard. Change-Id: Ic4cade153618fe86954754a3b3edde64a52a0a9c
/frameworks/base/core/java/android/app/AppOpsManager.java
|
d7d28e675ea7aac151c0c302d233b476537af946 |
|
12-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: media ops, set up to be callable from native code. This is to help implementation of bug #8181262 and maybe bug #8181261 Adds some definition for media ops (though nothing is yet using them), and re-arranges things a bit so we can implement native calling in to the app ops service. Also add some java docs. Change-Id: I637959745db820e676f23a35a5d2224f51bc6689
/frameworks/base/core/java/android/app/AppOpsManager.java
|
fde19b106b2b77bc3540b04445357870caf878b5 |
|
17-Jan-2013 |
Daniel Sandler <dsandler@android.com> |
New API to request a list of current notifications. The ACCESS_NOTIFICATIONS permission is signature|system only. Change-Id: I41338230aee9611117cbdac251c1b6b6c3cebf00
/frameworks/base/core/java/android/app/AppOpsManager.java
|
c2293025a25e04b26bf53713d71f85fd9ca5e8e9 |
|
07-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: track system windows, monitoring changes. Change-Id: I273e82bdad66ada3bf0f7ec9176bc304b9ee1ee8
/frameworks/base/core/java/android/app/AppOpsManager.java
|
961321fe4ed4431a6362d729d9e4ea26bdecde61 |
|
06-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: add op for writing settings. Also fix a build. And fix a bug that I think was introduced in the multi-user work that removed the permission check for writing to settings...! Change-Id: I5945682faa789ffc78fd3546c0df7d03693f106d
/frameworks/base/core/java/android/app/AppOpsManager.java
|
f51f61269aacdfcf737b2c32b6b216c48ab61e65 |
|
05-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: new operations for SMS. Implementation required a new framework feature to associate an app op with a broadcast. Change-Id: I4ff41a52f7ad4ee8fd80cbf7b394f04d6c4315b3
/frameworks/base/core/java/android/app/AppOpsManager.java
|
f265ea9d8307282ff1da3915978625a94fc2859e |
|
01-Feb-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: vibration, neighboring cells, dialing, etc. Improve handling of vibration op, so that apps are better blamed (there is now a hidden vibrator API that supplies the app to blame, and the system now uses this when vibrating on behalf of an app). Add operation for retrieving neighboring cell information. Add a new op for calling a phone number. This required plumbing information about the launching package name through the activity manager, which required changing the internal startActivity class, which required hitting a ton of code that uses those internal APIs. Change-Id: I3f8015634fdb296558f07fe654fb8d53e5c94d07
/frameworks/base/core/java/android/app/AppOpsManager.java
|
4a900acdef4559f9f84ca7e2bce45485215fc130 |
|
30-Jan-2013 |
Daniel Sandler <dsandler@android.com> |
Migrate package notification restrictions to AppOps. Change-Id: I23064ce3014d2446d009bbdff92b301280e8b989
/frameworks/base/core/java/android/app/AppOpsManager.java
|
5e45ee6752528791deb66b83d76250685de15d47 |
|
25-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
App ops: you can now turn off operations. Also add new ops for calendar and wi-fi scans, finish implementing rejection of content provider calls, fix issues with rejecting location calls, fix bug in the new pm call to retrieve apps with permissions. Change-Id: I29d9f8600bfbbf6561abf6d491907e2bbf6af417
/frameworks/base/core/java/android/app/AppOpsManager.java
|
72e3983d38f656cfa8c7a038eb80bdd9ea06768e |
|
19-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
New API to get app op information about a single package. Change-Id: I986453d9bb4161da467fb820b12502464e936483
/frameworks/base/core/java/android/app/AppOpsManager.java
|
d8e1dbb6bc1fbaf4f2e38c3ba92ced94270deaac |
|
18-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
Rework ParceledListSlice to be much easier to use. Take advantage of this to return better information about packages filtered by permissions -- include the permissions they have in the requested array. Also fix issue #8026793 (Contact picture shows default pic while searching for a contact in qsb) by using the base package name of the Context when reporting the app name of an operation. Otherwise you could make a resource-only context for another application and do calls through that and get reported as the wrong app. Change-Id: I5e0488bf773acea5a3d22f245641828e1a106fb8
/frameworks/base/core/java/android/app/AppOpsManager.java
|
35654b61e8fe7bc85afcb076ddbb590d51c5865f |
|
15-Jan-2013 |
Dianne Hackborn <hackbod@google.com> |
More work on App Ops service. Implemented reading and writing state to retain information across boots, API to retrieve state from it, improved location manager interaction to monitor both coarse and fine access and only note operations when location data is being delivered back to app (not when it is just registering to get the data at some time in the future). Also implement tracking of read/write ops on contacts and the call log. This involved tweaking the content provider protocol to pass over the name of the calling package, and some infrastructure in the ContentProvider transport to note incoming calls with the app ops service. The contacts provider and call log provider turn this on for themselves. This also implements some of the mechanics of being able to ignore incoming provider calls... all that is left are some new APIs for the real content provider implementation to be involved with providing the correct behavior for query() (return an empty cursor with the right columns) and insert() (need to figure out what URI to return). Change-Id: I36ebbcd63dee58264a480f3d3786891ca7cbdb4c
/frameworks/base/core/java/android/app/AppOpsManager.java
|
a06de0f29b58df9246779cc4bfd8f06f7205ddb6 |
|
12-Dec-2012 |
Dianne Hackborn <hackbod@google.com> |
New "app ops" service. Initial implementation, tracking use of the vibrator, GPS, and location reports. Also includes an update to battery stats to also keep track of vibrator usage (since I had to be in the vibrator code anyway to instrument it). The service itself is only half-done. Currently no API to retrieve the data (which once there will allow us to show you which apps are currently causing the GPS to run and who has recently accessed your location), it doesn't persist its data like it should, and no way to tell it to reject app requests for various operations. But hey, it's a start! Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
/frameworks/base/core/java/android/app/AppOpsManager.java
|