diff options
author | Ed Mancebo <emancebo@cyngn.com> | 2015-04-09 19:09:38 -0700 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-10-27 15:11:37 -0700 |
commit | eea702a3091b6e97ca35f3b4f58540d48698f019 (patch) | |
tree | 4fa60ae0c1a6bbf918c46c133a983ffe5b3339b8 /core/java/android | |
parent | 16c1a46d1feda185c49d7f4cf7bf0ebfd106f573 (diff) | |
download | frameworks_base-eea702a3091b6e97ca35f3b4f58540d48698f019.zip frameworks_base-eea702a3091b6e97ca35f3b4f58540d48698f019.tar.gz frameworks_base-eea702a3091b6e97ca35f3b4f58540d48698f019.tar.bz2 |
PackageManagerService: Create means of installing prebundled applications
Change-Id: Ic8c1b6ab3922c526c4d8dc74acc3900a99983ea5
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/content/pm/PackageManager.java | 8 | ||||
-rw-r--r-- | core/java/android/content/pm/PackageParser.java | 1 | ||||
-rw-r--r-- | core/java/android/os/Environment.java | 11 |
3 files changed, 20 insertions, 0 deletions
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 7b924fa..0fa5f51 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -862,6 +862,14 @@ 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 4f280ca..f4cf1e6 100644 --- a/core/java/android/content/pm/PackageParser.java +++ b/core/java/android/content/pm/PackageParser.java @@ -645,6 +645,7 @@ 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 64d6da5..75bef5c 100644 --- a/core/java/android/os/Environment.java +++ b/core/java/android/os/Environment.java @@ -37,6 +37,7 @@ public class Environment { private static final String ENV_ANDROID_STORAGE = "ANDROID_STORAGE"; 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"; @@ -55,6 +56,7 @@ public class Environment { private static final File DIR_ANDROID_STORAGE = getDirectory(ENV_ANDROID_STORAGE, "/storage"); 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 String SYSTEM_PROPERTY_EFS_ENABLED = "persist.security.efs.enabled"; @@ -165,6 +167,15 @@ 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. |