diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/ApplicationPackageManager.java | 14 | ||||
| -rw-r--r-- | core/java/android/content/pm/IPackageManager.aidl | 3 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageManager.java | 25 |
3 files changed, 34 insertions, 8 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 4018703d72e3..b64069d9ff71 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -1104,14 +1104,24 @@ final class ApplicationPackageManager extends PackageManager { } @Override - public void setPackageObbPath(String packageName, String path) { + public void setPackageObbPaths(String packageName, String[] paths) { try { - mPM.setPackageObbPath(packageName, path); + mPM.setPackageObbPaths(packageName, paths); } catch (RemoteException e) { // Should never happen! } } + @Override + public String[] getPackageObbPaths(String packageName) { + try { + return mPM.getPackageObbPaths(packageName); + } catch (RemoteException e) { + // Should never happen! + } + return null; + } + private final ContextImpl mContext; private final IPackageManager mPM; diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl index d01a68a83add..28e1a63b2c65 100644 --- a/core/java/android/content/pm/IPackageManager.aidl +++ b/core/java/android/content/pm/IPackageManager.aidl @@ -324,5 +324,6 @@ interface IPackageManager { boolean setInstallLocation(int loc); int getInstallLocation(); - void setPackageObbPath(String packageName, String path); + void setPackageObbPaths(in String packageName, in String[] paths); + String[] getPackageObbPaths(in String packageName); } diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index ac7a95ae7e2c..47418aa139a3 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -2291,15 +2291,30 @@ public abstract class PackageManager { String packageName, IPackageMoveObserver observer, int flags); /** - * Sets the Opaque Binary Blob (OBB) file location. + * Sets the Opaque Binary Blob (OBB) file path associated with a package + * name. The caller must have the + * {@link android.Manifest.permission#INSTALL_PACKAGES} permission. * <p> * NOTE: The existence or format of this file is not currently checked, but * it may be in the future. * * @param packageName Name of the package with which to associate the .obb - * file - * @param path Path on the filesystem to the .obb file - * @hide + * file. + * @param paths Arrays of paths on the filesystem to the .obb files + * associated with the package. + * @see #getPackageObbPaths(String) + */ + public abstract void setPackageObbPaths(String packageName, String[] paths); + + /** + * Gets the Opaque Binary Blob (OBB) file path associated with the package. + * The caller must be the owner of the package queried or have the + * {@link android.Manifest.permission#INSTALL_PACKAGES} permission. + * + * @param packageName Name of the package with which to associate the .obb + * file. + * @return array of paths to .obb files associated with the package + * @see #setPackageObbPaths(String, String[]) */ - public abstract void setPackageObbPath(String packageName, String path); + public abstract String[] getPackageObbPaths(String packageName); } |
