Commit Graph

60748 Commits

Author SHA1 Message Date
Svetoslav Ganov
f2971c45df Merge "Multi packages per APK" into nyc-dev 2016-02-08 23:20:51 +00:00
Siyamed Sinir
f4aa7d2e8a Merge "Clamp EditText cursor in the drawable boundaries." into nyc-dev 2016-02-08 23:16:49 +00:00
Svet Ganov
354cd3ce22 Multi packages per APK
This change introduces the ability to have multiple packages per
APK. The feature is currently restricted to privileged apps and
updates to such apps.

In essence the manifest can have multiple child package declarations.
A child package can declare everything an Android package can except
some tags or attributes that are not applicable and instead inherited
from the parent when needed. For example, the target SDK of the parent
applies to all children.

A child package can be updated only through the parent package.
A package with multiple child packages is installed, uninstalled
atomically - no partial installs where some child packages are not
installed.

The remaining work is to ensure broadcasts are also sent for child
packages. This will come in a subsequent change.

Sample app:ag/848432

Design doc: https://docs.google.com/document/d/18nFWtJuZchLxrHf5SBbJW03-Ky9Rh_G0-OVB14b6u78

Change-Id: I6fd021d981bf5786290e0c53502724a14c97358c
2016-02-08 15:14:07 -08:00
Siyamed Sinir
087d7b7c9c Merge "Do not save TextView text when freezesText is false" into nyc-dev 2016-02-08 22:51:33 +00:00
John Reck
8f81637a87 Merge "Fix drawing cache on sw drawing" into nyc-dev 2016-02-08 22:46:09 +00:00
Siyamed Sinir
217c0f71df Clamp EditText cursor in the drawable boundaries.
EditText tried to draw outside of the padding boundaries because of a
cursor positioning issue in RTL. This CL removes that fix and instead
clamps the cursor position if cursor is outside of the clipped view
boundary.

Bug: 23397961
Change-Id: Id5f1fbe2a0f571100c89b21758fbb81b14d5da57
2016-02-08 22:41:26 +00:00
Siyamed Sinir
027711904b Do not save TextView text when freezesText is false
Currently TextView state is saved whenever selection is set even if
freezesText is false. This causes inconsistencies with the described
behavior for the attribute. This CL updates the behavior as:
- Always save the text for EditText
- Always save the selection if there are any.
- Do not save the text for TextView if freezesText is false.
- During onRestoreInstanceState if selection is out of the text
  boundaries, do not restore the selection.

Bug: 22076905
Change-Id: I5e05d343e752a7d106c8881993e4d95ae21a38ce
(cherry picked from commit 8535836673)
2016-02-08 22:23:25 +00:00
John Reck
046bd306e7 Fix drawing cache on sw drawing
Bug: 26644517
Change-Id: Ie087a05e1dbab75040ca39e0c43df985f8afed3e
2016-02-08 14:13:06 -08:00
Tao Bao
6af1d75a0c Merge "Add system APIs for A/B update." into nyc-dev 2016-02-08 22:07:05 +00:00
Paul Crowley
23b588c7b3 Merge "Password security for FBE disk encryption keys" into nyc-dev 2016-02-08 21:45:45 +00:00
Jorim Jaggi
0a13bfdefc Fix disappearing translucent status bar background
When relaunching an activity while preserving the window, the content
view was put on top of the status bar background, making it disappear
in case of translucent status bar backgrounds.

Change-Id: I1edff29c10616bf5386e982d7336327135f0f7a0
2016-02-08 21:18:37 +00:00
Robert Carr
e12aece4ca Ensure surfaces stay alive until activity stop.
Prior to this commit in this case of activity pause, with finishing=true
the activity manager will notify us of app visibility and we will begin
an exit animation. When this exit animation finishes, we will destroy
the application surface (unless its eligible for saving). However there
are two cases where this breaks down:

1. The exit animation finishes before the activity thread handles
the stop transition. Many activities stop rendering on Pause
but many do not and it is totally legal to do so. Sometimes this
results in non fatal dequeue buffer errors and sometimes results in
fatal errors with Pixel Buffers, etc...
2. We may resume the activity shortly after asking the window manager
to pause it. If the window wasn't eligible for animation, we will
immediately destroy it after being told of the visibility change
following PAUSE_FINISHING. It's possible for this to complete
before we process the resume. On the other hand the client
happilly processes the resume and transitions back from PAUSE
and then crashes once it attempts to use it's surface.

In this commit we have the activity manager notify the window manager
when an application has actually finished (or we have timed out
waiting). For windows which have not been explicitly removed by the
client, we defer destruction until we have received both this signal
and the animation has completed.

Bug: 26793431
Change-Id: Ib6ee8fbdd1f03450fbbfd62468a19e97774befab
2016-02-08 20:46:53 +00:00
George Mount
5affef0773 Fix Fade transition interrupt.
Bug 26963113

When a Fade transition is interrupted and reversed, the
View started the animation from the beginning. This change
captures the previous transitionAlpha and starts the animation
from the previous alpha state.

