Commit Graph

2279 Commits

Author SHA1 Message Date
Zheng Fu
5929b7b8f0 Merge "Add setting flag to enable new contact aggregator" 2015-04-14 19:36:43 +00:00
Zheng Fu
b218ff49fd Add setting flag to enable new contact aggregator
Bug:20055573
Change-Id: I5482c4a028a1bec91461c495805c5378093ae776
2015-04-13 16:31:16 -07:00
John Spurlock
cbcf902a4a Merge "Zen: Support external condition providers." 2015-04-13 23:14:04 +00:00
Yorke Lee
e5a87c53a5 Merge "Hide Voicemails.{insert, deleteAll, setStatus}" 2015-04-13 21:13:55 +00:00
John Spurlock
39581cc16d Zen: Support external condition providers.
- Manage provider subscriptions for external condition providers
   within ZenModeConditions.
 - Move "is automatic rule active" check into common location.
 - Add constant for external rule setting configuration page.
 - Consolidate log tags.
 - Reset rule snoozing on boot.

Bug: 20064962
Change-Id: Ida207dbf363f61e1727974e611f43f27c23accfb
2015-04-13 12:12:46 -04:00
Jeff Sharkey
1407d4c777 DocumentsUI roots can have settings.
Roots use a flag to indicate they have settings, and DocumentsUI
offers to launch towards someone who handles a new Settings intent.

Slight rename of browse intent for clarity.

Bug: 19993667
Change-Id: I86302ec1cfac5e435d8bc5701bdb85fb9b0dcbae
2015-04-12 22:02:44 -07:00
Jeff Sharkey
59d577a518 Browse mode for DocumentsUI, removed volume state.
The existing management mode is too specific, and requires that
storage backends add queryChildDocumentsForManage(), etc.  Instead,
to offer more natural browsing support, add a new BROWSE_ROOT intent.

It behaves mostly like MANAGE_ROOT, except that it doesn't mutate
its Uris with setManageMode(), and it shortcuts straight to VIEW on
clicked documents.

It can be launched like this:

$ adb shell am start -a android.provider.action.BROWSE_ROOT
    -d content://com.android.externalstorage.documents/root/8405-1DFB
    -c android.intent.category.DEFAULT

Also rename a MetricsConstants to make it clearer, and don't
auto-mount all emulated volumes.

Fix bugs around parceling of DiskInfo/VolumeInfo.  Method to resolve
the best description for a VolumeInfo, which might need to fall
back to DiskInfo.

Add back "removed" volume state so we send broadcast when a volume
is destroyed, matching the expected public API behavior.

Bug: 19993667
Change-Id: I13aff32c5e11dfc63da44aee9e93a27f4690a43f
2015-04-12 16:03:50 -07:00
Jay Shrauner
7576a39b55 Hide Voicemails.{insert, deleteAll, setStatus}
Bug:20162722
Change-Id: Idbd9a643c4870b48ee1230e344717f50507936d8
2015-04-11 20:09:54 -07:00
John Spurlock
b2278d6571 An update on Downtime.
The update is that Downtime is obsolete.  Replaced by the
ability to define multiple named schedule calendars.

 - Make changes to ZenModeConfig to properly model manual
   and automatic rules.
 - Refactor the zen mode helper (and supporting classes) to
   properly handle / report multiple claims on zen mode.
   The "manual" rule (specified by the user in the UI) vs
   one or more automatic rules.
 - Automatic rules are still backed by condition providers,
   but the layering is now cleaner.  ConditionProviders is now
   completely generic, has no ties to zen mode.
 - Specifically, the new layering for zen mode (below noman) is:
   ZenModeHelper: Source of truth for zen state
     ZenModeFiltering: Subhelper dedicated to filtering rules.
     ZenModeConditions: Subhelper dedicated to managing automatic rules.
       ConditionProviders:  Underlying engine for reporting named boolean state.
 - Migration story for users with existing downtime config, migrated
   to a single new calendar named downtime.
 - For users with no existing downtime, two default calendars are created
   for weeknights + weekends (icu4j for all locales will be done in a followup).
 - Remove obsolete DowntimeConditionProvider/NextAlarmConditionProvider and tracking.
 - Clean up obsolete resources.
 - Add common zen summary description string computation.
 - Add proper noman wrappers for the new model.
 - Change the semantics of the global zen setting.  It is now read-only.  Setters
   must call noman, added a "reason" to all calls for better attribution.
 - Update zenmodepanel + volumedialog to the new model.
 - Display the one or more automatic rules in the new zen footer summary.
 - "Snooze" the automatic rules when the user explicitly turns zen off.

