Commit Graph

5613 Commits

Author SHA1 Message Date
Fabrice Di Meglio
30ca50a3dd Merge "Add Default Browser App support and relax Hosts validation for AppLinks" 2015-04-11 02:07:39 +00:00
Svetoslav
975ab5c0f0 Merge "Add a mechanism to make pending intents immutable." 2015-04-11 01:30:46 +00:00
Svetoslav
b0a78390ed Add a mechanism to make pending intents immutable.
bug:19618745

Change-Id: Ice742e0162cb9b7c0afbc32e0eea03d501666e2b
2015-04-10 18:19:03 -07:00
Fabrice Di Meglio
6227172310 Add Default Browser App support and relax Hosts validation for AppLinks
- add private PackageManager APIs for setting/getting the default
Browser App package name
- serialize / deserialize the default Browser App package name per User

Also relax the Hosts name validation for the AppLinls feature. Now we
just care if the IntentFilter is having an HTTP or HTTPS scheme.

Change-Id: I4436f66ac6beff57e14f7f3a2a00b0b582c03be9
2015-04-10 17:54:02 -07:00
Chirag Shah
77d11ed69e Merge "Add support for schema.org actions in the assist data bundle." 2015-04-10 20:13:56 +00:00
Alan Viverette
682a433d0b Fix application of default dialog theme
Cleans up lint annotations.

