Commit Graph

6033 Commits

Author SHA1 Message Date
Svet Ganov
99b6043dad Teach receivers, activities, providers, and services app ops.
Perform app op check in addition to the permisison check for all four
paltform components - activities, content providers, broadcast receivers,
services - if they are guarded by a permssion that has an associated app
op. This ensures that legacy apps will behave correctly if the permission
of the caller has been revoked, i.e. the app op for that permission was
disabled.

bug:22199666

Change-Id: Ia22d1c38d58b3cd6aabdc655cb7c7bddd85da7a2
2015-07-01 16:20:00 -07:00
Dianne Hackborn
593334ab70 Fix issue #22124996: VI: Command Request not Active
Just forgot to add the request to the active set.

Also eradicate a bunch of old cruft that has been replaced
by the final APIs, and improve voice interaction test to
sit fully on top of the final APIs and have a test for
command request.

Change-Id: Ieff7a6165ebf2a4c5fb80c1ebd020511a2ae63ee
2015-06-30 16:59:41 -07:00
Svet Ganov
4a23ac4589 Merge "Installer is a part of the system with unrevocable permissions" into mnc-dev 2015-06-30 19:24:05 +00:00
Svet Ganov
6a166af8fd Installer is a part of the system with unrevocable permissions
1. Mark the installer permissions as not revocable.

2. Make the permission result dispatch more robust to handle installer death.

bug:22012614

Change-Id: Idee30ca884b87ccf97ba1bb878d4c49912e474b8
2015-06-30 10:15:49 -07:00
Svet Ganov
b24ff7e03a Merge "Add read/write external storage app ops" into mnc-dev 2015-06-30 16:50:17 +00:00
George Mount
0303d9ce70 Merge "Fix FragmentTransaction replace() behavior" into mnc-dev 2015-06-30 14:21:49 +00:00
Kenny Guy
31659c253e Merge "Deprecate APIs for admin to create users." into mnc-dev 2015-06-30 13:03:32 +00:00
Esteban Talavera
fef8cbd6a6 Merge "Marking some globals from setGlobalSetting as not supported" into mnc-dev 2015-06-30 08:55:38 +00:00
Andreas Gampe
373fb40947 Frameworks/base: Remove UsageEvents finalizer
The order of finalization between the parcel and the UsageEvents
objects is not defined. In the bad case, the parcel will be
finalized first and destroy its native pointer, after which the
UsageEvents object will recycle it, putting it back into one of
the Parcel pools. This will violate the pool invariant.

Bug: 22088355
Change-Id: Ifbe7822990cdfc31855d6742dcdea9d9dd0daf1b
2015-06-29 22:07:30 -07:00
Svet Ganov
921c7dfc80 Add read/write external storage app ops
bug:22104418

Change-Id: Ic9088f95bc02622c1163c1393e44382df6597707
2015-06-29 21:51:45 -07:00
Eddie Ringle
22369d519d Fix FragmentTransaction replace() behavior
Bug 22174959

According to FragmentTransaction's reference, replace()
should be equivalent to remove()'ing every fragment in
a given container and then adding the specified fragment
to replace those that were removed.

Commit ee76efb74b broke
this intended behavior in the framework.

This patch makes it so that the removal loop doesn't
end prematurely. It also fixes an issue where the
replace operation would remove fragments regardless
of their container after encountering the first fragment
with a matching container ID.

Relevant issues:
http://b.android.com/43265
http://b.android.com/52112
http://b.android.com/53393
http://b.android.com/68856
http://b.android.com/70803

Change-Id: Ica4691746ab8979ed974a998e85324e4feacc5e3
Signed-off-by: Eddie Ringle <eddie.ringle@gmail.com>
2015-06-29 13:13:01 -07:00
Esteban Talavera
656fa7f5d1 Marking some globals from setGlobalSetting as not supported
Those globals don't have the intended behaviour any more.

