Loading services/core/java/com/android/server/pm/PackageManagerService.java +146 −85 Original line number Diff line number Diff line Loading @@ -4617,8 +4617,14 @@ public class PackageManagerService extends IPackageManager.Stub public void dump(int type, FileDescriptor fd, PrintWriter pw, DumpState dumpState) { final String packageName = dumpState.getTargetPackageName(); final PackageSetting setting = mSettings.getPackageLPr(packageName); final boolean checkin = dumpState.isCheckIn(); // Return if the package doesn't exist. if (packageName != null && setting == null) { return; } switch (type) { case DumpState.DUMP_VERSION: { Loading Loading @@ -4711,8 +4717,7 @@ public class PackageManagerService extends IPackageManager.Stub case DumpState.DUMP_QUERIES: { final PackageSetting setting = mSettings.getPackageLPr(packageName); Integer filteringAppId = setting == null ? null : setting.appId; final Integer filteringAppId = setting == null ? null : setting.appId; mAppsFilter.dumpQueries( pw, filteringAppId, dumpState, mUserManager.getUserIds(), this::getPackagesForUidInternalBody); Loading @@ -4723,8 +4728,9 @@ public class PackageManagerService extends IPackageManager.Stub { final android.util.IndentingPrintWriter writer = new android.util.IndentingPrintWriter(pw); if (dumpState.onTitlePrinted()) pw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } writer.println("Domain verification status:"); writer.increaseIndent(); try { Loading @@ -4741,18 +4747,14 @@ public class PackageManagerService extends IPackageManager.Stub case DumpState.DUMP_DEXOPT: { final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " "); ipw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } ipw.println("Dexopt state:"); ipw.increaseIndent(); Collection<PackageSetting> pkgSettings; if (packageName != null) { PackageSetting targetPkgSetting = mSettings.getPackageLPr(packageName); if (targetPkgSetting != null) { pkgSettings = Collections.singletonList(targetPkgSetting); } else { ipw.println("Unable to find package: " + packageName); return; } if (setting != null) { pkgSettings = Collections.singletonList(setting); } else { pkgSettings = mSettings.getPackagesLocked().values(); } Loading @@ -4762,10 +4764,12 @@ public class PackageManagerService extends IPackageManager.Stub if (pkg == null) { continue; } ipw.println("[" + pkgSetting.name + "]"); final String pkgName = pkg.getPackageName(); ipw.println("[" + pkgName + "]"); ipw.increaseIndent(); mPackageDexOptimizer.dumpDexoptState(ipw, pkg, pkgSetting, mDexManager.getPackageUseInfoOrDefault(pkg.getPackageName())); mDexManager.getPackageUseInfoOrDefault(pkgName)); ipw.decreaseIndent(); } break; Loading @@ -4774,28 +4778,29 @@ public class PackageManagerService extends IPackageManager.Stub case DumpState.DUMP_COMPILER_STATS: { final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " "); ipw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } ipw.println("Compiler stats:"); ipw.increaseIndent(); Collection<AndroidPackage> packages; if (packageName != null) { AndroidPackage targetPackage = mPackages.get(packageName); if (targetPackage != null) { packages = Collections.singletonList(targetPackage); } else { ipw.println("Unable to find package: " + packageName); return; } Collection<PackageSetting> pkgSettings; if (setting != null) { pkgSettings = Collections.singletonList(setting); } else { packages = mPackages.values(); pkgSettings = mSettings.getPackagesLocked().values(); } for (AndroidPackage pkg : packages) { for (PackageSetting pkgSetting : pkgSettings) { final AndroidPackage pkg = pkgSetting.getPkg(); if (pkg == null) { continue; } final String pkgName = pkg.getPackageName(); ipw.println("[" + pkgName + "]"); ipw.increaseIndent(); CompilerStats.PackageStats stats = mCompilerStats.getPackageStats(pkgName); final CompilerStats.PackageStats stats = mCompilerStats.getPackageStats(pkgName); if (stats == null) { ipw.println("(No recorded stats)"); } else { Loading Loading @@ -19329,16 +19334,25 @@ public class PackageManagerService extends IPackageManager.Stub final String packageName = dumpState.getTargetPackageName(); final boolean checkin = dumpState.isCheckIn(); // Return if the package doesn't exist. if (packageName != null && getPackageSetting(packageName) == null && !mApexManager.isApexPackage(packageName)) { pw.println("Unable to find package: " + packageName); return; } if (checkin) { pw.println("vers,1"); } // reader if (dumpState.isDumping(DumpState.DUMP_VERSION) && packageName == null) { if (!checkin) { if (!checkin && dumpState.isDumping(DumpState.DUMP_VERSION) && packageName == null) { dump(DumpState.DUMP_VERSION, fd, pw, dumpState); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_KNOWN_PACKAGES) Loading Loading @@ -19368,7 +19382,8 @@ public class PackageManagerService extends IPackageManager.Stub ipw.decreaseIndent(); } if (dumpState.isDumping(DumpState.DUMP_VERIFIERS) && packageName == null) { if (dumpState.isDumping(DumpState.DUMP_VERIFIERS) && packageName == null) { final String requiredVerifierPackage = mRequiredVerifierPackage; if (!checkin) { if (dumpState.onTitlePrinted()) { Loading @@ -19389,14 +19404,16 @@ public class PackageManagerService extends IPackageManager.Stub } } if (dumpState.isDumping(DumpState.DUMP_DOMAIN_VERIFIER) && packageName == null) { if (dumpState.isDumping(DumpState.DUMP_DOMAIN_VERIFIER) && packageName == null) { final DomainVerificationProxy proxy = mDomainVerificationManager.getProxy(); final ComponentName verifierComponent = proxy.getComponentName(); if (verifierComponent != null) { String verifierPackageName = verifierComponent.getPackageName(); if (!checkin) { if (dumpState.onTitlePrinted()) if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Domain Verifier:"); pw.print(" Using: "); pw.print(verifierPackageName); Loading @@ -19416,11 +19433,13 @@ public class PackageManagerService extends IPackageManager.Stub } } if (dumpState.isDumping(DumpState.DUMP_LIBS) && packageName == null) { if (dumpState.isDumping(DumpState.DUMP_LIBS) && packageName == null) { dump(DumpState.DUMP_LIBS, fd, pw, dumpState); } if (dumpState.isDumping(DumpState.DUMP_FEATURES) && packageName == null) { if (dumpState.isDumping(DumpState.DUMP_FEATURES) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } Loading @@ -19430,12 +19449,7 @@ public class PackageManagerService extends IPackageManager.Stub synchronized (mAvailableFeatures) { for (FeatureInfo feat : mAvailableFeatures.values()) { if (checkin) { pw.print("feat,"); pw.print(feat.name); pw.print(","); pw.println(feat.version); } else { if (!checkin) { pw.print(" "); pw.print(feat.name); if (feat.version > 0) { Loading @@ -19443,55 +19457,73 @@ public class PackageManagerService extends IPackageManager.Stub pw.print(feat.version); } pw.println(); } else { pw.print("feat,"); pw.print(feat.name); pw.print(","); pw.println(feat.version); } } } } if (!checkin && dumpState.isDumping(DumpState.DUMP_ACTIVITY_RESOLVERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_ACTIVITY_RESOLVERS)) { synchronized (mLock) { mComponentResolver.dumpActivityResolvers(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_RECEIVER_RESOLVERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_RECEIVER_RESOLVERS)) { synchronized (mLock) { mComponentResolver.dumpReceiverResolvers(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_SERVICE_RESOLVERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_SERVICE_RESOLVERS)) { synchronized (mLock) { mComponentResolver.dumpServiceResolvers(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_CONTENT_RESOLVERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_CONTENT_RESOLVERS)) { synchronized (mLock) { mComponentResolver.dumpProviderResolvers(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_PREFERRED)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_PREFERRED)) { dump(DumpState.DUMP_PREFERRED, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_PREFERRED_XML)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_PREFERRED_XML) && packageName == null) { dump(DumpState.DUMP_PREFERRED_XML, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_DOMAIN_PREFERRED)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_DOMAIN_PREFERRED)) { dump(DumpState.DUMP_DOMAIN_PREFERRED, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_PERMISSIONS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_PERMISSIONS)) { synchronized (mLock) { mSettings.dumpPermissions(pw, packageName, permissionNames, dumpState); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_PROVIDERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_PROVIDERS)) { synchronized (mLock) { mComponentResolver.dumpContentProviders(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_KEYSETS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_KEYSETS)) { synchronized (mLock) { mSettings.getKeySetManagerService().dumpLPr(pw, packageName, dumpState); } Loading @@ -19506,7 +19538,8 @@ public class PackageManagerService extends IPackageManager.Stub } } if (dumpState.isDumping(DumpState.DUMP_QUERIES)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_QUERIES)) { dump(DumpState.DUMP_QUERIES, fd, pw, dumpState); } Loading @@ -19518,8 +19551,12 @@ public class PackageManagerService extends IPackageManager.Stub } } if (dumpState.isDumping(DumpState.DUMP_CHANGES)) { if (dumpState.onTitlePrinted()) pw.println(); if (!checkin && dumpState.isDumping(DumpState.DUMP_CHANGES) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Package Changes:"); synchronized (mLock) { pw.print(" Sequence number="); pw.println(mChangedPackagesSequenceNumber); Loading @@ -19545,11 +19582,14 @@ public class PackageManagerService extends IPackageManager.Stub } } if (!checkin && dumpState.isDumping(DumpState.DUMP_FROZEN) && packageName == null) { if (!checkin && dumpState.isDumping(DumpState.DUMP_FROZEN) && packageName == null) { // XXX should handle packageName != null by dumping only install data that // the given package is involved with. if (dumpState.onTitlePrinted()) pw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " ", 120); ipw.println(); ipw.println("Frozen packages:"); Loading @@ -19566,9 +19606,12 @@ public class PackageManagerService extends IPackageManager.Stub ipw.decreaseIndent(); } if (!checkin && dumpState.isDumping(DumpState.DUMP_VOLUMES) && packageName == null) { if (dumpState.onTitlePrinted()) pw.println(); if (!checkin && dumpState.isDumping(DumpState.DUMP_VOLUMES) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " ", 120); ipw.println(); ipw.println("Loaded volumes:"); Loading @@ -19585,52 +19628,65 @@ public class PackageManagerService extends IPackageManager.Stub ipw.decreaseIndent(); } if (!checkin && dumpState.isDumping(DumpState.DUMP_SERVICE_PERMISSIONS) if (!checkin && dumpState.isDumping(DumpState.DUMP_SERVICE_PERMISSIONS) && packageName == null) { synchronized (mLock) { mComponentResolver.dumpServicePermissions(pw, dumpState); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_DEXOPT)) { if (dumpState.onTitlePrinted()) pw.println(); if (!checkin && dumpState.isDumping(DumpState.DUMP_DEXOPT)) { dump(DumpState.DUMP_DEXOPT, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_COMPILER_STATS)) { if (dumpState.onTitlePrinted()) pw.println(); if (!checkin && dumpState.isDumping(DumpState.DUMP_COMPILER_STATS)) { dump(DumpState.DUMP_COMPILER_STATS, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_MESSAGES) && packageName == null) { if (dumpState.onTitlePrinted()) pw.println(); if (dumpState.isDumping(DumpState.DUMP_MESSAGES) && packageName == null) { if (!checkin) { if (dumpState.onTitlePrinted()) { pw.println(); } synchronized (mLock) { mSettings.dumpReadMessagesLPr(pw, dumpState); } pw.println(); pw.println("Package warning messages:"); dumpCriticalInfo(pw, null); } if (checkin && dumpState.isDumping(DumpState.DUMP_MESSAGES)) { } else { dumpCriticalInfo(pw, "msg,"); } } // PackageInstaller should be called outside of mPackages lock if (!checkin && dumpState.isDumping(DumpState.DUMP_INSTALLS) && packageName == null) { if (!checkin && dumpState.isDumping(DumpState.DUMP_INSTALLS) && packageName == null) { // XXX should handle packageName != null by dumping only install data that // the given package is involved with. if (dumpState.onTitlePrinted()) pw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } mInstallerService.dump(new IndentingPrintWriter(pw, " ", 120)); } if (!checkin && dumpState.isDumping(DumpState.DUMP_APEX)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_APEX) && (packageName == null || mApexManager.isApexPackage(packageName))) { mApexManager.dump(pw, packageName); } if (!checkin && dumpState.isDumping(DumpState.DUMP_PER_UID_READ_TIMEOUTS) if (!checkin && dumpState.isDumping(DumpState.DUMP_PER_UID_READ_TIMEOUTS) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Per UID read timeouts:"); pw.println(" Default timeouts flag: " + getDefaultTimeouts()); pw.println(" Known digesters list flag: " + getKnownDigestersList()); Loading @@ -19647,7 +19703,12 @@ public class PackageManagerService extends IPackageManager.Stub } } if (!checkin && dumpState.isDumping(DumpState.DUMP_SNAPSHOT_STATISTICS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_SNAPSHOT_STATISTICS) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Snapshot statistics"); if (!mSnapshotEnabled) { pw.println(" Snapshots disabled"); Loading
services/core/java/com/android/server/pm/PackageManagerService.java +146 −85 Original line number Diff line number Diff line Loading @@ -4617,8 +4617,14 @@ public class PackageManagerService extends IPackageManager.Stub public void dump(int type, FileDescriptor fd, PrintWriter pw, DumpState dumpState) { final String packageName = dumpState.getTargetPackageName(); final PackageSetting setting = mSettings.getPackageLPr(packageName); final boolean checkin = dumpState.isCheckIn(); // Return if the package doesn't exist. if (packageName != null && setting == null) { return; } switch (type) { case DumpState.DUMP_VERSION: { Loading Loading @@ -4711,8 +4717,7 @@ public class PackageManagerService extends IPackageManager.Stub case DumpState.DUMP_QUERIES: { final PackageSetting setting = mSettings.getPackageLPr(packageName); Integer filteringAppId = setting == null ? null : setting.appId; final Integer filteringAppId = setting == null ? null : setting.appId; mAppsFilter.dumpQueries( pw, filteringAppId, dumpState, mUserManager.getUserIds(), this::getPackagesForUidInternalBody); Loading @@ -4723,8 +4728,9 @@ public class PackageManagerService extends IPackageManager.Stub { final android.util.IndentingPrintWriter writer = new android.util.IndentingPrintWriter(pw); if (dumpState.onTitlePrinted()) pw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } writer.println("Domain verification status:"); writer.increaseIndent(); try { Loading @@ -4741,18 +4747,14 @@ public class PackageManagerService extends IPackageManager.Stub case DumpState.DUMP_DEXOPT: { final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " "); ipw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } ipw.println("Dexopt state:"); ipw.increaseIndent(); Collection<PackageSetting> pkgSettings; if (packageName != null) { PackageSetting targetPkgSetting = mSettings.getPackageLPr(packageName); if (targetPkgSetting != null) { pkgSettings = Collections.singletonList(targetPkgSetting); } else { ipw.println("Unable to find package: " + packageName); return; } if (setting != null) { pkgSettings = Collections.singletonList(setting); } else { pkgSettings = mSettings.getPackagesLocked().values(); } Loading @@ -4762,10 +4764,12 @@ public class PackageManagerService extends IPackageManager.Stub if (pkg == null) { continue; } ipw.println("[" + pkgSetting.name + "]"); final String pkgName = pkg.getPackageName(); ipw.println("[" + pkgName + "]"); ipw.increaseIndent(); mPackageDexOptimizer.dumpDexoptState(ipw, pkg, pkgSetting, mDexManager.getPackageUseInfoOrDefault(pkg.getPackageName())); mDexManager.getPackageUseInfoOrDefault(pkgName)); ipw.decreaseIndent(); } break; Loading @@ -4774,28 +4778,29 @@ public class PackageManagerService extends IPackageManager.Stub case DumpState.DUMP_COMPILER_STATS: { final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " "); ipw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } ipw.println("Compiler stats:"); ipw.increaseIndent(); Collection<AndroidPackage> packages; if (packageName != null) { AndroidPackage targetPackage = mPackages.get(packageName); if (targetPackage != null) { packages = Collections.singletonList(targetPackage); } else { ipw.println("Unable to find package: " + packageName); return; } Collection<PackageSetting> pkgSettings; if (setting != null) { pkgSettings = Collections.singletonList(setting); } else { packages = mPackages.values(); pkgSettings = mSettings.getPackagesLocked().values(); } for (AndroidPackage pkg : packages) { for (PackageSetting pkgSetting : pkgSettings) { final AndroidPackage pkg = pkgSetting.getPkg(); if (pkg == null) { continue; } final String pkgName = pkg.getPackageName(); ipw.println("[" + pkgName + "]"); ipw.increaseIndent(); CompilerStats.PackageStats stats = mCompilerStats.getPackageStats(pkgName); final CompilerStats.PackageStats stats = mCompilerStats.getPackageStats(pkgName); if (stats == null) { ipw.println("(No recorded stats)"); } else { Loading Loading @@ -19329,16 +19334,25 @@ public class PackageManagerService extends IPackageManager.Stub final String packageName = dumpState.getTargetPackageName(); final boolean checkin = dumpState.isCheckIn(); // Return if the package doesn't exist. if (packageName != null && getPackageSetting(packageName) == null && !mApexManager.isApexPackage(packageName)) { pw.println("Unable to find package: " + packageName); return; } if (checkin) { pw.println("vers,1"); } // reader if (dumpState.isDumping(DumpState.DUMP_VERSION) && packageName == null) { if (!checkin) { if (!checkin && dumpState.isDumping(DumpState.DUMP_VERSION) && packageName == null) { dump(DumpState.DUMP_VERSION, fd, pw, dumpState); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_KNOWN_PACKAGES) Loading Loading @@ -19368,7 +19382,8 @@ public class PackageManagerService extends IPackageManager.Stub ipw.decreaseIndent(); } if (dumpState.isDumping(DumpState.DUMP_VERIFIERS) && packageName == null) { if (dumpState.isDumping(DumpState.DUMP_VERIFIERS) && packageName == null) { final String requiredVerifierPackage = mRequiredVerifierPackage; if (!checkin) { if (dumpState.onTitlePrinted()) { Loading @@ -19389,14 +19404,16 @@ public class PackageManagerService extends IPackageManager.Stub } } if (dumpState.isDumping(DumpState.DUMP_DOMAIN_VERIFIER) && packageName == null) { if (dumpState.isDumping(DumpState.DUMP_DOMAIN_VERIFIER) && packageName == null) { final DomainVerificationProxy proxy = mDomainVerificationManager.getProxy(); final ComponentName verifierComponent = proxy.getComponentName(); if (verifierComponent != null) { String verifierPackageName = verifierComponent.getPackageName(); if (!checkin) { if (dumpState.onTitlePrinted()) if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Domain Verifier:"); pw.print(" Using: "); pw.print(verifierPackageName); Loading @@ -19416,11 +19433,13 @@ public class PackageManagerService extends IPackageManager.Stub } } if (dumpState.isDumping(DumpState.DUMP_LIBS) && packageName == null) { if (dumpState.isDumping(DumpState.DUMP_LIBS) && packageName == null) { dump(DumpState.DUMP_LIBS, fd, pw, dumpState); } if (dumpState.isDumping(DumpState.DUMP_FEATURES) && packageName == null) { if (dumpState.isDumping(DumpState.DUMP_FEATURES) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } Loading @@ -19430,12 +19449,7 @@ public class PackageManagerService extends IPackageManager.Stub synchronized (mAvailableFeatures) { for (FeatureInfo feat : mAvailableFeatures.values()) { if (checkin) { pw.print("feat,"); pw.print(feat.name); pw.print(","); pw.println(feat.version); } else { if (!checkin) { pw.print(" "); pw.print(feat.name); if (feat.version > 0) { Loading @@ -19443,55 +19457,73 @@ public class PackageManagerService extends IPackageManager.Stub pw.print(feat.version); } pw.println(); } else { pw.print("feat,"); pw.print(feat.name); pw.print(","); pw.println(feat.version); } } } } if (!checkin && dumpState.isDumping(DumpState.DUMP_ACTIVITY_RESOLVERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_ACTIVITY_RESOLVERS)) { synchronized (mLock) { mComponentResolver.dumpActivityResolvers(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_RECEIVER_RESOLVERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_RECEIVER_RESOLVERS)) { synchronized (mLock) { mComponentResolver.dumpReceiverResolvers(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_SERVICE_RESOLVERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_SERVICE_RESOLVERS)) { synchronized (mLock) { mComponentResolver.dumpServiceResolvers(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_CONTENT_RESOLVERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_CONTENT_RESOLVERS)) { synchronized (mLock) { mComponentResolver.dumpProviderResolvers(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_PREFERRED)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_PREFERRED)) { dump(DumpState.DUMP_PREFERRED, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_PREFERRED_XML)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_PREFERRED_XML) && packageName == null) { dump(DumpState.DUMP_PREFERRED_XML, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_DOMAIN_PREFERRED)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_DOMAIN_PREFERRED)) { dump(DumpState.DUMP_DOMAIN_PREFERRED, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_PERMISSIONS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_PERMISSIONS)) { synchronized (mLock) { mSettings.dumpPermissions(pw, packageName, permissionNames, dumpState); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_PROVIDERS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_PROVIDERS)) { synchronized (mLock) { mComponentResolver.dumpContentProviders(pw, dumpState, packageName); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_KEYSETS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_KEYSETS)) { synchronized (mLock) { mSettings.getKeySetManagerService().dumpLPr(pw, packageName, dumpState); } Loading @@ -19506,7 +19538,8 @@ public class PackageManagerService extends IPackageManager.Stub } } if (dumpState.isDumping(DumpState.DUMP_QUERIES)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_QUERIES)) { dump(DumpState.DUMP_QUERIES, fd, pw, dumpState); } Loading @@ -19518,8 +19551,12 @@ public class PackageManagerService extends IPackageManager.Stub } } if (dumpState.isDumping(DumpState.DUMP_CHANGES)) { if (dumpState.onTitlePrinted()) pw.println(); if (!checkin && dumpState.isDumping(DumpState.DUMP_CHANGES) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Package Changes:"); synchronized (mLock) { pw.print(" Sequence number="); pw.println(mChangedPackagesSequenceNumber); Loading @@ -19545,11 +19582,14 @@ public class PackageManagerService extends IPackageManager.Stub } } if (!checkin && dumpState.isDumping(DumpState.DUMP_FROZEN) && packageName == null) { if (!checkin && dumpState.isDumping(DumpState.DUMP_FROZEN) && packageName == null) { // XXX should handle packageName != null by dumping only install data that // the given package is involved with. if (dumpState.onTitlePrinted()) pw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " ", 120); ipw.println(); ipw.println("Frozen packages:"); Loading @@ -19566,9 +19606,12 @@ public class PackageManagerService extends IPackageManager.Stub ipw.decreaseIndent(); } if (!checkin && dumpState.isDumping(DumpState.DUMP_VOLUMES) && packageName == null) { if (dumpState.onTitlePrinted()) pw.println(); if (!checkin && dumpState.isDumping(DumpState.DUMP_VOLUMES) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } final IndentingPrintWriter ipw = new IndentingPrintWriter(pw, " ", 120); ipw.println(); ipw.println("Loaded volumes:"); Loading @@ -19585,52 +19628,65 @@ public class PackageManagerService extends IPackageManager.Stub ipw.decreaseIndent(); } if (!checkin && dumpState.isDumping(DumpState.DUMP_SERVICE_PERMISSIONS) if (!checkin && dumpState.isDumping(DumpState.DUMP_SERVICE_PERMISSIONS) && packageName == null) { synchronized (mLock) { mComponentResolver.dumpServicePermissions(pw, dumpState); } } if (!checkin && dumpState.isDumping(DumpState.DUMP_DEXOPT)) { if (dumpState.onTitlePrinted()) pw.println(); if (!checkin && dumpState.isDumping(DumpState.DUMP_DEXOPT)) { dump(DumpState.DUMP_DEXOPT, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_COMPILER_STATS)) { if (dumpState.onTitlePrinted()) pw.println(); if (!checkin && dumpState.isDumping(DumpState.DUMP_COMPILER_STATS)) { dump(DumpState.DUMP_COMPILER_STATS, fd, pw, dumpState); } if (!checkin && dumpState.isDumping(DumpState.DUMP_MESSAGES) && packageName == null) { if (dumpState.onTitlePrinted()) pw.println(); if (dumpState.isDumping(DumpState.DUMP_MESSAGES) && packageName == null) { if (!checkin) { if (dumpState.onTitlePrinted()) { pw.println(); } synchronized (mLock) { mSettings.dumpReadMessagesLPr(pw, dumpState); } pw.println(); pw.println("Package warning messages:"); dumpCriticalInfo(pw, null); } if (checkin && dumpState.isDumping(DumpState.DUMP_MESSAGES)) { } else { dumpCriticalInfo(pw, "msg,"); } } // PackageInstaller should be called outside of mPackages lock if (!checkin && dumpState.isDumping(DumpState.DUMP_INSTALLS) && packageName == null) { if (!checkin && dumpState.isDumping(DumpState.DUMP_INSTALLS) && packageName == null) { // XXX should handle packageName != null by dumping only install data that // the given package is involved with. if (dumpState.onTitlePrinted()) pw.println(); if (dumpState.onTitlePrinted()) { pw.println(); } mInstallerService.dump(new IndentingPrintWriter(pw, " ", 120)); } if (!checkin && dumpState.isDumping(DumpState.DUMP_APEX)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_APEX) && (packageName == null || mApexManager.isApexPackage(packageName))) { mApexManager.dump(pw, packageName); } if (!checkin && dumpState.isDumping(DumpState.DUMP_PER_UID_READ_TIMEOUTS) if (!checkin && dumpState.isDumping(DumpState.DUMP_PER_UID_READ_TIMEOUTS) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Per UID read timeouts:"); pw.println(" Default timeouts flag: " + getDefaultTimeouts()); pw.println(" Known digesters list flag: " + getKnownDigestersList()); Loading @@ -19647,7 +19703,12 @@ public class PackageManagerService extends IPackageManager.Stub } } if (!checkin && dumpState.isDumping(DumpState.DUMP_SNAPSHOT_STATISTICS)) { if (!checkin && dumpState.isDumping(DumpState.DUMP_SNAPSHOT_STATISTICS) && packageName == null) { if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Snapshot statistics"); if (!mSnapshotEnabled) { pw.println(" Snapshots disabled");