Commit Graph

5688 Commits

Author SHA1 Message Date
Christopher Tate
f7cb8a0b50 Compress the preferred-app backup payloads
They can be Very Very Large, so take advantage of the new BlobBackupHelper
infrastructure to keep them tiny!

Also fix an issue in which the restore path wasn't properly passing
notification payloads along for processing, and an issue in which the
blob helper wasn't handling empty states properly.

Change-Id: I11a7ca3cd2e26f634a8971e874ac97385b0b500c
2015-04-21 14:36:22 -07:00
Jeff Brown
a93311f917 Merge "Make activity manager sleep top activity when dreaming." 2015-04-21 20:38:14 +00:00
Dan Sandler
994349c61e Rediscover your own notifications.
This new API, NotificationManager.getActiveNotifications(),
allows an app to recover the set of notifications it has
posted that are still active (un-cleared, un-canceled,
visible by the user). Along with the Notification object
you'll get the original tag and id you used to post it,
wrapped up in the somewhat awkwardly-named
StatusBarNotification data structure (previously only used
internally by NoMan/SysUI and NotificationListenerServices).

Bug: 17320461
Change-Id: I8cd610956fafed4e31526b663cebdc31231ad930
2015-04-21 17:14:17 +00:00
Andrei Kapishnikov
4eb6a36922 Introduced DO_NOT_ASK_CREDENTIALS_ON_BOOT flag
A new flag for DPM.resetPassword() method that specifies that the
device should be decrypted without asking for the password or pattern.

Bug 19250601

Related CL in Settings App: https://googleplex-android-review.git.corp.google.com/#/c/670206

Change-Id: I9ca3472dc18e66e618ff772dee16ca4a450e9997
2015-04-21 11:07:09 -04:00
Rubin Xu
97e2f7d5af Merge "Rename public OTA policy APIs in DevicePolicyManager" 2015-04-20 23:56:27 +00:00
Rubin Xu
5faad8e4cd Rename public OTA policy APIs in DevicePolicyManager
Use the term "SystemUpdate" instead of "OTA", in public
DevicePolicyManager APIs that handle OTA policies.

Bug: 19650524
Change-Id: Iebdaea91337d617147cb411b6f47e0f3fae8671c
2015-04-20 23:27:14 +01:00
Christopher Tate
f9767d680d Infrastructure for notification backup/restore
Introduce a fairly general "store byte[] blobs as backup keys" helper, and
use that to integrate with the Notification Manager.  The helper provides all
the machinery of managing prior state, compressing the blob on the wire, etc.

Bug 19848954
Bug 20105530
Bug 17755700

Change-Id: I4aa808172244af6db0ab2f4440cc266a797655d7
2015-04-20 14:08:25 -07:00
Sander Alewijnse
e94787a027 Merge "Add certificate checksum extras." 2015-04-20 10:31:28 +00:00
Svet Ganov
5a71f4fbaf Merge "Add OP_ADD_VOICEMAIL app op - framework" 2015-04-19 20:05:08 +00:00
Svet Ganov
c3300090f5 Add OP_ADD_VOICEMAIL app op - framework
Change-Id: Id21063b93958c9e372dcbaac8ff9f4fa8b5f0cb3
2015-04-19 13:00:32 -07:00
Jeff Sharkey
529f91fc8e Always send volume UUID with installd commands.
Since packages can be moved to other volumes, all relevant commands
to installd now require an explicit volume UUID parameter.

Bug: 20275577
Change-Id: Ie84f5bc43c7aada5800b8d71692c7928b42b965e
2015-04-18 21:11:58 -07:00
Clara Bayarri
641207d180 Merge "Enable Text Selection Action Mode for seach boxes and action bar components." 2015-04-18 07:11:24 +00:00
Jeff Brown
061ea99546 Make activity manager sleep top activity when dreaming.
Added the concept of a sleep token to represent a demand to sleep.
We grab this token whenever a dream window is visible.

This change also deletes a special condition in shouldSleepLocked()
which would tend to keep activities running when the lock screen
was shown unless they had previously been sleeping.  I believe this
condition is no longer necessary and the policy is much simpler
without it.  Let's see if anything breaks.

NOTE: This can currently only be used within the system server process
but it might make sense to move it to IActivityManager (guarded by
DEVICE_POWER permission) so that keyguard can use it.  If we added
a callback on release to inform the client that the underlying activity
has finished drawing then we could untangle a bunch of keyguard
specific logic.

Bug: 18866521
Change-Id: I84b2118f5b990a71a1647d1cee536ad3d99f3a24
2015-04-17 20:00:09 -07:00
Svetoslav
6c589570c4 Remove unnecessary WRITE_SMS permission - framework
Currently only one app can write to the SMS provider and it has to
be set as the default SMS app by the user in the UI. The default
SMS app is set by enabling the write SMS app op for it and keeping
this op off for other SMS apps. Hence, this permission does not
guard anything and can be taken out. The API change is fine as if
an app refers to the permission in the manifest as string it will
be ignored and if it was referred in Java the value is statically
compiled in the source.

