OSDN Git Service

android-x86/frameworks-base.git
6 years agoMerge "Merge "Added default home values of CDMA roaming indicator" am: a7c51a3d7f...
Android Build Merger (Role) [Fri, 3 Nov 2017 01:37:05 +0000 (01:37 +0000)]
Merge "Merge "Added default home values of CDMA roaming indicator" am: a7c51a3d7f" into stage-aosp-master

6 years agoMerge "Added default home values of CDMA roaming indicator"
Jack Yu [Fri, 3 Nov 2017 01:35:29 +0000 (01:35 +0000)]
Merge "Added default home values of CDMA roaming indicator"
am: a7c51a3d7f

Change-Id: Ia178ace4de625a358f284283fb4a5e5c9b4f7dd4

6 years agoMerge "Merge "[framework] Compile secondary dex files in isolation" am: e9e3bfe353...
Android Build Merger (Role) [Fri, 3 Nov 2017 01:31:51 +0000 (01:31 +0000)]
Merge "Merge "[framework] Compile secondary dex files in isolation" am: e9e3bfe353" into stage-aosp-master

6 years agoMerge "[framework] Compile secondary dex files in isolation"
Calin Juravle [Fri, 3 Nov 2017 01:30:30 +0000 (01:30 +0000)]
Merge "[framework] Compile secondary dex files in isolation"
am: e9e3bfe353

Change-Id: I8f0d9303b3656a298700e26a377d89b7fdd81b4e

6 years agoMerge "[framework] Compile secondary dex files in isolation"
Calin Juravle [Fri, 3 Nov 2017 01:21:27 +0000 (01:21 +0000)]
Merge "[framework] Compile secondary dex files in isolation"
am: e9e3bfe353

Change-Id: I7e09a8d5f03b77fa73f13e045e2ec7a2b26eb486

6 years agoMerge "Added default home values of CDMA roaming indicator"
Treehugger Robot [Fri, 3 Nov 2017 01:13:27 +0000 (01:13 +0000)]
Merge "Added default home values of CDMA roaming indicator"

6 years agoMerge "[framework] Compile secondary dex files in isolation"
Treehugger Robot [Fri, 3 Nov 2017 01:05:05 +0000 (01:05 +0000)]
Merge "[framework] Compile secondary dex files in isolation"

6 years agoAdded default home values of CDMA roaming indicator
Jack Yu [Thu, 2 Nov 2017 17:08:10 +0000 (10:08 -0700)]
Added default home values of CDMA roaming indicator

Some carriers use the standard roaming indicator number
assigment for roaming indication. Added the default home values
suggested by 3GPP2 C.R1001 table 8.1-1.

Test: Manual
bug: 67855275
Change-Id: Ib0a613ad8caba74645930f3e5188999be08b2116
(cherry picked from commit cf4a8b40a2ff0496c4ccf08f251c0c425fd673f0)

6 years agoMerge "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared"
Andreas Gampe [Thu, 2 Nov 2017 22:13:37 +0000 (22:13 +0000)]
Merge "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared"
am: eb3bff53f6

Change-Id: I285d7cf715dc0b2e08d7003cecfd92bfc3b9c8da

6 years agoMerge "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared"
Treehugger Robot [Thu, 2 Nov 2017 21:57:29 +0000 (21:57 +0000)]
Merge "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared"

6 years agoMerge "Fix StateMachine init/quit race."
con [Thu, 2 Nov 2017 20:15:35 +0000 (20:15 +0000)]
Merge "Fix StateMachine init/quit race."
am: 5c7de22a06

Change-Id: I26ab138d66366efbcc515e5da0ed21de3e90fa9a

6 years agoMerge "Fix StateMachine init/quit race."
con [Thu, 2 Nov 2017 20:05:09 +0000 (20:05 +0000)]
Merge "Fix StateMachine init/quit race."

6 years agoMerge "Use ScopedPrimitiveArrayRO instead of manually managing Java primitive"
Andreas Huber [Thu, 2 Nov 2017 18:58:30 +0000 (18:58 +0000)]
Merge "Use ScopedPrimitiveArrayRO instead of manually managing Java primitive"
am: 80bb035d4e

Change-Id: I35bdd8fe5b80917b8b574e97f10f77df59045efd

6 years agoMerge changes from topic "explicit_shared_compile_reason_cherrypick"
Calin Juravle [Thu, 2 Nov 2017 18:44:10 +0000 (18:44 +0000)]
Merge changes from topic "explicit_shared_compile_reason_cherrypick"
am: 5e5fc34b42

Change-Id: I5af5a20cae531d5fc93faae00dfbe399f08da766

6 years agoFix StateMachine init/quit race.
Calvin On [Wed, 1 Nov 2017 20:37:18 +0000 (13:37 -0700)]
Fix StateMachine init/quit race.

The quitNow method places the SM_QUIT_CMD at the front
of the queue. This can cause StateMachine to throw exception
if it has not yet processed the SM_INIT_CMD from start().

Bug: 67370902
Test: make checkbuild
Test: StatMachineTest unittest
Change-Id: I409242845854e70b77ad9b2378b69faed076847c
Merged-In: I7cec7bb91e0447e3c565d33cb7c34ccf59566639

6 years agoFix spelling mistake in dumpsys output
Calin Juravle [Thu, 2 Nov 2017 18:39:26 +0000 (18:39 +0000)]
Fix spelling mistake in dumpsys output
am: 527a2b205c

Change-Id: I3bffb95e459adcf0457479f3b87583ba7600fc03

6 years agoMerge "Use ScopedPrimitiveArrayRO instead of manually managing Java primitive"
Treehugger Robot [Thu, 2 Nov 2017 18:33:18 +0000 (18:33 +0000)]
Merge "Use ScopedPrimitiveArrayRO instead of manually managing Java primitive"