Change-Id: I801fe9ade6af4cf8446838e231bdc71841668a18
(cherry picked from commit 3cf9fa3db0)
2016-02-08 20:33:49 +00:00
Jeff Sharkey
95728a5db6 Merge "Move graphics and JIT caches to DE storage." into nyc-dev 2016-02-08 19:47:20 +00:00
Jeff Sharkey
e84bdd38ad Move graphics and JIT caches to DE storage.
We confirmed with the graphics and JIT teams that no sensitive
user data is written to these caches, so they're safe to point at DE
storage.

Since we don't have control over what is written by the app, we need
to keep the cache environment variable pointing at CE storage.

Fix ensurePrivateDirExists() to always return a path, instead of
returning null which can cause scary bugs.

Change packages.list to no longer canonicalize data paths, since
these fail when CE storage is still locked.

Bug: 27069522
Change-Id: Ifff64a036fa4aa1e61aa0dd98486bc711fbf8f4a
2016-02-08 12:24:05 -07:00
Adam Powell
44ba79e47d Permit setRetainInstance(true) on nested fragments, framework edition
Save arbitrarily nested fragments across config changes as
nonconfiguration objects. This permits the use of retain-instance
child fragments as arbitrary opaque dependencies within other
fragments.

Change-Id: Ia6640b76cfcf7ec28ba252628957a0c14863e957
(cherry picked from commit 7466be6626)
2016-02-08 19:10:44 +00:00
Adam Powell
8585ed66b9 FragmentTransaction.commitNow, framework edition
Offer commitNow and commitNowAllowingStateLoss methods on Fragment for
use by encapsulated components using fragments as implementation
details. This can help prevent unexpected ordering side effects at the
app level when a call to a library method wants to commit and
immediately initialize a fragment as an implementation detail.

Note that this change still does not permit reentrant FragmentManager
operations. It is still an error to add/remove/change fragments in the
same FragmentManager while a fragment transaction is being executed.

Have the commonly used ViewPager adapters use commitNow instead of
executePendingTransactions.

Change-Id: Ia37a871234a287423063f0c2c3e4c93d69116cad
(cherry picked from commit f6b30662f8)
2016-02-08 19:00:52 +00:00
Adam Powell
2af189a0a7 Preserve compatibility for ViewGroup#showContextMenuForChild
Have the new showContextMenuForChild(View, float, float) call through
to the old showContextMenuForChild(View) before recursing up to its
parent. This ensures that existing apps with custom views that
override the old method still get called as expected if they implement
custom behavior.

Unlike some other similar circumstances we aren't implementing this to
be bidirectional as the new behavior doesn't need to be triggered by
invoking the old. If the older method is invoked explicitly we will
still show old-style dialog context menus instead of the newer popup
style since we won't have a good place to visually anchor a popup.

Bug 26919262

Change-Id: Ie09f922d322b5a24789c7867820c4bc43824c385
(cherry picked from commit 759a4c5400)
2016-02-08 18:59:28 +00:00
Tao Bao
43cd1bcb10 Add system APIs for A/B update.
Add android.os.UpdateEngine and UpdateEngineCallback classes that
communicate with the update engine via binder APIs for A/B update.

Bug: 26695366
Change-Id: I2471858d28df5443bc0b56d9a20281ccebde4484
2016-02-08 10:38:35 -08:00
Paul Crowley
faeb3eb0ba Password security for FBE disk encryption keys
Add the means to protect FBE keys with a combination of an auth token
from Gatekeeper, and a hash of the password. Both of these must be
passed to unlock_user_key. Keys are created unprotected, and
change_user_key changes the way they are protected.

Bug: 22950892
Change-Id: Ie13bc6f82059ce941b0e664a5b60355e52b45f30
2016-02-08 15:58:29 +00:00
Julia Reynolds
d560729ce3 Update DND visual interruption choices.
Change-Id: I7050264839c566dcef1dd01d155dda694a8d1ec0
2016-02-08 15:20:02 +00:00
Jeff Sharkey
f4aa33c97c Merge "Migrate default app data on non-FBE devices." 2016-02-07 03:57:32 +00:00
Jeff Sharkey
e4697136ed Migrate default app data on non-FBE devices.
When a system app requests "forceDeviceEncrypted" they expect their
default app storage to point at a consistent location regardless of
device FBE support.  So when booting upgraded non-FBE devices, we
may need to migrate any data from CE to DE.  Note that on non-FBE
devices these are just semantic locations with identical protection.

This migration *only* works for non-FBE devices; changing
forceDeviceEncrypted flags on an FBE device always requires a full
data wipe.

Bug: 26668510
Change-Id: Ic5dfeaaf2db26c385901a638ca8ec35eb3c52859
2016-02-06 20:45:15 -07:00
Ritesh Reddy
c170204541 Merge "UsageStatsBackup Bug Fix" 2016-02-06 19:42:14 +00:00
Tamas Berghammer
25222f55f2 Merge "Add flag to "am start" to enable native debugging" 2016-02-06 13:18:58 +00:00
Adam Lesinski
2068bb8bb0 Merge "Track BLE scans in BatteryStats" 2016-02-06 00:52:38 +00:00
Jeff Sharkey
bb17d092fd Merge "Tweaks to file:// Uri StrictMode checks." 2016-02-05 23:21:30 +00:00
Jeff Sharkey
37355a9f5d Tweaks to file:// Uri StrictMode checks.
Whitelist two more legacy intent actions, and don't enforce the
StrictMode checks when resolving intents that might be coming from
legacy apps.  Newer apps would have already been yelled at directly
before getting to the resolver.

