Commit Graph

5625 Commits

Author SHA1 Message Date
Wale Ogunwale
0a9bce976a am 110919d9: am bd59764a: am 8f0e0c1f: Merge "Clean-up state if we have an exception when acquiring provider"
* commit '110919d9952a60eb9a2ff1696f3e13818428ee6a':
  Clean-up state if we have an exception when acquiring provider
2015-04-13 05:06:30 +00:00
Wale Ogunwale
bd59764a2c am 8f0e0c1f: Merge "Clean-up state if we have an exception when acquiring provider"
* commit '8f0e0c1f3d7c02dff6fe4877477af583e490e6ee':
  Clean-up state if we have an exception when acquiring provider
2015-04-13 04:46:31 +00:00
Prerepa Viswanadham
d4ea01b4ac Merge "Merge commit 'e593d0a' into merge_work" 2015-04-12 21:46:15 +00:00
Clara Bayarri
28e7ba6644 Merge "Show and trigger activities that implement Text Processing actions" 2015-04-12 19:46:42 +00:00
Jeff Sharkey
6036cd5126 Merge "Support moving apps to expanded storage." 2015-04-11 15:55:27 +00:00
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
Prerepa Viswanadham
57bf2a8a38 Merge commit 'e593d0a' into merge_work
Change-Id: I4f8ae40fc446cd9cda4d5c6ec99469a98dda595b
2015-04-10 15:58:10 -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
Wale Ogunwale
73e239bdc9 Clean-up state if we have an exception when acquiring provider
We can get a number of exceptions (e.g. SecurityException) when
a process is acquiring a provider. We need to clean-up correctly
so that other threads that try to acquire the provider the progress.

Bug: 20122809
Change-Id: Icac1d391df7e8c24198be89035b1c5a23da834cf
2015-04-10 09:32:26 -07:00
Clara Bayarri
d5bf3ed9b0 Show and trigger activities that implement Text Processing actions
This CL adds the Activities that support Intent.ACTION_PROCESS_TEXT
to the Text Selection Action Mode in Editor, and triggers an intent
with the currently selected text when they are selected.

It also adds the required mechanism to allow a View to request an
intent to be started, and return the activity result back to it.

Change-Id: I62ec618010edf01da41338c8c1a7dd4292a15227
2015-04-10 16:28:35 +01: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
Jeff Sharkey
b9f3674c11 Support moving apps to expanded storage.
Start deriving the data path for apps based on the volume UUID where
the app lives.  This path is used for all higher-level APIs, giving
us a clean place to switch app storage.

When parsing a package, keep track of the volume UUID where it lives
and update PackageSetting once installed.  For now continue treating
moves as installs, but we'll eventually clean this up to avoid the
additional dexopt pass.  Wire up move to use the new installd command
to move private data between devices.

Cache LoadedApk only for the current user, since otherwise the data
dir points at the wrong path.

Bug: 19993667
Change-Id: I53336e3b147d5fd3130e6800869af172b628da37
2015-04-10 00:24:03 -07: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