Bug: 19967818
Change-Id: I8c7891e59280f9deb88b1f0ffead3de07f4eca56
2015-06-29 17:41:39 +01:00
Kenny Guy
14f48e5a93 Deprecate APIs for admin to create users.
Bug: 21921868
Change-Id: I0a59c85f6a87928de3df72278d4b65355ff7270f
2015-06-29 15:11:25 +00:00
Kenny Guy
43904fd5b7 Merge "Revert "Deprecate APIs for admin to create users."" into mnc-dev 2015-06-29 13:28:54 +00:00
Kenny Guy
2703a13f11 Revert "Deprecate APIs for admin to create users."
This reverts commit ea864c4d4d.

Change-Id: I827e6364b61eeb9e1b2d3205b5e93e10b1df4bfe
2015-06-29 13:24:24 +00:00
Craig Lafayette
bee7245c69 Merge "Hide MIME_TYPE_PROVISIONING_NFC_V2" into mnc-dev 2015-06-29 12:48:21 +00:00
Kenny Guy
01056b3662 Merge "Deprecate APIs for admin to create users." into mnc-dev 2015-06-29 12:42:21 +00:00
Benjamin Franz
b6fb3fe8f4 Merge "Block assist when screenshots are disabled by policy" into mnc-dev 2015-06-29 10:29:23 +00:00
Craig Lafayette
3cc72bab48 Hide MIME_TYPE_PROVISIONING_NFC_V2
Bug: 21918725
Change-Id: I33d67ff8f7b47ab53cff8a2664d342caf9d6e03f
2015-06-26 14:27:06 -04:00
Kenny Guy
ea864c4d4d Deprecate APIs for admin to create users.
Bug: 21921868
Change-Id: I956d24a8394d95bf975581a3451ceabe01708a10
2015-06-26 16:46:01 +00:00
Benjamin Franz
c200f44c46 Block assist when screenshots are disabled by policy
When a device or profile owner disables screen capture, we also want to
block context data being collected for the assist structure.

Bug: 21797707
Change-Id: Ib8716c6dd71d538a027c04e1e907c87e2afa0ac8
2015-06-26 11:16:49 +01:00
Dianne Hackborn
70d8be7616 Fix issue #22013372: Assist should take translationX and friends...
...into account when calculating the position information

Actually what we need here is the full transformation matrix, if it
is available.  And that means actually computing the location of
views on the screen requires doing this all through transformations,
so the AssistVisualizer has been changed to do this (while still
also keeping the old mechanism for comparison to verify that things
are working correctly).

Also added new properties for elevation and alpha.

And optimized the parcelling of AssistStructure to not write things
that aren't needed; this reduces the parcelled size by about half.

Change-Id: I50b0dd2e6599c74701a5d188617a3eff64b07d03
2015-06-25 20:24:34 -07:00
Chris Wren
749d66b82f Merge "remove setLatestEventInfo" into mnc-dev 2015-06-24 22:17:45 +00:00
Adam Lesinski
c30454c104 Allow callers holding PACKAGE_USAGE_STATS permission to call ActivityManager#getPackageImportance()
Bug:22055550
Change-Id: I1e732e95698daf44bcb223cafde3d3c22746d232
2015-06-24 13:35:46 -07:00
Chris Wren
a05db3816b remove setLatestEventInfo
This has been deprecated since API 11.

Bug: 18510449
Change-Id: Ibd052572aa8c332daf5f6a604afe1925e8998a2b
2015-06-24 15:18:34 -04:00
Esteban Talavera
28b9570d02 Reset permission policy to default when device owner goes away
Otherwise after the Device Owner is gone, runtime
permissions might still be auto granted/denied.
I understand that there are many other policies that
we don't reset after the device/profile owner goes
away (e.g. keyguard enabled/disabled). At least now
we have a single method when we could clear the
ones that we care about.

