Commit Graph

5532 Commits

Author SHA1 Message Date
Svetoslav
c6d1c345f4 Runtime permissions: per user permission tracking.
Before all permissions were granted at install time at once, so the user
was persented with an all or nothing choice. In the new runtime permissions
model all dangarous permissions (nomal are always granted and signature
one are granted if signatures match) are not granted at install time and
the app can request them as necessary at runtime.

Before, all granted permission to an app were identical for all users as
granting is performed at install time. However, the new runtime model
allows the same app running under two different users to have different
runtime permission grants. This change refactors the permissions book
keeping in the package manager to enable per user permission tracking.

The change also adds the app facing APIs for requesting runtime permissions.

Change-Id: Icbf2fc2ced15c42ca206c335996206bd1a4a4be5
2015-03-23 18:50:35 -07:00
Dianne Hackborn
312035232b Merge "Add view ID, rework assist API." 2015-03-24 00:02:38 +00:00
Julia Reynolds
151df5db5f Merge "DPM constants for specifying minimum version numbers for DO and DIA." 2015-03-23 21:01:30 +00:00
Dianne Hackborn
0b071a08d8 Add view ID, rework assist API.
Add view ID information to the assist structure.

Also rework the API to simplify how it works by removing
the ViewNode wrapper around ViewNodeImpl -- these are now
just the same thing.  And then add complexity by introducing
a formal WindowNode object that contains the top-level window
information (so I can add in some more window-specific info
in the future).

Change-Id: I5d525cf61ab6a73193e5cceb4c09d2d21cc27bae
2015-03-23 13:59:47 -07:00
Alex Klyubin
afa10ad39a am 2110a28a: am a4c4c575: Merge "Add android.security.NetworkSecurityPolicy."
* commit '2110a28a6c7ef7d7802028d0a2dd9c14ceb432e1':
  Add android.security.NetworkSecurityPolicy.
2015-03-22 00:40:51 +00:00
John Spurlock
606f1c9c9d Merge "HUN: Implement per-package config." 2015-03-20 20:20:09 +00:00
Alex Klyubin
2110a28a6c am a4c4c575: Merge "Add android.security.NetworkSecurityPolicy."
* commit 'a4c4c575c793d3ba4847107b15ce3a9dd5395878':
  Add android.security.NetworkSecurityPolicy.
2015-03-20 18:08:30 +00:00
Julia Reynolds
c173174a20 DPM constants for specifying minimum version numbers for DO and DIA.
Bug: 19859261
Change-Id: Id2730dc33d433e21f3afab4f0c31c3371f368afc
2015-03-20 08:50:53 -04:00
Rubin Xu
ec32b56cc2 Add DelegatedCertInstaller API in DPMS
Allow device/profile owner to delegate certificate APIs to third-party
certificate installer apps.

Bug: 19551274
Change-Id: Iaf9abb5ecb1dc0975fa98ea14408fe392d52fbf4
2015-03-20 10:11:29 +00:00
John Spurlock
1d881a1e98 HUN: Implement per-package config.
- Keep track of whether or not HUNs are allowed per-package.
- No impact on ranking, purely presentational.
- Simplify RankingHelper with a package table.
- Improve RankingHelper dump.
- Fix some warnings and typos.

Bug: 19776495
Change-Id: I28d69df69b576f4eabbb528eabecb1f736f0e830
2015-03-20 00:04:11 -04:00
Guang Zhu
8d09a7445e Merge "pass stream contents in separate thread for executeShellCommand" 2015-03-19 21:14:15 +00:00
Alex Klyubin
f9034cc4ae Add android.security.NetworkSecurityPolicy.
The initial purpose of the NetworkSecurityPolicy class is to provide a
way for network libraries to check whether cleartext network traffic
(e.g., HTTP, WebSockets, XMPP, IMAP, SMTP) should be blocked from this
process.