Bug: 20149703
Change-Id: I2ed4eb002b6679a55ea4d5fcc1ea958a4dcb08df
2015-04-10 12:42:57 -07:00
George Mount
44220d7d9a Merge "Revert "Revert "Allow delay of showing/hiding shared element when transferring.""" 2015-04-10 14:25:37 +00:00
Narayan Kamath
7f062245f6 Create DropboxService lazily.
We seldom use it from libcore.io.DropBox so there's not much point
(there's only one usage, from a conscrypt SSL error). This saves > 10ms
from ActivityThread.attach.

Change-Id: I360158ef9a36a9ababd700e4f3243c92b74047eb
2015-04-10 08:20:45 +00:00
John Spurlock
ec88e8956c Merge "An update on Downtime." 2015-04-10 01:48:06 +00: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
Alan Viverette
0680bcd1f9 Merge "Avoid double-apply of dialog theme" 2015-04-09 23:52:41 +00:00
Dianne Hackborn
24f683523e Merge "More work on device idle mode and other power stuff." 2015-04-09 22:35:36 +00:00
George Mount
4dc668cd36 Revert "Revert "Allow delay of showing/hiding shared element when transferring.""
This reverts commit 44d15f1c2e.

Fix doc comment errors.

Change-Id: Ieeb07b907f0c66a133ef57136c45c504bcc04694
2015-04-09 15:31:38 -07:00
Dianne Hackborn
4870e9d5eb More work on device idle mode and other power stuff.
Add idle mode support to the alarm manager.  Introduce
a new concept of flags associated with alarms to tell
the alarm manager how to treat the alarm -- they allow
everything from the alarm that will bring us out of idle
mode, to alarms that are allowed when idle or should
also bring us out of idle.  The standalone boolean is
now also a flag.

(Note there is currently no protection from user space
setting the flags however it wants; I will be working
on that in a follow-up change.)

When in idle mode, the alarm manager pushes all alarms
that shouldn't execute during that time over to a
separate list that is not executed until out of idle.
To help with this, I reworked a bit how Alarm objects
are managed, so that when rebatching or moving between
lists we don't have to allocated new objects but can
just use the same existing instance.

Also tweaked the sync manager to deal with idle mode,
which currently just means doing the same thing as when
low on storage -- turning off sync.

Add new ACTION_CHARGING and ACTION_DISCHARGING broadcasts
that apps can listen for to know when the device is actively
charging and discharging.  These are better than the old
POWER_CONNECTED and POWER_DISCONNECTED ones because we only
report charging when we actually see that there is enough
power being provided to charge the battery (and will report
discharging if there is not enough power).

The job controller uses these new actions for scheduling
jobs that want to run while plugged in.  Removed the
"stable charging" stuff while doing so, since the new
charging state serves as an even better signal for that.

Introduced two new process states: FOREGROUND_SERVICE and
TOP_SLEEPING.  This will allow us to treat foreground services
specially (such as still allowing network access to them for
background music playback) while not mixing them together with
whatever happens to be the top activity while the device is
asleep.

Also some other small cleanup here and there.

Change-Id: I7a9808b578bad6f50deb8e1baf919298512a0d3a
2015-04-09 14:05:17 -07:00
Christopher Tate
f4ab2b1074 Merge "Add system API for querying the available restore dataset for a package" 2015-04-09 20:20:31 +00:00
Christopher Tate
511d02fcc3 Add system API for querying the available restore dataset for a package
Bug 20123585

Change-Id: Ife6e77a224b5d4175178aacdb7c285e9944b9eab
2015-04-09 13:13:42 -07:00
George Mount
9978940208 Merge "Revert "Allow delay of showing/hiding shared element when transferring."" 2015-04-09 18:14:02 +00:00
George Mount
44d15f1c2e Revert "Allow delay of showing/hiding shared element when transferring."
This reverts commit bd93e69c8e.

Change-Id: I38daa39e8560f4901b242acc6394dfa37f3d084a
2015-04-09 18:13:40 +00:00
George Mount
f7115c84e4 Merge "Allow delay of showing/hiding shared element when transferring." 2015-04-09 15:26:04 +00:00
George Mount
bd93e69c8e Allow delay of showing/hiding shared element when transferring.
Bug 18932344

Change-Id: Ic967551a4dd27967d2312a6c6c8a83b34c220031
2015-04-08 14:48:02 -07:00
Quddus Chong
60a6e09654 am 5985981b: am b49748cf: am 0c5752be: am c736e8cf: am f0ab39c1: Merge "Fixed broken link in UiAutomation.setRunAsMonkey() method description. bug: 19711873" into lmp-mr1-dev
* commit '5985981ba45b97e381312ba53f191396607b447d':
  Fixed broken link in UiAutomation.setRunAsMonkey() method description. bug: 19711873
2015-04-08 18:44:02 +00:00
Quddus Chong
b49748cfd3 am 0c5752be: am c736e8cf: am f0ab39c1: Merge "Fixed broken link in UiAutomation.setRunAsMonkey() method description. bug: 19711873" into lmp-mr1-dev
* commit '0c5752be40a9e7ced5be2659965f3c4ba3c3f4eb':
  Fixed broken link in UiAutomation.setRunAsMonkey() method description. bug: 19711873
2015-04-08 18:23:52 +00:00
Quddus Chong
0c5752be40 am c736e8cf: am f0ab39c1: Merge "Fixed broken link in UiAutomation.setRunAsMonkey() method description. bug: 19711873" into lmp-mr1-dev
* commit 'c736e8cf41445e7a32721da617d6d7eacd189703':
  Fixed broken link in UiAutomation.setRunAsMonkey() method description. bug: 19711873
2015-04-08 18:11:55 +00:00
Alan Viverette
5696f04590 Avoid double-apply of dialog theme
Some cleanup of comments and code.

Bug: 19924382
Change-Id: I7b1a339259cbaa66fea2ffec38d7dde2b1a9612e
2015-04-08 11:03:32 -07:00
Olawale Ogunwale
8d86acf6c5 am 81954cf3: am 8ddc3e26: am 393f89f2: Merge "[ActivityManager] Avoid NullPointerException if no crash info"
* commit '81954cf30816a007186fbf3be375feed5a7936cc':
  [ActivityManager] Avoid NullPointerException if no crash info
2015-04-08 16:51:01 +00:00
Olawale Ogunwale
8ddc3e26e6 am 393f89f2: Merge "[ActivityManager] Avoid NullPointerException if no crash info"
* commit '393f89f26df724a3da7a21b28925a21fe5fb253f':
  [ActivityManager] Avoid NullPointerException if no crash info
2015-04-08 16:28:52 +00:00
louis_chang
3d86b88fa7 [ActivityManager] Avoid NullPointerException if no
crash info

Symptom:
This issue happens because the ANR process got killed
(because it crashed) before the ANR dialog dismissed.
In that case, the process record is marked as crashed
(ProcessRecord.crashing = true). When the ANR dialog
dismissed by user, it will cause NullPointerException
when writeToParcel while performing IPC because there
is no crash info (ApplicationErrorReport.crashInfo = null)

Solution:
Check crashinfo before access it

Change-Id: I2995de57684c1e13aab8297f5eea1e82ca3b7ad8
2015-04-08 18:04:11 +08:00
Fabrice Di Meglio
9f3f6000ed Merge "Add IntentFilter auto verification - part 3" 2015-04-08 00:30:37 +00:00
Fabrice Di Meglio
0788595e0c Add IntentFilter auto verification - part 3
- add private API PackageManager.getAllIntentFilters(String)
for getting all IntentFilters from a given package
- update IntentFilterVerificationInfo to use an ArrayList<String>
for domains instead of a String[]
- if you make an App a default domain handler then make the
others as non default
- create an IntentVerificationInfo even if the App IntentFilters
do not need to be verified. This would be done only if the App
has some domain URLs defined and would allow to make it the
default handler for a domain
- a few code optimizations here and there

Change-Id: I4535372a0bb1a2c8e662e1485be8ca700003e9b3
2015-04-07 17:13:32 -07:00
Stephen Hines
b6b17a575f resolved conflicts for merge of 764f08ad to master
Change-Id: I0a22225b2d26b6d806de2dcc70ffba29c96865b3
2015-04-07 14:47:32 -07:00
Tim Murray
d782c57d37 am 5352411a: Merge "Move cache dir to its own class."
* commit '5352411a8c41dd1c3c51a28cdd0b09f42e246b33':
  Move cache dir to its own class.
2015-04-07 20:59:39 +00:00
Tim Murray
e1e6c66198 Move cache dir to its own class.
This prevents us from loading the RS static initializer all the time.

Change-Id: I8cea7540e50251aba8c2f199f06f344f991e7d7f
2015-04-07 13:24:14 -07:00
Quddus Chong
a9f6a9b769 Fixed broken link in UiAutomation.setRunAsMonkey() method description.
bug: 19711873

Change-Id: I4ebb50e03e6e979486ebd3a7c15f21358734574e
2015-04-07 13:04:39 -07:00
Craig Mautner
30b8984903 Merge "No longer unlock activity manager to test whitelist" 2015-04-07 16:17:57 +00:00
Craig Mautner
e56007786a No longer unlock activity manager to test whitelist
In order to check the DevicePolicyManagerService locktask whitelist
the activity manager had to release its lock preserving internal
state. That is undesirable and not scalable now that we need to check
the whitelist at startup for bug 19995702.

This change causes DPMS to update activity manager with the whitelist
whenever it changes so that activity manager can check the whitelist
without releasing the acitivty manager lock.

Change-Id: I3ed6eb5ceae2cd7e7ae3280abd708d5ce43a2851
2015-04-07 09:15:41 -07:00
Jeff Sharkey
b2b9ab8354 Installing packages to expanded storage.
PackageManager now offers to load/unload packages when expanded
volumes are mounted/unmounted.  Expanded storage volumes are still
treated as FLAG_EXTERNAL_STORAGE from a public API point-of-view,
but this change starts treating the INSTALL_EXTERNAL flag as
exclusively meaning ASEC containers.

Start tracking the UUID of the volume where a package is installed,
giving us a quick way to find relevant packages.  When resolving an
install location, look across all expanded volumes and pick the one
with the largest free space.  When upgrading an existing package,
continue preferring the existing volume.  PackageInstaller now knows
how to stage on these volumes.

Add new movePackage() variant that accepts a target volume UUID
as destination, it will eventually move data too.  Expose this
move command through "pm" command for testing.

Automount expanded volumes when they appear.

Bug: 19993667
Change-Id: I9ca2aa328b9977d34e8b3e153db4bea8b8d6f8e3
2015-04-06 21:17:58 -07:00
Christopher Tate
e012a23556 Back up / restore preferred app configuration
Bug 19848104

Change-Id: I84cdfcc44b48a9732984955d7eedf745b5586bdd
2015-04-06 17:36:25 -07:00
Craig Lafayette
bc80a260cf Merge "Add factory reset protection extras to DPM." 2015-04-06 23:47:34 +00:00
Dianne Hackborn
d59a5d59df Various fixes and improvements...
Issue #19912529: VI: VoiceInteractor callback ClassCastException

Fix to use correct argument.

Issue #19912636: VI: Documentation for VoiceInteractionSession.onBackPressed

Added documentation.

Issue #19912703: VI: VoiceInteractionSession NPE on Abort Request

Maybe fix this -- don't crash if there is no active session.

Issue #19953731: VI: Add value index to...
...android.app.VoiceInteractor.PickOptionRequest.Option

There is now an optional index integer that can be associated with
every Option object.

Issue #19912635: VI: Behavior of startActivity when in voice...
...interaction is unexpected

We now forcibly finish the current voice interaction task whenever
another activity takes focus from it.

Issue #20066569: Add API to request heap dumps

New ActivityManager API to set the pss limit to generate heap
dumps.

Also added app ops for assist receiving structure and screenshot
data, so that we can track when it does these things.

Change-Id: I688d4ff8f0bd0b8b9e3390a32375b4bb7875c1a1
2015-04-04 17:36:05 -07: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
Dianne Hackborn
12611bdf6d Merge "Add quick and dirty async AssistStructure building." 2015-04-03 16:46:54 +00:00
Julia Reynolds
eaafdf72a4 Store the device initializer componentname in addition to package.
This removes ambiguity about which component in the initializer
package handles device initialization when setting up secondary users.
Bug: 19992262

Change-Id: I2e48168907725a56cd05d0b51c9f28b34fa28d1a
2015-04-03 08:27:34 -04:00
Dianne Hackborn
5688b03f7f Add quick and dirty async AssistStructure building.
New APIs on ViewAssistStructure all the app to request to
build a sub-tree asynchronously and indicate when it is done
with that.  The overall AssistStructure is now only flattened
and transfered on-demand, when the app receiving it requests
its data -- and at that point we can wait for any asynchronous
building to complete.

New AsyncStructure view is a very simple example of using this
to asynchronously build a child view.

Change-Id: I14f9199bee64915ad3dc80b2190916ec874308af
2015-04-02 18:43:31 -07:00
Chirag Shah
9dc36157b7 Add support for schema.org actions in the assist data bundle.
Allow developers to include schema.org metadata to represent an action
a user is performing on the screen.

This will allow applications to report content a user is viewing (ViewAction),
music the user is listening to (ListenAction), etc.

Design: http://go/appindexingapi:bundle

Change-Id: I34544880ac877ffe44671139585304f0498a64eb
2015-04-02 16:45:41 -07:00
Dianne Hackborn
9e57a25495 Merge "Rework assist to walk down the view hierarchy." 2015-04-02 18:18:42 +00:00
John Spurlock
24d3dad8dd Add new notification category for reminders.
Bug: 20045407
Change-Id: I5c449551fb7ec5a3e2c350f443e1a18b84b4d03f
2015-04-02 14:14:27 -04:00
Jim Miller
ebbf205bc6 Prepare to make Fingerprint API public.
- move fingerprint support files into hardware area
- move jni into services/core

Change-Id: I48a8e43d6d328fb66d79919c255e4c44e984b4d1
2015-04-01 19:20:08 -07:00
Dianne Hackborn
6251f0d42b Rework assist to walk down the view hierarchy.
Instead of collecting all of the data directly in AssistStructure,
we now have a dispatch mechanism down the hierarchy to do so.
While doing this, also added the ability to automatically collect
assist data from AccessibilityNodeProviders attached to views
(so now we see all of the data in for example Calendar).

This is a first step needed towards being able to asynchronously
populate assist data.

Change-Id: I59ee1ea104ca8207bad8df7a38195d93da1adea7
2015-04-01 17:08:27 -07:00
Olawale Ogunwale
78c926c9a3 am bcfa7cb2: am 259a649a: am 6091dcbb: Merge "[ActivityManager] Improve multi-thread access the same provider"
* commit 'bcfa7cb2508eb6f606aeef4c6cb44eaf9be07ccf':
  [ActivityManager] Improve multi-thread access the same provider
2015-04-01 15:37:34 +00:00