diff options
| author | atrost <atrost@google.com> | 2019-10-17 13:58:26 +0100 |
|---|---|---|
| committer | atrost <atrost@google.com> | 2019-10-17 15:42:45 +0100 |
| commit | 685cbc125a3d03aa91c68dc763d9247cae886700 (patch) | |
| tree | 5b47dc7517779e00a3c02a09484521c6f35da7db /core/java | |
| parent | f6fb7063a4578be4407408ee791b7b63de4caf62 (diff) | |
Don't call platformCompat on system apps.
To avoid boot time regression in tests, as compat doesn't care about
system apps.
Also fix the fallback condition to be correct.
Bug: 30188076
Bug: 142558883
Test: atest google/perf/boottime/boottime-test -v - no binder calls,
no time regression.
Change-Id: I15fd39ad7e0ed70fcd880a13cffa40d70c5bba55
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/content/pm/AndroidTestBaseUpdater.java | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/core/java/android/content/pm/AndroidTestBaseUpdater.java b/core/java/android/content/pm/AndroidTestBaseUpdater.java index 8fcfe711a882..18d3ba33552e 100644 --- a/core/java/android/content/pm/AndroidTestBaseUpdater.java +++ b/core/java/android/content/pm/AndroidTestBaseUpdater.java @@ -55,15 +55,20 @@ public class AndroidTestBaseUpdater extends PackageSharedLibraryUpdater { private static final long REMOVE_ANDROID_TEST_BASE = 133396946L; private static boolean isChangeEnabled(Package pkg) { - IPlatformCompat platformCompat = IPlatformCompat.Stub.asInterface( - ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE)); - try { - return platformCompat.isChangeEnabled(REMOVE_ANDROID_TEST_BASE, pkg.applicationInfo); - } catch (RemoteException | NullPointerException e) { - Log.e(TAG, "Failed to get a response from PLATFORM_COMPAT_SERVICE", e); + // Do not ask platform compat for system apps to prevent a boot time regression in tests. + // b/142558883. + if (!pkg.applicationInfo.isSystemApp()) { + IPlatformCompat platformCompat = IPlatformCompat.Stub.asInterface( + ServiceManager.getService(Context.PLATFORM_COMPAT_SERVICE)); + try { + return platformCompat.isChangeEnabled(REMOVE_ANDROID_TEST_BASE, + pkg.applicationInfo); + } catch (RemoteException | NullPointerException e) { + Log.e(TAG, "Failed to get a response from PLATFORM_COMPAT_SERVICE", e); + } } // Fall back to previous behaviour. - return pkg.applicationInfo.targetSdkVersion <= Build.VERSION_CODES.Q; + return pkg.applicationInfo.targetSdkVersion > Build.VERSION_CODES.Q; } @Override |
