Loading services/core/java/com/android/server/pm/PackageManagerService.java +6 −8 Original line number Diff line number Diff line Loading @@ -13452,9 +13452,7 @@ public class PackageManagerService extends IPackageManager.Stub // Okay! targetPackageSetting.setInstallerPackageName(installerPackageName); if (installerPackageName != null) { mSettings.mInstallerPackages.add(installerPackageName); } mSettings.addInstallerPackageNames(targetPackageSetting.installSource); scheduleWriteSettingsLocked(); } } Loading Loading @@ -15160,7 +15158,8 @@ public class PackageManagerService extends IPackageManager.Stub Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "updateSettings"); final String pkgName = pkg.getPackageName(); final String installerPackageName = installArgs.installSource.installerPackageName; final InstallSource installSource = installArgs.installSource; final String installerPackageName = installSource.installerPackageName; final int[] installedForUsers = res.origUsers; final int installReason = installArgs.installReason; Loading @@ -15171,7 +15170,7 @@ public class PackageManagerService extends IPackageManager.Stub // For system-bundled packages, we assume that installing an upgraded version // of the package implies that the user actually wants to run that new code, // so we enable the package. PackageSetting ps = mSettings.mPackages.get(pkgName); final PackageSetting ps = mSettings.mPackages.get(pkgName); final int userId = installArgs.user.getIdentifier(); if (ps != null) { if (isSystemApp(pkg)) { Loading Loading @@ -15208,8 +15207,8 @@ public class PackageManagerService extends IPackageManager.Stub ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, userId, installerPackageName); } ps.setInstallSource(installArgs.installSource); ps.setInstallSource(installSource); mSettings.addInstallerPackageNames(installSource); // When replacing an existing package, preserve the original install reason for all // users that had the package installed before. Loading Loading @@ -15239,7 +15238,6 @@ public class PackageManagerService extends IPackageManager.Stub res.name = pkgName; res.uid = pkg.getUid(); res.pkg = pkg; mSettings.setInstallerPackageName(pkgName, installerPackageName); res.setReturnCode(PackageManager.INSTALL_SUCCEEDED); //to update install status Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "writeSettings"); services/core/java/com/android/server/pm/Settings.java +20 −16 Original line number Diff line number Diff line Loading @@ -280,8 +280,11 @@ public final class Settings { /** Map from package name to settings */ final ArrayMap<String, PackageSetting> mPackages = new ArrayMap<>(); /** List of packages that installed other packages */ final ArraySet<String> mInstallerPackages = new ArraySet<>(); /** * List of packages that were involved in installing other packages, i.e. are listed * in at least one app's InstallSource. */ private final ArraySet<String> mInstallerPackages = new ArraySet<>(); /** Map from package name to appId and excluded userids */ private final ArrayMap<String, KernelPackageState> mKernelMapping = new ArrayMap<>(); Loading Loading @@ -441,16 +444,6 @@ public final class Settings { return mPermissions.canPropagatePermissionToInstantApp(permName); } void setInstallerPackageName(String pkgName, String installerPkgName) { PackageSetting p = mPackages.get(pkgName); if (p != null) { p.setInstallerPackageName(installerPkgName); if (installerPkgName != null) { mInstallerPackages.add(installerPkgName); } } } /** Gets and optionally creates a new shared user id. */ SharedUserSetting getSharedUserLPw(String name, int pkgFlags, int pkgPrivateFlags, boolean create) throws PackageManagerException { Loading Loading @@ -3777,9 +3770,10 @@ public final class Settings { } if (packageSetting != null) { packageSetting.uidError = "true".equals(uidError); packageSetting.installSource = InstallSource.create( InstallSource installSource = InstallSource.create( installInitiatingPackageName, installOriginatingPackageName, installerPackageName, "true".equals(isOrphaned)); packageSetting.installSource = installSource; packageSetting.volumeUuid = volumeUuid; packageSetting.categoryHint = categoryHint; packageSetting.legacyNativeLibraryPathString = legacyNativeLibraryPathStr; Loading Loading @@ -3809,9 +3803,7 @@ public final class Settings { packageSetting.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, 0, null); } if (installerPackageName != null) { mInstallerPackages.add(installerPackageName); } addInstallerPackageNames(installSource); int outerDepth = parser.getDepth(); int type; Loading Loading @@ -3870,6 +3862,18 @@ public final class Settings { } } void addInstallerPackageNames(InstallSource installSource) { if (installSource.installerPackageName != null) { mInstallerPackages.add(installSource.installerPackageName); } if (installSource.initiatingPackageName != null) { mInstallerPackages.add(installSource.initiatingPackageName); } if (installSource.originatingPackageName != null) { mInstallerPackages.add(installSource.originatingPackageName); } } private void readDisabledComponentsLPw(PackageSettingBase packageSetting, XmlPullParser parser, int userId) throws IOException, XmlPullParserException { int outerDepth = parser.getDepth(); Loading Loading
services/core/java/com/android/server/pm/PackageManagerService.java +6 −8 Original line number Diff line number Diff line Loading @@ -13452,9 +13452,7 @@ public class PackageManagerService extends IPackageManager.Stub // Okay! targetPackageSetting.setInstallerPackageName(installerPackageName); if (installerPackageName != null) { mSettings.mInstallerPackages.add(installerPackageName); } mSettings.addInstallerPackageNames(targetPackageSetting.installSource); scheduleWriteSettingsLocked(); } } Loading Loading @@ -15160,7 +15158,8 @@ public class PackageManagerService extends IPackageManager.Stub Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "updateSettings"); final String pkgName = pkg.getPackageName(); final String installerPackageName = installArgs.installSource.installerPackageName; final InstallSource installSource = installArgs.installSource; final String installerPackageName = installSource.installerPackageName; final int[] installedForUsers = res.origUsers; final int installReason = installArgs.installReason; Loading @@ -15171,7 +15170,7 @@ public class PackageManagerService extends IPackageManager.Stub // For system-bundled packages, we assume that installing an upgraded version // of the package implies that the user actually wants to run that new code, // so we enable the package. PackageSetting ps = mSettings.mPackages.get(pkgName); final PackageSetting ps = mSettings.mPackages.get(pkgName); final int userId = installArgs.user.getIdentifier(); if (ps != null) { if (isSystemApp(pkg)) { Loading Loading @@ -15208,8 +15207,8 @@ public class PackageManagerService extends IPackageManager.Stub ps.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, userId, installerPackageName); } ps.setInstallSource(installArgs.installSource); ps.setInstallSource(installSource); mSettings.addInstallerPackageNames(installSource); // When replacing an existing package, preserve the original install reason for all // users that had the package installed before. Loading Loading @@ -15239,7 +15238,6 @@ public class PackageManagerService extends IPackageManager.Stub res.name = pkgName; res.uid = pkg.getUid(); res.pkg = pkg; mSettings.setInstallerPackageName(pkgName, installerPackageName); res.setReturnCode(PackageManager.INSTALL_SUCCEEDED); //to update install status Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "writeSettings");
services/core/java/com/android/server/pm/Settings.java +20 −16 Original line number Diff line number Diff line Loading @@ -280,8 +280,11 @@ public final class Settings { /** Map from package name to settings */ final ArrayMap<String, PackageSetting> mPackages = new ArrayMap<>(); /** List of packages that installed other packages */ final ArraySet<String> mInstallerPackages = new ArraySet<>(); /** * List of packages that were involved in installing other packages, i.e. are listed * in at least one app's InstallSource. */ private final ArraySet<String> mInstallerPackages = new ArraySet<>(); /** Map from package name to appId and excluded userids */ private final ArrayMap<String, KernelPackageState> mKernelMapping = new ArrayMap<>(); Loading Loading @@ -441,16 +444,6 @@ public final class Settings { return mPermissions.canPropagatePermissionToInstantApp(permName); } void setInstallerPackageName(String pkgName, String installerPkgName) { PackageSetting p = mPackages.get(pkgName); if (p != null) { p.setInstallerPackageName(installerPkgName); if (installerPkgName != null) { mInstallerPackages.add(installerPkgName); } } } /** Gets and optionally creates a new shared user id. */ SharedUserSetting getSharedUserLPw(String name, int pkgFlags, int pkgPrivateFlags, boolean create) throws PackageManagerException { Loading Loading @@ -3777,9 +3770,10 @@ public final class Settings { } if (packageSetting != null) { packageSetting.uidError = "true".equals(uidError); packageSetting.installSource = InstallSource.create( InstallSource installSource = InstallSource.create( installInitiatingPackageName, installOriginatingPackageName, installerPackageName, "true".equals(isOrphaned)); packageSetting.installSource = installSource; packageSetting.volumeUuid = volumeUuid; packageSetting.categoryHint = categoryHint; packageSetting.legacyNativeLibraryPathString = legacyNativeLibraryPathStr; Loading Loading @@ -3809,9 +3803,7 @@ public final class Settings { packageSetting.setEnabled(COMPONENT_ENABLED_STATE_DEFAULT, 0, null); } if (installerPackageName != null) { mInstallerPackages.add(installerPackageName); } addInstallerPackageNames(installSource); int outerDepth = parser.getDepth(); int type; Loading Loading @@ -3870,6 +3862,18 @@ public final class Settings { } } void addInstallerPackageNames(InstallSource installSource) { if (installSource.installerPackageName != null) { mInstallerPackages.add(installSource.installerPackageName); } if (installSource.initiatingPackageName != null) { mInstallerPackages.add(installSource.initiatingPackageName); } if (installSource.originatingPackageName != null) { mInstallerPackages.add(installSource.originatingPackageName); } } private void readDisabledComponentsLPw(PackageSettingBase packageSetting, XmlPullParser parser, int userId) throws IOException, XmlPullParserException { int outerDepth = parser.getDepth(); Loading