Commit Graph

2811 Commits

Author SHA1 Message Date
Jeff Sharkey
c62f2e1bb7 Merge "FileBridge needs to keep strong reference to PFD." into lmp-dev 2014-08-29 06:52:55 +00:00
Jeff Sharkey
9a1507aa10 FileBridge needs to keep strong reference to PFD.
Even though we've grabbed the underlying FD, the PFD could be GC'ed
and when finalized it would end up closing the underlying FD.  This
fix ties the PFD object lifecycle to the returned OutputStream.

Bug: 17183379
Change-Id: Ibee8f4cf78fee357181a250d15f2a653294b2877
2014-08-28 20:38:10 -07:00
Jeff Sharkey
ca5186e9d5 Merge "Define EXTRA_SIZE for ContentProviders." into lmp-dev 2014-08-28 16:12:47 +00:00
Jeff Sharkey
5b836f29a3 Define EXTRA_SIZE for ContentProviders.
Also make Size and SizeF parcelable.

Bug: 17205016
Change-Id: Ide397b84864f6cad7f8d89e66b6c8697a3ad335b
2014-08-27 15:13:57 -07:00
Jae Seo
cfd861ec15 Add android.software.live_tv feature
This feature will be listed by Android TV devices that allow displaying
contents from TV inputs implemented with the
android.media.tv.TvInputService API. (Note that not all leanback devices
support this feature.)

Bug: 17284986
Change-Id: Ic1f23f6f5955866e9f1db9229693d370576066a3
2014-08-27 14:02:15 -07:00
Dianne Hackborn
852975d537 Fix issue #17179314: Make recents limits consistent
The max limit is now 100 (or 50 on svelte devices), and that is
what everyone used.

Re-arranged things so we have a big expensive "fix the world!"
function for recents that we go in to at only select points:
when first initializing the system, when external storage comes
and goes, and if we detect something wrong with the recents
structure.

With that, now getRecentTasks() and addRecentTaskLocked() are
generally much simpler, doing very little work in most cases.
This will help a lot with scaling up to many more recents
entries.

Change-Id: I7b5ae89edc06568f68c8af54a4420aff7635581c
2014-08-26 21:24:42 -07:00
Jim Miller
e7b6b1aae7 Merge "Hide fingerprint API until new API is ready" into lmp-dev 2014-08-26 22:02:52 +00:00
Jeff Sharkey
264a5f5b34 Merge "Treat moving app as installing in new location." into lmp-dev 2014-08-26 20:29:13 +00:00
Jeff Sharkey
381d94b712 Treat moving app as installing in new location.
Moving apps to/from SD cards has historically been neglected, meaning
it can easily break.  This happened most recently for split APKs,
64-bit native code, and multiArch support.

To make this easier to maintain, treat move as a no-op upgrade,
following the inheriting code path that split APKs depends on.

Also clean up scary places where different flavors of flags were
being combined, and remove unused flags.  Fix media broadcasts to be
sent based on existing app storage location.

New API to abandon install session without opening it.

Bug: 17158495
Change-Id: Ia33bf8f6fdaae099124dfe534f0e320b37bc8e16
2014-08-26 10:09:27 -07:00
Adam Lesinski
d691f31e51 Merge "Introduce anydpi density resource qualifier" into lmp-dev 2014-08-26 17:03:44 +00:00
Vinod Krishnan
51f6f52d9d Merge "Fwk: Adding an ECG hardware feature" into lmp-dev 2014-08-26 16:37:33 +00:00
Adam Lesinski
31245b4f06 Introduce anydpi density resource qualifier
This is meant to be used with scaleable vector
drawables, and are chosen as the best match unless
there is a configuration that matches the density
requested exactly.

Bug:17007265
Change-Id: Ic3288d0236fe0bff20bb1599aba2582c25b0db32
2014-08-25 17:47:30 -07:00
Nancy Chen
e4b1d57dfd Merge "API review PhoneManager -> TelecommManager. Rename methods (6/6)" into lmp-dev 2014-08-25 22:24:09 +00:00
Jim Miller
777f5b2f47 Hide fingerprint API until new API is ready
Fixes bug 16487912

