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
This commit is contained in:
Alan Stokes
2018-09-21 17:26:43 +01:00
parent 2be3da34e7
commit 58aea515af

View File

@@ -93,7 +93,7 @@ public class PackageDexUsage extends AbstractStatsBase<Void> {
@GuardedBy("mPackageUseInfoMap")
private final Map<String, PackageUseInfo> 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<Void> {
* @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<Void> {
* 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<Void> {
* 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<Void> {
return packages;
}
public void clear() {
/* package */ void clear() {
synchronized (mPackageUseInfoMap) {
mPackageUseInfoMap.clear();
}
}
// Creates a deep copy of the class' mPackageUseInfoMap.
private Map<String, PackageUseInfo> clonePackageUseInfoMap() {
Map<String, PackageUseInfo> clone = new HashMap<>();
@@ -679,7 +680,7 @@ public class PackageDexUsage extends AbstractStatsBase<Void> {
throw new IllegalArgumentException("Unknown bool encoding: " + bool);
}
public String dump() {
/* package */ String dump() {
StringWriter sw = new StringWriter();
write(sw);
return sw.toString();