OSDN Git Service
Brad Ebinger [Wed, 8 Nov 2017 16:20:39 +0000 (16:20 +0000)]
Merge "Switch class hierarchy of ImsServiceProxy and compat"
Hugo Benichi [Wed, 8 Nov 2017 06:30:04 +0000 (06:30 +0000)]
Merge "Define MacAddress class"
Treehugger Robot [Wed, 8 Nov 2017 03:27:25 +0000 (03:27 +0000)]
Merge "Networking metrics: minor pretty printing improvements"
Hugo Benichi [Thu, 12 Oct 2017 12:33:40 +0000 (21:33 +0900)]
Define MacAddress class
Test: new unit tests part of $ runtest frameworks-net
Change-Id: I5a6a868ff86e9bffdc551d4e2bb486b585525c30
Hugo Benichi [Tue, 7 Nov 2017 12:42:10 +0000 (21:42 +0900)]
Networking metrics: minor pretty printing improvements
Bug:
65700460
Test: manually verified the output of $ adb shell dumpsys connmetrics
Change-Id: Ieae535b48d2e2b6e9087431d345c8f916006bb6c
Hugo Benichi [Tue, 7 Nov 2017 22:22:19 +0000 (22:22 +0000)]
Merge "Refactor ApfFilter creation"
Jordan Liu [Tue, 7 Nov 2017 18:28:33 +0000 (18:28 +0000)]
Merge "Add a carrier config indicating whether user can edit a voicemail number"
Brad Ebinger [Mon, 6 Nov 2017 23:07:09 +0000 (15:07 -0800)]
Switch class hierarchy of ImsServiceProxy and compat
The compat class should be a subclass of the
ImsServiceProxy, not the other way around.
Test: Manual
Change-Id: I2a2d37edaa6b68815c99988882957bf913236f25
Hugo Benichi [Fri, 13 Oct 2017 07:32:20 +0000 (16:32 +0900)]
Refactor ApfFilter creation
This patch introduces a helper ApfConfiguration class for passing filter
parameters to the constructor of ApfFilter. The benefits are:
- less parameter boilerplate across IpManager, ApfFilter, ApfTest
- easier to add more parameters in the future (useful for hardware
counters options and further gservices configurable options)
There is no functional changes otherwise.
Test: runtest frameworks-net
Change-Id: I47231c21df80bc36b6d4e15369748017b50b8da1
Treehugger Robot [Tue, 7 Nov 2017 05:54:29 +0000 (05:54 +0000)]
Merge "Replace dns_tls with private_dns_mode setting"
Erik Kline [Mon, 30 Oct 2017 06:29:44 +0000 (15:29 +0900)]
Replace dns_tls with private_dns_mode setting
Also includes:
- SettingsLib strings used in PrivateDnsModeDialogPreference
interaction in the Settings app
- rename ContentResolver "resolver" in methods working with
DNS resolvers (too confusing)
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net
- no new failures in SettingsBackupTest nor in SettingsProviderTest
- manual interaction with developer option works
Bug:
34953048
Bug:
64133961
Change-Id: Ia7502916db9ffa0792e1e500a35e34d06a88e79d
Jordan Liu [Tue, 7 Nov 2017 00:07:11 +0000 (00:07 +0000)]
Merge "Move isServiceReady to ImsServiceProxyCompat"
Treehugger Robot [Mon, 6 Nov 2017 23:25:27 +0000 (23:25 +0000)]
Merge "cmds: add #!s"
Treehugger Robot [Mon, 6 Nov 2017 20:34:34 +0000 (20:34 +0000)]
Merge "Allow to attach jvmti agents from inside of process"
Qi Wang [Mon, 6 Nov 2017 19:28:24 +0000 (19:28 +0000)]
Merge "Display the HD icon in the Call Log"
Hugo Benichi [Mon, 6 Nov 2017 07:09:49 +0000 (07:09 +0000)]
Merge "DefaultNetworkEvent metrics: rehaul"
Hugo Benichi [Fri, 20 Oct 2017 00:25:29 +0000 (09:25 +0900)]
DefaultNetworkEvent metrics: rehaul
This patch changes instrumentation of default networks and default
network events:
- stop logging events for default network transitions,
but instead consistently log one event per continuous segment
when one given network was the default, including logging an
event for when there is no default network.
- keep a separate rolling buffer of DefaultNetworkEvent for
dumpsys and bug reports.
These changes allow to simplify post aggregation of default network
event metrics by removing any need to do time series processing.
Instead, metrics and counters can be implemented withouth any ambiguity
by following the recipe:
% of x = sum(duration | x = true) / sum (all durations)
where x can be various conditions such as:
- the default network was validated
- the default network was WiFi
- the default network was IPv6
- there was no default network
- ...
Most importantly, this new logging scheme allows to measure much more
reliably:
- the % of the time that a device had Internet, in the sense that the
default network was validated.
- the time transitions between default networks, keyed by previous and
new transports/link layer, which allows to derive wakelock durations
and wakelock power costs from default network switches.
This patch also simplifies the dumpsys interface of the connmetrics
service and reduces the commands to three:
- "flush" for metrics upload.
- "proto" for printing buffered event in text proto format.
- "list" for listing all events and statistics.
Bug:
34901696
Bug:
65700460
Test: runtest frameworks-net
Change-Id: I0521f1681a60cca07ac3bfd5741d64ce44de4cdd
Treehugger Robot [Sun, 5 Nov 2017 08:47:53 +0000 (08:47 +0000)]
Merge "Rename withIPv6AddrGenMode{Type}() methods to using{Type}MacAddress()"
George Burgess IV [Sat, 4 Nov 2017 22:58:58 +0000 (15:58 -0700)]
cmds: add #!s
Without this, exec()ing these fails.
Found with `grep -L bin/sh $(grep -Rl Script)`
Bug: None
Test: exec()ed each of these scripts; I no longer get "exec format
error" for any of them.
Change-Id: I47db5007e5cc14ab91eb846b7bffecb925d37874
Erik Kline [Tue, 31 Oct 2017 02:37:41 +0000 (11:37 +0900)]
Rename withIPv6AddrGenMode{Type}() methods to using{Type}MacAddress()
Callers of IpClient can tell it via the Builder whether a stable or
a random link-layer identifier is used. IpClient will make the
appropriate IP-layer adjustments (for now this means RFC 7217
addresses or not).
Test: as follows
- built
- flashed
- booted
- runtest frameworks-net passes
- ./frameworks/opt/net/wifi/tests/wifitests/runtests.sh runs as well
as possible on AOSP (no new errors)
Bug:
62476366
Change-Id: Ic9d52ea4f2c6c3588852ed41c81f8664d5cc298a
Jeff Sharkey [Fri, 3 Nov 2017 22:41:51 +0000 (22:41 +0000)]
Merge "Define NOT_ROAMING network capability."
Treehugger Robot [Fri, 3 Nov 2017 21:32:50 +0000 (21:32 +0000)]
Merge "Respect Accessory timeout value when restoring defaults"
Chen Xu [Fri, 3 Nov 2017 21:08:38 +0000 (21:08 +0000)]
Merge "new columns of carrierId DB"
fionaxu [Thu, 26 Oct 2017 06:09:36 +0000 (23:09 -0700)]
new columns of carrierId DB
Bug:
64131637
Test: Unit test CarrierIdProviderTest.java
Change-Id: I5e1d061d39248be12dd1e6ff1488dd3268f5f3ae
(cherry picked from commit
a9214ba0b8fc691021a27dd523e4b0b0ed1fdff7)
Philip P. Moltmann [Wed, 1 Nov 2017 22:22:02 +0000 (15:22 -0700)]
Allow to attach jvmti agents from inside of process
Test: cts-tradefed run singleCommand cts-dev -m CtsJvmtiAttachingTestCases
Bug:
65016018
Change-Id: I6d445afa288c6fec1d860150159fa05ed63cf517
Treehugger Robot [Fri, 3 Nov 2017 16:07:50 +0000 (16:07 +0000)]
Merge "Handle '&' in DexoptUtils#encodeClassLoader"
Suresh Koleti [Fri, 3 Nov 2017 12:59:25 +0000 (18:29 +0530)]
Move isServiceReady to ImsServiceProxyCompat
-- Move isServiceReady from ImsServiceProxy to its base class
ImsServiceProxyCompat to use in ImsManager.
Test: Manual
Bug:
63920021
Change-Id: I0e136ffe8490a3ba985bfb5992c1ff2176e610fe
Narayan Kamath [Fri, 3 Nov 2017 10:05:28 +0000 (10:05 +0000)]
Merge "ZipUtils: Rewrite in terms of zip_archive::Inflate."
Ivan Lozano [Fri, 3 Nov 2017 03:42:24 +0000 (03:42 +0000)]
Merge "Disable integer sanitization in gcIfManyNewRefs."
Shubham Ajmera [Tue, 5 Sep 2017 17:20:41 +0000 (10:20 -0700)]
Handle '&' in DexoptUtils#encodeClassLoader
For system apps, we pass '&' for CLC.
The method was treating this as a path as a result we were getting
wrong encoding for CLC.
This was causing dexopt failures for A/B OTA.
Removed the secondary dex file dexopt till we fixed it.
(cherry picked from commit
727aaa36b6914be3f340c97c991c93314d25c617)
Bug:
65067046
Test: runtest.py -x \
frameworks/base/services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java
(cherry-picked from commit
557c054935c0864b42ce49541d12d32ae6a797bc)
Merged-In: I9aa440750c811676c86d8c6d0d451077d0edf5a0
Change-Id: I9aa440750c811676c86d8c6d0d451077d0edf5a0
Selim Gurun [Fri, 3 Nov 2017 01:39:31 +0000 (18:39 -0700)]
Respect Accessory timeout value when restoring defaults
Android accessory mode timeout value is a lot larger than default
timeout value (10 seconds vs. 1 second). The large timeout
value is needed to accomodate for HUs that are not quick
to respond after MTP to Accessory mode change.
Bug:
68819844
Test: Manual
Change-Id: I665e1001f8df66fb00cbfcbf6c58d97c372797fc
Treehugger Robot [Fri, 3 Nov 2017 01:13:27 +0000 (01:13 +0000)]
Merge "Added default home values of CDMA roaming indicator"
Treehugger Robot [Fri, 3 Nov 2017 01:05:05 +0000 (01:05 +0000)]
Merge "[framework] Compile secondary dex files in isolation"
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)
Treehugger Robot [Thu, 2 Nov 2017 21:57:29 +0000 (21:57 +0000)]
Merge "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared"
Ivan Lozano [Thu, 2 Nov 2017 21:10:57 +0000 (14:10 -0700)]
Disable integer sanitization in gcIfManyNewRefs.
Prevent gcIfManyNewRefs from emitting runtime errors on
integer sanitized builds by disabling unsigned integer overflow
sanitization.
Test: Compiles, device boots.
Bug:
30969751
Change-Id: I90bbf831d03a60b40e047327d633102444058f69
con [Thu, 2 Nov 2017 20:05:09 +0000 (20:05 +0000)]
Merge "Fix 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
Treehugger Robot [Thu, 2 Nov 2017 18:33:18 +0000 (18:33 +0000)]
Merge "Use ScopedPrimitiveArrayRO instead of manually managing Java primitive"
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
Treehugger Robot [Thu, 2 Nov 2017 18:11:02 +0000 (18:11 +0000)]
Merge "Handle configuration splits when creating the class loader context"
Treehugger Robot [Thu, 2 Nov 2017 18:10:42 +0000 (18:10 +0000)]
Merge "Ensure dexopt is executed only with consistent package data"
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
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
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
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
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
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
Narayan Kamath [Mon, 30 Oct 2017 12:57:24 +0000 (12:57 +0000)]
ZipUtils: Rewrite in terms of zip_archive::Inflate.
Removes duplicated zlib related code.
Bug:
35246701
Test: make
Test: run cts-dev -m CtsContentTestCases -t android.content.res.cts
Change-Id: Ie93cab4eb442b02ee171203a043ef02edbc35f2b
Charles He [Thu, 2 Nov 2017 10:36:01 +0000 (10:36 +0000)]
Merge "TokenWatcher: fix bug in repeated calls to acquire()."
Treehugger Robot [Thu, 2 Nov 2017 03:39:42 +0000 (03:39 +0000)]
Merge "Allow equality checking and hash for HIDL interface proxies."
Treehugger Robot [Thu, 2 Nov 2017 03:31:30 +0000 (03:31 +0000)]
Merge "Frameworks: Fix idle-background-job flag"
Treehugger Robot [Thu, 2 Nov 2017 02:29:50 +0000 (02:29 +0000)]
Merge "Fix dexopt dump"
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
Pengquan Meng [Thu, 2 Nov 2017 01:11:29 +0000 (01:11 +0000)]
Merge "Fix getSimOperator to return mccmnc based on subId"
Jeff Sharkey [Fri, 27 Oct 2017 23:22:59 +0000 (17:22 -0600)]
Define NOT_ROAMING network capability.
The "roaming" state of a network really belongs on NetworkCapabilities
instead of being published through NetworkInfo.isRoaming(). One major
reason is to support developers creating NetworkRequests for a
non-roaming network.
Watch for any capability changes that network statistics are
interested in (either metered or roaming) and notify it to perform
an update pass; fixes bug where we previously only triggered on
roaming changes.
Fix bug in VPNs where metered/roaming capabilities of underlying
networks weren't being propagated; this was probably preventing
some jobs from running over unmetered networks, and causing other
jobs to run over roaming networks! Also passes along link bandwidth
information from underlying networks, and propegates any changes
to underlying networks.
Fix race condition by reading prevNc inside lock. Utility methods
correctly calculate min/max link bandwidth values.
Test: bit FrameworksNetTests:android.net.,com.android.server.net.,com.android.server.connectivity.,com.android.server.ConnectivityServiceTest
Bug:
68397798,
16207332
Change-Id: I3e1a6544c902bf3a79356b72d3616af1fd2b0f49
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
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
Jordan Liu [Wed, 1 Nov 2017 23:20:39 +0000 (23:20 +0000)]
Merge "Added interface to get the decimal digit from hex ICCID."
Hall Liu [Wed, 1 Nov 2017 22:35:51 +0000 (22:35 +0000)]
Merge "Add @TestApi for EMBMS APIs needed for CTS"
Treehugger Robot [Wed, 1 Nov 2017 22:18:39 +0000 (22:18 +0000)]
Merge "make update-api"
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
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
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
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
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
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
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
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
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
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
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
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
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"
manabu, shimoda [Fri, 20 Oct 2017 08:16:06 +0000 (17:16 +0900)]
Add a carrier config indicating whether user can edit a voicemail number
Some carriers require to make it possible to prevent user editing
voicemail number. This carrier config is used to disable voicemail
number setting in Settings.
Test: manual - Checked that the voice mail number editing could be
controlled by carrier config.
Bug:
67872671
Merged-In: Ibbc3e0aa9d3d15abbb44477acd6d3546593a21bf
Change-Id: Ibbc3e0aa9d3d15abbb44477acd6d3546593a21bf
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
Narayan Kamath [Wed, 1 Nov 2017 17:50:16 +0000 (17:50 +0000)]
Merge "Debug: Remove obsolete InstructionCount code."
am:
f5a8edeaf0
Change-Id: Ia070e4dee54ac652545b174881defca2abbfd5df
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"
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
Narayan Kamath [Wed, 1 Nov 2017 17:27:40 +0000 (17:27 +0000)]
Merge "Debug: Remove obsolete InstructionCount code."
Treehugger Robot [Wed, 1 Nov 2017 17:23:27 +0000 (17:23 +0000)]
Merge "PMSCompilerMapping: Hardcode a value for pm.dexopt.inactive"
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
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
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
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
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
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
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
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
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
Calin Juravle [Wed, 1 Nov 2017 02:43:04 +0000 (02:43 +0000)]
Merge changes Ia0623d38,Iaabd5d8b,I579bb12f,Ia9930edd
am:
2b1357fe90
Change-Id: Iee60be352c2e742fdd1d3f7ce15e58e455ac1ead
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
Treehugger Robot [Wed, 1 Nov 2017 02:22:48 +0000 (02:22 +0000)]
Merge "Change the location of current profiles for secondary dex files"
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
Treehugger Robot [Wed, 1 Nov 2017 02:19:57 +0000 (02:19 +0000)]
Merge "Reduce app size by downgrading inactive apps"
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
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
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."
Mathieu Chartier [Tue, 31 Oct 2017 22:31:32 +0000 (22:31 +0000)]
Merge changes I2ef3737f,If080281f
am:
bb3de35e5f
Change-Id: Ibe1af669d200057f1d91142299055694b55b5660
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