Bug: 20064962
Change-Id: Idd9deb865a6035ad0cfae660198dccb517e6d7cc
2015-04-09 21:45:08 -04:00
Nancy Chen
a9e9578d73 Merge "Hide and make systemapi visual voicemail-related apis." 2015-04-08 20:57:55 +00:00
Nancy Chen
1df9429b6b Hide and make systemapi visual voicemail-related apis.
Since there are no third-party apps expected to be using the visual
voicemail related apps at the moment, best to keep these hidden for now.

Bug: 19236241
Change-Id: I86f622208efcc89fab523f03d2bb70c244cdf867
2015-04-07 12:21:36 -07:00
Jorim Jaggi
25ff0646ca Merge "Add Camera prewarm intent." 2015-04-07 18:50:54 +00:00
Jorim Jaggi
a86790bf23 Add Camera prewarm intent.
Also adds a test app for testing this intent. In addition, the secure
camera gets launched in the background to fix jank while sending the
intent.

Bug: 20016619
Change-Id: I7bb7e22ddaf5dc67fc09b9e63e5f3d10fe8e3ee4
2015-04-07 11:24:05 -07:00
Johnson Hsieh
633bf5ca52 Add VOICE_CANCEL_ALARM/VOICE_DELETE_ALARM intents.
This will be used by the Voice Interaction API. For details, see
https://docs.google.com/document/d/1_yRTbn-BxFi8Lc6bVmJ4r2dg3-05qUxf9yChiZXiiew/edit#.

Change-Id: Icf4371ff351298ef7c1158e5e2d35561fc6cef67
2015-04-06 16:29:39 -07:00
Barnaby James
b3006d38c6 Intents for Voice controlled settings actions.
Add new voice interaction intents for battery saver mode, airplane mode and do not disturb.

Change-Id: Id5bd4e4f23a798eef91d797ffcd17df482b30c08
2015-04-04 13:00:50 -07:00
John Spurlock
552d56348f Merge "Zen: Changes to support new automation settings sub-section." 2015-04-03 23:53:07 +00:00
Nancy Chen
8bd4f7b3d1 Merge "Include the source package in the voicemail URI." 2015-04-03 21:23:38 +00:00
Amith Yamasani
092f038d50 Merge "Throttle jobs for idle apps" 2015-04-03 20:26:43 +00:00
Amith Yamasani
b0ff32245c Throttle jobs for idle apps
First pass at delaying jobs from apps that are idle.

TODO: Throttle syncs
TODO: Provide a periodic point at which apps are checked for idleness.

Apps that switch to foreground process state are tracked by UsageStats
as an INTERACTION event that affects the last-used timestamp.

JobScheduler's logic for when an app is ready is trumped by the idleness
of the app, and only if the battery is not charging. When charging state
changes, we update the idle state of all the tracked jobs.

android package is whitelisted.

Bug: 20066058
Change-Id: I0a0acb517b100a5c7b11e3f435f4141375f3451f
2015-04-03 13:20:19 -07:00
John Spurlock
7af10188c0 Zen: Changes to support new automation settings sub-section.
Bug: 20064962
Change-Id: I1da5bd1f8ef52a070b8225da4b761979f290df77
2015-04-03 16:05:22 -04:00
John Spurlock
fc746f8ac5 Zen: Changes to support new priority settings.
Bug: 20064962
Change-Id: Iac3444c0a55830d5e5459e26c2172d974db600d6
2015-04-03 15:55:13 -04:00
John Spurlock
4f1163c83e Zen: Add a new level: alarms-only.
Like no-interruptions, but allows alarms.