Bug: 21889278
Change-Id: I6997655e6ef6d474bd25ae1c323eca5b17944b16
2015-06-24 17:19:19 +01:00
Daniel Sandler
0ec462005d Fix build.
We don't need purgeResources public since it's part of the
ashmem internal optimization.

Change-Id: I65ba7545cf4801a8b97f3ece9b5ee5100c0f1c97
2015-06-24 01:27:05 -04:00
Daniel Sandler
25a5f30128 Merge "Use ashmem backed bitmaps for passing around notifications" into mnc-dev 2015-06-24 02:09:58 +00:00
Dianne Hackborn
fcaed60650 Merge "Fix issue #20654534: API Review: android.app.assist" into mnc-dev 2015-06-23 23:34:22 +00:00
Dianne Hackborn
8ecf16d186 Fix issue #20654534: API Review: android.app.assist
Remove the old ViewAssistStructure class.

Change-Id: I5eca7bc7af93cda5f654c9094a3aa07fe4958da2
2015-06-23 13:09:21 -07:00
Jorim Jaggi
a0d58ae574 Use ashmem backed bitmaps for passing around notifications
Avoids many copies during IPC and duplicate Java heap consumption in
system_server, SystemUI, etc.

Bug: 18386420
Change-Id: Id5ac9406062d472f7848009d65f12131f5f4dac9
2015-06-23 19:55:41 +00:00
Amith Yamasani
862ab87bda Merge "Runtime permissions cannot be set on legacy apps by device policy" into mnc-dev 2015-06-23 19:43:41 +00:00
Dianne Hackborn
a6fb1e70ff Merge "Fix issue #20654534: API Review: android.app.assist" into mnc-dev 2015-06-23 19:33:04 +00:00
Amith Yamasani
0bf8f7cc39 Runtime permissions cannot be set on legacy apps by device policy
Clarify docs that runtime permissions can be granted or revoked by
a profile owner/device owner only for MNC apps and not legacy apps.

Check the targetSdkVersion and return false if legacy app.

Remove all policy flags from permissions when cleaning up
a device or profile owner.

Bug: 21835304
Bug: 21889278
Change-Id: I4271394737990983449048d112a1830f9d0f2d78
2015-06-23 12:01:36 -07:00
Xiaohui Chen
a2c159fede Merge "system_server: optimize app idle parole state change" into mnc-dev 2015-06-23 18:23:36 +00:00
Zoltan Szatmary-Ban
2c3c66a2cf Merge "Introduce Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN" into mnc-dev 2015-06-23 08:44:49 +00:00
Chris Banes
3ae5e8b25b Merge "Fix leak for MenuInflater + setActionBar" into mnc-dev 2015-06-23 07:05:43 +00:00
Xiaohui Chen
8dca36dc8a system_server: optimize app idle parole state change
Currently when app idle parole state changes, all idle apps' states
are updated one by one including firewall modifications which are
very expensive.  This optimization gets rid of individual firewall
rule changes and makes sure we only modify the firewall once at child
chain level.

BUG: 21446713
Change-Id: Iafc415fe0bc127826fe17894d4fedcf1755cb17d
2015-06-22 15:35:19 -07:00
Dianne Hackborn
16036f2684 Fix issue #20654534: API Review: android.app.assist
Remove the old classes.