Change-Id: I1128c3b034e6c7dda4baa051500ac1ef46a53575
2015-04-18 00:18:53 +00:00
Svet Ganov
d3c1ddb892 Merge "Add OP_READ_PHONE_STATE app op - framework" 2015-04-17 21:34:04 +00:00
Svet Ganov
16a1689950 Add OP_READ_PHONE_STATE app op - framework
The READ_PHONE_STATE permission protects PII information and
is in the Phone group. This change is adding the corrseponding
app op for gating access to the API guarded by READ_POHNE state
which will be used instead as an access control for legacy apps.

Change-Id: I2ff895a5a0e529f26ec0ad706266a30d829268ba
2015-04-17 20:43:56 +00:00
Wale Ogunwale
0bd2aa7603 Fail early when starting a background user activity.
If it shouldn't be displayed for all users.

Bug: 13507605
Change-Id: I8fe8e5a98759c1ca058cc7d222817f6d580ffa11
2015-04-17 08:37:56 -07:00
Adrian Roos
94e15a59b7 Allow dismissing Keyguard from TrustAgentService
Bug: 19900313
Change-Id: I44d13ee6fe65070327076e73a3ed96c94acdc108
2015-04-17 01:12:30 +00:00
Wale Ogunwale
2c1d9652fa Merge "Return more information when getAppTasks#getTaskInfo is called." 2015-04-16 22:36:54 +00:00
Jonathan Basseri
9a1c9b67c4 Adding Carrier Config API.
UICC privileged carrier apps will extend CarrierConfigService to provide
carrier-specific configuration. Apps/services will use
CarrierConfigManager to read the current configuration.

CarrierConfigManager also defines the set of configuration variables and
their default values.

Bug: b/19483786
Change-Id: I027211b43276afd6fe893ae50048c52f2aed5cf5
2015-04-16 11:40:33 -07:00
Wale Ogunwale
6035e0198b Return more information when getAppTasks#getTaskInfo is called.
The RecentTaskInfo object returned when getAppTasks#getTaskInfo
is called now contains baseActivity, topActivity, and numActivities.

Bug: 18723935
Change-Id: Ifc0cd68a57ed2c0823c23ac8d27e3b6ea6bc95e2
2015-04-16 11:14:46 -07:00
Jeff Sharkey
bd3af28fdc Merge "Candidate volumes for packages, fix symlink." 2015-04-16 05:50:16 +00:00
Jeff Sharkey
e2d45be4da Candidate volumes for packages, fix symlink.
Add API to determine the possible candidate volumes that a package
can be moved to.  For example, it currently knows that we need to
move ASEC-based apps through internal storage before migrating them
to a private volume.

Comparator for consistent VolumeInfo ordering when displayed in UI.

Fix native library symlink to be volume UUID aware.

Bug: 19993667
Change-Id: I68d5fac5f0f776ac1c7dd15e7a984bfe2704f3f7
2015-04-15 22:21:49 -07:00
John Spurlock
a419dd1616 Merge "Zen: Add notification policy management api." 2015-04-16 01:19:27 +00:00
Craig Mautner
41014801d1 Merge "Introduce android:lockTaskMode" 2015-04-15 22:45:46 +00:00
Christopher Tate
95729c1398 Merge "Remember to skip the no-backup dir during recursions" 2015-04-15 21:36:36 +00:00
Christopher Tate
e32da05d94 Remember to skip the no-backup dir during recursions
Change-Id: I34c46f9b23cd0ddfa2392e953d8d8cc03bcea5a8
2015-04-15 14:32:34 -07:00
Craig Mautner
15df08abd8 Introduce android:lockTaskMode
The ability for tasks to be started in locktask mode or pinned is
dependent on the value of android:lockTaskMode for the root activity
of the task.

For bug 19995702

Change-Id: I514a144a3a0ff7dbdd4987da5361b94bdfe9a437
2015-04-15 14:27:56 -07:00
Paul McLean
55787399c9 Merge "Audio Devices Enumeration/Notification API" 2015-04-15 21:08:27 +00:00
John Spurlock
1fc476d512 Zen: Add notification policy management api.
- Allow apps to read and modify notification policy (currently
   which items are prioritized in "priority only" mode), but only
   after they've been granted access by noman.
 - Access to read/modify notification policy requires a token provided
   by noman.  Enabled notification listeners are automatically given
   tokens (new getter on NLS), but any other app can also request them.
 - Currently, all requests are granted.
 - Also add a new change intent when the public policy changes.

Bug: 18541928
Change-Id: I482d1c39852d0d961931515e0f0e059a8faee4ed
2015-04-15 16:58:30 -04:00
Benjamin Franz
47af53ed95 Merge "Introduce device owner API to disable the status bar" 2015-04-15 17:22:40 +00:00
Paul McLean
a33be211e7 Audio Devices Enumeration/Notification API
Change-Id: I4eecfa43e4fecfe309ddd805ed193d078b10d5e6
2015-04-15 10:56:49 -06:00
Ricky Wai
3ce4625ac6 Fix ApplicationPackageManager.getDrawable() should drawable result
Bug: 20247312
Change-Id: I6cec3bac794006e41ca85035c572843c92938517
2015-04-15 16:38:19 +00:00
Benjamin Franz
ea2ec97f37 Introduce device owner API to disable the status bar
Let the device owner disable the status bar to achieve multi-app single purpose
mode. When the status bar is disabled, quick settings, notifications and the
assist gesture are blocked.

