Commit Graph

5990 Commits

Author SHA1 Message Date
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
Rubin Xu
dd862aebda Merge "Deprecate SHA-1 in ManagedProvisioning (API doc change)" into mnc-dev 2015-06-16 18:15:33 +00:00
Chirag Shah
7f92f06742 Merge "Allow 3P apps to provide structured data within AssistContent." into mnc-dev 2015-06-16 16:54:03 +00:00
Benjamin Franz
dbc86ad170 Merge "Update documentation for PASSWORD_QUALITY_SOMETHING" into mnc-dev 2015-06-16 13:22:22 +00:00
Narayan Kamath
fbb32f6440 Better systrace slices for application startup.
This change adds three new timeslices :

- PostFork : As soon as possible after the app forks from the
  zygote. Can be used in conjunction with the system_server
  "Start proc:" event to derive an upper bound on fork() and
  zygote overhead.

- RuntimeInit & ActivityThreadMain for ZygoteInit#runtimeInit
  and ActivityThread#main.

ActivityThread#handleBindApplication and higher level functions
are already well instrumented in systrace. handleBindApplication
should occur immediately after ActivityThread#main.

Note that we use the Activity manager tag to make it easier to
correlate these new events with surrounding events (Start proc
and handleBindApplication) that are already using the AM tag.

bug: 21632700
Change-Id: Ibc01f1721f962c913f3c02a51763b6feb1eb6a4d
2015-06-16 12:06:31 +01:00
Benjamin Franz
c6a9653e0a Update documentation for PASSWORD_QUALITY_SOMETHING
Add a mention that PASSWORD_QUALITY_SOMETHING includes patterns.

Bug: 20441473
Change-Id: I2608f36e338fb2bfbace80d49ee805841d59fa17
2015-06-16 11:23:38 +01:00
Chirag Shah
61f794a70f Allow 3P apps to provide structured data within AssistContent.
For providing structured metadata to the assistant, we've decided to
standardize on JSON-LD (met with Paige/Ulas/Fabian), and decided the
data to be specified via:

AssistContent.setStructuredData(String structuredDataJson)

This method can be documented for 3P developers as allowing developers
to provide metadata to the assistant with the JSON-LD standard.

This would be centered more about content displayed on the screen,
rather than actions based, so we added it to the AssistContent class

Updated doc: go/setStructuredData

Change-Id: I816f69fd6896df822e30d6c71d840bd01f47e544
2015-06-15 17:48:41 -07:00
George Mount
8af7848355 Merge "Limit shared element transition to shared elements and children." into mnc-dev 2015-06-15 19:43:57 +00:00
Rubin Xu
d92e75776c Deprecate SHA-1 in ManagedProvisioning (API doc change)
Bug: 21153521
Change-Id: Ie4ee70063457260e147e6c00458f96ccc6a425e0
2015-06-15 14:43:48 +01:00
Chris Wren
965097321d remove setLatestEventInfo
Bug: 18510449
Change-Id: I2f950b92a9c13fc29bf5642d44fd2fcce79e65fd
2015-06-15 08:22:05 -04:00
Svet Ganov
715cf2ac0b Make AppOpsManager#permissionToOp API public
We need this API to implement permission checker API
in the support lib that takes into account both app
ops and permissions.

bug:21277214

Change-Id: I684fc002bb71ec5e1cd2994098faa0d2036297ac
2015-06-14 00:50:38 +00:00
Dianne Hackborn
e554cc9659 Merge "Implement some control over ALLOW_WHILE_IDLE alarms." into mnc-dev 2015-06-12 19:38:39 +00:00
Dianne Hackborn
3d1933c45f Implement some control over ALLOW_WHILE_IDLE alarms.
Since these alarms allow you to bypass the idle restrictions,
we don't want them to be so open-ended like other alarms.  This
implements a policy where the alarm manager will only deliver these
types of alarms every X minutes to each application.  For this
initial implementation, X is 1 minute under normal operation and
15 minutes when in idle mode.

