OSDN Git Service

android-x86/frameworks-base.git
6 years agoMerge "Disable integer sanitizer in release function."
Ivan Lozano [Wed, 8 Nov 2017 20:07:36 +0000 (20:07 +0000)]
Merge "Disable integer sanitizer in release function."

6 years agoMerge "Add OWNED_BY field."
Treehugger Robot [Wed, 8 Nov 2017 19:28:37 +0000 (19:28 +0000)]
Merge "Add OWNED_BY field."

6 years agoMerge "Fix signature for finalize() to resolve API Lint error"
nharold [Wed, 8 Nov 2017 17:56:43 +0000 (17:56 +0000)]
Merge "Fix signature for finalize() to resolve API Lint error"

6 years agoDisable integer sanitizer in release function.
Ivan Lozano [Wed, 8 Nov 2017 17:48:11 +0000 (09:48 -0800)]
Disable integer sanitizer in release function.

EphemeralStorage::release was causing an unsigned integer overflow on
boot due to the way the for loop is constructed. This function doesn't
need to be sanitized. This adds the no_sanitize attribute to the
function.

Bug: 30969751
Test: Compiles and device boots without runtime error.
Change-Id: Id28a2891624c1fe077fa5e27051540a39e33fe71

6 years agoMerge "Update documentation for AES-GCM-ESP keymat length"
Benedict Wong [Wed, 8 Nov 2017 17:47:40 +0000 (17:47 +0000)]
Merge "Update documentation for AES-GCM-ESP keymat length"

6 years agoMerge "Move ImsServiceProxy to opt/net/ims"
Brad Ebinger [Wed, 8 Nov 2017 17:12:44 +0000 (17:12 +0000)]
Merge "Move ImsServiceProxy to opt/net/ims"

6 years agoMerge "Revert "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared""
Treehugger Robot [Wed, 8 Nov 2017 16:36:59 +0000 (16:36 +0000)]
Merge "Revert "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared""

6 years agoMerge "Track deprecation/replacement of Os methods that depend on Mutable*"
Tobias Thierer [Wed, 8 Nov 2017 16:34:03 +0000 (16:34 +0000)]
Merge "Track deprecation/replacement of Os methods that depend on Mutable*"

6 years agoMerge "Switch class hierarchy of ImsServiceProxy and compat"
Brad Ebinger [Wed, 8 Nov 2017 16:20:39 +0000 (16:20 +0000)]
Merge "Switch class hierarchy of ImsServiceProxy and compat"

6 years agoAdd OWNED_BY field.
yuemingw [Wed, 8 Nov 2017 13:12:18 +0000 (13:12 +0000)]
Add OWNED_BY field.

Bug: 68208199
Test: later

Design doc: https://docs.google.com/document/d/1UEYjhRGSEwwccPLs_FzFD-IeOsVq63gxmAHNtDfnzAY/edit#heading=h.jza6dz6kh6bz

Change-Id: Ic78df7902523bad4b3d40bacb73b17d767226aac

6 years agoMerge "Define MacAddress class"
Hugo Benichi [Wed, 8 Nov 2017 06:30:04 +0000 (06:30 +0000)]
Merge "Define MacAddress class"

6 years agoMerge "Networking metrics: minor pretty printing improvements"
Treehugger Robot [Wed, 8 Nov 2017 03:27:25 +0000 (03:27 +0000)]
Merge "Networking metrics: minor pretty printing improvements"

6 years agoRevert "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared"
Andreas Gampe [Wed, 8 Nov 2017 02:21:58 +0000 (02:21 +0000)]
Revert "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared"

This reverts commit e131dac848cb4d0998e1dee2219382250c71d277.

Reason for revert: ART default properties are now in /system.

Bug: 68755013
Change-Id: I32d938abb73c8d8df74716ede8032d9874086fda

6 years agoDefine MacAddress class
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

6 years agoFix signature for finalize() to resolve API Lint error
Nathan Harold [Wed, 8 Nov 2017 01:17:45 +0000 (17:17 -0800)]
Fix signature for finalize() to resolve API Lint error

The API linter on goog/master noticed that this method is
listed in the public API even though it's protected. The
change is probably related to a signature change from the
internal finalize method which throws a Throwable. Fix the
method in IpSecManager to throw Throwable, which should
fix the current.txt and resolve the lint error.

Bug: 69006767
Test: compilation, make update-api
Change-Id: I173d014baaa505c365b7916fcb52f2a8b4af9373

6 years agoUpdate documentation for AES-GCM-ESP keymat length
Benedict Wong [Thu, 2 Nov 2017 00:14:25 +0000 (17:14 -0700)]
Update documentation for AES-GCM-ESP keymat length

Added notes that keymat length must include 32 bits of salt.

Bug: 68672051
Test: Frameworks-net unit tests & IpSecManager CTS tests run
Change-Id: I0ae0c5be8a45b2374783b3bd1fa8bf930f15e687

6 years agoNetworking metrics: minor pretty printing improvements
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

6 years agoMerge "Refactor ApfFilter creation"
Hugo Benichi [Tue, 7 Nov 2017 22:22:19 +0000 (22:22 +0000)]
Merge "Refactor ApfFilter creation"

6 years agoMerge "Add a carrier config indicating whether user can edit a voicemail number"
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"

6 years agoMove ImsServiceProxy to opt/net/ims
Brad Ebinger [Mon, 6 Nov 2017 23:14:15 +0000 (15:14 -0800)]
Move ImsServiceProxy to opt/net/ims