Change-Id: I7dff69a983fb0da4b41e23266a6ec92058e03dbc
2014-08-25 15:12:22 -07:00
Adam Lesinski
6b2416492e Merge "PM: Load all splits when parsing an app manifest" into lmp-dev 2014-08-25 21:41:22 +00:00
Vinod Krishnan
1ab7689ce8 Fwk: Adding an ECG hardware feature
Change-Id: I77e36b010a8ff0cce89a419b64a24f16d7e68caf
2014-08-25 14:32:38 -07:00
Nancy Chen
0eb1e402c7 API review PhoneManager -> TelecommManager. Rename methods (6/6)
PhoneManager
- handlePinMMI docs should explain what a Pin is and what MMI is
- rename isInAPhoneCall to isInCall
- rename showCallScreen to showInCallScreen
- merge this class into TelecommManager, we don't need both

Bug: 16960458

Change-Id: I7d573e27ed093f2ddb7849703cc62f9916835393
2014-08-25 10:50:44 -07:00
Adam Lesinski
3bcbd906bc PM: Load all splits when parsing an app manifest
Previously the base APK would be considered without
any splits loaded into the same AssetManager. This would
prevent splits from overriding attributes in the
AndroidManifest.xml, such as enabled state based on
version, etc.

This CL loads all APKs in the cluster into a common AssetManager
from which the base AndroidManifest.xml is parsed.

Bug:17006358
Change-Id: Ib88096c49d0c4f743b7e6ba0921251459bee107c
2014-08-22 17:13:00 -07:00
Jeff Sharkey
941a8ba1a6 Installing splits into ASECs!
Sessions can now zero-copy data directly into pre-allocated ASEC
containers.  Then at commit time, we compute the total size of the
final app, including any inherited APKs and unpacked libraries, and
resize the container in one step.

This supports both brand new ASEC installs and inheriting from
existing ASEC installs.  To keep things simple, it currently requires
copying any inherited ASEC contents, but this could be optimized in
the future.

Expose new vold resize command, and allow read-write mounting of ASEC
containers.  Move native library extraction into the installer flow,
since it needs to happen before ASEC is sealed.  Move multiArch flag
into NativeLibraryHelper, instead of making everyone pass it
around.  Migrate size calculation to shared location.

Separate "other" package name in public API, provide a path to a
storage device when relevant, and add more docs.

Bug: 16514385
Change-Id: I06c6ce588d312ee7e64cce02733895d640b88456
2014-08-22 16:25:04 -07:00
Adam Lesinski
ebc3e4cbf1 Report the right resource version in am get-config
Change-Id: I79ed3db45d91d8ec7e6f67608533ce3adf22ab27
2014-08-21 12:21:45 -07:00
Jeff Sharkey
ed118e1e9f Merge "More progress towards split APKs in ASECs." into lmp-dev 2014-08-19 02:43:23 +00:00
Jeff Sharkey
bb7b7bea19 More progress towards split APKs in ASECs.
Teach DefaultContainerService to install split APKs, which will be
needed when moving to/from ASECs.  Also support forward locking for
testing purposes, even though its deprecated.

Move native library unpacking code to NativeLibraryHelper location
where it can be shared by both DCS and PMS.  Also update footprint
calculation logic to mirror the later unpack codepaths.

Immediately persist sealed sessions.  When resolving install
locations, prefer location of any existing install of that
package.  Lightweight parse requesting certificates now always
verifies that all contents are signed correctly.

Bug: 16514385
Change-Id: Ida1c4eb0f95b065104dd971e19126d4085ebf1f0
2014-08-20 12:47:27 -07:00
Adam Lesinski
54130de7d2 Fix crash when launching Activities in 'android' package
The LoadedApk for the 'android' package doesn't have a resource
directory set. This is fine since the AssetManager loads the
'android' package's resources by default.

This is a regression caused by https://googleplex-android-review.googlesource.com/#/c/525840/

Bug:17104110
Change-Id: I8a2158a75b4ff0e941837c11a2cb77a7aad09270
2014-08-20 17:58:10 +00:00
Amith Yamasani
d1d7c022c6 Rename restrictions API class and method
AbstractRestrictionsProvider -> android.service.restrictions.RestrictionsReceiver
requestPermission->onRequestPermission

