Commit Graph

2271 Commits

Author SHA1 Message Date
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
Vinit Deshpande
7b3f6a95a8 am "Add frameworks classes and methods necessary for VVM syncadapter structure."
merged from goog/mirror-m-wireless-internal-release
7c07dfa Add frameworks classes and methods necessary for VVM syncadapter structure.
2015-03-15 13:41:31 -07:00
Vinit Deshpande
3b444db1d6 am "Add PHONE_ACCOUNT_ADDRESS to the call log DB."
merged from goog/mirror-m-wireless-internal-release
204f80e Add PHONE_ACCOUNT_ADDRESS to the call log DB.

Change-Id: I363403bf73b202f03b3f706a823b0f142183a695
2015-03-15 13:41:25 -07:00
Vinit Deshpande
aae695b50d am "Revert "Add PHONE_ACCOUNT_ADDRESS to the call log DB.""
merged from goog/mirror-m-wireless-internal-release
da35a2b Revert "Add PHONE_ACCOUNT_ADDRESS to the call log DB."

Change-Id: I4dc4865d58e4b68858c7767f201e267a72dc236b
2015-03-15 13:41:14 -07:00
Vinit Deshpande
4447a5e2c7 am "Add PHONE_ACCOUNT_ADDRESS to the call log DB."
merged from goog/mirror-m-wireless-internal-release
40c6f2b Add PHONE_ACCOUNT_ADDRESS to the call log DB.

Change-Id: I91b487137a2da621b496bf5f135fe19bb0a6ca62
2015-03-15 13:41:04 -07:00
Vinit Deshpande
79baf378d2 am "Add multi-SIM fields to VoicemailContract.Status."
merged from goog/mirror-m-wireless-internal-release
109dabd Add multi-SIM fields to VoicemailContract.Status.
2015-03-15 13:40:45 -07:00
Vinit Deshpande
7e05b6770c am "WFC configuration: add carrier and device support configurations."
merged from goog/mirror-m-wireless-internal-release
9c8f21b WFC configuration: add carrier and device support configurations.
2015-03-15 13:39:13 -07:00
Jay Shrauner
1ebaff2a4b Check for empty lookup keys in getLookupUri
Bug:19588470
Change-Id: I5379e0b16dbec7692ef86ca8a21b0eae2aa47819
2015-03-13 14:28:50 -07:00
Santos Cordon
56027514f3 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.

Change-Id: I26ee27369e94c73446f7553f84cd4d8d4f2ff658
2015-03-12 11:55:32 -07:00