Loading services/core/java/com/android/server/pm/ApexManager.java +62 −54 Original line number Diff line number Diff line Loading @@ -563,8 +563,8 @@ public abstract class ApexManager { @Override @Nullable public PackageInfo getPackageInfo(String packageName, @PackageInfoFlags int flags) { public PackageInfo getPackageInfo(String packageName, @PackageInfoFlags int flags) { synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); boolean matchActive = (flags & MATCH_ACTIVE_PACKAGE) != 0; Loading @@ -581,9 +581,11 @@ public abstract class ApexManager { } return null; } } @Override List<PackageInfo> getActivePackages() { synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); final List<PackageInfo> activePackages = new ArrayList<>(); Loading @@ -595,9 +597,11 @@ public abstract class ApexManager { } return activePackages; } } @Override List<PackageInfo> getFactoryPackages() { synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); final List<PackageInfo> factoryPackages = new ArrayList<>(); Loading @@ -609,9 +613,11 @@ public abstract class ApexManager { } return factoryPackages; } } @Override List<PackageInfo> getInactivePackages() { synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); final List<PackageInfo> inactivePackages = new ArrayList<>(); Loading @@ -623,10 +629,12 @@ public abstract class ApexManager { } return inactivePackages; } } @Override boolean isApexPackage(String packageName) { if (!isApexSupported()) return false; synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); for (int i = 0, size = mAllPackagesCache.size(); i < size; i++) { Loading @@ -635,19 +643,17 @@ public abstract class ApexManager { return true; } } } return false; } @Override @Nullable public String getActiveApexPackageNameContainingPackage( @NonNull AndroidPackage containedPackage) { Preconditions.checkState(mPackageNameToApexModuleName != null, "APEX packages have not been scanned"); public String getActiveApexPackageNameContainingPackage(AndroidPackage containedPackage) { Objects.requireNonNull(containedPackage); synchronized (mLock) { Preconditions.checkState(mPackageNameToApexModuleName != null, "APEX packages have not been scanned"); int numApksInApex = mApksInApex.size(); for (int apkInApexNum = 0; apkInApexNum < numApksInApex; apkInApexNum++) { if (mApksInApex.valueAt(apkInApexNum).contains( Loading Loading @@ -982,10 +988,12 @@ public abstract class ApexManager { } ipw.decreaseIndent(); ipw.println(); synchronized (mLock) { if (mAllPackagesCache == null) { ipw.println("APEX packages have not been scanned"); return; } } ipw.println("Active APEX packages:"); dumpFromPackagesCache(getActivePackages(), packageName, ipw); ipw.println("Inactive APEX packages:"); Loading Loading
services/core/java/com/android/server/pm/ApexManager.java +62 −54 Original line number Diff line number Diff line Loading @@ -563,8 +563,8 @@ public abstract class ApexManager { @Override @Nullable public PackageInfo getPackageInfo(String packageName, @PackageInfoFlags int flags) { public PackageInfo getPackageInfo(String packageName, @PackageInfoFlags int flags) { synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); boolean matchActive = (flags & MATCH_ACTIVE_PACKAGE) != 0; Loading @@ -581,9 +581,11 @@ public abstract class ApexManager { } return null; } } @Override List<PackageInfo> getActivePackages() { synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); final List<PackageInfo> activePackages = new ArrayList<>(); Loading @@ -595,9 +597,11 @@ public abstract class ApexManager { } return activePackages; } } @Override List<PackageInfo> getFactoryPackages() { synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); final List<PackageInfo> factoryPackages = new ArrayList<>(); Loading @@ -609,9 +613,11 @@ public abstract class ApexManager { } return factoryPackages; } } @Override List<PackageInfo> getInactivePackages() { synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); final List<PackageInfo> inactivePackages = new ArrayList<>(); Loading @@ -623,10 +629,12 @@ public abstract class ApexManager { } return inactivePackages; } } @Override boolean isApexPackage(String packageName) { if (!isApexSupported()) return false; synchronized (mLock) { Preconditions.checkState(mAllPackagesCache != null, "APEX packages have not been scanned"); for (int i = 0, size = mAllPackagesCache.size(); i < size; i++) { Loading @@ -635,19 +643,17 @@ public abstract class ApexManager { return true; } } } return false; } @Override @Nullable public String getActiveApexPackageNameContainingPackage( @NonNull AndroidPackage containedPackage) { Preconditions.checkState(mPackageNameToApexModuleName != null, "APEX packages have not been scanned"); public String getActiveApexPackageNameContainingPackage(AndroidPackage containedPackage) { Objects.requireNonNull(containedPackage); synchronized (mLock) { Preconditions.checkState(mPackageNameToApexModuleName != null, "APEX packages have not been scanned"); int numApksInApex = mApksInApex.size(); for (int apkInApexNum = 0; apkInApexNum < numApksInApex; apkInApexNum++) { if (mApksInApex.valueAt(apkInApexNum).contains( Loading Loading @@ -982,10 +988,12 @@ public abstract class ApexManager { } ipw.decreaseIndent(); ipw.println(); synchronized (mLock) { if (mAllPackagesCache == null) { ipw.println("APEX packages have not been scanned"); return; } } ipw.println("Active APEX packages:"); dumpFromPackagesCache(getActivePackages(), packageName, ipw); ipw.println("Inactive APEX packages:"); Loading