Bug: 26976516, 26977622
Change-Id: Ibf72a361ed68c52cfaac16c32ab40e79005a42e7
2016-02-05 16:19:13 -07:00
Steven Dao
6ce4a46a96 Merge "Fix GridView isHeading computation" 2016-02-05 22:23:54 +00:00
Steven Dao
061b16ff88 Fix GridView isHeading computation
- Same issue that was previously in the ListView

Change-Id: I3a3105b46bdadc43ea679b4d29d0719a67c291bc
2016-02-05 13:51:55 -08:00
Doris Liu
43a5591c8d Merge "Revert "Revert "VectorDrawable native rendering - Step 4 of MANY""" 2016-02-05 21:31:06 +00:00
Makoto Onuki
bb66a0edfe Merge "Prevent NPE in ContactsContract" 2016-02-05 21:30:39 +00:00
Makoto Onuki
da072b3e38 Prevent NPE in ContactsContract
Bug 26730982

Change-Id: I36fdfffba79e0696175edd42bb131f92cba47499
2016-02-05 13:28:45 -08:00
Jeff Sharkey
e5a20ce397 Merge "Prepare user storage just before using it." 2016-02-05 21:01:22 +00:00
Chris Wren
fab2490279 Merge "move assistant to system API" 2016-02-05 19:57:40 +00:00
Chris Wren
10c63d8a12 move assistant to system API
Bug: 26693581
Change-Id: I7e29b8521e2c33683b8032e63da734cfde1dfcc9
2016-02-05 14:55:35 -05:00
Makoto Onuki
911db2e19a Merge "Remove com.google.android.syncadapters.contacts from exception list" 2016-02-05 19:51:18 +00:00
Makoto Onuki
e798ba1033 Remove com.google.android.syncadapters.contacts from exception list
Bug 26902400
Bug 26481405

Change-Id: I3b4d0217ee033f727074f68ebe6a1c1461509d04
2016-02-05 11:45:02 -08:00
Amith Yamasani
046cc21b75 Merge "Rewrite app standby stats" 2016-02-05 19:41:04 +00:00
Amith Yamasani
a93542f9d3 Rewrite app standby stats
Don't mix up with usage stats. Keep a separate db and history
based on elapsed time and screen on time.

Unit tests for AppIdleHistory class.

Bug: 26989006
Change-Id: If343785b46da1db67f7c1c1263854c2732a232c6
2016-02-05 11:38:29 -08:00
Abhijith Shastry
89c6073cd0 Merge "Update javadoc for BlockedNumberContract." 2016-02-05 19:36:07 +00:00
Selim Cinek
2a7fc72ac4 Merge "Adapted the notification header colors to spec" 2016-02-05 19:22:01 +00:00
Selim Cinek
aef485a32a Adapted the notification header colors to spec
Change-Id: Ifa9483a5e71f32be2df14912982076d7bf2a6e9a
2016-02-05 10:43:00 -08:00
Jeff Sharkey
47f7108c12 Prepare user storage just before using it.
Wire up preparing of user-specific app storage to existing user
lifecycle hooks.  This way we're sure the storage is ready to roll
just before we start reconciling app data directories.

This also has the nice property that we only prepare storage when
we know that keys are unlocked.

Bug: 25796509
Change-Id: Ic7df9ddbcfb1e20649d11b6cf68d424e3c365ee1
2016-02-05 11:00:31 -07:00
Abhijith Shastry
dc4535ebda Update javadoc for BlockedNumberContract.
BUG: 26232372
Change-Id: I57330782fa439bed52c595986916eb24bfbceab0
2016-02-05 09:58:35 -08:00
Martijn Coenen
6c89fa4988 Merge "Improve NFC-F transceive() docs." am: 1f4f7190a8
am: 21ab24f5c7

* commit '21ab24f5c7a1659981fab2764e406f51e9d3eada':
  Improve NFC-F transceive() docs.
2016-02-05 17:26:37 +00:00
Fergus Henderson
ad086d740d Merge "Decrease the key progress increment step size to allow finer control of seekbar using keys. Bug:26926346 Change-Id: Ic7d290552c102d8602275f19dac4d57de4a53297" 2016-02-05 16:51:58 +00:00
Alan Viverette
1a2941541a Merge "Multi-user support for display density changes" 2016-02-05 16:03:58 +00:00
Chris Wren
ee0b93a5a0 Merge "Revert "move assistant to system API"" 2016-02-05 15:50:38 +00:00
Chris Wren
3b543ca859 Revert "move assistant to system API"
This reverts commit c441856bb6.
2016-02-05 10:49:22 -05:00