6 years agoMerge "Handle configuration splits when creating the class loader context"
Calin Juravle [Thu, 2 Nov 2017 18:28:41 +0000 (18:28 +0000)]
Merge "Handle configuration splits when creating the class loader context"
am: 88946d4cf2

Change-Id: I1ed3175ef2094979477dca44b5f0bf56eb34d880

6 years agoMerge "Ensure dexopt is executed only with consistent package data"
Calin Juravle [Thu, 2 Nov 2017 18:24:12 +0000 (18:24 +0000)]
Merge "Ensure dexopt is executed only with consistent package data"
am: 1ad0304e7d

Change-Id: I32a9c3cf57d0726d7959eb331530fab7f79a7619

6 years agoMerge changes from topic "explicit_shared_compile_reason_cherrypick"
Treehugger Robot [Thu, 2 Nov 2017 18:13:54 +0000 (18:13 +0000)]
Merge changes from topic "explicit_shared_compile_reason_cherrypick"

* changes:
  Add an explicit reason for the compilation of shared apks
  Fix spelling mistake in dumpsys output

6 years agoMerge "Handle configuration splits when creating the class loader context"
Treehugger Robot [Thu, 2 Nov 2017 18:11:02 +0000 (18:11 +0000)]
Merge "Handle configuration splits when creating the class loader context"

6 years agoMerge "Ensure dexopt is executed only with consistent package data"
Treehugger Robot [Thu, 2 Nov 2017 18:10:42 +0000 (18:10 +0000)]
Merge "Ensure dexopt is executed only with consistent package data"

6 years ago[framework] Compile secondary dex files in isolation
Calin Juravle [Wed, 4 Oct 2017 17:53:09 +0000 (10:53 -0700)]
[framework] Compile secondary dex files in isolation

The class loader context adds the overhead of extracting in-memory and
possibly extra verification which is being frowned upon when the loading
happens on the UI thread. Revert the correct fix of compiling secondary
dex files with their loading context until b/64530081 is done.

Partial revert of commit f1ff36f0f99ebb41d0c7e0f3248506a56998fa3f.

(cherry picked from commit 27f926212483e8291a63884e60fa44de4d0df17c)

Test: adb shell cmd package compile -m quicken -f --secondary-dex
com.google.android.gms
Bug: 64530081
Bug: 66984396
Merged-In: Ib2815ce67b224883fe95c28d1424103e56342c6e
Change-Id: Ib2815ce67b224883fe95c28d1424103e56342c6e

6 years agoPMSCompilerMapping: Hardcode a value for pm.dexopt.shared
Andreas Gampe [Thu, 2 Nov 2017 16:35:28 +0000 (09:35 -0700)]
PMSCompilerMapping: Hardcode a value for pm.dexopt.shared

This is a temporary hack while we sort out the larger issues.

Test: make & flash
Bug: 68755013
Change-Id: I59caf79027dd8be2fd698606822a20b19c0d942a

6 years agoAdd an explicit reason for the compilation of shared apks
Calin Juravle [Fri, 15 Sep 2017 18:09:29 +0000 (11:09 -0700)]
Add an explicit reason for the compilation of shared apks

Some devices might find it more beneficial to compile shared apks like gms
or gms modules with quicken rather then speed.

(cherry picked from commit f53201f8c796e8500b76b72e4fad6269d8547369)

Bug: 65591595
Test: build
Merged-In: I90b79e9f6bc4b4d6b3f5c0b90ab95e8880c4ac9d
Change-Id: I90b79e9f6bc4b4d6b3f5c0b90ab95e8880c4ac9d

6 years agoFix spelling mistake in dumpsys output
Calin Juravle [Tue, 26 Sep 2017 20:23:00 +0000 (13:23 -0700)]
Fix spelling mistake in dumpsys output

(cherry picked from commit 94837e35e3c149e81da90f312fbb37f22c8bc90e)

Bug: 65843255
Test: build
Merged-In: Icc748dd14b52641e37b149f51d61a4086e55ed41
Change-Id: Icc748dd14b52641e37b149f51d61a4086e55ed41

6 years agoHandle configuration splits when creating the class loader context
Calin Juravle [Sat, 2 Sep 2017 00:30:01 +0000 (17:30 -0700)]
Handle configuration splits when creating the class loader context

Configuration splits have no dependencies which can lead to exceptions
when computing their class loader context.

In general, we do not need to compute the class loader context for apks
without code.

This CL addresses the issue by ignoring "code" paths with no actual code.

(cherry picked from commit da09815e2cd3d3968c66a8d52e620ee07d8204dd)

Bug: 65159159
Test: adb install-multiple config_splits
      runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java

Merged-In: Ida1eb901eecba4a4266de73022f6ee4659367873
Change-Id: Ida1eb901eecba4a4266de73022f6ee4659367873

6 years agoEnsure dexopt is executed only with consistent package data
Calin Juravle [Fri, 11 Aug 2017 00:23:00 +0000 (17:23 -0700)]
Ensure dexopt is executed only with consistent package data

The main objects bookkeeping packages (PackageParser.Package and its
corresponding ApplicationInfo) may be updated at different times. This
creates a window where the data stored in the ApplicationInfo is out of
date with respect to the data stored in PackageParser.Package.

During install, the two objects are "synced" during doRename which updates
the package code paths.

This CLs moves the dexopt invocation from the install flow after doRename
to ensure that dexopt logic gets a consistent view of the package.

(cherry picked from commit 4c2b9555b7b52359ea14e201d7ec61b8edaf6232)

Bug: 64493351

