summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Mancebo <emancebo@cyngn.com>2015-06-04 21:10:59 +0000
committerGerrit Code Review <gerrit@cyanogenmod.org>2015-06-04 23:45:56 +0000
commit802d80108f6bb9e5b904aefc9f4c8deee11b52d4 (patch)
tree168d0c7639da87aca6ed4dedc513ca30c2a75b8f
parent831e41008f92dece2b9be5303c4aeb790ecda4c4 (diff)
downloadandroid_frameworks_base-stable/cm-12.0-YNG1T.tar.gz
android_frameworks_base-stable/cm-12.0-YNG1T.tar.bz2
android_frameworks_base-stable/cm-12.0-YNG1T.zip
Revert "PackageManagerService: Create means of installing prebundled applications"stable/cm-12.0-YNG1T
This reverts commit d6cd3ebcfdaf4effaf1202d02165807247cb5ada. Change-Id: Ib07a7b38ec39873fea5124d5752dd7010c7b4eab
-rw-r--r--core/java/android/content/pm/PackageManager.java8
-rw-r--r--core/java/android/content/pm/PackageParser.java1
-rw-r--r--core/java/android/os/Environment.java11
-rwxr-xr-xservices/core/java/com/android/server/pm/PackageManagerService.java53
-rwxr-xr-xservices/core/java/com/android/server/pm/Settings.java61
5 files changed, 0 insertions, 134 deletions
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index a36a645ceef..337905171a5 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -821,14 +821,6 @@ public abstract class PackageManager {
public static final int INSTALL_FAILED_THEME_UNKNOWN_ERROR = -402;
/**
- * Used for prebundles
- * Installation failed for a prebundled app because the user previously uninstalled it
- * and we don't want to bring it back
- * @hide
- */
- public static final int INSTALL_FAILED_UNINSTALLED_PREBUNDLE = -403;
-
- /**
* Flag parameter for {@link #deletePackage} to indicate that you don't want to delete the
* package's data directory.
*
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index c7f2ca3b67a..446225c5a16 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -634,7 +634,6 @@ public class PackageParser {
public final static int PARSE_IS_PRIVILEGED = 1<<7;
public final static int PARSE_COLLECT_CERTIFICATES = 1<<8;
public final static int PARSE_TRUSTED_OVERLAY = 1<<9;
- public final static int PARSE_IS_PREBUNDLED_DIR = 1<<10;
private static final Comparator<String> sSplitNameComparator = new SplitNameComparator();
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index d868a238dd4..389af1309bf 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -45,7 +45,6 @@ public class Environment {
private static final String ENV_ANDROID_ROOT = "ANDROID_ROOT";
private static final String ENV_OEM_ROOT = "OEM_ROOT";
private static final String ENV_VENDOR_ROOT = "VENDOR_ROOT";
- private static final String ENV_PREBUNDLED_ROOT = "PREBUNDLED_ROOT";
/** {@hide} */
public static final String DIR_ANDROID = "Android";
@@ -62,7 +61,6 @@ public class Environment {
private static final File DIR_ANDROID_ROOT = getDirectory(ENV_ANDROID_ROOT, "/system");
private static final File DIR_OEM_ROOT = getDirectory(ENV_OEM_ROOT, "/oem");
private static final File DIR_VENDOR_ROOT = getDirectory(ENV_VENDOR_ROOT, "/vendor");
- private static final File DIR_PREBUNDLED_ROOT = getDirectory(ENV_PREBUNDLED_ROOT, "/vendor/bundled-app");
private static final File DIR_MEDIA_STORAGE = getDirectory(ENV_MEDIA_STORAGE, "/data/media");
private static final String CANONCIAL_EMULATED_STORAGE_TARGET = getCanonicalPathOrNull(
@@ -277,15 +275,6 @@ public class Environment {
}
/**
- * Return the root directory for "prebundled" apps. These apps will be installed directly
- * from this partition but will not be marked as system apps and will hence be uninstallable.
- * @hide
- */
- public static File getPrebundledDirectory() {
- return DIR_PREBUNDLED_ROOT;
- }
-
- /**
* Gets the system directory available for secure storage.
* If Encrypted File system is enabled, it returns an encrypted directory (/data/secure/system).
* Otherwise, it returns the unencrypted /data/system directory.
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 59490f0f1b5..2c4d334e426 100755
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -48,7 +48,6 @@ import static android.content.pm.PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIB
import static android.content.pm.PackageManager.INSTALL_FAILED_USER_RESTRICTED;
import static android.content.pm.PackageManager.INSTALL_FORWARD_LOCK;
import static android.content.pm.PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES;
-import static android.content.pm.PackageManager.INSTALL_FAILED_UNINSTALLED_PREBUNDLE;
import static android.content.pm.PackageParser.isApkFile;
import static android.os.Process.PACKAGE_INFO_GID;
import static android.os.Process.SYSTEM_UID;
@@ -61,7 +60,6 @@ import static com.android.internal.content.NativeLibraryHelper.LIB_DIR_NAME;
import static com.android.internal.util.ArrayUtils.appendInt;
import static com.android.internal.util.ArrayUtils.removeInt;
-import android.app.PackageInstallObserver;
import android.util.ArrayMap;
import com.android.internal.R;
@@ -1692,10 +1690,6 @@ public class PackageManagerService extends IPackageManager.Stub {
scanDirLI(oemAppDir, PackageParser.PARSE_IS_SYSTEM
| PackageParser.PARSE_IS_SYSTEM_DIR, scanFlags, 0);
- // Collect all prebundled packages.
- scanDirLI(Environment.getPrebundledDirectory(),
- PackageParser.PARSE_IS_PREBUNDLED_DIR, scanFlags, 0);
-
if (DEBUG_UPGRADE) Log.v(TAG, "Running installd update commands");
mInstaller.moveFiles();
@@ -4354,13 +4348,6 @@ public class PackageManagerService extends IPackageManager.Stub {
+ " flags=0x" + Integer.toHexString(parseFlags));
}
- boolean isPrebundled = (parseFlags & PackageParser.PARSE_IS_PREBUNDLED_DIR) != 0;
- if (isPrebundled) {
- synchronized (mPackages) {
- mSettings.readPrebundledPackagesLPr();
- }
- }
-
for (File file : files) {
final boolean isPackage = (isApkFile(file) || file.isDirectory())
&& !PackageInstallerService.isStageName(file.getName());
@@ -4371,17 +4358,6 @@ public class PackageManagerService extends IPackageManager.Stub {
try {
scanPackageLI(file, parseFlags | PackageParser.PARSE_MUST_BE_APK,
scanFlags, currentTime, null);
- if (isPrebundled) {
- final PackageParser.Package pkg;
- try {
- pkg = new PackageParser().parsePackage(file, parseFlags);
- } catch (PackageParserException e) {
- throw PackageManagerException.from(e);
- }
- synchronized (mPackages) {
- mSettings.markPrebundledPackageInstalledLPr(pkg.packageName);
- }
- }
} catch (PackageManagerException e) {
Slog.w(TAG, "Failed to parse " + file + ": " + e.getMessage());
@@ -4396,12 +4372,6 @@ public class PackageManagerService extends IPackageManager.Stub {
}
}
}
-
- if (isPrebundled) {
- synchronized (mPackages) {
- mSettings.writePrebundledPackagesLPr();
- }
- }
}
private static File getSettingsProblemFile() {
@@ -4494,29 +4464,6 @@ public class PackageManagerService extends IPackageManager.Stub {
throw PackageManagerException.from(e);
}
- if ((parseFlags & PackageParser.PARSE_IS_PREBUNDLED_DIR) != 0) {
- synchronized (mPackages) {
- PackageSetting existingSettings = mSettings.peekPackageLPr(pkg.packageName);
- if (mSettings.wasPrebundledPackageInstalledLPr(pkg.packageName) &&
- existingSettings == null) {
- // The prebundled app was installed at some point in time, but now it is
- // gone. Assume that the user uninstalled it intentionally: do not reinstall.
- throw new PackageManagerException(INSTALL_FAILED_UNINSTALLED_PREBUNDLE,
- "skip reinstall for " + pkg.packageName);
- } else if (existingSettings != null
- && existingSettings.versionCode >= pkg.mVersionCode
- && !existingSettings.codePathString.contains(
- Environment.getPrebundledDirectory().getPath())) {
- // This app is installed in a location that is not the prebundled location
- // and has a higher (or same) version as the prebundled one. Skip
- // installing the prebundled version.
- Slog.d(TAG, pkg.packageName + " already installed at " +
- existingSettings.codePathString);
- return null; // return null so we still mark package as installed
- }
- }
- }
-
PackageSetting ps = null;
PackageSetting updatedPkg;
// reader
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 6b75983219c..867484694a7 100755
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -45,7 +45,6 @@ import com.android.internal.util.XmlUtils;
import com.android.server.pm.PackageManagerService.DumpState;
import java.util.Collection;
-import java.util.HashSet;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
@@ -64,20 +63,15 @@ import android.content.pm.Signature;
import android.content.pm.UserInfo;
import android.content.pm.PackageUserState;
import android.content.pm.VerifierDeviceIdentity;
-import android.text.TextUtils;
import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
import android.util.Xml;
import java.io.BufferedOutputStream;
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
@@ -175,15 +169,12 @@ final class Settings {
private final File mPackageListFilename;
private final File mStoppedPackagesFilename;
private final File mBackupStoppedPackagesFilename;
- private final File mPrebundledPackagesFilename;
final HashMap<String, PackageSetting> mPackages =
new HashMap<String, PackageSetting>();
// List of replaced system applications
private final HashMap<String, PackageSetting> mDisabledSysPackages =
new HashMap<String, PackageSetting>();
- private final HashSet<String> mPrebundledPackages =
- new HashSet<String>();
private static int mFirstAvailableUid = 0;
@@ -284,7 +275,6 @@ final class Settings {
mBackupSettingsFilename = new File(mSystemDir, "packages-backup.xml");
mPackageListFilename = new File(mSystemDir, "packages.list");
FileUtils.setPermissions(mPackageListFilename, 0660, SYSTEM_UID, PACKAGE_INFO_GID);
- mPrebundledPackagesFilename = new File(mSystemDir, "prebundled-packages.list");
// Deprecated: Needed for migration
mStoppedPackagesFilename = new File(mSystemDir, "packages-stopped.xml");
@@ -1785,57 +1775,6 @@ final class Settings {
//Debug.stopMethodTracing();
}
- void writePrebundledPackagesLPr() {
- PrintWriter writer = null;
- try {
- writer = new PrintWriter(
- new BufferedWriter(new FileWriter(mPrebundledPackagesFilename, false)));
- for (String packageName : mPrebundledPackages) {
- writer.println(packageName);
- }
- } catch (IOException e) {
- Slog.e(PackageManagerService.TAG, "Unable to write prebundled package list", e);
- } finally {
- if (writer != null) {
- writer.close();
- }
- }
- }
-
- void readPrebundledPackagesLPr() {
- if (!mPrebundledPackagesFilename.exists()) {
- return;
- }
-
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new FileReader(mPrebundledPackagesFilename));
- String packageName = reader.readLine();
- while (packageName != null) {
- if (!TextUtils.isEmpty(packageName)) {
- mPrebundledPackages.add(packageName);
- }
- packageName = reader.readLine();
- }
- } catch (IOException e) {
- Slog.e(PackageManagerService.TAG, "Unable to read prebundled package list", e);
- } finally {
- if (reader != null) {
- try {
- reader.close();
- } catch (IOException e) {}
- }
- }
- }
-
- void markPrebundledPackageInstalledLPr(String packageName) {
- mPrebundledPackages.add(packageName);
- }
-
- boolean wasPrebundledPackageInstalledLPr(String packageName) {
- return mPrebundledPackages.contains(packageName);
- }
-
void writeDisabledSysPackageLPr(XmlSerializer serializer, final PackageSetting pkg)
throws java.io.IOException {
serializer.startTag(null, "updated-package");