Add a system setting to store preferred RTT mode for calls. Add logging
for RTT in Telecom base classes.
Bug: 63934808
Test: manual
Change-Id: Ie26fac800931604379bbe7b8abfed7caa8c0236d
Merged-In: Ie26fac800931604379bbe7b8abfed7caa8c0236d
* changes:
Allow public profile compilation for primary apks
[framework] Pass .dm files to dexopt at install time
Extend the ArtManager profiling API to cover boot image profiling
[framework] Extend profile operations to take the profile name
Accept UserHandle.USER_ALL during profile preparation
[framework] Prepare profile for app code paths
Perform a non strict matching of .dm files when computing the size
Support installation of DexMetadata files (.dm)
Rename snapshotProfile to createProfileSnapshot for consistency
Implement ArtManager#snapshotProfile API
Add SystemApis to expose runtime profile information
Log SHA256 of secondary dex files during reconcile.
Change the toast message shown by an Activity when VMRuntime reports
that the app has used a private API.
(a) fix a typo: compatiblity -> compatibility
(b) change guidance from "please consult log" to "go to <url> for
more info" where devs can learn how to proceed if their app does
have compatibility issues.
Bug: 64382372
Test: make, visual
Change-Id: Idbe32a724438bb7b0826d0b4e11ef505015cb321
This is implementation of Hearing Aid Profile that will in future
be connected to Bluetooth Manager - see TODOs in BluetoothHearingAid.java
Bug: 69623109
Test: compilation. Manual test with HA.
Change-Id: I79643ea1e14e9df7f5771169359c964a60c56618
It is ok to perform a "public" compilation with
profiles comming from dex metdata files.
(cherry picked from commit ff3e4a1b2f)
Test: adb install foo.apk foo.dm
Bug: 30934496
Merged-In: I1d15e3281ccc61b19a2aafe3c885285a83ff6115
Change-Id: I1d15e3281ccc61b19a2aafe3c885285a83ff6115
The boot image profile is available only on userdebug and eng builds and
combines the boot classpath and system server classpath.
Also, update ArtManager API to use Executors instead of Handlers.
(cherry picked from commit fcbb74a429)
Test: gts GtsAndroidRuntimeManagerHostTestCases
Bug: 30934496
Merged-In: Ie501947a659d644acbde04fb46157dd0c7944e81
Change-Id: Ie501947a659d644acbde04fb46157dd0c7944e81
Extend the installd profile interface to take the profile name as
argument. This shifts the responsibility for choosing the names of
profiles for primary apks completely to PackageManager. Each of the
application code paths will get an unique profile name based on their
split name.
All the profile operations will now work on a specific profile name rather
than assuming a default global name.
Also, move dumpProfiles and clearProfiles functionality to the
ArtManagerService so that we can re-use profileName computations easier.
(cherry picked from commit 6ae39fc2e5)
Test: manual (dexopt apps, merge profiles, clear profiles)
gts GtsAndroidRuntimeManagerHostTestCases
Bug: 30934496
Merged-In: Ie65d45eed7de0844edf4b7af918d7eaa74ec1f2c
Change-Id: Ie65d45eed7de0844edf4b7af918d7eaa74ec1f2c
This CL is an intermediate step to enable the use of profiles shipped in
the dex metadata files.
The preparation consist of:
- creating the current profile
- merging the profile from the dex metadata file (if present) into the
reference profile
and happens:
- after the application data directory is created, to capture system
apps.
- post-install (right before we dexopt), to capture any new code paths
(cherry picked from commit 3621be71d0)
Test: manual (install apps and splits, take OTA)
Bug: 30934496
Merged-In: Id36474ab629ad3ffafd24381d30e3d88ac02d576
Change-Id: Id36474ab629ad3ffafd24381d30e3d88ac02d576
'adb shell pm install' creates the PackageLite structure without
validating or renaming the input files to '.apk'.
Be more permissive in DexMetadataHeler when computing the size of the
package to allow for this scenario.
(cherry picked from commit 10b27eb2cc)
Test: atest
core/tests/coretests/src/android/content/pm/dex/DexMetadataHelperTest.java
Bug: 72267410
Merged-In: Ica446b0822be71826d02d01ada015a43d8133c68
Change-Id: Ica446b0822be71826d02d01ada015a43d8133c68
Add support in the package installer to install dex metadata files
alongside the application apks (base or splits).
During installation or update the dex metadata files will need to have a
matching apk file. The matching is done by checking the file extension
(e.g. base.apk -> base.dm, split_a.apk -> split.dm).
On disk, the metadata files are placed next to the apks.
The .dm files will be used during install-time optimizations and passed
verbatim to dex2oat.
Test: adb shell am instrument -w \
1) adb shell am instrument -w \
-e class android.content.pm.DexMetadataHelperTest
com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
2) adb install-multiple CtsClassloaderSplitApp.apk
CtsClassloaderSplitApp.dm CtsClassloaderSplitAppFeatureA.apk
CtsClassloaderSplitAppFeatureA.dm CtsClassloaderSplitAppFeatureB.apk
3) gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases
(cherry picked from commit 3fc56c3000)
Bug: 30934496
Merged-In: I86f0a8307705ff3d6a5a85c2fcaae085dd62d4af
Change-Id: I86f0a8307705ff3d6a5a85c2fcaae085dd62d4af
Complete the implementation of ArtManager#snapshotProfile. The snapshot is
performed by calling the installer and then return to the caller via the
specified callback.
(cherry picked from commit fd9f8ae973)
Bug: 30934496
Test: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases
Merged-In: I87131487846d91d79a56041445420376b61ca8e7
Change-Id: I87131487846d91d79a56041445420376b61ca8e7
The API allows a system apps which acquired
{@code android.permission.READ_RUNTIME_PROFILE} to snapshot the runtime
profiles of installed packages.
The API is implemented in a new service class (AndroidRuntimeManager)
accessible from the context using
context().getPackageManager().getAndroidRuntimeManager().
The main functionality is exposed as a one way call into the
AndroidRuntimeManager with the result being posted on a callback. The
profile is available to the caller as a read-only ParcelFileDescriptor.
This CL only adds the API interfaces and validation. It does not fully
implement the functionality.
oneway void snapshotRuntimeProfile(in String packageName,
in String codePath, in ISnapshotRuntimeProfileCallback callback)
(cherry picked from commit 45f8b29ce0)
Bug: 30934496
Test: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases
Merged-In: Iaa6be4715840f24508acba3162ea9c1ab725bd38
Change-Id: Iaa6be4715840f24508acba3162ea9c1ab725bd38
(cherry picked from commit a0023604dd)
Bug: 63927552
Test: Exercised manually. Added unit test for DexManager.
Merged-In: Ic8e9ea4da8eb5c22fbe088a59a406e36bc2eb6fa
Change-Id: Ic8e9ea4da8eb5c22fbe088a59a406e36bc2eb6fa
There are only two situations in which we want to enable hidden API
access flag checks. Turning the flag from DISABLE_ to ENABLE_
simplifies logic in ART and reduces the number places where the flag
had to be passed down to ART.
Bug: 64382372
Test: boot device, install and run apps, check log messages
(cherry picked from commit f7e31c0a2b)
Change-Id: Ib2f70696d98c6e1500d1d419d6acf0a8d0487213
restructure CarrierIdProvider into two tables
1. All - a private table which stores a complete mapping of all carriers
2. Current - a public table only stores the carrier identification of the
current active subs. require no permission to query.
expose the content url to public so that apps could be
notified on carrier identity change either on background or foreground.
Bug: 72571475
Test: runtest --path CarrierIdProviderTest.java
Test: Manual
Change-Id: If2a20288e63d25343f5bb582b35564d769a4e13b
(cherry picked from commit 3d00d698d7)
Merged-in: If2a20288e63d25343f5bb582b35564d769a4e13b