The policy is set declaratively by the app developer in the app's
manifest and can be queried from ApplicationInfo.flags. Unfortunately,
several network stacks (bundled and unbundled) do not have a reference
to ApplicationInfo or Context.

Alternatives:
* Keep this API hidden (and thus potentially move it from framework to
  libcore), thus precluding unbundled HTTP stacks from using the API.
* Introduce a new java.lang.System property instead of this API.
  However, such properties are a mess and not as powerful/extensible
  as a public class.

Bug: 19215516
Change-Id: If22056a74d257bf1d805ebb4fc284240b3d338f1
2015-03-19 10:27:48 -07:00
Guang Zhu
14e260125e pass stream contents in separate thread for executeShellCommand
Doing it in binder thread will cause deadlock if stdout of
process under execution is larger than buffer of
java.lang.Runtime#exec(String).

Bug: 19829679
Change-Id: Icf0fccd3e2e80b0db4cc1115e501f79066adf091
2015-03-18 20:54:46 -07:00
Alan Viverette
4a357cd2e5 Replace usages of deprecated Resources.getColor() and getColorStateList()
Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
2015-03-18 18:37:18 -07:00
Jose Lima
77c39392ff New ContentInfoExtender for Notifications
Added a new Extender to add Content Info data to notification objects.

Change-Id: I29a84915ad0c0bb724c2fcdc53d9a4c4db95ba93
2015-03-18 19:26:34 +00:00
Adam Lesinski
9c329b8b64 Merge "Only attempt to load .apk files in AssetManager" 2015-03-16 22:16:04 +00:00
Adam Lesinski
1dd50c54b5 Only attempt to load .apk files in AssetManager
This will reduce the number of files we must open
and reduce log spam.

Change-Id: I595ba4a5ea8466e530915d6ae4cf1d3e3dba15ef
2015-03-16 15:10:56 -07:00
Dianne Hackborn
a501a021c3 Merge "Add new voice request for picking from a list." 2015-03-16 22:01:51 +00:00
Eric Laurent
aff57b7519 Merge "broadcast radio API" 2015-03-16 18:30:23 +00:00
Dianne Hackborn
3d07c94c39 Add new voice request for picking from a list.
Also add API for voice interaction service to control
whether the system should hold a wake lock while it is
working with an activity (and actually *do* hold a wake
lock while doing so, duh!).

And while in there, clean up the launching wake lock to
correctly give blame to the app that is launching.

Change-Id: I7cc4d566b80f59fe0a9ac51ae9bbb7188a01f433
2015-03-16 11:29:12 -07:00
Robin Lee
ee1f24ff29 Merge "Recognise insecure encryption with a new constant" 2015-03-16 14:32:12 +00:00
Nicolas Prevot
8458e531bf Merge "Remove the owner userid of cross-profile intent filters." 2015-03-16 11:25:51 +00:00
Eric Laurent
2035ac85f6 broadcast radio API
Initial implementation of system APIs for broadcast
radio framework. Added manager and interfaces to control
a broadcast radio function exposed by the radio HAL.

- RadioManager: contains data structures and definitions as well as
top level API for feature discovery and tuner interface instantiation.
- RadioTuner: interface to control a broadcast radio tuner.
- RadioModule: framework component implementing the RadioTuner interface
and controlling a HW radio module via the radio HAL.
- RadioMetadata: representation of radio meta data (Station name, PTY,
song title, artwork, etc...) communicated by the framework to the client.

Change-Id: Iee42a185c694503e25f0b2dcfa417d88f5e9549b
2015-03-13 15:34:50 -07:00
Dianne Hackborn
484bc6e5a7 Merge "More work on collecting assist data." 2015-03-13 16:41:29 +00:00
Benjamin Franz
815eca184e Merge "Allow DO to set Settings.Global.STAY_ON_WHILE_PLUGGED_IN" 2015-03-13 16:03:05 +00:00
Clara Bayarri
4423d91de5 Add a type parameter to startActionMode() calls.
This requires adding a new method to View and Window.Callback to pass
down the type as a parameter.