Change-Id: I949350cadc5fc304e2651d7db0ffd38e45db9b6e
2015-06-22 15:14:17 -07:00
Julia Reynolds
d66559f26d Merge "Hide device initializer methods/fields." into mnc-dev 2015-06-22 16:41:42 +00:00
Chris Banes
601bb9921d Fix leak for MenuInflater + setActionBar
Caused when there are multiple calls to
setActionBar(). getMenuInflater() will
instantiate and keep an instance to the first
Toolbar (and it's container, etc).

BUG: 21638877
Change-Id: Ic9e45bf8f810a033c31b7484244f14e08a72b9f4
2015-06-22 10:05:38 +01:00
Amith Yamasani
b94761d0a4 Merge "App Standby : Association between content providers and their sync adapter" into mnc-dev 2015-06-19 22:08:13 +00:00
Amith Yamasani
37a40c24de App Standby : Association between content providers and their sync adapter
Set sync adapters to active if the associated content providers are used
at foreground process state.

Minimize how frequently published content providers are reported by
keeping track of last reported time.

Also cache sync adapters associated with an authority in SyncManager.

Bug: 21785111
Change-Id: Ic2c8cb6a27f005d1a1d0aad21d36b1510160753a
2015-06-19 15:04:58 -07:00
Christopher Tate
7ad40c5032 Merge "Debug logging for a certain class of binder transaction failures" into mnc-dev 2015-06-19 18:19:15 +00:00
Christopher Tate
8a2ce3c751 Debug logging for a certain class of binder transaction failures
Bug 21801759

Change-Id: I9973d4ffb9450e510a4e1c64e2eae1489ce93054
2015-06-19 11:17:24 -07:00
Dan Sandler
50ec9b1bd9 Merge "Patch up certain kinds of broken notifications." into mnc-dev 2015-06-18 20:26:49 +00:00
Dan Sandler
4e78706f43 Patch up certain kinds of broken notifications.
Notifications in which the icon resource ID is changed after
Builder.build() is called (even, and particularly, as the
last step in the current implementation of
setLatestEventInfo()) were not having their icons properly
parceled. In these cases we now attempt to catch this at
parcel time and construct the necessary Icon object.

But wait! Parceling does not require a Context. So we don't
actually know which package to load the resource from.
Therefore we now allow an Icon to be constructed with an
empty ("") package name, which allows us to complete this
parceling task despite the fact that a Notification does not
know its own package name. (In case you attempt to load a
drawable for such an Icon, loadDrawable will spot the ""
package and instead substitute the Context from its
parameters to try to load the resource.)

As it happens, even though the Notification does not know
its own package name, BaseStatusBar does, because it was
provided at NM.notify() time and is therefore included in
the StatusBarNotification structure. So we can actually
patch up the Icon (if it is TYPE_RESOURCE) and be sure to
get the icon loaded out of the correct package.

While we've got the hood open, this change fixes a couple of
related problems:

  • Foreground service notifications synthetically
    constructed for naughty icon==0 notifications (which we
    are still allowing...FOR NOW) were losing the
    FLAG_FOREGROUND_SERVICE flag (because we're
    re-build()-ing them from scratch rather than rewriting
    the provided Notification object). Now we set the flag
    and hang onto the new notification for next time
    setForeground() is called.

  • We now allow media notifications to avoid getting bumped
    to the top of the notification list if they're
    PRIORITY_MIN. You might want to do that, I guess?

Bug: 21333763
Change-Id: Ia5d1f1acb594c7677bcc75ee3d624da4ffca671f
2015-06-18 15:12:44 -04:00
Craig Lafayette
b4c469095f Merge "Remove FRP wipe support for device initializers" into mnc-dev 2015-06-18 15:44:49 +00:00
Chris Wren
c20c1eec9e Merge "remove setLatestEventInfo" into mnc-dev 2015-06-17 20:05:11 +00:00
Dianne Hackborn
a750a63d63 Fix issue #21814207 and issue #21814212 (alarm manager)
Issue #21814207: AlarmManager.setAndAllowWhileIdle should also allow wake locks.

Introduce a whole new infrastructure for providing options when
sending broadcasts, much like ActivityOptions.  There is a single
option right now, asking the activity manager to apply a tempory
whitelist to each receiver of the broadcast.

Issue #21814212: Need to allow configuration of alarm manager parameters

The various alarm manager timing configurations are not modifiable
through settings, much like DeviceIdleController.  Also did a few
tweaks in the existing DeviceIdleController impl.

Change-Id: Ifd01013185acc4de668617b1e46e78e30ebed041
2015-06-17 11:41:45 -07:00