Loading services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java +9 −13 Original line number Diff line number Diff line Loading @@ -492,23 +492,19 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve PackageManager pm = mContext.getPackageManager(); if (Flags.refactorCrashrecovery() && provideInfoOfApkInApex()) { // Check if the package is listed among the system modules. boolean isApex = false; // Check if the package is listed among the system modules or is an // APK inside an updatable APEX. try { isApex = (pm.getModuleInfo(packageName, 0 /* flags */) != null); } catch (PackageManager.NameNotFoundException e) { //pass final PackageInfo pkg = pm.getPackageInfo(packageName, 0 /* flags */); String apexPackageName = pkg.getApexPackageName(); if (apexPackageName != null) { packageName = apexPackageName; } // Check if the package is an APK inside an APEX. boolean isApkInApex = false; try { final PackageInfo pkg = pm.getPackageInfo(packageName, 0 /* flags */); isApkInApex = (pkg.getApexPackageName() != null); return pm.getModuleInfo(packageName, 0 /* flags */) != null; } catch (PackageManager.NameNotFoundException e) { // pass return false; } return isApex || isApkInApex; } else { // Check if the package is an APK inside an APEX. If it is, use the parent APEX package // when querying PackageManager. Loading Loading
services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java +9 −13 Original line number Diff line number Diff line Loading @@ -492,23 +492,19 @@ public final class RollbackPackageHealthObserver implements PackageHealthObserve PackageManager pm = mContext.getPackageManager(); if (Flags.refactorCrashrecovery() && provideInfoOfApkInApex()) { // Check if the package is listed among the system modules. boolean isApex = false; // Check if the package is listed among the system modules or is an // APK inside an updatable APEX. try { isApex = (pm.getModuleInfo(packageName, 0 /* flags */) != null); } catch (PackageManager.NameNotFoundException e) { //pass final PackageInfo pkg = pm.getPackageInfo(packageName, 0 /* flags */); String apexPackageName = pkg.getApexPackageName(); if (apexPackageName != null) { packageName = apexPackageName; } // Check if the package is an APK inside an APEX. boolean isApkInApex = false; try { final PackageInfo pkg = pm.getPackageInfo(packageName, 0 /* flags */); isApkInApex = (pkg.getApexPackageName() != null); return pm.getModuleInfo(packageName, 0 /* flags */) != null; } catch (PackageManager.NameNotFoundException e) { // pass return false; } return isApex || isApkInApex; } else { // Check if the package is an APK inside an APEX. If it is, use the parent APEX package // when querying PackageManager. Loading