Commit Graph

2681 Commits

Author SHA1 Message Date
Dianne Hackborn
bf507a0cba am 68f35ec2: am dbec91c0: Implement issue #16330060: Inform ActivityManager about WebView...
* commit '68f35ec2d2f9950f57afa9900f16a3b29a8d55b0':
  Implement issue #16330060: Inform ActivityManager about WebView...
2014-07-17 18:22:17 +00:00
Vinit Deshpande
b42cf4ea56 am ff5ceb0d: am 0b4d73dd: Merge "Introduce RTT Manager" into lmp-dev
* commit 'ff5ceb0d89c549682b498522f052d61c776bff03':
  Introduce RTT Manager
2014-07-17 18:20:48 +00:00
Sailesh Nepal
909d1b5755 resolved conflicts for merge of 03e88771 to master
Change-Id: If55838968d008043f85a3cda1a2e0f76f357aec3
2014-07-17 11:05:42 -07:00
Dianne Hackborn
fee756ff91 Implement issue #16330060: Inform ActivityManager about WebView...
...state changes.

Add a new API to tell the activity manager about a new dependency
one process has on another package.  Start using it already for
when apps is Context.createPackageContext() to load code from another
app.

Also do some work on getting the monitoring of proc/uid states
in shape so it can be used by unundled code, along with an
AppImportanceMonitor class for doing so.

Some small fixes and additions to VoiceInteractionService.

Improve handling of unaccounted/overcounted battery use so that
they aren't shown to the user unless they are significant.

