Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 06132046 authored by Mohammad Samiul Islam's avatar Mohammad Samiul Islam Committed by Android (Google) Code Review
Browse files

Merge "Use synchronized blocks to access lock protected fields"

parents 94e03f47 6e9344d2
Loading
Loading
Loading
Loading
+62 −54
Original line number Diff line number Diff line
@@ -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;
@@ -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<>();
@@ -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<>();
@@ -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<>();
@@ -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++) {
@@ -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(
@@ -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:");