Test: run cts-dev -t android.appsecurity.cts.ClassloaderSplitsTest -m
CtsAppSecurityHostTestCases
      inspect oat files after
adb install-multiple CtsClassloaderSplitApp/CtsClassloaderSplitApp.apk
    CtsClassloaderSplitAppFeatureA/CtsClassloaderSplitAppFeatureA.apk
    CtsClassloaderSplitAppFeatureB/CtsClassloaderSplitAppFeatureB.apk

Merged-In: I9131bcf49eb473a8fdc5eb0032d94080d4e9e94b
Change-Id: I9131bcf49eb473a8fdc5eb0032d94080d4e9e94b

6 years agoMerge "TokenWatcher: fix bug in repeated calls to acquire()."
Charles He [Thu, 2 Nov 2017 10:47:31 +0000 (10:47 +0000)]
Merge "TokenWatcher: fix bug in repeated calls to acquire()."
am: dfe472ecae

Change-Id: Ic0ea2afd4dfc00234b97a66a9dafd993b35dd803

6 years agoMerge "TokenWatcher: fix bug in repeated calls to acquire()."
Charles He [Thu, 2 Nov 2017 10:36:01 +0000 (10:36 +0000)]
Merge "TokenWatcher: fix bug in repeated calls to acquire()."

6 years agoMerge "Allow equality checking and hash for HIDL interface proxies."
Yifan Hong [Thu, 2 Nov 2017 03:51:08 +0000 (03:51 +0000)]
Merge "Allow equality checking and hash for HIDL interface proxies."
am: 762f27c6a2

Change-Id: Ia6ebb45cd2e7778483df3c191b3f0d175588e3fc

6 years agoMerge "Frameworks: Fix idle-background-job flag"
Andreas Gampe [Thu, 2 Nov 2017 03:41:49 +0000 (03:41 +0000)]
Merge "Frameworks: Fix idle-background-job flag"
am: 3a16db62ec

Change-Id: Ibb9a6213ccc5f48c848228af3a9c2a73e8309133

6 years agoMerge "Allow equality checking and hash for HIDL interface proxies."
Treehugger Robot [Thu, 2 Nov 2017 03:39:42 +0000 (03:39 +0000)]
Merge "Allow equality checking and hash for HIDL interface proxies."

6 years agoMerge "Frameworks: Fix idle-background-job flag"
Treehugger Robot [Thu, 2 Nov 2017 03:31:30 +0000 (03:31 +0000)]
Merge "Frameworks: Fix idle-background-job flag"

6 years agoMerge "Fix dexopt dump"
Calin Juravle [Thu, 2 Nov 2017 02:40:16 +0000 (02:40 +0000)]
Merge "Fix dexopt dump"
am: 7ef653733f

Change-Id: I2373f5f980866548444cb8b9731d79437da12c39

6 years agoMerge "Fix dexopt dump"
Treehugger Robot [Thu, 2 Nov 2017 02:29:50 +0000 (02:29 +0000)]
Merge "Fix dexopt dump"

6 years agoAllow equality checking and hash for HIDL interface proxies.
Yifan Hong [Wed, 1 Nov 2017 00:32:15 +0000 (17:32 -0700)]
Allow equality checking and hash for HIDL interface proxies.

IFoo.Proxy.equals() -> HidlSupport.equals() ->
IHwInterface.asBinder().equals() -> HwRemoteBinder.equals().
IFoo.Stub.equals() -> default Object.equals()

Notice that IHwInterface.asBinder() returns mRemote(of type
HwRemoteBinder) for proxies and itself (of type HwBinder) for stubs.
If IFoo.Stub.asBinder() had not return "this", its equals()
should also be overridden.

Bug: 68727931
Test: hidl_test_java

Change-Id: I916983d7bc739747145e2ebb6830226310fd4980

6 years agoMerge "Fix getSimOperator to return mccmnc based on subId"
Pengquan Meng [Thu, 2 Nov 2017 01:21:11 +0000 (01:21 +0000)]
Merge "Fix getSimOperator to return mccmnc based on subId"
am: 87a336846e

Change-Id: Id0de42b730ca4941e1436e959604a28296508b03

6 years agoMerge "Fix getSimOperator to return mccmnc based on subId"
Pengquan Meng [Thu, 2 Nov 2017 01:11:29 +0000 (01:11 +0000)]
Merge "Fix getSimOperator to return mccmnc based on subId"

6 years agoFix dexopt dump
Calin Juravle [Tue, 19 Sep 2017 00:40:48 +0000 (17:40 -0700)]
Fix dexopt dump

Dexopt dump prints the status of primary oat file instead of secondary.
We cannot get the secondary dex file status without an installd call so
this CL just removes the status line.

(cherry picked from commit cf72222f41f4ce73302274d2e8b4fcc735c3bd00)

Bug: 65843255
Test: adb shell dumpsys package dexopt
Merged-In: I76028704267eed68ba8c51f45ce8b54f403cc255
Change-Id: I76028704267eed68ba8c51f45ce8b54f403cc255

6 years agoFrameworks: Fix idle-background-job flag
Andreas Gampe [Thu, 2 Nov 2017 00:05:53 +0000 (17:05 -0700)]
Frameworks: Fix idle-background-job flag

Correctly pass flag to installd.

Bug: 68025088
Test: m
Test: manual test
Change-Id: Ia5b19b1f1375a3c8b0c8e19b1978dcba29c83470

6 years agoMerge "Added interface to get the decimal digit from hex ICCID."
Jordan Liu [Wed, 1 Nov 2017 23:29:01 +0000 (23:29 +0000)]
Merge "Added interface to get the decimal digit from hex ICCID."
am: c173c93c1c

Change-Id: Ib9851f91a687fb56ba2488710fa3a580cd3f1e91