Bug: 19533026
Change-Id: I72830798135136e5edc53e5e2221aebb9a7c7d57
2015-04-15 15:57:14 +01:00
Sander Alewijnse
e4f878cbe6 Add certificate checksum extras.
Bug:19984678
Change-Id: I4fc24ea98869b8331185f53e8aacacdb3775a53d
2015-04-15 12:00:21 +01:00
Alan Viverette
bd1c50d1d0 Merge "Don't crash if an application has an invalid icon" 2015-04-14 20:56:53 +00:00
Dianne Hackborn
ca25b8768d Merge "Fixes to idle alarm scheduling, package importance." 2015-04-14 18:43:47 +00:00
Dianne Hackborn
1e38382b54 Fixes to idle alarm scheduling, package importance.
- Add new API to ask the activity manager what the current
  importance of a particular package name is (along with a few
  new useful importance levels).

- Fix my last alarm manager change to actually execute the
  alarms we have now decided should run even while we are idle.

Change-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687
2015-04-14 10:01:24 -07:00
Clara Bayarri
0433ae61e2 Enable Text Selection Action Mode for seach boxes and action bar components.
Pre-M, these were disabled as the ActionMode would be rendered
in the ActionBar, obscuring the originating view. Now that we have
Floating Toolbars, this is no longer the case.

Also the TextViews in this situation used to show the paste popup
which has now been removed, so they require the floating toolbar to
avoid regressions.

BUG: 20205351
Change-Id: Ifdc96c3b0db5b40c890ae807c26b76aa2992edbc
2015-04-14 15:51:38 +01:00
Benjamin Franz
e36087e5b6 Introduce device owner API to disable the keyguard
Let the device owner disable the keyguard to achieve undisturbed single
use mode with multiple apps. Calling this API has no effect if a
password
has been set for the calling user.

Bug: 19533026
Change-Id: I6b726b7f36efb669359e9da4b7e3db1f8031dad5
2015-04-14 10:58:36 +01:00
Rubin Xu
c9c9f7b40e Merge "Add setOtaPolicy/getOtaPolicy API in DPMS" 2015-04-14 09:16:28 +00:00
Ricky Wai
0c606812c5 Merge "Add Bluetooth Contacts Sharing policy in DevicePolicyManager" 2015-04-14 08:59:18 +00:00
Ricky Wai
778ba13538 Add Bluetooth Contacts Sharing policy in DevicePolicyManager
Bug: 19990979

Change-Id: Ide9adf66eec5721e50573c03956a1b63b7e8b18b
2015-04-14 08:57:32 +00:00
Rubin Xu
8027a4ffc2 Add setOtaPolicy/getOtaPolicy API in DPMS
Allow device owners to set OTA policy for automatically accept/postpone
incoming OTA system updates. This class only provides the setting
and getting of OTA policy, the actual OTA subsystem should handle
and respect the policy stored here.

Bug: 19650524
Change-Id: I9b64949fab42097429b7da649039c13f42c10fd1
2015-04-14 09:34:03 +01:00
Adrian Roos
82893681ad Add KeyguardManager.isDeviceSecure
Bug: 19823211
Change-Id: I92a1d2542274bf1dc2d5757511ce495264f90733
2015-04-13 16:40:07 -07:00
Rubin Xu
c06bbbfe7a Merge "Grant cert installer access to installKeyPair()" 2015-04-13 22:29:12 +00:00
Christopher Tate
9310e4285b Avoid zero-payload backups in local transport
The local debugging transport now implements
BackupTransport.checkFullBackupSize() to detect and reject backup attempts
for which no actual file content will be committed.  The documentation for
checkFullBackupSize() has also been expanded to document the transport's
responsibilities in this regard.

The local transport now lazy-creates the destination file when data is
first delivered for an approved backup operation, rather than doing it
proactively in performBackup(), to ensure that changes in the datastore
are only attempted after the transport has positive confirmation that
data is indeed flowing.

Change-Id: I6e47a7e72cd938fc0ed31da4bc490540c71f9e65
2015-04-13 22:13:23 +00:00
Craig Lafayette
ef8fcb52dc Merge "Send device initializer status." 2015-04-13 19:44:42 +00:00
Kenny Guy
e13b15c810 Merge "Add foreground profile changed to user switch observer." 2015-04-13 18:36:23 +00:00
Kenny Guy
429796226a Add foreground profile changed to user switch observer.
Called when the focused activity changes from one profile
to another to allow sys ui to vary display based on the
current profile.
This reverts commit 735a3f9059.
Resubmitting with fix for build break in another package.

Bug: 19531782
Change-Id: I98cd2968ade3b1d23feb90d98057f306695d569e
2015-04-13 18:03:05 +00:00