Loading services/core/java/com/android/server/pm/ComputerEngine.java +6 −57 Original line number Diff line number Diff line Loading @@ -320,10 +320,7 @@ public class ComputerEngine implements Computer { private final WatchedArrayMap<String, AndroidPackage> mPackages; private final WatchedArrayMap<ComponentName, ParsedInstrumentation> mInstrumentation; private final WatchedArrayMap<String, WatchedLongSparseArray<SharedLibraryInfo>> mStaticLibsByDeclaringPackage; private final WatchedArrayMap<String, WatchedLongSparseArray<SharedLibraryInfo>> mSharedLibraries; private final SharedLibrariesRead mSharedLibraries; private final ComponentName mLocalResolveComponentName; private final ActivityInfo mResolveActivity; private final WatchedSparseBooleanArray mWebInstantAppsDisabled; Loading Loading @@ -375,8 +372,7 @@ public class ComputerEngine implements Computer { mSettings = new Settings(args.settings); mIsolatedOwners = args.isolatedOwners; mPackages = args.packages; mSharedLibraries = args.sharedLibs; mStaticLibsByDeclaringPackage = args.staticLibs; mSharedLibraries = args.sharedLibraries; mInstrumentation = args.instrumentation; mWebInstantAppsDisabled = args.webInstantAppsDisabled; mLocalResolveComponentName = args.resolveComponentName; Loading Loading @@ -2006,8 +2002,7 @@ public class ComputerEngine implements Computer { @Nullable public final SharedLibraryInfo getSharedLibraryInfo(String name, long version) { return SharedLibraryHelper.getSharedLibraryInfo( name, version, mSharedLibraries, null); return mSharedLibraries.getSharedLibraryInfo(name, version); } /** Loading Loading @@ -2058,7 +2053,7 @@ public class ComputerEngine implements Computer { // Is this a static library? WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mStaticLibsByDeclaringPackage.get(packageName); mSharedLibraries.getStaticLibraryInfos(packageName); if (versionedLib == null || versionedLib.size() <= 0) { return packageName; } Loading Loading @@ -3056,54 +3051,8 @@ public class ComputerEngine implements Computer { } case DumpState.DUMP_LIBS: { boolean printedHeader = false; final int numSharedLibraries = mSharedLibraries.size(); for (int index = 0; index < numSharedLibraries; index++) { final String libName = mSharedLibraries.keyAt(index); final WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mSharedLibraries.get(libName); if (versionedLib == null) { continue; } final int versionCount = versionedLib.size(); for (int i = 0; i < versionCount; i++) { SharedLibraryInfo libraryInfo = versionedLib.valueAt(i); if (!checkin) { if (!printedHeader) { if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Libraries:"); printedHeader = true; } pw.print(" "); } else { pw.print("lib,"); } pw.print(libraryInfo.getName()); if (libraryInfo.isStatic()) { pw.print(" version=" + libraryInfo.getLongVersion()); } if (!checkin) { pw.print(" -> "); } if (libraryInfo.getPath() != null) { if (libraryInfo.isNative()) { pw.print(" (so) "); } else { pw.print(" (jar) "); } pw.print(libraryInfo.getPath()); } else { pw.print(" (apk) "); pw.print(libraryInfo.getPackageName()); } pw.println(); } } mSharedLibraries.dump(pw, dumpState); break; } case DumpState.DUMP_PREFERRED: mSettings.dumpPreferred(pw, dumpState, packageName); Loading Loading @@ -3544,7 +3493,7 @@ public class ComputerEngine implements Computer { @NonNull @Override public WatchedArrayMap<String, WatchedLongSparseArray<SharedLibraryInfo>> getSharedLibraries() { return mSharedLibraries; return mSharedLibraries.getAll(); } @NonNull Loading services/core/java/com/android/server/pm/DumpHelper.java +1 −32 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.content.ComponentName; import android.content.pm.FeatureInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; import android.content.pm.SharedLibraryInfo; import android.os.Binder; import android.os.UserHandle; import android.os.incremental.PerUidReadTimeouts; Loading @@ -37,7 +36,6 @@ import android.util.proto.ProtoOutputStream; import com.android.internal.util.ArrayUtils; import com.android.internal.util.IndentingPrintWriter; import com.android.server.pm.verify.domain.proxy.DomainVerificationProxy; import com.android.server.utils.WatchedLongSparseArray; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -710,7 +708,7 @@ final class DumpHelper { proto.end(verifierPackageToken); } dumpSharedLibrariesProto(proto); mPm.mInjector.getSharedLibrariesImpl().dumpProto(proto); dumpFeaturesProto(proto); mPm.mSettings.dumpPackagesProto(proto); mPm.mSettings.dumpSharedUsersProto(proto); Loading @@ -728,33 +726,4 @@ final class DumpHelper { } } } private void dumpSharedLibrariesProto(ProtoOutputStream proto) { final int count = mPm.mSharedLibraries.size(); for (int i = 0; i < count; i++) { final String libName = mPm.mSharedLibraries.keyAt(i); WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mPm.mSharedLibraries.get(libName); if (versionedLib == null) { continue; } final int versionCount = versionedLib.size(); for (int j = 0; j < versionCount; j++) { final SharedLibraryInfo libraryInfo = versionedLib.valueAt(j); final long sharedLibraryToken = proto.start(PackageServiceDumpProto.SHARED_LIBRARIES); proto.write(PackageServiceDumpProto.SharedLibraryProto.NAME, libraryInfo.getName()); final boolean isJar = (libraryInfo.getPath() != null); proto.write(PackageServiceDumpProto.SharedLibraryProto.IS_JAR, isJar); if (isJar) { proto.write(PackageServiceDumpProto.SharedLibraryProto.PATH, libraryInfo.getPath()); } else { proto.write(PackageServiceDumpProto.SharedLibraryProto.APK, libraryInfo.getPackageName()); } proto.end(sharedLibraryToken); } } } } services/core/java/com/android/server/pm/InstallPackageHelper.java +17 −15 Original line number Diff line number Diff line Loading @@ -207,6 +207,7 @@ final class InstallPackageHelper { private final PackageAbiHelper mPackageAbiHelper; private final ViewCompiler mViewCompiler; private final IBackupManager mIBackupManager; private final SharedLibrariesImpl mSharedLibraries; // TODO(b/198166813): remove PMS dependency InstallPackageHelper(PackageManagerService pm, AppDataHelper appDataHelper) { Loading @@ -226,6 +227,7 @@ final class InstallPackageHelper { mPackageAbiHelper = pm.mInjector.getAbiHelper(); mViewCompiler = pm.mInjector.getViewCompiler(); mIBackupManager = pm.mInjector.getIBackupManager(); mSharedLibraries = pm.mInjector.getSharedLibrariesImpl(); } InstallPackageHelper(PackageManagerService pm) { Loading Loading @@ -325,7 +327,7 @@ final class InstallPackageHelper { } if (reconciledPkg.mCollectedSharedLibraryInfos != null) { mPm.executeSharedLibrariesUpdateLPr(pkg, pkgSetting, null, null, mSharedLibraries.executeSharedLibrariesUpdateLPw(pkg, pkgSetting, null, null, reconciledPkg.mCollectedSharedLibraryInfos, allUsers); } Loading Loading @@ -388,13 +390,13 @@ final class InstallPackageHelper { synchronized (mPm.mLock) { if (!ArrayUtils.isEmpty(reconciledPkg.mAllowedSharedLibraryInfos)) { for (SharedLibraryInfo info : reconciledPkg.mAllowedSharedLibraryInfos) { mPm.commitSharedLibraryInfoLocked(info); mSharedLibraries.commitSharedLibraryInfoLPw(info); } final Map<String, AndroidPackage> combinedSigningDetails = reconciledPkg.getCombinedAvailablePackages(); try { // Shared libraries for the package need to be updated. mPm.updateSharedLibrariesLocked(pkg, pkgSetting, null, null, mSharedLibraries.updateSharedLibrariesLPw(pkg, pkgSetting, null, null, combinedSigningDetails); } catch (PackageManagerException e) { Slog.e(TAG, "updateSharedLibrariesLPr failed: ", e); Loading @@ -402,7 +404,7 @@ final class InstallPackageHelper { // Update all applications that use this library. Skip when booting // since this will be done after all packages are scaned. if ((scanFlags & SCAN_BOOTING) == 0) { clientLibPkgs = mPm.updateAllSharedLibrariesLocked(pkg, pkgSetting, clientLibPkgs = mSharedLibraries.updateAllSharedLibrariesLPw(pkg, pkgSetting, combinedSigningDetails); } } Loading Loading @@ -945,7 +947,7 @@ final class InstallPackageHelper { if (result.mStaticSharedLibraryInfo != null || result.mSdkSharedLibraryInfo != null) { final PackageSetting sharedLibLatestVersionSetting = mPm.getSharedLibLatestVersionSetting(result); mSharedLibraries.getSharedLibLatestVersionSetting(result); if (sharedLibLatestVersionSetting != null) { lastStaticSharedLibSettings.put( result.mPkgSetting.getPkg().getPackageName(), Loading @@ -961,7 +963,7 @@ final class InstallPackageHelper { reconcileRequest = new ReconcileRequest(preparedScans, installArgs, installResults, prepareResults, mPm.mSharedLibraries, mSharedLibraries.getAll(), Collections.unmodifiableMap(mPm.mPackages), versionInfos, lastStaticSharedLibSettings); CommitRequest commitRequest = null; Loading Loading @@ -1207,7 +1209,7 @@ final class InstallPackageHelper { // the package setting for the latest library version. PackageSetting signatureCheckPs = ps; if (parsedPackage.isStaticSharedLibrary()) { SharedLibraryInfo libraryInfo = mPm.getLatestSharedLibraVersionLPr( SharedLibraryInfo libraryInfo = mSharedLibraries.getLatestSharedLibraVersionLPr( parsedPackage); if (libraryInfo != null) { signatureCheckPs = mPm.mSettings.getPackageLPr( Loading Loading @@ -2969,7 +2971,8 @@ final class InstallPackageHelper { synchronized (mPm.mLock) { mAppDataHelper.prepareAppDataAfterInstallLIF(pkg); try { mPm.updateSharedLibrariesLocked(pkg, stubPkgSetting, null, null, mSharedLibraries.updateSharedLibrariesLPw( pkg, stubPkgSetting, null, null, Collections.unmodifiableMap(mPm.mPackages)); } catch (PackageManagerException e) { Slog.w(TAG, "updateAllSharedLibrariesLPw failed: ", e); Loading Loading @@ -3180,7 +3183,7 @@ final class InstallPackageHelper { try { // update shared libraries for the newly re-installed system package mPm.updateSharedLibrariesLocked(pkg, pkgSetting, null, null, mSharedLibraries.updateSharedLibrariesLPw(pkg, pkgSetting, null, null, Collections.unmodifiableMap(mPm.mPackages)); } catch (PackageManagerException e) { Slog.e(TAG, "updateAllSharedLibrariesLPw failed: " + e.getMessage()); Loading Loading @@ -3559,15 +3562,14 @@ final class InstallPackageHelper { ReconcilePackageUtils.reconcilePackages( new ReconcileRequest( Collections.singletonMap(pkgName, scanResult), mPm.mSharedLibraries, mSharedLibraries.getAll(), mPm.mPackages, Collections.singletonMap( pkgName, mPm.getSettingsVersionForPackage( parsedPackage)), Collections.singletonMap(pkgName, mPm.getSharedLibLatestVersionSetting( scanResult))), Collections.singletonMap(pkgName, mSharedLibraries .getSharedLibLatestVersionSetting(scanResult))), mPm.mSettings.getKeySetManagerService(), mPm.mInjector); appIdCreated = optimisticallyRegisterAppId(scanResult); commitReconciledScanResultLocked( Loading Loading @@ -4192,8 +4194,8 @@ final class InstallPackageHelper { long minVersionCode = Long.MIN_VALUE; long maxVersionCode = Long.MAX_VALUE; WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mPm.mSharedLibraries.get( pkg.getStaticSharedLibName()); WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mSharedLibraries.getSharedLibraryInfos(pkg.getStaticSharedLibName()); if (versionedLib != null) { final int versionCount = versionedLib.size(); for (int i = 0; i < versionCount; i++) { Loading services/core/java/com/android/server/pm/PackageHandler.java +2 −1 Original line number Diff line number Diff line Loading @@ -388,7 +388,8 @@ final class PackageHandler extends Handler { } case PRUNE_UNUSED_STATIC_SHARED_LIBRARIES: { try { mPm.pruneUnusedStaticSharedLibraries(Long.MAX_VALUE, mPm.mInjector.getSharedLibrariesImpl().pruneUnusedStaticSharedLibraries( Long.MAX_VALUE, Settings.Global.getLong(mPm.mContext.getContentResolver(), Settings.Global.UNUSED_STATIC_SHARED_LIB_MIN_CACHE_PERIOD, DEFAULT_UNUSED_STATIC_SHARED_LIB_MIN_CACHE_PERIOD)); Loading services/core/java/com/android/server/pm/PackageManagerService.java +14 −387 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
services/core/java/com/android/server/pm/ComputerEngine.java +6 −57 Original line number Diff line number Diff line Loading @@ -320,10 +320,7 @@ public class ComputerEngine implements Computer { private final WatchedArrayMap<String, AndroidPackage> mPackages; private final WatchedArrayMap<ComponentName, ParsedInstrumentation> mInstrumentation; private final WatchedArrayMap<String, WatchedLongSparseArray<SharedLibraryInfo>> mStaticLibsByDeclaringPackage; private final WatchedArrayMap<String, WatchedLongSparseArray<SharedLibraryInfo>> mSharedLibraries; private final SharedLibrariesRead mSharedLibraries; private final ComponentName mLocalResolveComponentName; private final ActivityInfo mResolveActivity; private final WatchedSparseBooleanArray mWebInstantAppsDisabled; Loading Loading @@ -375,8 +372,7 @@ public class ComputerEngine implements Computer { mSettings = new Settings(args.settings); mIsolatedOwners = args.isolatedOwners; mPackages = args.packages; mSharedLibraries = args.sharedLibs; mStaticLibsByDeclaringPackage = args.staticLibs; mSharedLibraries = args.sharedLibraries; mInstrumentation = args.instrumentation; mWebInstantAppsDisabled = args.webInstantAppsDisabled; mLocalResolveComponentName = args.resolveComponentName; Loading Loading @@ -2006,8 +2002,7 @@ public class ComputerEngine implements Computer { @Nullable public final SharedLibraryInfo getSharedLibraryInfo(String name, long version) { return SharedLibraryHelper.getSharedLibraryInfo( name, version, mSharedLibraries, null); return mSharedLibraries.getSharedLibraryInfo(name, version); } /** Loading Loading @@ -2058,7 +2053,7 @@ public class ComputerEngine implements Computer { // Is this a static library? WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mStaticLibsByDeclaringPackage.get(packageName); mSharedLibraries.getStaticLibraryInfos(packageName); if (versionedLib == null || versionedLib.size() <= 0) { return packageName; } Loading Loading @@ -3056,54 +3051,8 @@ public class ComputerEngine implements Computer { } case DumpState.DUMP_LIBS: { boolean printedHeader = false; final int numSharedLibraries = mSharedLibraries.size(); for (int index = 0; index < numSharedLibraries; index++) { final String libName = mSharedLibraries.keyAt(index); final WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mSharedLibraries.get(libName); if (versionedLib == null) { continue; } final int versionCount = versionedLib.size(); for (int i = 0; i < versionCount; i++) { SharedLibraryInfo libraryInfo = versionedLib.valueAt(i); if (!checkin) { if (!printedHeader) { if (dumpState.onTitlePrinted()) { pw.println(); } pw.println("Libraries:"); printedHeader = true; } pw.print(" "); } else { pw.print("lib,"); } pw.print(libraryInfo.getName()); if (libraryInfo.isStatic()) { pw.print(" version=" + libraryInfo.getLongVersion()); } if (!checkin) { pw.print(" -> "); } if (libraryInfo.getPath() != null) { if (libraryInfo.isNative()) { pw.print(" (so) "); } else { pw.print(" (jar) "); } pw.print(libraryInfo.getPath()); } else { pw.print(" (apk) "); pw.print(libraryInfo.getPackageName()); } pw.println(); } } mSharedLibraries.dump(pw, dumpState); break; } case DumpState.DUMP_PREFERRED: mSettings.dumpPreferred(pw, dumpState, packageName); Loading Loading @@ -3544,7 +3493,7 @@ public class ComputerEngine implements Computer { @NonNull @Override public WatchedArrayMap<String, WatchedLongSparseArray<SharedLibraryInfo>> getSharedLibraries() { return mSharedLibraries; return mSharedLibraries.getAll(); } @NonNull Loading
services/core/java/com/android/server/pm/DumpHelper.java +1 −32 Original line number Diff line number Diff line Loading @@ -25,7 +25,6 @@ import android.content.ComponentName; import android.content.pm.FeatureInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; import android.content.pm.SharedLibraryInfo; import android.os.Binder; import android.os.UserHandle; import android.os.incremental.PerUidReadTimeouts; Loading @@ -37,7 +36,6 @@ import android.util.proto.ProtoOutputStream; import com.android.internal.util.ArrayUtils; import com.android.internal.util.IndentingPrintWriter; import com.android.server.pm.verify.domain.proxy.DomainVerificationProxy; import com.android.server.utils.WatchedLongSparseArray; import java.io.FileDescriptor; import java.io.PrintWriter; Loading Loading @@ -710,7 +708,7 @@ final class DumpHelper { proto.end(verifierPackageToken); } dumpSharedLibrariesProto(proto); mPm.mInjector.getSharedLibrariesImpl().dumpProto(proto); dumpFeaturesProto(proto); mPm.mSettings.dumpPackagesProto(proto); mPm.mSettings.dumpSharedUsersProto(proto); Loading @@ -728,33 +726,4 @@ final class DumpHelper { } } } private void dumpSharedLibrariesProto(ProtoOutputStream proto) { final int count = mPm.mSharedLibraries.size(); for (int i = 0; i < count; i++) { final String libName = mPm.mSharedLibraries.keyAt(i); WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mPm.mSharedLibraries.get(libName); if (versionedLib == null) { continue; } final int versionCount = versionedLib.size(); for (int j = 0; j < versionCount; j++) { final SharedLibraryInfo libraryInfo = versionedLib.valueAt(j); final long sharedLibraryToken = proto.start(PackageServiceDumpProto.SHARED_LIBRARIES); proto.write(PackageServiceDumpProto.SharedLibraryProto.NAME, libraryInfo.getName()); final boolean isJar = (libraryInfo.getPath() != null); proto.write(PackageServiceDumpProto.SharedLibraryProto.IS_JAR, isJar); if (isJar) { proto.write(PackageServiceDumpProto.SharedLibraryProto.PATH, libraryInfo.getPath()); } else { proto.write(PackageServiceDumpProto.SharedLibraryProto.APK, libraryInfo.getPackageName()); } proto.end(sharedLibraryToken); } } } }
services/core/java/com/android/server/pm/InstallPackageHelper.java +17 −15 Original line number Diff line number Diff line Loading @@ -207,6 +207,7 @@ final class InstallPackageHelper { private final PackageAbiHelper mPackageAbiHelper; private final ViewCompiler mViewCompiler; private final IBackupManager mIBackupManager; private final SharedLibrariesImpl mSharedLibraries; // TODO(b/198166813): remove PMS dependency InstallPackageHelper(PackageManagerService pm, AppDataHelper appDataHelper) { Loading @@ -226,6 +227,7 @@ final class InstallPackageHelper { mPackageAbiHelper = pm.mInjector.getAbiHelper(); mViewCompiler = pm.mInjector.getViewCompiler(); mIBackupManager = pm.mInjector.getIBackupManager(); mSharedLibraries = pm.mInjector.getSharedLibrariesImpl(); } InstallPackageHelper(PackageManagerService pm) { Loading Loading @@ -325,7 +327,7 @@ final class InstallPackageHelper { } if (reconciledPkg.mCollectedSharedLibraryInfos != null) { mPm.executeSharedLibrariesUpdateLPr(pkg, pkgSetting, null, null, mSharedLibraries.executeSharedLibrariesUpdateLPw(pkg, pkgSetting, null, null, reconciledPkg.mCollectedSharedLibraryInfos, allUsers); } Loading Loading @@ -388,13 +390,13 @@ final class InstallPackageHelper { synchronized (mPm.mLock) { if (!ArrayUtils.isEmpty(reconciledPkg.mAllowedSharedLibraryInfos)) { for (SharedLibraryInfo info : reconciledPkg.mAllowedSharedLibraryInfos) { mPm.commitSharedLibraryInfoLocked(info); mSharedLibraries.commitSharedLibraryInfoLPw(info); } final Map<String, AndroidPackage> combinedSigningDetails = reconciledPkg.getCombinedAvailablePackages(); try { // Shared libraries for the package need to be updated. mPm.updateSharedLibrariesLocked(pkg, pkgSetting, null, null, mSharedLibraries.updateSharedLibrariesLPw(pkg, pkgSetting, null, null, combinedSigningDetails); } catch (PackageManagerException e) { Slog.e(TAG, "updateSharedLibrariesLPr failed: ", e); Loading @@ -402,7 +404,7 @@ final class InstallPackageHelper { // Update all applications that use this library. Skip when booting // since this will be done after all packages are scaned. if ((scanFlags & SCAN_BOOTING) == 0) { clientLibPkgs = mPm.updateAllSharedLibrariesLocked(pkg, pkgSetting, clientLibPkgs = mSharedLibraries.updateAllSharedLibrariesLPw(pkg, pkgSetting, combinedSigningDetails); } } Loading Loading @@ -945,7 +947,7 @@ final class InstallPackageHelper { if (result.mStaticSharedLibraryInfo != null || result.mSdkSharedLibraryInfo != null) { final PackageSetting sharedLibLatestVersionSetting = mPm.getSharedLibLatestVersionSetting(result); mSharedLibraries.getSharedLibLatestVersionSetting(result); if (sharedLibLatestVersionSetting != null) { lastStaticSharedLibSettings.put( result.mPkgSetting.getPkg().getPackageName(), Loading @@ -961,7 +963,7 @@ final class InstallPackageHelper { reconcileRequest = new ReconcileRequest(preparedScans, installArgs, installResults, prepareResults, mPm.mSharedLibraries, mSharedLibraries.getAll(), Collections.unmodifiableMap(mPm.mPackages), versionInfos, lastStaticSharedLibSettings); CommitRequest commitRequest = null; Loading Loading @@ -1207,7 +1209,7 @@ final class InstallPackageHelper { // the package setting for the latest library version. PackageSetting signatureCheckPs = ps; if (parsedPackage.isStaticSharedLibrary()) { SharedLibraryInfo libraryInfo = mPm.getLatestSharedLibraVersionLPr( SharedLibraryInfo libraryInfo = mSharedLibraries.getLatestSharedLibraVersionLPr( parsedPackage); if (libraryInfo != null) { signatureCheckPs = mPm.mSettings.getPackageLPr( Loading Loading @@ -2969,7 +2971,8 @@ final class InstallPackageHelper { synchronized (mPm.mLock) { mAppDataHelper.prepareAppDataAfterInstallLIF(pkg); try { mPm.updateSharedLibrariesLocked(pkg, stubPkgSetting, null, null, mSharedLibraries.updateSharedLibrariesLPw( pkg, stubPkgSetting, null, null, Collections.unmodifiableMap(mPm.mPackages)); } catch (PackageManagerException e) { Slog.w(TAG, "updateAllSharedLibrariesLPw failed: ", e); Loading Loading @@ -3180,7 +3183,7 @@ final class InstallPackageHelper { try { // update shared libraries for the newly re-installed system package mPm.updateSharedLibrariesLocked(pkg, pkgSetting, null, null, mSharedLibraries.updateSharedLibrariesLPw(pkg, pkgSetting, null, null, Collections.unmodifiableMap(mPm.mPackages)); } catch (PackageManagerException e) { Slog.e(TAG, "updateAllSharedLibrariesLPw failed: " + e.getMessage()); Loading Loading @@ -3559,15 +3562,14 @@ final class InstallPackageHelper { ReconcilePackageUtils.reconcilePackages( new ReconcileRequest( Collections.singletonMap(pkgName, scanResult), mPm.mSharedLibraries, mSharedLibraries.getAll(), mPm.mPackages, Collections.singletonMap( pkgName, mPm.getSettingsVersionForPackage( parsedPackage)), Collections.singletonMap(pkgName, mPm.getSharedLibLatestVersionSetting( scanResult))), Collections.singletonMap(pkgName, mSharedLibraries .getSharedLibLatestVersionSetting(scanResult))), mPm.mSettings.getKeySetManagerService(), mPm.mInjector); appIdCreated = optimisticallyRegisterAppId(scanResult); commitReconciledScanResultLocked( Loading Loading @@ -4192,8 +4194,8 @@ final class InstallPackageHelper { long minVersionCode = Long.MIN_VALUE; long maxVersionCode = Long.MAX_VALUE; WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mPm.mSharedLibraries.get( pkg.getStaticSharedLibName()); WatchedLongSparseArray<SharedLibraryInfo> versionedLib = mSharedLibraries.getSharedLibraryInfos(pkg.getStaticSharedLibName()); if (versionedLib != null) { final int versionCount = versionedLib.size(); for (int i = 0; i < versionCount; i++) { Loading
services/core/java/com/android/server/pm/PackageHandler.java +2 −1 Original line number Diff line number Diff line Loading @@ -388,7 +388,8 @@ final class PackageHandler extends Handler { } case PRUNE_UNUSED_STATIC_SHARED_LIBRARIES: { try { mPm.pruneUnusedStaticSharedLibraries(Long.MAX_VALUE, mPm.mInjector.getSharedLibrariesImpl().pruneUnusedStaticSharedLibraries( Long.MAX_VALUE, Settings.Global.getLong(mPm.mContext.getContentResolver(), Settings.Global.UNUSED_STATIC_SHARED_LIB_MIN_CACHE_PERIOD, DEFAULT_UNUSED_STATIC_SHARED_LIB_MIN_CACHE_PERIOD)); Loading
services/core/java/com/android/server/pm/PackageManagerService.java +14 −387 File changed.Preview size limit exceeded, changes collapsed. Show changes