Commit Graph

2842 Commits

Author SHA1 Message Date
Jeff Sharkey
e016605981 Merge "Delayed ASEC allocation, refine progress handling." into lmp-dev 2014-09-08 16:38:42 +00:00
Jeff Sharkey
77d218e186 Delayed ASEC allocation, refine progress handling.
For restore use-case, session creation needs to complete quickly, so
delay ASEC allocation until session is opened.  When preflighting
size checks, only consider external when we have a known size for the
container.  Also relax size checks when using MODE_INHERIT_EXISTING
on external, since we don't know how much of existing app will be
copied over.

Consider session as "active" while commit is ongoing, until we're
either finished or pending user interaction.

Always publish first client needle movement away from 0.  Use 25% of
internal progress to reflect ASEC allocation.

Avoid CloseGuard messages about leaking PFDs.

Bug: 17405741, 17402982
Change-Id: I6247a1d335d26621549c701c4c4575a8d16ef8c2
2014-09-08 09:31:49 -07:00
Dianne Hackborn
66d557875d Merge "Work on issue #17357238: Recents is often slow if not used in a while" into lmp-dev 2014-09-07 19:03:20 +00:00
Unsuk Jung
68c936f77d Merge "Add a hardware feature definition corresponding to audio output support." into lmp-dev 2014-09-07 01:54:13 +00:00
Dianne Hackborn
a4e102ee58 Work on issue #17357238: Recents is often slow if not used in a while
Add a new activity attribute, resumeWhilePausing, that allows an
activity specifying it to immediately start running without waiting
for the previous activity to pause.  The recents activity is updated
to use this.

The implementation of this is ultimately fairly simple -- if we are
in the path of resuming such an activity, and find that we first need
to pause the existing activity, then within the activity manager we
do the regular pause flow but act like it has immediately finished
pausing right then so that we can immediately go on to the resume.
To make this clean, we tell the activity when asking it to pause that
it should not come back and tell us it is done, because we aren't in
any way waiting for it.

One potentially important change I needed to make here is the pause
callback no longer provides the saved persistent state, because we
now can't count on that callback happening.  I don't think there was
really any utility in this anyway -- all modern apps will have their
save state flow happen as part of stopping, not pausing, so we'll
only capture that saved state when the stop is reported back anyway.
And since we do send the saved state back when stopping, it would
always blow away whatever we had gotten at the pause.

Finally, update the documentation for AppTask.startActivity(), and
fix the implementation handling that to be cleaner -- we need to
deal with inTask first before getting in to "oh noes add NEW_TASK
if this isn't coming from a calling activity" flow.

Change-Id: Ia1da0fac90d7bdbaafdda2e34850d795ce17a39f
2014-09-05 18:43:43 -07:00
Jon Miranda
05cc48292b Merge "Added getStyleAttributes to access all Theme attributes." into lmp-dev 2014-09-06 00:27:20 +00:00
Jeff Sharkey
5341f94a19 Merge "Separate active state from open/close." into lmp-dev 2014-09-05 23:28:31 +00:00
Jon Miranda
042ad633bc Added getStyleAttributes to access all Theme attributes.
ViewDebug uses getStyleAttributes to get the attributes, and then gets the
attribute name and value so that Hierarchy Viewer can display it.

Bug: 17407087
Change-Id: I3577e32ae99668383701dc908bb46db14a75c3c4
2014-09-05 16:19:08 -07:00
Jeff Sharkey
bc7bce38b2 Separate active state from open/close.
Also change name to setStagingProgress() to make it clearer that
system may adjust the range.  Start throwing from openSession() in
preparation for ASEC allocation moving.

Bug: 17405741
Change-Id: Id7da51a32d5d89cb512ddafbd7ceaafbcd41cac6
2014-09-05 16:16:39 -07:00
Amith Yamasani
4b278afa0d Merge "Rename getLocalApprovalIntent to createLocalApprovalIntent" into lmp-dev 2014-09-05 19:43:44 +00:00
Michael Wright
57b4ad9f5a Merge "Add extra to ASSIST intent to indicate potential input type" into lmp-dev 2014-09-05 19:36:47 +00:00
Jeff Sharkey
43a2d06166 Merge "Allow badging updates to install sessions." into lmp-dev 2014-09-05 17:56:39 +00:00
Amith Yamasani
51a0e5b546 Rename getLocalApprovalIntent to createLocalApprovalIntent
Based on API review.

Bug: 17389920
Change-Id: I84674f25a84d317f017473b6f4ac19c849079323
2014-09-05 10:51:13 -07:00
Jeff Sharkey
ec9bad2015 Allow badging updates to install sessions.
For the system restore use-case, an installer may need to enqueue
their sessions quickly before badging details, like icons, have been
downloaded.  This change relaxes to allow an installer to update
their session badging after the session has been created.  Notify
observers when badging changes.

Rename callback registration methods to match style guide.  Relax
constraint that observers are home app.  Fix bug around internal
progress reporting.