Change-Id: I22dd79a73f4e70103d3f8964494aebc8a31f971c
2014-07-16 22:50:31 -07:00
Vinit Deshpande
7686c061b7 Introduce RTT Manager
Change-Id: Ic9a16d587897b272f85cdb2b8c52b51bca060d18
2014-07-17 00:45:20 +00:00
Sailesh Nepal
001bbbb239 TTY: frameworks/base changes
This CL makes the following changes:
  1. New public APIs:
    - TelecommManager.getCurrentTtyMode: This is used to
      get current TTY mode. It's used by Telephony to set
      the phone state before calls are created (which is why
      it can't be a Conneciton API).
    - TelecommConstants.TTY_MODE_*: These are constants
      copied from Phone.java
    - TelecommConstants.ACTION_CURRENT_TTY_MODE_CHANGED: This
      action is fired when the current TTY mode changes.
      Apps can listen to this before and during a call.
      The old version of this was in TtyIntent.java which
      I deleted.

  2. New private API
    - TelecommManager.isTtySupported: This is used by
      Telephony to hide the TTY settings on devices
      that don't support TTY

  3. Various updates to use the constants renamed in this CL

Change-Id: I652b095af30cc2732a06829dc23492e5355660da
2014-07-16 21:14:58 +00:00
Narayan Kamath
2631fda583 am b6c2cce1: am baba92bd: Merge "Dexopt for Context.createPackageContext when code is included." into lmp-dev
* commit 'b6c2cce1233ce77565a7980752876ec73f10c537':
  Dexopt for Context.createPackageContext when code is included.
2014-07-16 19:21:05 +00:00
Narayan Kamath
b1b745790e am 095a96b1: am 4adbb78f: Merge "Adjust nativeLibraryDir for package contexts of multiArch installs." into lmp-dev
* commit '095a96b1e0715e5a4436f093f6dd31eec6409ae8':
  Adjust nativeLibraryDir for package contexts of multiArch installs.
2014-07-16 18:11:29 +00:00
Jeff Sharkey
faee1741db am 97308915: am 5ddccbd2: Merge "Add code cache directory for apps." into lmp-dev
* commit '9730891509b0c7bb50b0b2ecf498c3b993dcef39':
  Add code cache directory for apps.
2014-07-16 17:04:05 +00:00
Jeff Sharkey
d0a2de06a7 Merge "Add code cache directory for apps." into lmp-dev 2014-07-16 16:25:13 +00:00
Andrew Solovay
d75fd88ee5 am 9053f216: am ebbabf28: am c8fcb3bc: am 57553775: am 63477e67: Merge "cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38" into klp-modular-docs
* commit '9053f216f1d1c5bf4b71281a3de77a665d060cf1':
  cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38
2014-07-16 13:59:56 +00:00
Andrew Solovay
f7cecf8f4b am c8fcb3bc: am 57553775: am 63477e67: Merge "cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38" into klp-modular-docs
* commit 'c8fcb3bcdb71fe16624bea146a67b13c150adb82':
  cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38
2014-07-16 13:36:16 +00:00
Andrew Solovay
c8fcb3bcdb am 57553775: am 63477e67: Merge "cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38" into klp-modular-docs
* commit '575537759222e0277c3979e33342407aa7ca1a78':
  cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38
2014-07-16 13:29:08 +00:00
Jeff Sharkey
4ed745d359 Add code cache directory for apps.
This provides a directory where apps can cache compiled or optimized
code generated at runtime.  The platform will delete all files in
this location on both app and platform upgrade.

Bug: 16187224
Change-Id: I641b21d841c436247f35ff235317e3a4ba520441
2014-07-15 22:13:26 -07:00
Jeff Sharkey
6b5dbcbfc5 am 76014649: am 21c0fec8: Merge "Mark resource-only splits as hasCode=false." into lmp-dev
* commit '7601464965dd43b946fa8c0c29aff54da31aa3e5':
  Mark resource-only splits as hasCode=false.
2014-07-16 03:33:00 +00:00
Jeff Sharkey
78a130144b Mark resource-only splits as hasCode=false.
PackageManagerService now skips dexopt for split APKs that don't
declare they have code.  Also surface more detailed error messages
in logs.

Bug: 14975160
Change-Id: Ie6078dba724815020cee59b7fc52317e88ca097a
2014-07-15 20:18:39 -07:00
Jeff Sharkey
2c509a774d am beb50dd9: am 5417dd75: Merge "Parse more split APK manifest details." into lmp-dev
* commit 'beb50dd93279b18ebc07827b96a6a406da107af1':
  Parse more split APK manifest details.
2014-07-16 03:00:27 +00:00
Jeff Sharkey
da96e137bc Parse more split APK manifest details.
Allow split APKs to define activities, services, receivers,
providers, and metadata.  However, support for many manifest items
are explicitly omitted.

Only dexopt split APKs that include code.

Bug: 14975160
Change-Id: I2fbf99e2a62328aa2185e5924755af33060282fc
2014-07-15 18:50:00 -07:00
Narayan Kamath
2053168eb4 Dexopt for Context.createPackageContext when code is included.
The package manager now keeps track of per ISA dex-opt state.

There are two important things to keep in mind here :

- dexopt can potentially be very slow. In cases where the target
  package hasn't been dexopted yet, this can take multiple seconds
  and may cause an ANR in the caller if the context is being
  created from the main thread.
- We will need to remove the constraint that dexopt can only be
  requested by the system (or root). Apps will implicitly be
  requesting dexopt by asking for package contexts with code included.
  It's important to note that unlike dalvik, the dexopt stage in ART
  isn't optional. ART cannot load classes directly from dex files.

bug: 15313272
Change-Id: I0bd6c323a9c1f62f1c08f6292b7f0f7f08942726
2014-07-16 19:23:52 +01:00
Narayan Kamath
d8723bd3d6 Merge "Adjust nativeLibraryDir for package contexts of multiArch installs." into lmp-dev 2014-07-16 01:00:53 +00:00
Narayan Kamath
7dba6eb3ac Adjust nativeLibraryDir for package contexts of multiArch installs.
When we're creating a package context for a multi-arch app,
adjust the native library directory to match the bitness of
the process creating the context.

This change also removes apkRoot (which wasn't really being used)
and replaces it with a fully constructed secondary library path.
The secondary library path is a transitional measure until we
can reorganize the system image so that we can use nativeLibraryRoot
for system paths as well (nativeLibraryRootRequiresIsa will then
be true for all packages except for legacy installs).

bug: 16013931

Change-Id: I5ae090334b377b9e087aecf40075fab81b20b132
2014-07-16 13:37:16 +01:00
Amith Yamasani
2502d23ade am 8f1d6eeb: am 6053e05a: Merge "App restrictions schema and parser" into lmp-dev
* commit '8f1d6eebaa8dd7c30b3ee318211aacb06603bc0d':
  App restrictions schema and parser
2014-07-16 00:42:08 +00:00
Deepanshu Gupta
cc0c78c98b am dbc322c7: am 0f71531f: Merge "Support Locale.toLanguageTag on Java 6" into lmp-dev
* commit 'dbc322c7b6d2da8e4dc24a85d8c2039a947e27ae':
  Support Locale.toLanguageTag on Java 6
2014-07-15 22:04:03 +00:00
Craig Mautner
003582f2f4 am a60bb211: am 30636967: Merge "Launch activity behind launching task." into lmp-dev
* commit 'a60bb211f2a51036bb02942deca6f718001527ec':
  Launch activity behind launching task.
2014-07-15 19:12:23 +00:00
Amith Yamasani
3cc8b491be am 83f39b51: am 1c44f4c7: Merge "Revert some new APIs for restrictions provider" into lmp-dev
* commit '83f39b510d6bd8237018500496aa8673b15e9332':
  Revert some new APIs for restrictions provider
2014-07-15 19:12:15 +00:00
Narayan Kamath
50a8891a6c am b1bc099e: am 0928aa4c: Merge "Fix multiArch parsing for ApkLite." into lmp-dev
* commit 'b1bc099e0a18ab1ae7bb15be414f53b7dd762cd2':
  Fix multiArch parsing for ApkLite.
2014-07-15 17:10:23 +00:00
Andrew Solovay
5ae1335477 cherrypick from klp-docs docs: Corrected doc for getLaunchIntentForPackage(). Change-Id: I2eab0956eaedac71289e19a3618a3553908f8c38
Doc had inaccurately said that getLaunchIntentForPackage() throws an
exception if the package name is not recognized; in fact, it returns
null. Also cleaned up some style issues for that Javadoc item.

Doc is staged to:

http://asolovay.mtv:9655/reference/android/content/pm/PackageManager.html#getLaunchIntentForPackage(java.lang.String)

Bug: 15022655
Original SHA1: I2eab0956eaedac71289e19a3618a3553908f8c38

Change-Id: Ief8dfaac248ba03779c6f13237aff9b26d362fd9
2014-07-15 15:08:58 -07:00
Amith Yamasani
c8c8425b51 App restrictions schema and parser
Documented the restrictions schema in RestrictionsManager docs.
Added a parser to read the meta-data and XML file on the device.
Added more types and methods in RestrictionEntry to accomodate some
new types and construction modes.
Added a styleable for restriction attributes.

Slight tweak to permission response params.

Bug: 14582645
Change-Id: I193d1162741d110c100831cab33b48e2baf7426c
2014-07-15 17:16:54 -07:00
Craig Mautner
00e7ba05ac Merge "Launch activity behind launching task." into lmp-dev 2014-07-15 16:05:04 +00:00
Craig Mautner
bb74246278 Launch activity behind launching task.
Use ActivityOptions.makeLaunchTaskBehindAnimation() to launch tasks
behind the current task. Includes animations for launching and
launched tasks.

Fixes bug 16157517.

Change-Id: I0a94af70b4748592e94673b958ee824cfb3d7ec0
2014-07-15 11:36:25 -07:00
Deepanshu Gupta
c97b4d3996 Merge "Support Locale.toLanguageTag on Java 6" into lmp-dev 2014-07-15 16:05:01 +00:00
Deepanshu Gupta
5cd9dde5a2 Support Locale.toLanguageTag on Java 6
Change-Id: I255e79e2c288cd24b350b7c26128bbbb0b2cb9a3
2014-07-15 12:56:04 -07:00
Amith Yamasani
4d922e6f74 Merge "Revert some new APIs for restrictions provider" into lmp-dev 2014-07-15 16:04:58 +00:00
Amith Yamasani
5470bc184a Revert some new APIs for restrictions provider
Simplify back to being a broadcast receiver and add an extra to
indicate that a new request is desired vs. returning a pending
response from before.

Change-Id: Iafd16ed98293a2cc09006d2cce097fc3d590bbe2
2014-07-15 09:43:20 -07:00
Jeff Sharkey
b45b2d55fc am 9b4ec01d: am 384b8a0a: Merge "Public API for PackageInstaller!" into lmp-dev
* commit '9b4ec01d60736513ec11ab64b52f49d2d9ce68c7':
  Public API for PackageInstaller!
2014-07-15 13:41:46 +00:00
Jeff Sharkey
69ea974f17 Merge "Public API for PackageInstaller!" into lmp-dev 2014-07-15 00:41:06 +00:00
Jeff Sharkey
6c833e07a0 Public API for PackageInstaller!
Flesh out documentation and finalize first cut of API.  Also surface
installLocation and splitNames through PackageInfo.

Bug: 14975160, 15348430
Change-Id: Ic27696d20ed06e508aa3526218e9cb20835af6a0
2014-07-14 23:06:52 -07:00
Ying Wang
749bd5d322 Fix docs build.
Change-Id: I03b87aedcd5aedd8be665aa480fdeae8eafbde0e
2014-07-14 23:21:52 -07:00
Ying Wang
af8cf374f7 Fix build.
Change-Id: Ibb12a50823c6e1ea396a3f3dbf3d3b83ab762dac
2014-07-14 20:36:08 -07:00
Jay Civelli
915eade5dc Merge "Add new intent to prompt user for their device credential." 2014-07-15 00:22:01 +00:00
Jay Civelli
42feda4229 Add new intent to prompt user for their device credential.
Change-Id: I152c5efda7186d59f63c341b046896c65e37de1b
2014-07-14 18:08:04 -07:00
Narayan Kamath
a8755a8407 Fix multiArch parsing for ApkLite.
Two separate issues :
- We were not parcelling the value at all.
- We were looking for it in the wrong manifest attribute.

Note that this change has no observable effect on installs (which
is probably why it wasn't caught so far). This code path is only
used in FileInstallArgs.copyApk (where multiArch was effectively
false before this change) but the package manager extracts shared
libs *again* inside scanPackageLI where this was being done
correctly since the value there came from a "full" package
parse, and not a "lite" package parse.

Change-Id: I54c3efcf8f57e6970f8fbde8cd1f57d487b13114
2014-07-15 16:47:27 +01:00
Aravind Akella
8b674abf4d Merge "Add PackageManager feature strings for relative humidity and temperature sensors." into lmp-dev 2014-07-14 18:38:08 +00:00
Christopher Tate
a7835b6b6b Add Context.getNoBackupFilesDir()
This is an app-private filesystem space exactly like the one
reported by Context.getFilesDir(), with one exception:  files
placed here are never backed up by the full-backup infrastructure.
If an app attempts to back up any of its contents via the normal
API it's immediately ignored with a logged warning.

The restriction is also enforced on the restore side, because
apps using support libraries might wind up creating full backup
archives containing no_backup subdirs on pre-L devices (via
adb backup, Helium, &c.).  We check for this before passing the
restore data to the app, and drop it if we detect the situation
so that the app never sees the bits.

Bug 16240573

Change-Id: I11216a391f1d32117ec7ce15aafc9cd93d0337de
2014-07-14 22:56:04 +00:00
dcashman
9d2f441f9b Initial KeySet API.
Previously submitted but reverted due to doc-compilation bug.

Bug: 6967056
Change-Id: I9bd7ef299a4c92c4b327f5b5d7e951f0753b4c8a
2014-07-14 12:50:51 -07:00
Aravind Akella
8b8e74bd74 Add PackageManager feature strings for relative humidity and temperature sensors.
Change-Id: I56351f37f1c51517a3384b6040df0ed2be0c95b0
2014-07-14 18:01:55 +00:00
Craig Mautner
a228ae95ea Add task affiliation
Introduces new flag Intent.FLAG_ACTIVITY_LAUNCH_BEHIND which
causes the newly launched task to affiliate with the launching task.
(Later this flag will also launch the task behind the current task).
This shows up in a new member of the RecentTaskInfo class. This also
causes the recents list returned by getRecentsInfo to be rearranged
so that affiliated tasks are together.

Fixes bug 16157517.

Change-Id: Ia1386af50da2f01809278b62d249f05c6a0de951
2014-07-11 21:18:27 +00:00
Amith Yamasani
f6e2fcc2ea Improvements to Restrictions API
Convert restrictions provider to a service instead of a receiver.
Add a way to get pending responses from restrictions provider.
Add AbstractRestrictionsProvider.
Add a callback API for responses.

Removed some constants in RestrictionsManager.
Added new constants for errors and error codes.
Much improved javadocs.

Bug: 16176009

Change-Id: I838a50fabc80b94b632294b3a55cd5d8092acf55
2014-07-13 07:17:56 -07:00
Jeff Sharkey
a103114347 Package installation listener events.
Flesh out implementation of install session observers.  Carve out 20%
of published install progress for final system operations such as
dexopt, etc.

Add dumpsys output for active install sessions.  Create explicit
fsync() instead of overriding meaning of flush().  Hack to throw
IOExceptions over Binder calls.

Bug: 14975160, 15348430
Change-Id: I874457e40c45d2661bc0a526df9285ffea4bb77c
2014-07-12 21:12:25 -07:00
Jeff Sharkey
e0b0bef75b Surface detailed error messages from PMS.
We now both log detailed error messages and relay them back to any
observer.  Start refactoring PMS to throw when errors are encountered
internally to make it easier to reason about flow control; already
uncovered a few instances of errors being silently ignored!

Change-Id: Ia335c5e31bd10243d52fd735c513ca828e83dca0
2014-07-12 16:29:25 -07:00