To do this, I needed to introduce a new internal allow-while-idle
flag for system alarms, which applications can't get, and doesn't
have these new restrictions.

Also tweaked how the alarm manager handles the alarm window, so it
doesn't change if the alarm gets rescheduld; the window is now always
what as computed based on the time when the alarm was first
given to it.

Finally, fix TimeUtils to be able to correctly print times that
are > 999 days.

Change-Id: Ibad8c6a7c14b0624b54e82267be23224b4c31e84
2015-06-12 12:37:35 -07:00
Chris Wren
17de4b2a73 Merge "remove usage of deprecated method setLatestEventInfo" into mnc-dev 2015-06-12 19:28:54 +00:00
Rubin Xu
6161eb3494 Merge "Update doc of ACTION_PROVISION_MANAGED_DEVICE" into mnc-dev 2015-06-12 18:27:45 +00:00
Dianne Hackborn
8a435ced67 Merge "Fix APIs." into mnc-dev 2015-06-12 16:34:38 +00:00
Alex Klyubin
738241f93c Merge "Document that DownloadManager supports HTTPS." into mnc-dev 2015-06-12 16:02:17 +00:00
Rubin Xu
a4f9dc1cf0 Update doc of ACTION_PROVISION_MANAGED_DEVICE
It also supports an optional extra EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE

Bug: 21797182
Change-Id: Ie145e6a79dd7eebdbb4cc58e1baba761b9cc5bbf
2015-06-12 15:18:59 +01:00
Chris Wren
1ce4b6d3c6 remove usage of deprecated method setLatestEventInfo
Bug: 18510449
Change-Id: I56a77991c729990e501f402e007dfa79ee57621e
2015-06-12 10:16:04 -04:00
Rubin Xu
5c82d2cc17 Change references to APK Certificate to Signature
The fact that currently apk signature is certificates is just
implementation details.

Bug: 20820366

Change-Id: Icdd02cb51a550ea71ff83a84e2bdfcc21f8d43ed
2015-06-12 10:32:24 +01:00
Dianne Hackborn
ece0f4f519 Fix APIs.
Issue #21039494: API Review: android.os.PowerManager.isDeviceIdleMode()
Issue #21347000: API Review: android.content.IntentFilter
Issue #20654534: API Review: android.app.assist

Also allow use of ActivityManager.setWatchHeapLimit on any platform
build as long as the calling app is debuggable.

Change-Id: Ic597e596fa772fcdf2553b64f444b3d9269e8b92
2015-06-11 18:07:43 -07:00
Adam Lesinski
2e49bfa6f0 Merge "UsageStats: Change INTERACTION to SYSTEM_INTERACTION" into mnc-dev 2015-06-11 22:02:37 +00:00
Adam Lesinski
c8e8729244 UsageStats: Change INTERACTION to SYSTEM_INTERACTION
SYSTEM_INTERACTION events are signals to the system for a package's
implicit actions (service bound, etc).

These should not affect the API visible stats like lastTimeUsed, etc.
USER_INTERACTION is for user initiated actions (notification interaction, etc).

Bug:21761781
Change-Id: I4585cf35fbb158612a3c737710108bec34e89183
2015-06-11 22:01:45 +00:00
Dmitriy Ivanov
99fc7e95c5 Merge "Add path to native libraries inside apk" into mnc-dev 2015-06-11 21:55:01 +00:00
Alex Klyubin
66629bc540 Document that DownloadManager supports HTTPS.
Bug: 14112655
Change-Id: I37708553b7ae2f48dcd574f3c66daa8dfdd00f3a
2015-06-11 14:34:44 -07:00
George Mount
c855f7d08f Limit shared element transition to shared elements and children.
Bug 20257189

Shared element transitions should target the shared elements
or their children. When no target is given to a transition,
the transition should target the shared element. If a target
is given, it should also be able to target the children of
the shared element.

This is solved by wrapping the shared element transition
with a TransitionSet. The set is given the targets of all
shared elements and their children. Further, if no target
is given for a transition, the transition is given only
the shared elements as targets.