6 years agoMerge "Added interface to get the decimal digit from hex ICCID."
Jordan Liu [Wed, 1 Nov 2017 23:20:39 +0000 (23:20 +0000)]
Merge "Added interface to get the decimal digit from hex ICCID."

6 years agoMerge "Add @TestApi for EMBMS APIs needed for CTS"
Hall Liu [Wed, 1 Nov 2017 23:17:05 +0000 (23:17 +0000)]
Merge "Add @TestApi for EMBMS APIs needed for CTS"
am: f1167ced38

Change-Id: If22e7de55c8ec2f603c4a59f575b65cebf421a93

6 years agoMerge "make update-api"
Tobias Thierer [Wed, 1 Nov 2017 23:01:37 +0000 (23:01 +0000)]
Merge "make update-api"
am: 07fe9042cf

Change-Id: I2562b319cb5d326a6067e20cc6b925c89366e07d

6 years agoMerge changes from topic "bgdex2oatd_cherry_pick"
David Sehr [Wed, 1 Nov 2017 22:42:50 +0000 (22:42 +0000)]
Merge changes from topic "bgdex2oatd_cherry_pick"
am: e686fabf42

Change-Id: Ib3aa6d92d2a4c5ef0617a57adea62913041d4b75

6 years agoMerge "Add @TestApi for EMBMS APIs needed for CTS"
Hall Liu [Wed, 1 Nov 2017 22:35:51 +0000 (22:35 +0000)]
Merge "Add @TestApi for EMBMS APIs needed for CTS"

6 years agoMerge changes Ibf9e7b9e,I8031590c
Calin Juravle [Wed, 1 Nov 2017 22:35:16 +0000 (22:35 +0000)]
Merge changes Ibf9e7b9e,I8031590c
am: 1eb700a545

Change-Id: I3bff20ab08a33f1607ec7b91abab2a77d7a3b22f

6 years agoMerge changes Ie8b78c7c,If02081d2
Calin Juravle [Wed, 1 Nov 2017 22:27:29 +0000 (22:27 +0000)]
Merge changes Ie8b78c7c,If02081d2
am: fe177b78d7

Change-Id: I2720d1e1433367e9f584451408951dce0b61e0da

6 years agoMerge changes I7bd99fc0,I329bc929
Calin Juravle [Wed, 1 Nov 2017 22:20:06 +0000 (22:20 +0000)]
Merge changes I7bd99fc0,I329bc929
am: deee2e12de

Change-Id: I52905bf3d6971332b216c8b5f18a695a4bbd23c5

6 years agoMerge "make update-api"
Treehugger Robot [Wed, 1 Nov 2017 22:18:39 +0000 (22:18 +0000)]
Merge "make update-api"

6 years agoMerge changes from topic "bgdex2oatd_cherry_pick"
Treehugger Robot [Wed, 1 Nov 2017 21:55:02 +0000 (21:55 +0000)]
Merge changes from topic "bgdex2oatd_cherry_pick"

* changes:
  Use dex2oatd when available on debug builds
  Add package use info to dexopt dump

6 years agoMerge changes Ibf9e7b9e,I8031590c
Treehugger Robot [Wed, 1 Nov 2017 21:53:50 +0000 (21:53 +0000)]
Merge changes Ibf9e7b9e,I8031590c

* changes:
  Record usage information per split
  Use PackageUseInfo in DexOptimizer

6 years agoMerge changes Ie8b78c7c,If02081d2
Treehugger Robot [Wed, 1 Nov 2017 21:53:12 +0000 (21:53 +0000)]
Merge changes Ie8b78c7c,If02081d2

* changes:
  Use the class loader context when optimizing secondary dex files
  Add DexClassLoader to the list of supported class loaders

6 years agoMerge changes I7bd99fc0,I329bc929
Treehugger Robot [Wed, 1 Nov 2017 21:52:34 +0000 (21:52 +0000)]
Merge changes I7bd99fc0,I329bc929

* changes:
  Save PackageDexUsage on PMS shutdown
  Record dex files users in the dex-usage list

6 years agoMerge "[framework] Add check that classpath is up to date to getDexOptNeeded"
Calin Juravle [Wed, 1 Nov 2017 20:15:44 +0000 (20:15 +0000)]
Merge "[framework] Add check that classpath is up to date to getDexOptNeeded"
am: 945b1dc43e

Change-Id: Ib9865f950f595ab840ceb3afd60ad52d33cb5c01

6 years agoUse dex2oatd when available on debug builds
David Sehr [Wed, 25 Oct 2017 21:28:29 +0000 (14:28 -0700)]
Use dex2oatd when available on debug builds

Enable use of dex2oatd for background dexopt service for eng and
userdebug builds.  This allows us to have more extensive checking
on dogfood devices.

(cherry picked from commit 2118ec4d7e176b0ea96a79ca3b45e1cca9724eed)

Bug: 68025088
Test: runtest -x services/tests/servicetests/src/com/android/server/pm/dex/DexoptOptionsTests.java
Merged-In: I292ac7f355350edc8cf06f417740226ee6bac65d
Change-Id: I292ac7f355350edc8cf06f417740226ee6bac65d

6 years agoRecord usage information per split
Calin Juravle [Fri, 4 Aug 2017 08:42:17 +0000 (01:42 -0700)]
Record usage information per split

Increase the granularity of usage information to store data on each split
separately.

Now, splits get their own useByOtherApps flag and can be compiled
speed-profile when only the primary apk is loaded by other apps.

(cherry picked from commit 52a452cf685c56dc6872dbb19e822736484f672f)

