238061 Commits

Author SHA1 Message Date
Jeff Sharkey
ed2edc7a8e Clean up AudioRouting API internals.
Reuse existing OnRoutingChangedListener APIs and internal logic by
extending the new AudioRouting.OnRoutingChangedListener.  We use
new default methods to delegate incoming calls on the legacy
interfaces.

Fix a handful of locking bugs.

Bug: 27950070, 27952052, 27949198
Change-Id: Ie584108bcbeeab064d8e27d4984e541f31d36728
2016-04-11 13:01:55 -06:00
Jeff Sharkey
155e5d6de7 Send USER_UNLOCKED broadcasts before PRE_BOOT.
Apps handling the PRE_BOOT_COMPLETED broadcast expect the user to be
fully unlocked and working.  Most system internals are using the
SystemServer interface, and we dispatch the unlocked event through
them before starting the PRE_BOOT process.

However, there are still some system internals that haven't been
converted to SystemServer, so we need to also send USER_UNLOCKED
for them to pick up before starting PRE_BOOT work.

Bug: 28086245
Change-Id: Ie847b463ea55a6dddcc49d243ef8fb308e5179a7
2016-04-11 12:13:08 -06:00
Jeff Sharkey
27b5d2e2f9 Skip unlock requests for users who aren't running.
Bug: 28111989
Change-Id: I80b6dd1e5a2d919b0a198667e18b7979effe6999
2016-04-11 11:14:04 -06:00
Jeff Sharkey
4288419787 Use inode numbers for CE storage.
Certain operations, such as clearing/destroying app data, or just
counting on-disk size, require us to know the CE storage directory
of a particular app.  To facilitate these operations, offer a method
to get the inode of a CE directory, and accept that inode number
for later operations.  Collect and store the inode number in
PackageUserState for future use when that user's CE storage is
still locked.  This design means it's safe to clear/destroy app
data in both CE/DE storage at the same time.

Move most installd-related methods to a uniform calling convention
that accepts a single parent PackageParser.Package, and internally
fans out to handle all "leaf" packages under that parent.

In previous releases, we started installing apps using a new
directory-based layout, where all app code, unpacked native libraries,
and optimized code is bundled together.  So now we only have a single
path to measure for code size.  This fixes several outstanding bugs
that were causing sizes to be miscounted for apps supporting multiple
architectures.

Fix a subtle bug in PackageSettings that would cause "notLaunched"
to be parsed incorrectly.

Bug: 27828915, 27197819
Change-Id: Ia582cf3550553292bde4bb4313367111332913ec
2016-04-10 23:26:09 -06:00
Jeff Sharkey
d4041db120 More freezing of apps when doing surgery.
We're still hearing rare reports of apps running while the system
is trying to do surgery on app code/data.  To fix this once and for
all, start guarding all PackageManager critical sections by freezing
and then killing the app before doing surgery.

This is done by introducing a new PackageFreezer class which can be
used in try-with-resources blocks.  It also handles child packages
uniformly, and it uses CloseGuard to defensively un-freeze packages
if a caller leaks without closing.

The set of frozen packages is now maintained outside of PackageSetting
to support newly installed packages.  Add docs for the various locks
and method syntax conventions, including the new "LIF" syntax which
indicates the caller is responsible for freezing the package being
worked on.

Bug: 27698554
Change-Id: I64c4c48123060ccb4d4c50c2fbf3ef223c01e659
2016-04-09 17:25:06 -06:00
Jeff Sharkey
8ed9ece93d Revert "Keep read/write external storage as built-in permissions"
This reverts commit 4086750e30d04715d5be3ca6eaa75a4a1fa41d56.
2016-04-09 16:12:01 -06:00
Jeff Sharkey
edd11f50c6 Add missing method called from native code.
Without this method, boot would fail.

Bug: 28093387
Change-Id: I304d48bbf3ea24ce6af3b5a71c60b8ed06be38e1
2016-04-09 15:48:46 -06:00
Svetoslav Ganov
30f37594e0 Merge "Keep read/write external storage as built-in permissions" into nyc-dev 2016-04-09 20:16:13 +00:00
Svet Ganov
4086750e30 Keep read/write external storage as built-in permissions
These are permissions that were mapped to gids but we need
to keep them listed event though they are no longer mapped
to gis until an upgrade from L to the current version is to
be supported. These permissions are built-in and in L were
not stored in packages.xml as a result if they are not defined
in the platform.xml while parsing packages.xml we would
ignore these permissions being granted to apps and not
propagate the granted state. From N we are storing the built-in
permissions in packages.xml as the saved storage is negligible
(one tag with the permission) compared to the fragility as one
can remove a built-in permission which no longer needs to be
mapped to gids and break grant propagation.

