diff options
4 files changed, 8 insertions, 90 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 3cd24f967a86..dc8b98d9706e 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -2720,11 +2720,12 @@ public class PackageManagerService extends IPackageManager.Stub * application can be scanned. */ if (mSettings.isDisabledSystemPackageLPr(ps.name)) { - logCriticalInfo(Log.WARN, "Expecting better updated system app for " - + ps.name + "; removing system app. Last known codePath=" - + ps.codePathString + ", installStatus=" + ps.installStatus - + ", versionCode=" + ps.versionCode + "; scanned versionCode=" - + scannedPkg.getLongVersionCode()); + logCriticalInfo(Log.WARN, + "Expecting better updated system app for " + ps.name + + "; removing system app. Last known" + + " codePath=" + ps.codePathString + + ", versionCode=" + ps.versionCode + + "; scanned versionCode=" + scannedPkg.getLongVersionCode()); removePackageLI(scannedPkg, true); mExpectingBetter.put(ps.name, ps.codePath); } @@ -2753,18 +2754,6 @@ public class PackageManagerService extends IPackageManager.Stub } } - //look for any incomplete package installations - ArrayList<PackageSetting> deletePkgsList = mSettings.getListOfIncompleteInstallPackagesLPr(); - for (int i = 0; i < deletePkgsList.size(); i++) { - // Actual deletion of code and data will be handled by later - // reconciliation step - final String packageName = deletePkgsList.get(i).name; - logCriticalInfo(Log.WARN, "Cleaning up incompletely installed app: " + packageName); - synchronized (mPackages) { - mSettings.removePackageLPw(packageName); - } - } - //delete tmp files deleteTempPackageFiles(); @@ -16574,17 +16563,7 @@ public class PackageManagerService extends IPackageManager.Stub PackageInstalledInfo res, UserHandle user, int installReason) { Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "updateSettings"); - String pkgName = pkg.packageName; - synchronized (mPackages) { - //write settings. the installStatus will be incomplete at this stage. - //note that the new package setting would have already been - //added to mPackages. It hasn't been persisted yet. - mSettings.setInstallStatus(pkgName, PackageSettingBase.PKG_INSTALL_INCOMPLETE); - // TODO: Remove this write? It's also written at the end of this method - Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "writeSettings"); - mSettings.writeLPr(); - Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER); - } + final String pkgName = pkg.packageName; if (DEBUG_INSTALL) Slog.d(TAG, "New package installed in " + pkg.codePath); synchronized (mPackages) { @@ -16665,7 +16644,6 @@ public class PackageManagerService extends IPackageManager.Stub res.name = pkgName; res.uid = pkg.applicationInfo.uid; res.pkg = pkg; - mSettings.setInstallStatus(pkgName, PackageSettingBase.PKG_INSTALL_COMPLETE); mSettings.setInstallerPackageName(pkgName, installerPackageName); res.setReturnCode(PackageManager.INSTALL_SUCCEEDED); //to update install status diff --git a/services/core/java/com/android/server/pm/PackageSettingBase.java b/services/core/java/com/android/server/pm/PackageSettingBase.java index f14a684b3865..a0ed12611e48 100644 --- a/services/core/java/com/android/server/pm/PackageSettingBase.java +++ b/services/core/java/com/android/server/pm/PackageSettingBase.java @@ -46,19 +46,6 @@ public abstract class PackageSettingBase extends SettingBase { private static final int[] EMPTY_INT_ARRAY = new int[0]; - /** - * Indicates the state of installation. Used by PackageManager to figure out - * incomplete installations. Say a package is being installed (the state is - * set to PKG_INSTALL_INCOMPLETE) and remains so till the package - * installation is successful or unsuccessful in which case the - * PackageManager will no longer maintain state information associated with - * the package. If some exception(like device freeze or battery being pulled - * out) occurs during installation of a package, the PackageManager needs - * this information to clean up the previously failed installation. - */ - static final int PKG_INSTALL_COMPLETE = 1; - static final int PKG_INSTALL_INCOMPLETE = 0; - public final String name; final String realName; @@ -122,8 +109,6 @@ public abstract class PackageSettingBase extends SettingBase { // started until explicitly launched by the user. private final SparseArray<PackageUserState> userState = new SparseArray<PackageUserState>(); - int installStatus = PKG_INSTALL_COMPLETE; - /** * Non-persisted value. During an "upgrade without restart", we need the set * of all previous code paths so we can surgically add the new APKs to the @@ -209,14 +194,6 @@ public abstract class PackageSettingBase extends SettingBase { return volumeUuid; } - public void setInstallStatus(int newStatus) { - installStatus = newStatus; - } - - public int getInstallStatus() { - return installStatus; - } - public void setTimeStamp(long newStamp) { timeStamp = newStamp; } @@ -260,7 +237,6 @@ public abstract class PackageSettingBase extends SettingBase { cpuAbiOverrideString = orig.cpuAbiOverrideString; firstInstallTime = orig.firstInstallTime; installPermissionsFixed = orig.installPermissionsFixed; - installStatus = orig.installStatus; installerPackageName = orig.installerPackageName; isOrphaned = orig.isOrphaned; keySetData = orig.keySetData; diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index b6e1534d6dcb..b5fe9ea49b86 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -455,15 +455,6 @@ public final class Settings { return mRenamedPackages.put(pkgName, origPkgName); } - void setInstallStatus(String pkgName, final int status) { - PackageSetting p = mPackages.get(pkgName); - if(p != null) { - if(p.getInstallStatus() != status) { - p.setInstallStatus(status); - } - } - } - void applyPendingPermissionGrantsLPw(String packageName, int userId) { ArrayMap<String, ArraySet<RestoredPermissionGrant>> grantsByPackage = mRestoredUserGrants.get(userId); @@ -2839,9 +2830,6 @@ public final class Settings { if (pkg.uidError) { serializer.attribute(null, "uidError", "true"); } - if (pkg.installStatus == PackageSettingBase.PKG_INSTALL_INCOMPLETE) { - serializer.attribute(null, "installStatus", "false"); - } if (pkg.installerPackageName != null) { serializer.attribute(null, "installer", pkg.installerPackageName); } @@ -2912,20 +2900,6 @@ public final class Settings { bp.writeLPr(serializer); } - ArrayList<PackageSetting> getListOfIncompleteInstallPackagesLPr() { - final ArraySet<String> kList = new ArraySet<String>(mPackages.keySet()); - final Iterator<String> its = kList.iterator(); - final ArrayList<PackageSetting> ret = new ArrayList<PackageSetting>(); - while (its.hasNext()) { - final String key = its.next(); - final PackageSetting ps = mPackages.get(key); - if (ps.getInstallStatus() == PackageSettingBase.PKG_INSTALL_INCOMPLETE) { - ret.add(ps); - } - } - return ret; - } - void addPackageToCleanLPw(PackageCleanItem pkg) { if (!mPackagesToBeCleaned.contains(pkg)) { mPackagesToBeCleaned.add(pkg); @@ -3874,15 +3848,6 @@ public final class Settings { mInstallerPackages.add(installerPackageName); } - final String installStatusStr = parser.getAttributeValue(null, "installStatus"); - if (installStatusStr != null) { - if (installStatusStr.equalsIgnoreCase("false")) { - packageSetting.installStatus = PackageSettingBase.PKG_INSTALL_INCOMPLETE; - } else { - packageSetting.installStatus = PackageSettingBase.PKG_INSTALL_COMPLETE; - } - } - int outerDepth = parser.getDepth(); int type; while ((type = parser.next()) != XmlPullParser.END_DOCUMENT @@ -4668,7 +4633,7 @@ public final class Settings { pw.print(prefix); pw.print(" signatures="); pw.println(ps.signatures); pw.print(prefix); pw.print(" installPermissionsFixed="); pw.print(ps.installPermissionsFixed); - pw.print(" installStatus="); pw.println(ps.installStatus); + pw.println(); pw.print(prefix); pw.print(" pkgFlags="); printFlags(pw, ps.pkgFlags, FLAG_DUMP_SPEC); pw.println(); diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java b/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java index 98483a80e091..53d97e7957c8 100644 --- a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java +++ b/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java @@ -612,7 +612,6 @@ public class PackageManagerSettingsTests { assertThat(origPkgSetting.installerPackageName, is(testPkgSetting.installerPackageName)); assertThat(origPkgSetting.installPermissionsFixed, is(testPkgSetting.installPermissionsFixed)); - assertThat(origPkgSetting.installStatus, is(testPkgSetting.installStatus)); assertThat(origPkgSetting.isOrphaned, is(testPkgSetting.isOrphaned)); assertSame(origPkgSetting.keySetData, testPkgSetting.keySetData); assertThat(origPkgSetting.keySetData, is(testPkgSetting.keySetData)); |