For compatibility purposes, the new method implementations keep the
type and call the old method, in case clients have subclassed it.

Change-Id: If5d857f131e33be8cc6a8814f2e9c4e85ad2da25
2015-03-13 10:51:51 +00:00
Benjamin Franz
68cc42009e Allow DO to set Settings.Global.STAY_ON_WHILE_PLUGGED_IN
Bug: 19704419
Change-Id: I3fc970eae8ef947775b6b565916bb245dea1b43b
2015-03-13 09:44:44 +00:00
Dianne Hackborn
a83ce1dd2a More work on collecting assist data.
Optimize parceling of AssistData (which is now renamed to
AssistStructure) by pooling duplicated class name strings.

Change text associated with a view node to a CharSequence,
so styling information comes along.

Include global text attributes -- size, colors, etc.

Introduce a new AssistContent structure, which allows us
to propagate information about the intent and data the
activity is looking at.  This further allows us to propagate
permission grants, so the assistant can dig in to that data.
The default implementation propagates the base intent of an
activity, so if for example you bring up the assistant while
doing a share the assistant itself has the same information
and access that was given to the share activity (so it could
for example share it in another way if it wanted to).

Did some optimization of loading PersistableBundle from xml,
to avoid duplicating hash maps and such.

Changed how we dispatch ACTION_ASSIST to no longer include
the more detailed AssistStructure (and new AssistContent)
data when launching; now the example code that intercepts
that needs to be sure to ask for assist data when it starts
its session.  This is more like it will finally be, and allows
us to get to the UI more quickly.

Change-Id: I88420a55761bf48d34ce3013e81bd96a0e087637
2015-03-12 17:07:51 -07:00
Rubin Xu
ba4df96297 Merge "Document behavior change of isUninstallBlocked() since L MR1" 2015-03-10 12:34:57 +00:00
Rubin Xu
e1e6faad7b Document behavior change of isUninstallBlocked() since L MR1
Bug: 17914630
Change-Id: I39ee2775c104e4dca7ca583b83deef0aa0e4d1e3
2015-03-10 12:22:16 +00:00
Adrian Roos
e71a2be2ba Merge "Revert "Remove TrustAgent whitelisting API"" 2015-03-09 16:04:18 +00:00
Nicolas Prevot
6dc6876eed Merge "Add a new extra to specify the admin component for provisioning." 2015-03-09 14:53:24 +00:00
Nicolas Prevot
1844025738 Add a new extra to specify the admin component for provisioning.
An app may have several device admins.
For this case, allow the caller to specify which one will become
an active device admin, and the profile owner (in the profile owner flow).

BUG:19348295
Change-Id: Ia5f995eed6c7f8933eb00d3250daa703ba6ee616
2015-03-09 14:48:04 +00:00
Benjamin Franz
f3ece36535 Block setting wallpapers from managed profiles.
Silently fail when a managed profile app tries to change the
wallpaper and return default values for getters in that case.
This is implemented through a new AppOp that is controlled by
a new user restriction that will be set during provisioning.

Bug: 18725052
Change-Id: I1601852617e738be86560f054daf3435dd9f5a9f
2015-03-09 10:39:21 +00:00
Tor Norbye
c615c6fc9c Annotate methods to be called from overrides with @CallSuper
Change-Id: Ibc587c2aaee9f3e7f448079f72a75459fe4e15e7
2015-03-07 20:49:18 -08:00
Andreas Gampe
967567541a am 208e80d9: am a3d5b230: am cdc19f3f: Merge "Frameworks/base: Remove unnecessary Pattern instance"
* commit '208e80d931fd775de925529e0c36a34e9b7f916a':
  Frameworks/base: Remove unnecessary Pattern instance