bug:27185272

Change-Id: I440f6ceb7bc4710dece1a2fadabc995b18fc2a83
2016-04-09 13:05:26 -07:00
Bill Yi
6f3934ea1c Merge "Import translations. DO NOT MERGE" into nyc-dev 2016-04-09 14:02:02 +00:00
Bill Yi
575df07b96 Merge "Import translations. DO NOT MERGE" into nyc-dev 2016-04-09 14:00:25 +00:00
Bill Yi
3a82ab0e92 Merge "Import translations. DO NOT MERGE" into nyc-dev 2016-04-09 13:56:38 +00:00
Bill Yi
544c68ade8 Merge "Import translations. DO NOT MERGE" into nyc-dev 2016-04-09 13:56:22 +00:00
Bill Yi
9af0c89da7 Merge "Import translations. DO NOT MERGE" into nyc-dev 2016-04-09 13:56:07 +00:00
Bill Yi
2264059faf Merge "Import translations. DO NOT MERGE" into nyc-dev 2016-04-09 13:55:42 +00:00
Bill Yi
063b93fb1d Import translations. DO NOT MERGE
Change-Id: I24b24fd8e5c2bf5103cdcf116cffd6972a7b4b88
Auto-generated-cl: translation import
2016-04-09 06:42:33 -07:00
Bill Yi
e82bf7a246 Import translations. DO NOT MERGE
Change-Id: I220fe8a76386aab056c328505c3c2085918c87c2
Auto-generated-cl: translation import
2016-04-09 04:26:45 -07:00
Bill Yi
4a1171ea92 Import translations. DO NOT MERGE
Change-Id: If767f0a767da0172ba79fb9d8feaff6c1a8c9157
Auto-generated-cl: translation import
2016-04-09 04:14:00 -07:00
Bill Yi
c0b41f4be4 Import translations. DO NOT MERGE
Change-Id: I08c2a94ddbcc4aea0a5e5ef8a1e54cc0fda4ca4f
Auto-generated-cl: translation import
2016-04-09 04:11:44 -07:00
Bill Yi
2f4fa529be Import translations. DO NOT MERGE
Change-Id: I0eb19bcbf8069fba98efb31862b1e2e85010d95c
Auto-generated-cl: translation import
2016-04-09 04:07:52 -07:00
Bill Yi
51a8f3d087 Import translations. DO NOT MERGE
Change-Id: If880b0b7c4b659f1f3b7c481ccd85b7a8bef0cc1
Auto-generated-cl: translation import
2016-04-09 04:03:22 -07:00
Lorenzo Colitti
6ad205b66d Merge "More APF debuggability." into nyc-dev 2016-04-09 10:13:24 +00:00
Jorim Jaggi
c3769ae3f3 Merge "Disable snap targets that make apps <220dp" into nyc-dev 2016-04-09 07:07:02 +00:00
Jorim Jaggi
19cf297258 Disable snap targets that make apps <220dp
- Make minimal task size 220dp.
- Disable upper and lower targets if they result in less
than 220dp task size.
- If even the middle target doesn't allow 220dp task size,
disable entering split screen altogether.

Bug: 26451260
Change-Id: I06e358c9b3da0172c5def75cdadf975f87f9fa57
2016-04-09 00:02:49 -07:00
Jaesung Chung
6d01f0af43 Merge "ExifInterface: inform the developers to close their FD/streams" into nyc-dev 2016-04-09 06:04:37 +00:00
Jorim Jaggi
fe52f91f0c Merge "Only force drawing status bar background if target >= N" into nyc-dev 2016-04-09 04:04:35 +00:00
Jorim Jaggi
8f5701bd9f Only force drawing status bar background if target >= N
Since forcing it all the time has the potential of breaking
compatibility with apps, we don't want to do this.

Instead, we only force it if the app targets >= N.

We communicate this to window manager with
PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND.

We introduced this for 2-up split-screen. If we have an app
that doesn't draw the status bar background by itself, we
just force the whole bar to be black.

The same applies for windows that used translucent status
bar - we also force the whole bar to be black

Bug: 27285627
Change-Id: I7f1ceaa364f8a4e851935f77aa5e8d913bf11791
2016-04-08 20:49:20 -07:00
Jack Yu
2e062ab8de Merge "Excluded certain APNs (e.g. IMS) from mobile data usage." into nyc-dev 2016-04-09 03:30:31 +00:00
Chong Zhang
c9039e05ea Merge "Fix for activity manager crash due to null task" into nyc-dev 2016-04-09 03:18:26 +00:00
Arunesh Mishra
1f07649e7d Merge "SoundTriggerHelper re-design." into nyc-dev 2016-04-09 01:31:49 +00:00
Jorim Jaggi
af80db4489 Fix a few issues with non-resizable info activity
- If stack doesn't have focus, we execute TASK_TO_FRONT transition.
Set the correct animation for this transition type.
- Make sure to execute app transition when we are finishing an
activity that isn't resumed.
- Correctly set mAnimatingExit for the case if the activity is
already paused.

