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

Commit b2b675d1 authored by Hai Zhang's avatar Hai Zhang Committed by Android (Google) Code Review
Browse files

Merge "Add getDisabledSystemPackageStates() for PackageManagerLocal."

parents 03304984 91df4587
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -338,6 +338,9 @@ public interface Computer extends PackageDataSnapshot {
    @NonNull
    ArrayMap<String, ? extends PackageStateInternal> getPackageStates();

    @NonNull
    ArrayMap<String, ? extends PackageStateInternal> getDisabledSystemPackageStates();

    @Nullable
    String getRenamedPackage(@NonNull String packageName);

+10 −0
Original line number Diff line number Diff line
@@ -185,6 +185,10 @@ public class ComputerEngine implements Computer {
            return mSettings.getPackagesLocked().untrackedStorage();
        }

        public ArrayMap<String, ? extends PackageStateInternal> getDisabledSystemPackages() {
            return mSettings.getDisabledSystemPackagesLocked().untrackedStorage();
        }

        public Settings(@NonNull com.android.server.pm.Settings settings) {
            mSettings = settings;
        }
@@ -3459,6 +3463,12 @@ public class ComputerEngine implements Computer {
        return mSettings.getPackages();
    }

    @NonNull
    @Override
    public ArrayMap<String, ? extends PackageStateInternal> getDisabledSystemPackageStates() {
        return mSettings.getDisabledSystemPackages();
    }

    @Nullable
    @Override
    public String getRenamedPackage(@NonNull String packageName) {
+10 −0
Original line number Diff line number Diff line
@@ -149,6 +149,16 @@ public interface PackageManagerLocal {
        @NonNull
        Map<String, PackageState> getPackageStates();

        /**
         * Returns a map of all disabled system {@link PackageState PackageStates} on the device.
         *
         * @return Mapping of package name to disabled system {@link PackageState}.
         *
         * @hide Pending API
         */
        @NonNull
        Map<String, PackageState> getDisabledSystemPackageStates();

        @Override
        void close();
    }
+4 −0
Original line number Diff line number Diff line
@@ -819,6 +819,10 @@ public final class Settings implements Watchable, Snappable {
        return mPackages;
    }

    WatchedArrayMap<String, PackageSetting> getDisabledSystemPackagesLocked() {
        return mDisabledSysPackages;
    }

    KeySetManagerService getKeySetManagerService() {
        return mKeySetManagerService;
    }
+17 −0
Original line number Diff line number Diff line
@@ -104,6 +104,9 @@ public class PackageManagerLocalImpl implements PackageManagerLocal {
        @Nullable
        private Map<String, PackageState> mCachedUnmodifiablePackageStates;

        @Nullable
        private Map<String, PackageState> mCachedUnmodifiableDisabledSystemPackageStates;

        private UnfilteredSnapshotImpl(@NonNull PackageDataSnapshot snapshot) {
            super(snapshot);
        }
@@ -126,10 +129,24 @@ public class PackageManagerLocalImpl implements PackageManagerLocal {
            return mCachedUnmodifiablePackageStates;
        }

        @SuppressWarnings("RedundantSuppression")
        @NonNull
        @Override
        public Map<String, PackageState> getDisabledSystemPackageStates() {
            checkClosed();

            if (mCachedUnmodifiableDisabledSystemPackageStates == null) {
                mCachedUnmodifiableDisabledSystemPackageStates =
                        Collections.unmodifiableMap(mSnapshot.getDisabledSystemPackageStates());
            }
            return mCachedUnmodifiableDisabledSystemPackageStates;
        }

        @Override
        public void close() {
            super.close();
            mCachedUnmodifiablePackageStates = null;
            mCachedUnmodifiableDisabledSystemPackageStates = null;
        }
    }