Bug: 17006805
Change-Id: I03b1626d6abcd2ad739a55b60b54fdbf9810ceca
2014-08-19 17:03:41 -07:00
Nicolas Prevot
ec4bb45a8c When notify uri changes, changing the way we retrieve the userId.
Changing from UserHandle.getCallingUserId() to UserHandle.myUserId().
This makes the DocumentProvider work across users.

BUG: 16126891

Change-Id: I8ede64f2087894bb85eff5286803cdebd57e7137
2014-08-19 17:09:09 +01:00
Kenny Guy
545de86fca Merge "First part of renaming methods in LauncherApps." into lmp-dev 2014-08-16 04:29:45 +00:00
Jon Miranda
611f8f17f3 Merge "Exposes style and theme data, adds developer option." into lmp-dev 2014-08-18 21:31:41 +00:00
Jon Miranda
836c0a8b94 Exposes style and theme data, adds developer option.
Adds support for a String[] return type in ViewDebug; and in addition to that,
the hasAdjacentMapping method can use the String array as means to map a key to
its value.

Adds DEBUG_VIEW_ATTRIBUTES to Settings so that the heavy per-view
computations only affect those who opt in. This setting is used in
CoreSettingsObserver to avoid impacting start time.

Change-Id: I8f507e4e5361414c30d247e8d9815205feb5e91f
2014-08-18 18:32:53 -07:00
Dianne Hackborn
57137289a2 Merge "Fix issue #17082301: replacePreferredActivity is ignoring userId" into lmp-dev 2014-08-16 03:56:00 +00:00
Dianne Hackborn
f2ac276127 Fix issue #17082301: replacePreferredActivity is ignoring userId
It was being given the argument and just...  ignoring it.

But the bulk of this change is to make replacePreferredActivity
better about replacing -- it now detects if the request will not
make a change and, in that case, just do nothing.

The reason for this?

It turns out that each time you install an app, the telephony
system is calling this function over 20 times to set the default
SMS app.  This is almost always doing nothing, but before this
change it means we would re-write packages.xml over 20 times...!

There are definitely more improvements that can be made here (delaying
write of packages.xml to allow them to batch together, reducing
the amount of calls being made), but until then this is a big
improvement.

Change-Id: I02c4235b8ecd5c13ef53e65d13c7dc2223719cec
2014-08-16 19:34:13 -07:00
Jeff Sharkey
742e790294 Progress towards staging ASECs.
Move location selection logic into shared PackageHelper location,
and share it between DCS and PackageInstaller.  Fix bugs related to
installed footprint calculation; always count unpacked native libs.

Have PMS do its own threshold checking, since it's fine to stat
devices.  PMS only ever deleted staging ASECs, so move that logic
into installer and nuke unclaimed staging ASECs.  Allocate legacy
ASEC names using PackageInstaller to make sure they don't conflict
with sessions.

Start wiring up session to allocate ASEC and pass through staged
container for installation.

Fix bug to actually delete invalid cluster-style installs.

Bug: 16514385
Change-Id: I325e0c4422fc128398c921ba45fd73ecf05fc2a9
2014-08-18 15:52:24 -07:00
Nicolas Prévot
2e365c805a Merge "Revert "Adding the requiredForProfile flag."" into lmp-dev 2014-08-16 04:29:45 +00:00
Nicolas Prévot
6d24849387 Revert "Adding the requiredForProfile flag."
This reverts commit 531270a4a1.

BUG: 17102702

Change-Id: Iec5d047dc74bd4899662ede82c48fc024238427c
2014-08-18 12:51:11 +01:00
Alan Viverette
34a14f967a Better handling of unresolved theme attributes
Also adds a (very obviously wrong) default color to RippleDrawable

Change-Id: I6d29b371f4e59accbebf25eb059b1f372b9184b0
2014-08-15 17:15:39 -07:00
Adam Lesinski
91306bccf1 Merge "Add FeatureGroup to PackageInfo" into lmp-dev 2014-08-15 18:56:10 +00:00
Adam Lesinski
d3edfde51b Add FeatureGroup to PackageInfo
FeatureGroups replace top-level FeatureInfo objects.
FeatureGroups inherit top-level FeatureInfos but override
them if the feature names are the same.

