Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 928fdc3d271dd4799ba085245c4d9c030e68b09e
Author: Marcello Albano <maralb@google.com>
Date: Tue Sep 13 16:42:45 2022
Created ProfileVerifier to check whether a compilation profile exists
The ProfileVerifier checks if a compilation profile is installed, either through play store, package manager or profile installer.
A reference profile can be the result of either a baseline profile, a cloud profile or a bg dex opt.
If a reference profile exists at the first app start or after an app update,
this means that a baseline profile or a cloud profile was installed, since the bg dex opt happen
later in background. The ProfileVerifier caches the result after the first app start to exclude bg dex opt
and rechecks for reference profile only after app update. The same is applied also to current profiles, with the exception
that the check for current profiles can be forced, in case the installation was done at a later time through ProfileInstallerReceiver.
Test: ./gradlew profileinstaller:integration-tests:profile-verification:cC
Bug: 246653809
Change-Id: I263a45582743afce0c3d9aefe629c07dfde77a72
Relnote: Added ProfileVerifier api to check whether a compilation profile exists for the app
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/build.gradle
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/AndroidManifest.xml
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/baseline-prof.txt
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/java/androidx/profileinstaller/integration/profileverification/target/no_initializer/SampleActivity.kt
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/res/layout/activity_main.xml
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/res/values/donottranslate-strings.xml
A profileinstaller/integration-tests/profile-verification-sample/build.gradle
A profileinstaller/integration-tests/profile-verification-sample/src/main/AndroidManifest.xml
A profileinstaller/integration-tests/profile-verification-sample/src/main/baseline-prof.txt
A profileinstaller/integration-tests/profile-verification-sample/src/main/java/androidx/profileinstaller/integration/profileverification/target/SampleActivity.kt
A profileinstaller/integration-tests/profile-verification-sample/src/main/res/layout/activity_main.xml
A profileinstaller/integration-tests/profile-verification-sample/src/main/res/values/donottranslate-strings.xml
A profileinstaller/integration-tests/profile-verification/build.gradle
A profileinstaller/integration-tests/profile-verification/src/androidTest/AndroidManifest.xml
A profileinstaller/integration-tests/profile-verification/src/androidTest/assets/baseline.prof
A profileinstaller/integration-tests/profile-verification/src/androidTest/assets/baseline.profm
A profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/ProfileVerificationTestWithProfileInstallerInitializer.kt
A profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/ProfileVerificationTestWithoutProfileInstallerInitializer.kt
A profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/TestManager.kt
A profileinstaller/integration-tests/profile-verification/src/main/AndroidManifest.xml
M profileinstaller/profileinstaller/api/current.txt
M profileinstaller/profileinstaller/api/public_plus_experimental_current.txt
M profileinstaller/profileinstaller/api/restricted_current.txt
M profileinstaller/profileinstaller/build.gradle
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/DeviceProfileWriter.java
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileInstaller.java
A profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileVerifier.java
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileVersion.java
M settings.gradle
https://android-review.googlesource.com/2218950
Branch: androidx-main
commit 928fdc3d271dd4799ba085245c4d9c030e68b09e
Author: Marcello Albano <maralb@google.com>
Date: Tue Sep 13 16:42:45 2022
Created ProfileVerifier to check whether a compilation profile exists
The ProfileVerifier checks if a compilation profile is installed, either through play store, package manager or profile installer.
A reference profile can be the result of either a baseline profile, a cloud profile or a bg dex opt.
If a reference profile exists at the first app start or after an app update,
this means that a baseline profile or a cloud profile was installed, since the bg dex opt happen
later in background. The ProfileVerifier caches the result after the first app start to exclude bg dex opt
and rechecks for reference profile only after app update. The same is applied also to current profiles, with the exception
that the check for current profiles can be forced, in case the installation was done at a later time through ProfileInstallerReceiver.
Test: ./gradlew profileinstaller:integration-tests:profile-verification:cC
Bug: 246653809
Change-Id: I263a45582743afce0c3d9aefe629c07dfde77a72
Relnote: Added ProfileVerifier api to check whether a compilation profile exists for the app
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/build.gradle
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/AndroidManifest.xml
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/baseline-prof.txt
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/java/androidx/profileinstaller/integration/profileverification/target/no_initializer/SampleActivity.kt
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/res/layout/activity_main.xml
A profileinstaller/integration-tests/profile-verification-sample-no-initializer/src/main/res/values/donottranslate-strings.xml
A profileinstaller/integration-tests/profile-verification-sample/build.gradle
A profileinstaller/integration-tests/profile-verification-sample/src/main/AndroidManifest.xml
A profileinstaller/integration-tests/profile-verification-sample/src/main/baseline-prof.txt
A profileinstaller/integration-tests/profile-verification-sample/src/main/java/androidx/profileinstaller/integration/profileverification/target/SampleActivity.kt
A profileinstaller/integration-tests/profile-verification-sample/src/main/res/layout/activity_main.xml
A profileinstaller/integration-tests/profile-verification-sample/src/main/res/values/donottranslate-strings.xml
A profileinstaller/integration-tests/profile-verification/build.gradle
A profileinstaller/integration-tests/profile-verification/src/androidTest/AndroidManifest.xml
A profileinstaller/integration-tests/profile-verification/src/androidTest/assets/baseline.prof
A profileinstaller/integration-tests/profile-verification/src/androidTest/assets/baseline.profm
A profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/ProfileVerificationTestWithProfileInstallerInitializer.kt
A profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/ProfileVerificationTestWithoutProfileInstallerInitializer.kt
A profileinstaller/integration-tests/profile-verification/src/androidTest/java/androidx/profileinstaller/integration/profileverification/TestManager.kt
A profileinstaller/integration-tests/profile-verification/src/main/AndroidManifest.xml
M profileinstaller/profileinstaller/api/current.txt
M profileinstaller/profileinstaller/api/public_plus_experimental_current.txt
M profileinstaller/profileinstaller/api/restricted_current.txt
M profileinstaller/profileinstaller/build.gradle
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/DeviceProfileWriter.java
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileInstaller.java
A profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileVerifier.java
M profileinstaller/profileinstaller/src/main/java/androidx/profileinstaller/ProfileVersion.java
M settings.gradle
ma...@google.com <ma...@google.com>
na...@google.com <na...@google.com> #3
The following release(s) address this bug:
androidx.profileinstaller:profileinstaller:1.3.0-alpha01
Description
As per title, this should be an API that allows developers to check whether a compilation profile is installed or not.