Bug: 19260237
Change-Id: I36bf0a333362256c8e54cd83992cb46c3bcb7f69
2015-04-02 23:00:40 -04:00
Nancy Chen
096413da72 Include the source package in the voicemail URI.
This means that the source package can be determined without having to
query the database, thus making it easier to short circuit code on
voicemails that do not belong to a package.

Bug: 19236241
Change-Id: If9c3924a5365d5c3e87bff68609b5e7aee8eb218
2015-04-02 14:25:50 -07:00
Etan Cohen
36711e0e2c Merge changes from topic 'mwd-merge-040115'
* changes:
  Merge (manually) pag/209446: Increase allowed duration to connect to HOGP profile
  Merge commit 'd91f193' into merge2
  Merge commit '5718646' into merge2
  Merge commit '7aa0345' into merge2
2015-04-02 03:08:02 +00:00
Etan Cohen
eb864d4000 Merge commit 'd91f193' into merge2 2015-04-01 09:31:43 -07:00
Santos Cordon
bb251057fb Merge "Do not hide any call log entries when they are added." 2015-04-01 00:01:16 +00:00
Santos Cordon
14c2ebc2a6 Do not hide any call log entries when they are added.
When a call log entry is added, and it's phone account does not match a
currently registered one, we set it to hidden.  This code was built for
the calllog restore case where call log entries would be hidden when
added if the original phone account wasn't also
present on the new device (where the restore is being performed).

We no longer do that so we're removing the code that sets any call log
entry to hidden.

-- Resubmitting since this change was lost to a merge conflict --

Change-Id: I1ef094d5a35063e8f89cd1ecb1e5a0b59361781c
2015-03-31 16:58:57 -07:00
Fabrice Di Meglio
607f1f09c3 Merge "Add IntentFilter auto verification" 2015-03-31 00:16:59 +00:00
Makoto Onuki
7864e8e25a Merge "Enterprise quick contact 1/2" 2015-03-30 23:32:06 +00:00
Makoto Onuki
1040da1d4e Enterprise quick contact 1/2
Now openQuickContact goes thorough DPM.  When a lookup URI is build with
a lookup key returned by the enterprise lookup APIs for a corp contact, the
lookup key will have a special prefix.  In that case we go through DPM
and have it launch QC on the managed profile, if the policy allows.

For now we use the same DPM policy as enterprise-caller-id to disable this.

Design doc: go/cp2-mnc-enterprise-dd

Bug 19546108

Change-Id: I831a8190ae902ae3b1248cce6df02e3a48f602d2
2015-03-30 16:28:39 -07:00
Ying Wang
b67cd46436 Fix build.
private class SearchIndexablesContract.BaseColumns is extended by public
classes. We need to make it public too.

Change-Id: Id77575f7857020531b9d311ca5ba12c6462268a5
2015-03-30 15:46:30 -07:00
Makoto Onuki
4fd8d4ab2a Revert "Enterprise quick contact 1/2"
This reverts commit 75a0882b94.

Change-Id: Ibe332885824b228bf1b1147d141c9395554ff67f
2015-03-30 20:42:20 +00:00
Fabrice Di Meglio
27e1334734 Make Settings search API as a SystemAPI
See: http://b/19443752

Change-Id: I0148f187eec57a2734d8c04880a5950e9ec2b7b1
2015-03-30 12:32:09 -07:00
Fabrice Di Meglio
1c1b47125d Add IntentFilter auto verification
The purpose of this feature is to prompt the Disambiguation dialog
to Users as less as possible.

- add the new "autoVerify" property to the IntentFilter class
- add new APIs to PackageManager:
 verifyIntentFilter(int, int, List<String>),
 getIntentVerificationStatus(String, int),
 updateIntentVerificationStatus(String, int, int),
 getIntentFilterVerifications(String)