Bug: 64124380
Test: runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/*

Merged-In: Ibf9e7b9e67db9c6f0f45dc695bce8fbeb7be20ae
Change-Id: Ibf9e7b9e67db9c6f0f45dc695bce8fbeb7be20ae

6 years agoAdd package use info to dexopt dump
Calin Juravle [Mon, 7 Aug 2017 02:20:19 +0000 (19:20 -0700)]
Add package use info to dexopt dump

(cherry picked from commit 41a57a65b2a4fb51faa55bcba57ebe544e9f799f)

Bug: 64153885
Test: adb shell dumpsys package dexopt
Merged-In: I57768076de821980b1de84d5fe44ab642ceebeba
Change-Id: I57768076de821980b1de84d5fe44ab642ceebeba

6 years agoUse PackageUseInfo in DexOptimizer
Calin Juravle [Fri, 4 Aug 2017 02:48:37 +0000 (19:48 -0700)]
Use PackageUseInfo in DexOptimizer

Pass the PackageUseInfo directly to DexOptimizer and use it to detect if a
package is used by other apps. Move the usage checks closer to dexopt so
that they can be easily adapted when we add usage info for each of the
app's code paths separately.

This is a refactoring CLs to reduce the size and complexity of the
upcoming CLs which record the usage info for each of the application
splits.

(cherry picked from commit 3b74c41776da66562a68b12a0fed8d20b6952868)

Bug: 64124380
Test: runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/*

Merged-In: I8031590cdaff81ab1792ca19baddb6cb36dc021d
Change-Id: I8031590cdaff81ab1792ca19baddb6cb36dc021d

6 years agoUse the class loader context when optimizing secondary dex files
Calin Juravle [Sat, 22 Jul 2017 19:33:41 +0000 (12:33 -0700)]
Use the class loader context when optimizing secondary dex files

Record the class loader context for secondary dex loads and pass it to
dexopt during compilation.

The class loader context is passed from libcore every time a
BaseDexClassLoader is created and its recorded in the package dex usage
file.

Note that the context may be:
- unknown: if the dex file was not use after the the upgrade and its
context was not yet updated
- unsupported: if any of the class loaders from the loading context is
unsupported (only PathClassLoader and DelegateLastClassLoader are
supported).
- variable: if it changes over time, form one run to another.

In all the above cases the old compilation behavior is preserved for
now.(i.e. the dex file with be compiled with SKIP_SHARED_LIBRARY_CHECK)

(cherry picked from commit f1ff36f0f99ebb41d0c7e0f3248506a56998fa3f)

Bug: 38138251
Test: runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/
      adb shell cmd package compile -f -m quicken ^Csecondary-dex
com.google.android.gms

(cherry picked from commit 3bec94d78b0a66c4fa5cebd851ea33bcc51916b0)

Merged-In: Ie8b78c7c0d5de43733b3d116f8dcb3a65324cca8
Change-Id: Ie8b78c7c0d5de43733b3d116f8dcb3a65324cca8

6 years agoSave PackageDexUsage on PMS shutdown
Calin Juravle [Fri, 28 Jul 2017 23:13:35 +0000 (16:13 -0700)]
Save PackageDexUsage on PMS shutdown

This ensures that we persist the in memory data between restarts (makes
testing much easier).

(cherry picked from commit 14876bd21a4a4e7d78d36f910493269f14b2e905)

Bug: 64151900
Test: Manual, flash + restart + check the dex usage file

(cherry picked from commit 6ef7f0b8c6e72e849a220513425a9fd37804af90)

Merged-In: I7bd99fc03c3a40cbbf5d615886f857b5f84f438c
Change-Id: I7bd99fc03c3a40cbbf5d615886f857b5f84f438c

6 years agoAdd DexClassLoader to the list of supported class loaders
Calin Juravle [Tue, 25 Jul 2017 00:56:51 +0000 (17:56 -0700)]
Add DexClassLoader to the list of supported class loaders

DexClassLoader have the same behavior as PathClassLoader and is still in
use by apps. Add it to the list of supported class loaders so that it can be
recognized during secondary dex file loads.

(cherry picked from commit f8c14e920ea2911ab7657de9bc3e0a834cd7e8b9)

Bug: 38138251
Bug: 36044779

Test: runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java

(cherry picked from commit d08b3156e8e908bae63dfd8f47c8e6f7ba98967f)

Merged-In: If02081d29f4d8ac917dacd877eb75985ea3895a9
Change-Id: If02081d29f4d8ac917dacd877eb75985ea3895a9

6 years agoRecord dex files users in the dex-usage list
Calin Juravle [Sat, 4 Feb 2017 00:55:49 +0000 (16:55 -0800)]
Record dex files users in the dex-usage list

Add the users of the dex files in the package-dex-usage.list. This will
provide more data on why a package is marked as shared and not optimized
using profiles.

(cherry picked from commit 535a4753e313bdc2ae3e8be9f50606b82edcce0c)

Test: runtest -x .../DexManagerTests.java
      users of the dex files are recorded in package-dex-usage.list

Bug: 63778376
Merged-In: I329bc929b17fa0afe1531f3e6879f6160157a787
Change-Id: I329bc929b17fa0afe1531f3e6879f6160157a787

6 years agoMerge "[framework] Add check that classpath is up to date to getDexOptNeeded"
Treehugger Robot [Wed, 1 Nov 2017 19:54:44 +0000 (19:54 +0000)]
Merge "[framework] Add check that classpath is up to date to getDexOptNeeded"

6 years agoMerge "Display the number of LTE signal bars is based on RSRP only"
Jordan Liu [Wed, 1 Nov 2017 18:00:31 +0000 (18:00 +0000)]
Merge "Display the number of LTE signal bars is based on RSRP only"
am: 896dd7cdb7

Change-Id: Ic2bc88b627ba2110e16103f027843c7b90131e31

6 years agoMerge "Debug: Remove obsolete InstructionCount code."
Narayan Kamath [Wed, 1 Nov 2017 17:50:16 +0000 (17:50 +0000)]
Merge "Debug: Remove obsolete InstructionCount code."
am: f5a8edeaf0

Change-Id: Ia070e4dee54ac652545b174881defca2abbfd5df

6 years agoMerge "Display the number of LTE signal bars is based on RSRP only"
Jordan Liu [Wed, 1 Nov 2017 17:47:58 +0000 (17:47 +0000)]
Merge "Display the number of LTE signal bars is based on RSRP only"

6 years agoMerge "PMSCompilerMapping: Hardcode a value for pm.dexopt.inactive"
Narayan Kamath [Wed, 1 Nov 2017 17:39:12 +0000 (17:39 +0000)]
Merge "PMSCompilerMapping: Hardcode a value for pm.dexopt.inactive"
am: dc616ab11c

Change-Id: I6b4e8042eb9c657950157dcc49121b24efc196c1

6 years agoMerge "Debug: Remove obsolete InstructionCount code."
Narayan Kamath [Wed, 1 Nov 2017 17:27:40 +0000 (17:27 +0000)]
Merge "Debug: Remove obsolete InstructionCount code."

6 years agoMerge "PMSCompilerMapping: Hardcode a value for pm.dexopt.inactive"
Treehugger Robot [Wed, 1 Nov 2017 17:23:27 +0000 (17:23 +0000)]
Merge "PMSCompilerMapping: Hardcode a value for pm.dexopt.inactive"

6 years agomake update-api
Tobias Thierer [Wed, 1 Nov 2017 17:17:14 +0000 (17:17 +0000)]
make update-api

This CL almost exactly reverts http://r.android.com/471377 .

current.txt and friends were not reflecting the latest AOSP API,
ie. "make update-api" was not a no-op like it's supposed to be.

Apart from IpSecManager.SecurityParameterIndex.finalize(), this
seems to mostly revert http://r.android.com/471377 which suggests
that the tooling change that necessitated that CL was probably
reverted without "make update-api" being run on AOSP.

No further investigation was made for what CL(s) caused this or
whether any of this API change is undesired.

Test: Treehugger
Test: make update-api

Change-Id: I5b846627e38c47abb534def97f0cab9d28b1288c

6 years agoUse ScopedPrimitiveArrayRO instead of manually managing Java primitive
Andreas Huber [Wed, 1 Nov 2017 17:19:44 +0000 (10:19 -0700)]
Use ScopedPrimitiveArrayRO instead of manually managing Java primitive

arrays.

Bug: 68654583
Test: hidl_test_java
Change-Id: I91e121ce593c5a9c95891b58000a36a34a6b6b28

6 years agoMerge "Federate platform docs against support library API file" into stage-aosp-master
TreeHugger Robot [Wed, 1 Nov 2017 16:38:14 +0000 (16:38 +0000)]
Merge "Federate platform docs against support library API file" into stage-aosp-master

6 years ago[framework] Add check that classpath is up to date to getDexOptNeeded
Calin Juravle [Tue, 12 Sep 2017 07:58:33 +0000 (00:58 -0700)]
[framework] Add check that classpath is up to date to getDexOptNeeded

(cherry picked from commit 576e6c0cbb0231d6650dee70319d7443c601fa1b)

Bug: 62269291
Test: manual, install new apk/splits and force updates.
I used com.android.cts.classloadersplitapp as the test app.
1) install-multiple split apks with dependency: Base -> A -> B
2) push an update for A
3) adb shell cmd package compile
4) check that A & B got recompiled and that B was because a class loader
context mismatch (e.g. "ClassLoaderContext classpath element checksum
mismatch for position 1.").

Merged-In: I4092562966413dc8976c9d41b26a90bbb9e37e1e
Change-Id: I4092562966413dc8976c9d41b26a90bbb9e37e1e

6 years agoPMSCompilerMapping: Hardcode a value for pm.dexopt.inactive
Narayan Kamath [Wed, 1 Nov 2017 15:01:48 +0000 (15:01 +0000)]
PMSCompilerMapping: Hardcode a value for pm.dexopt.inactive

This is a temporary hack while we sort out the larger issues.

Test: make & flash
Bug: 68755013

Change-Id: I39f2e7f2e39f4d886ea5fa3d91648404347485ef

6 years agoDebug: Remove obsolete InstructionCount code.
Narayan Kamath [Tue, 30 May 2017 17:04:36 +0000 (18:04 +0100)]
Debug: Remove obsolete InstructionCount code.

Support for instruction counting has been removed from ART
and the VMDebug APIs in question throw UnsupportedOperationException
unconditionally.

Test: make

Change-Id: Ibcaa160f755a5708bc6fbef3a783acfc26f0ba90

6 years agoTokenWatcher: fix bug in repeated calls to acquire().
Charles He [Tue, 31 Oct 2017 09:35:15 +0000 (09:35 +0000)]
TokenWatcher: fix bug in repeated calls to acquire().

The javadoc of TokenWatcher promised to implement repeated calls to
acquire() with the same token as a no-op, but this wasn't the case.

When acquire() is called repeatedly with the same token, its associated
DeathRecipient object is replaced by a new one. The old DeathRecipient
can therefore be destroyed. This is problematic because the finalizer of
this DeathRecipient implementation calls release() on the same token,
resulting in the token being released unexpectedly.

In this CL we properly implement the documented no-op behavior.

Bug: 68368071
Test: (First, cherry-pick to internal master)
Test: cts-tradefed run cts-dev -m OsTest -t android.os.cts.TokenWatcherTest
Test: CTS verifier > Managed provisioning > Device owner tests
      > LockTask UI

Change-Id: Idfad7c88075a510ea1f8527b5a8620121a5dd7bb

6 years agoDisplay the number of LTE signal bars is based on RSRP only
Wenting Xiong [Wed, 18 Oct 2017 06:05:49 +0000 (15:05 +0900)]
Display the number of LTE signal bars is based on RSRP only

Some carriers require to display the number of LTE signal bars is
based on RSRP only.
This carrier config is used to control it.

Test: manual - Checked that the number of LTE signal bars display
which base on RSRP only can be controlled by carrier config.
Bug: 67831028

Change-Id: I077ef253f34fc503a591dcb3f01d60ab6573f298

6 years agoMerge "Change the location of current profiles for secondary dex files"
Calin Juravle [Wed, 1 Nov 2017 02:48:59 +0000 (02:48 +0000)]
Merge "Change the location of current profiles for secondary dex files"
am: 80c3c70930

Change-Id: I5ece1daa5796915c0dc6d19e791a0e81c311feb7

6 years agoMerge changes Ia0623d38,Iaabd5d8b,I579bb12f,Ia9930edd
Calin Juravle [Wed, 1 Nov 2017 02:43:04 +0000 (02:43 +0000)]
Merge changes Ia0623d38,Iaabd5d8b,I579bb12f,Ia9930edd
am: 2b1357fe90

Change-Id: Iee60be352c2e742fdd1d3f7ce15e58e455ac1ead

6 years agoMerge "Reduce app size by downgrading inactive apps"
Shubham Ajmera [Wed, 1 Nov 2017 02:31:46 +0000 (02:31 +0000)]
Merge "Reduce app size by downgrading inactive apps"
am: 8bcd66d35f

Change-Id: I4bfba3f7eb16442a7a69466cf72b22198acde6c4

6 years agoMerge "Change the location of current profiles for secondary dex files"
Treehugger Robot [Wed, 1 Nov 2017 02:22:48 +0000 (02:22 +0000)]
Merge "Change the location of current profiles for secondary dex files"

6 years agoMerge changes Ia0623d38,Iaabd5d8b,I579bb12f,Ia9930edd
Treehugger Robot [Wed, 1 Nov 2017 02:21:42 +0000 (02:21 +0000)]
Merge changes Ia0623d38,Iaabd5d8b,I579bb12f,Ia9930edd

* changes:
  Fix splits class loader context for non dependant splits
  Encode the entire class loader context for dex2oat
  Add a command line option to optimize individual splits
  Refactor the arguments passed to dexopt invocations

6 years agoMerge "Reduce app size by downgrading inactive apps"
Treehugger Robot [Wed, 1 Nov 2017 02:19:57 +0000 (02:19 +0000)]
Merge "Reduce app size by downgrading inactive apps"

6 years agoAdd @TestApi for EMBMS APIs needed for CTS
Hall Liu [Thu, 26 Oct 2017 00:19:19 +0000 (17:19 -0700)]
Add @TestApi for EMBMS APIs needed for CTS

Bug: 68049452
Test: CTS
Change-Id: I5d132ac4e67deccf41c998822f82cf94d3f2ce7f

6 years agoMerge "Adds APIs to extract/import arrays of primitive Java types out of/into a HwBlob."
Andreas Huber [Tue, 31 Oct 2017 23:08:26 +0000 (23:08 +0000)]
Merge "Adds APIs to extract/import arrays of primitive Java types out of/into a HwBlob."
am: a546c38130

Change-Id: I969ec51ed8fc6c7e11e7cfe7c4e1a3d6aa5802de

6 years agoMerge "Adds APIs to extract/import arrays of primitive Java types out of/into a HwBlob."
Treehugger Robot [Tue, 31 Oct 2017 22:59:34 +0000 (22:59 +0000)]
Merge "Adds APIs to extract/import arrays of primitive Java types out of/into a HwBlob."

6 years agoMerge changes I2ef3737f,If080281f
Mathieu Chartier [Tue, 31 Oct 2017 22:31:32 +0000 (22:31 +0000)]
Merge changes I2ef3737f,If080281f
am: bb3de35e5f

Change-Id: Ibe1af669d200057f1d91142299055694b55b5660

6 years agoChange the location of current profiles for secondary dex files
Calin Juravle [Thu, 27 Jul 2017 23:05:25 +0000 (16:05 -0700)]
Change the location of current profiles for secondary dex files

Move the secondary dex profiles inside the oat folder. This makes it
easier to clean them up and "protects" them against apps which may delete
unknown files from their directories (e.g. search).

(cherry picked from commit eec18f41e2ecbdf95dab6584e72a64f827bb89f7)

Bug: 62336157
Test: Manual: boot the device, use the app, check the profiles are
collected in the new location.

Merged-In: I2fbce7591589d162775e4652b12e4698083adcff
Change-Id: I2fbce7591589d162775e4652b12e4698083adcff

6 years agoMerge "Change storage migration to use quota APIs."
Jeff Sharkey [Tue, 31 Oct 2017 22:22:21 +0000 (22:22 +0000)]
Merge "Change storage migration to use quota APIs."
am: 0fccecc6a0

Change-Id: I15f1aa9f01b5cef928b8b68e2568bf67e1e387b9

6 years agoMerge "Reland "HIDL Java getService now the same as C++.""
Steven Moreland [Tue, 31 Oct 2017 22:16:18 +0000 (22:16 +0000)]
Merge "Reland "HIDL Java getService now the same as C++.""
am: c1616f6820

Change-Id: I5d53c369ae9cb1bc963b06e734cf9c47ad61265f

6 years agoFix splits class loader context for non dependant splits
Calin Juravle [Fri, 14 Jul 2017 23:40:07 +0000 (16:40 -0700)]
Fix splits class loader context for non dependant splits

If the app doesn't request for splits to be loaded in isolation or does
not declare inter-split dependencies, then all the splits are loaded in
the base apk class loader (in the order of they are defined).

Fix the class loader context passed to dex2oat to reflect the runtime
loading logic.

(cherry picked from commit 305aeea38f96f0b94ad4be5cb979dd9cf98cf7df)

Bug: 38138251
Test: runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java

Merged-In: Ia0623d38883ae244fd16c0afb053fef016bf260a
Change-Id: Ia0623d38883ae244fd16c0afb053fef016bf260a

6 years agoEncode the entire class loader context for dex2oat
Calin Juravle [Thu, 13 Jul 2017 01:52:49 +0000 (18:52 -0700)]
Encode the entire class loader context for dex2oat

Until now the split dependencies were passed as a flatten list to dex2oat.
In the presence of DelegateLastClassLoaders this is no longer enough to
ensure the correctness of the compilation.

This CL encodes the split dependencies together with their declared class
loader in a format accepted by dex2oat.

(partially cherry picked from commit 19da1cf72e8c448743a8c27ac6d73424ae42c7ec)

Bug: 38138251
Test: runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java

Merged-In: Iaabd5d8bd5e6d027a8de5a408777fd517063d9f1
Change-Id: Iaabd5d8bd5e6d027a8de5a408777fd517063d9f1

6 years agoReduce app size by downgrading inactive apps
Shubham Ajmera [Thu, 25 May 2017 00:46:36 +0000 (17:46 -0700)]
Reduce app size by downgrading inactive apps

This will trigger when the device will have low space.
Active apps here refer to the apps which were either active
in foregrond or in background and also used by other packages.
Apps which are inactive for X days downgraded to verify. X is
determined by sysprop pm.dexopt.unopt_after_inactive_days

If the system properties are not set, no effect will take place.

The above operations will take place in background dexopt service.
If user uses the app again, it will again be speed-compiled when
background dexopt service starts next time.

(cherry picked from commit 246dccf9327631597767afe418ce43ae6d07d102)

Bug: 36598475
Test: manual
* Remove the check in the code that allows downgrade only when
  the space is low on the device.
* adb root
* Set pm.dexopt_unopt_after_inactive_days to 600
* Make sure the current time of the device is correctly set
* Install 2 non system apps - B, C
* Downgrade B to extract
* Upgrade a system apps to speed-profile - E
* Downgrade a system app to quicken - G
* adb shell cmd package bg-dexopt-job

Expected Results:
* Extract - B
* Verify - C
* There should not be any entries for apps E an G
  in dalvik_cache

Merged-In: I68f9f617d6722a7ba8b00aa2181cb38a165cfc51
Change-Id: I68f9f617d6722a7ba8b00aa2181cb38a165cfc51

6 years agoAdd a command line option to optimize individual splits
Calin Juravle [Mon, 17 Jul 2017 22:23:21 +0000 (15:23 -0700)]
Add a command line option to optimize individual splits

The new option is "--split SplitName" and applies to "adb shell cmd
package compile" command.

Usage example:
adb shell cmd package compile -m speed --split split_feature_a.apk
com.android.cts.classloadersplitapp

(cherry picked from commit b6f844d28cc7a7bf2b477a904263fcbe9b26d2c4)

Bug: 38138251

Test: adb install-multiple CtsClassloaderSplitApp.apk
CtsClassloaderSplitAppFeatureA.apk CtsClassloaderSplitAppFeatureB.apk
      adb shell cmd package compile -m speed --split split_feature_a.apk
com.android.cts.classloadersplitapp
      check the status of split_feature_a
      runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptOptionsTests.java

Merged-In: I579bb12fa6699f99cd3824f185bd9352fb8007c5
Change-Id: I579bb12fa6699f99cd3824f185bd9352fb8007c5

6 years agoRefactor the arguments passed to dexopt invocations
Calin Juravle [Mon, 17 Jul 2017 22:12:01 +0000 (15:12 -0700)]
Refactor the arguments passed to dexopt invocations

Wrap the arguments passed to the various performDexopt calls into the
DexoptOptions object.

This will make adding extra arguments (like compile only a split) much
easier and avoid extending quite a few internal methods.

(cherry picked from commit 1d0e83d2cee794ba576d573119e826905a4422cd)

Bug: 38138251
Test: adb shell cmd package compile ....
      adb shell cmd package bg-dexopt-job ...
      install new apps and check that they compiled
      runtest -x
services/tests/servicestests/src/com/android/server/pm/dex/DexoptOptionsTests.java

Merged-In: Ia9930edd2dceb7535d6168eceb8e3199c82b6306
Change-Id: Ia9930edd2dceb7535d6168eceb8e3199c82b6306

6 years agoMerge changes I2ef3737f,If080281f
Treehugger Robot [Tue, 31 Oct 2017 21:48:30 +0000 (21:48 +0000)]
Merge changes I2ef3737f,If080281f

* changes:
  Add property for system server compiler filter
  Compile secondary dex at boot after OTA

6 years agoMerge "Change storage migration to use quota APIs."
Treehugger Robot [Tue, 31 Oct 2017 21:47:19 +0000 (21:47 +0000)]
Merge "Change storage migration to use quota APIs."

6 years agoAdds APIs to extract/import arrays of primitive Java types out of/into a HwBlob.
Andreas Huber [Tue, 31 Oct 2017 18:51:50 +0000 (11:51 -0700)]
Adds APIs to extract/import arrays of primitive Java types out of/into a HwBlob.

Bug: 68654583
Test: hidl_test_java
Change-Id: I6ec799b423396f9212e4c221e41791adc9086410