From 58aea515af04fdd85f2f4e50107572ffbb81987d Mon Sep 17 00:00:00 2001 From: Alan Stokes Date: Fri, 21 Sep 2018 17:26:43 +0100 Subject: [PATCH] Reduce visibility on PackageDexUsage methods. Not a big win, but it makes it clearer that the data is never directly changed by PackageManager etc. (We could extract the two nested classes and then PackageDexUsage wouldn't need to be public at all.) Test: Still builds. Test: atest services/tests/servicestests/src/com/android/server/pm/dex Change-Id: I0a5c0bff473a03178f730e354a2f60694729ba10 --- .../com/android/server/pm/dex/PackageDexUsage.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/services/core/java/com/android/server/pm/dex/PackageDexUsage.java b/services/core/java/com/android/server/pm/dex/PackageDexUsage.java index e3e15907939ad..602ce3b2a0c10 100644 --- a/services/core/java/com/android/server/pm/dex/PackageDexUsage.java +++ b/services/core/java/com/android/server/pm/dex/PackageDexUsage.java @@ -93,7 +93,7 @@ public class PackageDexUsage extends AbstractStatsBase { @GuardedBy("mPackageUseInfoMap") private final Map mPackageUseInfoMap; - public PackageDexUsage() { + /* package */ PackageDexUsage() { super("package-dex-usage.list", "PackageDexUsage_DiskWriter", /*lock*/ false); mPackageUseInfoMap = new HashMap<>(); } @@ -116,7 +116,7 @@ public class PackageDexUsage extends AbstractStatsBase { * @return true if the dex load constitutes new information, or false if this information * has been seen before. */ - public boolean record(String owningPackageName, String dexPath, int ownerUserId, + /* package */ boolean record(String owningPackageName, String dexPath, int ownerUserId, String loaderIsa, boolean isUsedByOtherApps, boolean primaryOrSplit, String loadingPackageName, String classLoaderContext) { if (!PackageManagerServiceUtils.checkISA(loaderIsa)) { @@ -193,7 +193,7 @@ public class PackageDexUsage extends AbstractStatsBase { * Convenience method for sync reads which does not force the user to pass a useless * (Void) null. */ - public void read() { + /* package */ void read() { read((Void) null); } @@ -558,7 +558,7 @@ public class PackageDexUsage extends AbstractStatsBase { * Remove the usage data associated with package {@code packageName}. * @return true if the package usage was found and removed successfully. */ - public boolean removePackage(String packageName) { + /* package */ boolean removePackage(String packageName) { synchronized (mPackageUseInfoMap) { return mPackageUseInfoMap.remove(packageName) != null; } @@ -653,11 +653,12 @@ public class PackageDexUsage extends AbstractStatsBase { return packages; } - public void clear() { + /* package */ void clear() { synchronized (mPackageUseInfoMap) { mPackageUseInfoMap.clear(); } } + // Creates a deep copy of the class' mPackageUseInfoMap. private Map clonePackageUseInfoMap() { Map clone = new HashMap<>(); @@ -679,7 +680,7 @@ public class PackageDexUsage extends AbstractStatsBase { throw new IllegalArgumentException("Unknown bool encoding: " + bool); } - public String dump() { + /* package */ String dump() { StringWriter sw = new StringWriter(); write(sw); return sw.toString();