2015-03-08 00:17:47 +00:00
Andreas Gampe
208e80d931 am a3d5b230: am cdc19f3f: Merge "Frameworks/base: Remove unnecessary Pattern instance"
* commit 'a3d5b2304cf2db03ba728d37c87ef7360c7da44f':
  Frameworks/base: Remove unnecessary Pattern instance
2015-03-08 00:08:19 +00:00
Andreas Gampe
a3d5b2304c am cdc19f3f: Merge "Frameworks/base: Remove unnecessary Pattern instance"
* commit 'cdc19f3f8a20b975e8e70f4b4cce5ce2be811726':
  Frameworks/base: Remove unnecessary Pattern instance
2015-03-07 17:13:09 +00:00
Dianne Hackborn
0e24f143ed Merge "Add new debug feature to automatically create heap dumps." 2015-03-07 00:44:57 +00:00
Dianne Hackborn
b9a5e4ad30 Add new debug feature to automatically create heap dumps.
Not yet working, unless you turn off SELinux enforcing.
We need to update SElinux to allow the system process
to give apps access to /data/system/heapdump/javaheap.bin.

Currently watching can only be enabled through the shell,
such as:

adb shell am set-watch-heap com.android.systemui 1024

The last number is the process pss size in bytes, so this is
asking us to warn if it goes about 1K which will be all the
time.

Change-Id: I2089e5db2927afca0bf01a363c6247ee5dcb26e8
2015-03-06 16:42:03 -08:00
Andreas Gampe
18e99c1288 Frameworks/base: Remove unnecessary Pattern instance
Using a static Pattern in ActivityThread prevents compile-time
initialization of ActivityThread and GestureDetector, which depends
on the former.

It is also not efficient, as String.split has a fast path for simple
splits.

Bug: 19542228

Change-Id: I5bb843c08c81e0d259bb8afafa87a8467bb1730e
2015-03-07 00:18:15 +00:00
Tor Norbye
c0a1b7f9a6 Merge "Annotate ARGB integer parameters with @ColorInt" 2015-03-06 23:15:27 +00:00
Christopher Tate
eb803aef3b Merge "Don't back up / restore the code_cache/ directory" 2015-03-06 19:43:53 +00:00
Hiroshi Yamauchi
f045198fb3 Merge "Deprecate things that rely on Debug.startAllocCounting." 2015-03-06 17:43:53 +00:00
Christopher Tate
a8a739f34c Don't back up / restore the code_cache/ directory
Bug 19628750

Change-Id: I1f2f5e8083675bf70d17c0c143dc813ca9e04610
2015-03-05 18:31:38 -08:00
Tor Norbye
80756e3888 Annotate ARGB integer parameters with @ColorInt
Change-Id: I307f72a382272cf18ddb6b07d9fcb81228568d9a
2015-03-05 16:34:12 -08:00
Julia Reynolds
2482100fed Merge "Allow device and profile owners to set a user icon." 2015-03-05 23:39:04 +00:00
Adrian Roos
b37f518205 Revert "Remove TrustAgent whitelisting API"
This reverts commit bc4f2ccf6c
and re-enables the API for MNC.

Bug: 19461292
Change-Id: I53b94bacb6a879fcc0598edfc0f3d44a9dd9e84c
2015-03-05 19:26:07 +00:00
Hiroshi Yamauchi
172da26d45 Deprecate things that rely on Debug.startAllocCounting.
android.os.Debug.startAllocCounting() is deprecated but other things
that rely on it or do not make sense without it aren't deprecated.

Bug: 8241521
Change-Id: Ib769cb8f4e96f41ed310e17e7345acb2a630a076
2015-03-05 11:22:37 -08:00
Julia Reynolds
1c3754a35c Add security check for clearDeviceInitializer in the service.
Bug: 19230954
Change-Id: I5c648492bef0d2b579b6f59b91afc890e3092d36
2015-03-05 11:47:14 -05:00