for supporting IntentFilter verification
- add support for multi-user
- update PackageManager for IntentFilter verification:
basically when we are installing a new package, ask for verification
of all domains from the IntentFilters that have the "autoVerify" to true.
This means that the PackageManager will send a well defined protected
broadcast (with a new INTENT_FILTER_NEEDS_VERIFICATION action) to
an IntentFilter verifier to do the real job of verification.
We are passing in the broadcast Intent all the necessary data for
doing the verification. The PackageManager will receive as response
the result code of the domain verifications and, if needed, the list
of domains that have failed the verification.
- add a new INTENT_FILTER_VERIFICATION_AGENT permission that needs to
be set by an intent filter verifier to be considered as a trustable
party by the PackageManager.
- add also a new BIND_INTENT_FILTER_VERIFIER permission for securing
the binding between the PackageManager and a service doing the
intent filter verifications.
- add ResolveInfo filterNeedsVerification which is a boolean
to knows if the IntentFilter is of a type that needs a verification
(action VIEW, category BROWABLE, HTTP/HTTPS data URI)
- add new "domain-preferred-apps" / "d" dump command for listing the
prefered Apps for all domains
- add new "intent-filter-verifiers" / "ivf" command for listing the
IntentFilterVerifier used
- introduce the IntentVerificationService which is a basic service
for verifying IntentFilters. This service will send HTTPS requests
to the domain declared in the IntentFilter(s) for doing the
verification. This service has a low priority level so that it
can be replaced by a more sophisticated one if needed. This service
is updating the PackageManager intent verification states thru
the updateIntentVerificationStatus(...) API.
- update MockPackageManager

Change-Id: I0bfed193d0bf1f7c7ac79f6c1b160b7ab93b5fb5
2015-03-30 10:58:35 -07:00
Makoto Onuki
75a0882b94 Enterprise quick contact 1/2
Now openQuickContact goes thorough DPM.  When a lookup URI is build with
a lookup key returned by the enterprise lookup APIs for a corp contact, the
lookup key will have a special prefix.  In that case we go through DPM
and have it launch QC on the managed profile, if the policy allows.

For now we use the same DPM policy as enterprise-caller-id to disable this.

Design doc: go/cp2-mnc-enterprise-dd

Bug 19546108

Change-Id: I4840e7fad8a6a60249df07d993d26d03619650d4
2015-03-27 17:19:01 -07:00
Adrian Roos
943eb8654f Add emergency assistance API and setting
Bug: 19841649
Change-Id: I5bc99df6d85eb84b253456e32ce52afd7592a95e
2015-03-27 21:26:46 +00:00
Wei Wang
d91f19354d Add API for BLE_SCAN_ALWAYS_AVAILABLE feature.
Change-Id: I83e966d4db076db367ded71bfb50c39e57568156
2015-03-27 14:05:37 -07:00
Ricky Wai
9aaaa1ebb3 Add RawContactsEntity.CORP_CONTENT_URI
Bug: 19551325
Change-Id: I7b2801e4a80ac5da1f1d53e41043657d07874ae6
2015-03-26 18:48:13 +00:00
Christopher Tate
7b9a28c7f0 Back up and restore the set of enabled IMEs
The restored set of enabled IMEs/subtypes is merged into the
current state of the system, rather than simply replacing it.
This is because we do not want to accidentally disable or
reconfigure something that the user is currently relying on.

There's a certain amount of repetitive activity here, rebuilding
the enabled-state data structures in a different format, but it's
important for maintainability that the restore code be able to
rely on the core InputMethodUtils implementation of reading/writing
the settings element.

Bug 19822542