This code is very tightly coupled with ImsManager
and should exist as part of the telephony IMS
code.

Test: Manual
Change-Id: If7b8ec73409daa7f1c1d27878242b4335db38e8a

6 years agoSwitch class hierarchy of ImsServiceProxy and compat
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

6 years agoRefactor ApfFilter creation
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

6 years agoMerge "Replace dns_tls with private_dns_mode setting"
Treehugger Robot [Tue, 7 Nov 2017 05:54:29 +0000 (05:54 +0000)]
Merge "Replace dns_tls with private_dns_mode setting"

6 years agoReplace 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

6 years agoTrack deprecation/replacement of Os methods that depend on Mutable*
Tobias Thierer [Mon, 30 Oct 2017 20:21:38 +0000 (20:21 +0000)]
Track deprecation/replacement of Os methods that depend on Mutable*

Another CL in this CL topic is deprecating/removing three methods
in android.system.Os, and introducing replacements.

This CL tracks that change by updating frameworks/base accordingly.

Test: Treehugger
Bug: 67901714

Change-Id: I96ad205a305801b2cb641ba8984810dfe6474032

6 years agoMerge "Move isServiceReady to ImsServiceProxyCompat"
Jordan Liu [Tue, 7 Nov 2017 00:07:11 +0000 (00:07 +0000)]
Merge "Move isServiceReady to ImsServiceProxyCompat"

6 years agoMerge "cmds: add #!s"
Treehugger Robot [Mon, 6 Nov 2017 23:25:27 +0000 (23:25 +0000)]
Merge "cmds: add #!s"

6 years agoMerge "Allow to attach jvmti agents from inside of process"
Treehugger Robot [Mon, 6 Nov 2017 20:34:34 +0000 (20:34 +0000)]
Merge "Allow to attach jvmti agents from inside of process"

6 years agoMerge "Display the HD icon in the Call Log"
Qi Wang [Mon, 6 Nov 2017 19:28:24 +0000 (19:28 +0000)]
Merge "Display the HD icon in the Call Log"

6 years agoMerge "DefaultNetworkEvent metrics: rehaul"
Hugo Benichi [Mon, 6 Nov 2017 07:09:49 +0000 (07:09 +0000)]
Merge "DefaultNetworkEvent metrics: rehaul"

6 years agoDefaultNetworkEvent 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

6 years agoMerge "Rename withIPv6AddrGenMode{Type}() methods to using{Type}MacAddress()"
Treehugger Robot [Sun, 5 Nov 2017 08:47:53 +0000 (08:47 +0000)]
Merge "Rename withIPv6AddrGenMode{Type}() methods to using{Type}MacAddress()"

6 years agocmds: add #!s
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

6 years agoRename withIPv6AddrGenMode{Type}() methods to using{Type}MacAddress()
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

6 years agoMerge "Define NOT_ROAMING network capability."
Jeff Sharkey [Fri, 3 Nov 2017 22:41:51 +0000 (22:41 +0000)]
Merge "Define NOT_ROAMING network capability."

6 years agoMerge "Respect Accessory timeout value when restoring defaults"
Treehugger Robot [Fri, 3 Nov 2017 21:32:50 +0000 (21:32 +0000)]
Merge "Respect Accessory timeout value when restoring defaults"

6 years agoMerge "new columns of carrierId DB"
Chen Xu [Fri, 3 Nov 2017 21:08:38 +0000 (21:08 +0000)]
Merge "new columns of carrierId DB"

6 years agonew 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)

6 years agoAllow to attach jvmti agents from inside of process
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

6 years agoMerge "Handle '&' in DexoptUtils#encodeClassLoader"
Treehugger Robot [Fri, 3 Nov 2017 16:07:50 +0000 (16:07 +0000)]
Merge "Handle '&' in DexoptUtils#encodeClassLoader"

6 years agoMove isServiceReady to ImsServiceProxyCompat
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

6 years agoMerge "ZipUtils: Rewrite in terms of zip_archive::Inflate."
Narayan Kamath [Fri, 3 Nov 2017 10:05:28 +0000 (10:05 +0000)]
Merge "ZipUtils: Rewrite in terms of zip_archive::Inflate."

6 years agoMerge "Disable integer sanitization in gcIfManyNewRefs."
Ivan Lozano [Fri, 3 Nov 2017 03:42:24 +0000 (03:42 +0000)]
Merge "Disable integer sanitization in gcIfManyNewRefs."

6 years agoHandle '&' in DexoptUtils#encodeClassLoader
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

6 years agoRespect Accessory timeout value when restoring defaults
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

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"
Treehugger Robot [Thu, 2 Nov 2017 21:57:29 +0000 (21:57 +0000)]
Merge "PMSCompilerMapping: Hardcode a value for pm.dexopt.shared"

6 years agoDisable integer sanitization in gcIfManyNewRefs.
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

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 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 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 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 agoZipUtils: Rewrite in terms of zip_archive::Inflate.
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

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."
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"
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:11:29 +0000 (01:11 +0000)]
Merge "Fix getSimOperator to return mccmnc based on subId"

6 years agoDefine NOT_ROAMING network capability.
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: 6839779816207332
Change-Id: I3e1a6544c902bf3a79356b72d3616af1fd2b0f49

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: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 22:35:51 +0000 (22:35 +0000)]
Merge "Add @TestApi for EMBMS APIs needed for CTS"

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 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 agoAdd a carrier config indicating whether user can edit a voicemail number
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

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