Bug: 27327287
Bug: 27154882
Change-Id: I253938727ba0eea76ebadba242315bd2d305d0b4
2016-04-09 01:18:40 +00:00
Jorim Jaggi
7b3936977f Update visuals of force resizable
Bug: 27327287
Change-Id: I32d30a8044f683e2f6287035250126999f623e15
2016-04-09 01:14:48 +00:00
Jorim Jaggi
d06e606b98 Do not retry taking screenshots
We are holding the activity manager lock during a sleep() :-(, which
is a really really bad idea, and leads to delays in certain cases.

Bug: 28026841
Change-Id: I0855350ee429907e4597e5813c7e4fefd889319d
2016-04-09 01:13:29 +00:00
Jorim Jaggi
b2005a0217 Fix BackdropFrameRenderer leak
Make sure to stop the thread when the window gets detached. When dismissing
the docked/fullscreen stack with the divider, we stop the activity while
we are still in resizing mode.

Bug: 28054032
Change-Id: I2d5d0ffaa9bc47e4d5252414b9a045beaebb7a69
2016-04-09 01:07:34 +00:00
Amith Yamasani
0cc0381714 Merge "Improved javadoc for onLocalVoiceInteractionStopped" into nyc-dev 2016-04-09 00:47:23 +00:00
Steve McKay
4f89b6c6b8 Use writeStringList for selection parceling.
Bug: 27208679
Change-Id: Id0506e49254e0b3fcddb7d3f92717da0a95f2f6d
2016-04-08 17:36:25 -07:00
Wyatt Riley
da9f52a795 Merge "Fixed the sign error in GnssClock" into nyc-dev 2016-04-08 23:41:18 +00:00
Zhijun He
b0fe2a9637 Merge "Camera2: update API per API council review" into nyc-dev 2016-04-08 23:30:41 +00:00
Zhijun He
0034743236 Camera2: update API per API council review
Per API concil recommendation, made below API change:
* change method name from createCaptureSessionByOutputConfiguration to
createCaptureSessionByOutputConfigurations
* Change method name from
createReprocessableCaptureSessionWithConfigurations to
createReprocessableCaptureSessionByConfigurations

Bug: 27950067
Change-Id: I8346d384210556a40bc2544c3660cc4819f304a1
2016-04-08 23:21:06 +00:00
Aga Wronska
9870ad94ed Merge "Consolidate user actions metrics into one histogram." into nyc-dev 2016-04-08 22:40:46 +00:00
Phil Weaver
af93306a3d Merge "Reduce unnecessary accessibility cache clearing." into nyc-dev 2016-04-08 22:33:33 +00:00
Eric Laurent
15ad24b514 Merge "audio service: fix volume burst on user switch" into nyc-dev 2016-04-08 21:36:12 +00:00
Tenghui Zhu
3cb5ba75b7 Merge "Update the documentation on createCircularReveal" into nyc-dev 2016-04-08 21:24:04 +00:00
Julia Reynolds
93bd44300c Merge "Improve content descriptions for volume dialog icons." into nyc-dev 2016-04-08 21:22:42 +00:00
Aga Wronska
43df577ac4 Consolidate user actions metrics into one histogram.
Bug: 27301081
Change-Id: Ib2ac46dd268e492c576bc082dc349c4a6826897f
2016-04-08 14:16:40 -07:00
Julia Reynolds
dfe0b4df7e Improve content descriptions for volume dialog icons.
Bug: 27971063
Change-Id: I9282083f68a5cd607fe0cb2893829675559acb6d
2016-04-08 17:16:09 -04:00
Joe Onorato
e93fecf9a3 Merge "This assert is triggering when it shouldn't be. Disable it for now." into nyc-dev 2016-04-08 21:12:06 +00:00
Lifu Tang
e50607efab Fixed the sign error in GnssClock
Bug: 28068514
Change-Id: I71b68acb70d4139f94f3829bd4a280d926e251de
2016-04-08 14:10:42 -07:00
Bryce Lee
196a05724d Merge "Add granular control over disabled effects." into nyc-dev 2016-04-08 20:59:10 +00:00
Mark Renouf
44303087cc Merge "Customizes input extract edit view for Wear" into nyc-dev 2016-04-08 20:58:48 +00:00