Change-Id: If0104151b3526da6ecc669adde3119a239ecafeb
2015-03-23 16:28:21 -07:00
Jay Shrauner
a6baa77482 Merge "Check for empty lookup keys in getLookupUri" 2015-03-23 21:03:33 +00:00
Lorenzo Colitti
06d7e5301d DHCP: Add a hidden setting to use the legacy DHCP client.
Change-Id: I5505bd2c20ddc895df0e9b176e1ed770ad74a3f4
2015-03-20 16:32:42 +09:00
Ricky Wai
ac1496a1c9 Merge "Add Email.ENTERPRISE_CONTENT_LOOKUP_URI" 2015-03-18 18:43:54 +00:00
Ricky Wai
323b30e849 Add Email.ENTERPRISE_CONTENT_LOOKUP_URI
Bug: 19550046
Change-Id: I56d8e5b3817a98e00d1f73555e10ac6b780e511e
2015-03-17 17:02:01 +00:00
Lorenzo Colitti
cac9a63cf1 DHCP: Add a hidden setting to use the legacy DHCP client.
Change-Id: I5505bd2c20ddc895df0e9b176e1ed770ad74a3f4
2015-03-17 19:46:13 +09:00
Christopher Tate
bb41a5f6de Merge "Back up / restore spell checker configuration" 2015-03-17 02:17:34 +00:00
Christopher Tate
06cbaddb87 Back up / restore spell checker configuration
Bug 19779845

Change-Id: Ib8382f0296f0726b64494d3b1fd8237e13adb540
2015-03-16 18:29:42 -07:00
Christopher Tate
6597e3435f Notification listener backup & restore
We now back up & restore the set of enabled notification listeners.  Post-
restore, a listener that had been enabled on the ancestral device will be
enabled on the current device as soon as it's installed, matching the
user's previous configuration.  After this has happened the enable/disable
state for that app is not "sticky"; disabling it again will work as
expected.

The infrastructure for accomplishing this is general: it can be leveraged
by any ManagedServices derivative.  There's a bit of extra wiring in the
settings provider to support the restore-time information flow as well.
This is because ManagedServices -- like many other parts of the system --
monitors writes to the settings provider and does work in response to new
writes of the elements that it cares about.  Unfortunately this means that
there is no way to use the BackupAgent's restoreFinished() hook to post-
process the restored data: by the time it is run, the ManagedService's
observers have already executed and culled any unknown components from
the description that was just pushed into settings.

As of this patch, the settings provider's restore logic knows that a
particular settings element will require a message to interested observers
about the restore-driven change.  The message is delivered as a broadcast,
and is sent after the new value has been committed to the settings db.
Adding other system ManagedService handling that parallels this will only
require adding a new corresponding entry to the table of individual settings
for which the relevant "this settings element is being restored" broadcast
is sent, found in SettingsHelper.

(It isn't sent for all settings elements because very few settings elements
have semantics that require it; 3rd party code won't be running yet during
platform restore anyway; and sending up to hundreds of broadcasts during
setup & restore is far from ideal.)

Bug 19254153

Change-Id: Ib8268c6cb273862a3ee089d2764f3bff4a299103
2015-03-16 16:24:28 -07:00
Vinit Deshpande
4cd92835be Fixing build after merge from mirror-m-wireless-internal-release
There have been few breaking changes

1. TelecomManager.getCallCapablePhoneAccounts is not hidden anymore
2. CAPABILITY_VIDEO_CALLING is not hidden anymore
3. mPhoneStateListener doesn't exist anymore, so it is commented out

Change-Id: I22221eda73a20c745e316d9d56f914ab17b83533
2015-03-15 14:04:19 -07:00
Vinit Deshpande
02ce8d8f33 am "Helper methods for voicemail status provider."
merged from goog/mirror-m-wireless-internal-release
8b97ee3 Helper methods for voicemail status provider.
2015-03-15 13:44:07 -07:00
Vinit Deshpande
a4985a7952 am "Hide calllog entries for unregistered phone accounts"
merged from goog/mirror-m-wireless-internal-release
2d2bc16 Hide calllog entries for unregistered phone accounts

Change-Id: I39b60b86fca9c1b74d750ab251cc26b3ce5f5650
2015-03-15 13:43:11 -07:00