diff options
author | Jeff Sharkey <jsharkey@android.com> | 2015-04-15 17:14:12 -0700 |
---|---|---|
committer | Jeff Sharkey <jsharkey@android.com> | 2015-04-15 22:21:49 -0700 |
commit | e2d45be4dae116307f8edd85eaa61134221cb8f9 (patch) | |
tree | 136b7e24f05cc792db37f8a8cf140589b057d4f6 /core/java/android/content | |
parent | 9f09b2d93fb8b15d5905b22f566dc0fa99fd086f (diff) | |
download | frameworks_base-e2d45be4dae116307f8edd85eaa61134221cb8f9.zip frameworks_base-e2d45be4dae116307f8edd85eaa61134221cb8f9.tar.gz frameworks_base-e2d45be4dae116307f8edd85eaa61134221cb8f9.tar.bz2 |
Candidate volumes for packages, fix symlink.
Add API to determine the possible candidate volumes that a package
can be moved to. For example, it currently knows that we need to
move ASEC-based apps through internal storage before migrating them
to a private volume.
Comparator for consistent VolumeInfo ordering when displayed in UI.
Fix native library symlink to be volume UUID aware.
Bug: 19993667
Change-Id: I68d5fac5f0f776ac1c7dd15e7a984bfe2704f3f7
Diffstat (limited to 'core/java/android/content')
-rw-r--r-- | core/java/android/content/pm/ApplicationInfo.java | 12 | ||||
-rw-r--r-- | core/java/android/content/pm/PackageManager.java | 7 |
2 files changed, 19 insertions, 0 deletions
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java index 5bdb7bb..caf069f 100644 --- a/core/java/android/content/pm/ApplicationInfo.java +++ b/core/java/android/content/pm/ApplicationInfo.java @@ -21,6 +21,7 @@ import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Parcel; import android.os.Parcelable; +import android.text.TextUtils; import android.util.Printer; import com.android.internal.util.ArrayUtils; @@ -937,6 +938,17 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { return (flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0; } + /** @hide */ + public boolean isInternal() { + return (flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) == 0; + } + + /** @hide */ + public boolean isExternalAsec() { + return TextUtils.isEmpty(volumeUuid) + && (flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0; + } + /** * @hide */ diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 8844ea8..a128872 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -20,6 +20,7 @@ import android.annotation.CheckResult; import android.annotation.DrawableRes; import android.annotation.IntDef; import android.annotation.NonNull; +import android.annotation.Nullable; import android.annotation.SdkConstant; import android.annotation.SdkConstant.SdkConstantType; import android.annotation.StringRes; @@ -4162,6 +4163,12 @@ public abstract class PackageManager { public abstract void movePackageAndData(String packageName, String volumeUuid, IPackageMoveObserver observer); + /** {@hide} */ + public abstract @Nullable VolumeInfo getApplicationCurrentVolume(ApplicationInfo app); + + /** {@hide} */ + public abstract @NonNull List<VolumeInfo> getApplicationCandidateVolumes(ApplicationInfo app); + /** * Returns the device identity that verifiers can use to associate their scheme to a particular * device. This should not be used by anything other than a package verifier. |