Bug: 17376797, 17389236, 17334199
Change-Id: I5fb88508baea2f08e89a1504fcf5ef972afad4a7
2014-09-05 10:15:15 -07:00
Svetoslav
e2da374d6e Merge "Addressing API council comments for UserManager." into lmp-dev 2014-09-05 17:08:12 +00:00
Svetoslav
c7d62f02b8 Addressing API council comments for UserManager.
bug:17390424

Change-Id: I498d2541289915cb7db16e5c3249ccc7a7dc5ee6
2014-09-05 10:07:02 -07:00
Amith Yamasani
36d8d25860 Remove class that was moved to a different package.
Completes the API change.

Bug: 17006805
Change-Id: I5031e05df6b1a317a902482274eb056ecaf5dfbb
2014-09-05 09:42:59 -07:00
Alexandra Gherghina
f363bda252 Merge "Rename intent extra following API review" into lmp-dev 2014-09-05 15:16:02 +00:00
Alexandra Gherghina
3315f6b5a3 Rename intent extra following API review
Bug: 17389968
Change-Id: Id2bd8d12019ad7a4c5a3ac8a7f76f55d06fc4dff
2014-09-05 15:48:07 +01:00
Michael Wright
8ab940ab9b Add extra to ASSIST intent to indicate potential input type
This lets Now and other assistance apps know to start up expecting a
specific type of input (e.g.  keyboard).

Bug: 16355810
Change-Id: I158e416ef8310a01cb22b19fd5b6850d2429e266
2014-09-04 14:39:47 -07:00
Adam Lesinski
7f61e96db7 Add Configuration changes to UsageStats
Bug:17354208
Change-Id: I9b2f595e51b656607e30e798926cfb7e25134944
2014-09-04 12:15:32 -07:00
Unsuk Jung
50909f6732 Add a hardware feature definition corresponding to audio output support.
Should also update/add xml files in platform/frameworks/native

Bug: 15318046

Change-Id: I5038ef38cd82977f257ec1499964d0bc291cbf59
2014-09-02 18:37:55 -07:00
Jean-Michel Trivi
5f4cfd3ab7 Merge "Move *_AUDIO_PLUG actions from Intent to android.media.AudioManager" into lmp-dev 2014-09-02 17:52:46 +00:00
Dianne Hackborn
76a65d5f00 Merge "Hide the interaction part of VoiceInteractionService." into lmp-dev 2014-09-02 17:30:49 +00:00
Dianne Hackborn
d7c0395d26 Hide the interaction part of VoiceInteractionService.
Also the ability to start voice activities is turned off,
though for testing purposes it can be turned back on with a system
property.

Change-Id: I867704d32c53beeb851ceea9b45c28bf5c01ef61
2014-09-02 10:29:28 -07:00
Jean-Michel Trivi
c5258433dd Move *_AUDIO_PLUG actions from Intent to android.media.AudioManager
For ACTION_HEADSET_PLUG (already in SDK):
 - duplicated definition in AudioManager and moved
  javadoc there. Javadoc in Intent points to AudioManager.
 - the String value is not changed

For ACTION_HDMI_AUDIO_PLUG (being added in SDK):
 - moved defintion from Intent to AudioManager
 - updated String value to reflect package name "android.media"
  instead of using "android.intent"
 - added definition of the extras, but removed "name".

For ACTION_ANALOG_AUDIO_DOCK_PLUG,
    ACTION_DIGITAL_AUDIO_DOCK_PLUG,
    ACTION_USB_AUDIO_ACCESSORY_PLUG,
    ACTION_USB_AUDIO_DEVICE_PLUG, all hidden:
 - moved definition from Intent to AudioManager,
 - changed the value from "android.intent.*" to "android.media.*"

Updated AudioService, UsbDeviceManager and UsbHostManager
 to refer to the actions in AudioManager, not Intent.

Bug 17289385

Change-Id: I61dd73140022d2bb9a676a57f595092c8fa89dcc
2014-08-29 17:29:27 -07:00
dcashman
efb1f36f09 Merge "Address KeySet API Review" into lmp-dev 2014-08-29 23:06:50 +00:00
Dianne Hackborn
e56665cd4e Merge "Oh sticky broadcasts, I'd like to do even worse to you." into lmp-dev 2014-08-29 22:37:48 +00:00
Dianne Hackborn
2c3530061f Oh sticky broadcasts, I'd like to do even worse to you.
Change-Id: I36a7eae294d325d1bd88c15d52566dd4ee1f35be
2014-08-29 15:27:11 -07:00
Amith Yamasani
dda003ffa8 Clean up apks installed for a removed user
When a user is removed, enumerate through all installed packages
to see if any of them are not installed for any user. Delete the
package if no user has it "installed".

Added a pm option to install an apk for a specific user.

Fixed a crash in UserManagerService when executing the above
cleanup - dying users generate a null UserInfo.

Bug: 15426024
Change-Id: I571decde1ae1c257d0da6db153b896aad6d6bcb4
2014-08-29 10:28:38 -07:00
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