Change-Id: Ic015ca12e291ccbb47e20a49b11e3825da3e6e85
2015-06-11 13:23:17 -07:00
Craig Lafayette
09ad6bfe96 Remove FRP wipe support for device initializers
- Remove ManagedProvisioning NFC parameter key from
  DevicePolicyManager
- Remove wipeIfAllowed from PersistentDataBlockManager

Bug: 21558883
Change-Id: I59354b7bb1ef7e0b0346ff9a7d1654780231dff0
2015-06-11 14:00:56 -04:00
Craig Lafayette
77b2d49abb Merge "Remove device initializer status messages" into mnc-dev 2015-06-11 17:45:03 +00:00
Benjamin Franz
d168d184c0 Merge "Align the behaviour of different lock task modes" into mnc-dev 2015-06-11 16:15:37 +00:00
Svetoslav
75a0ee081f Merge "Add system API to watch for permission changes" into mnc-dev 2015-06-11 08:02:06 +00:00
Svetoslav
f7c06eb03a Add system API to watch for permission changes
Change-Id: I1ce450a59fb326c14848f46732d877dea33f33c7
2015-06-10 21:24:13 -07:00
Robin Lee
8bbbcd3d54 Merge "Policy: make bulk CA uninstalls happen in service" into mnc-dev 2015-06-10 19:44:18 +00:00
Robin Lee
83881bdbde Policy: make bulk CA uninstalls happen in service
Fewer round trips, only one point of contact for bugs to creep in.

Bug: 21650477
Change-Id: I1764faa753bd674ecb0d13149d778d99bd2ff4c4
2015-06-10 19:40:44 +00:00
Dmitriy Ivanov
e56b3f63e8 Add path to native libraries inside apk
If an application has native code (and primary abi)
include path to corresponding folder inside apk-file
to ldLibraryPath when constructing PathClassLoader

Bug: 21647354
Bug: 21667767
Bug: 21726698
Bug: 8076853
Change-Id: Ib0a2f01ee69019d3206a00c542bd7d0f58d0c481
2015-06-09 20:40:20 -07:00
Jeff Brown
fe4ad335d8 Support 4K overlay displays.
Bug: 18241736
Change-Id: Ibd479f2ea47ed49a507e7265bdce83afc214b19c
2015-06-09 19:52:23 -07:00
Svetoslav
a1e60f1f45 Merge "Use who when requesting permissions" into mnc-dev 2015-06-10 01:29:21 +00:00
Svetoslav
970b59cbe3 Use who when requesting permissions
Change-Id: Id0b231f8b74099b7877eb4441a1664416c641731
2015-06-09 18:17:44 -07:00
Dianne Hackborn
c0cdfa5947 Fix NPE.
Change-Id: Iea1faf4b3070ed29884e133e3bab54401bd77bcf
2015-06-09 17:53:47 -07:00
Dianne Hackborn
4766952273 Merge "Fix issue #21621920: VI: need mechanism to get current request" into mnc-dev 2015-06-09 23:33:52 +00:00
Wale Ogunwale
cac3dc636d Fixed issue with using wrong display id when creating context for displays
Bug: 21729214
Change-Id: I58b6712e2929e758c3fc3b2d493991ba0262dec9
2015-06-09 15:35:02 -07:00
Dianne Hackborn
a3acdb33df Fix issue #21621920: VI: need mechanism to get current request
Add new APIs to associate a Request with a name, get all active
requests, and get active request by name.

Also add a new Activity.onProvideReferrer() which will allow
applications to propagate referrer information to the assistant
(and other apps they launch) in a consistent way.

Change-Id: I4ef74b5ed07447da9303a74a1bdf42e4966df363
2015-06-09 14:15:49 -07:00
Dianne Hackborn
ea7438e4a6 Merge "Fix issue #21571700: Need to be smarter about how foreground..." into mnc-dev 2015-06-09 21:08:17 +00:00