Bug:16822121

Change-Id: I80b2cb778a0fbcb4521efce986fba641e0914290
2014-08-15 15:53:35 -07:00
Jeff Sharkey
a0907436c0 PackageInstaller API refactoring.
Switch to using IntentSender for results to give installers easier
lifecycle management.  Move param and info objects to inner classes.

Bug: 17008440
Change-Id: I944cfc580325ccc07acf22e0c681a5542d6abc43
2014-08-15 15:57:02 -07:00
Kenny Guy
f939dbaf76 First part of renaming methods in LauncherApps.
Added new versions of the APIs that need
renaming.

Bug: 17008230
Change-Id: Ic74d21115dd250082f6dbc45d1301635cc176cfc
2014-08-15 16:35:28 +01:00
Jeff Sharkey
e9b78fdbbe Fix javadoc on PROTECTION_FLAG_APPOP.
Change-Id: I36e339ac2c6e6842441fd2572b0b8cda24bd34ca
2014-08-14 16:01:37 +00:00
Jim Miller
4d64746d6a Revert "Add new intent to prompt user for their device credential."
Move API to KeyguardManager.

Fixes bug 17006280

This reverts commit 2e7beadedeb7d41d8c2d1cc62956bdd9f5081d26.

Change-Id: I7b58bb4d9db828028c1021f17b01745c5ec2161e

Conflicts:
	core/java/android/content/Intent.java
2014-08-15 00:35:50 +00:00
Jeff Sharkey
9f991a2f3e Fix javadoc attr reference.
Change-Id: I330ba0cac66b4515388287c0ec4856e3ce6c93cb
2014-08-13 18:38:55 +00:00
Dianne Hackborn
3c9ad6ebd8 Merge "Fix some IntentFilter docs." into lmp-dev 2014-08-12 23:14:35 +00:00
Dianne Hackborn
dc894046be Fix some IntentFilter docs.
Change-Id: I1dc6feb41bf275583d8b25ed5ca98d2b1432c752
2014-08-12 18:59:28 -07:00
Narayan Kamath
4903f64ba2 Persist the cpuAbiOverride setting.
If an app is installed with an ABI override (adb install -r --abi)
we should remember this so that we don't revert to the scan derived
ABI on the next reboot.

bug: 16476618

Change-Id: I6085bc0099eb613dd9d3b07113c7c13859780697
2014-08-13 12:41:19 +01:00
Jean-Michel Trivi
37d7804627 HDMI plug intent and associated information
Read HDMI device information from audio ports and add it as
 extras in the connection intent.
Document the new extras in the connection intent.
Make Intent.ACTION_HDMI_AUDIO_PLUG public.

Bug 10549017

Change-Id: I6236b5363f00c433e443195fae8c43af2fc834f7
2014-08-12 17:16:30 +00:00
Amith Yamasani
a6f4d58b90 Allow singleton providers to accept connections from other users
This is required for singleton providers like sms log.

Change-Id: Icb18a764c27dc1b43f8b8bcc24c21c91274995fd
2014-08-08 16:50:42 -07:00
Nicolas Prevot
d18a1da18d Merge "Validate that the authority of incoming uris matches." into lmp-dev 2014-08-07 18:53:12 +00:00
Nicolas Prevot
f300babd25 Validate that the authority of incoming uris matches.
BUG: 16864837

Change-Id: I2d4473985777b9525b101c1b02ad2395342b9722
2014-08-08 18:27:00 +01:00
Nicolas Prevot
c3093eb86b Merge "Making getProviderMimeType work across users." into lmp-dev 2014-08-07 18:39:40 +00:00
Nicolas Prevot
1dddc7fc79 Making getProviderMimeType work across users.
For apps with cross-user uri grants, but without INTERACT_ACROSS_USERS.

BUG: 16128346

Change-Id: I0136cd274eaf457804d196c09f746f66c1fe599f
2014-08-08 15:26:23 +01:00