diff options
author | Kenny Root <kroot@google.com> | 2010-09-30 17:30:22 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-09-30 17:30:22 -0700 |
commit | 6ce5f60c791401ed0faf5d36baf4fc6612358676 (patch) | |
tree | d49732b6d288f5f9a7ad6f5a37b82a0fa66d7653 /core | |
parent | 9af6b53676061db6fc9c18300dc7d8258f7306ab (diff) | |
parent | 38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94 (diff) | |
download | frameworks_base-6ce5f60c791401ed0faf5d36baf4fc6612358676.zip frameworks_base-6ce5f60c791401ed0faf5d36baf4fc6612358676.tar.gz frameworks_base-6ce5f60c791401ed0faf5d36baf4fc6612358676.tar.bz2 |
am 38cf8867: Remove OBBs from state list when volume unmounted
Merge commit '38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94' into gingerbread-plus-aosp
* commit '38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94':
Remove OBBs from state list when volume unmounted
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/content/res/ObbInfo.java | 7 | ||||
-rw-r--r-- | core/java/android/content/res/ObbScanner.java | 5 | ||||
-rw-r--r-- | core/java/android/os/storage/StorageManager.java | 5 |
3 files changed, 13 insertions, 4 deletions
diff --git a/core/java/android/content/res/ObbInfo.java b/core/java/android/content/res/ObbInfo.java index 7b962e5..5d6ed44 100644 --- a/core/java/android/content/res/ObbInfo.java +++ b/core/java/android/content/res/ObbInfo.java @@ -29,6 +29,11 @@ public class ObbInfo implements Parcelable { public static final int OBB_OVERLAY = 1 << 0; /** + * The canonical filename of the OBB. + */ + public String filename; + + /** * The name of the package to which the OBB file belongs. */ public String packageName; @@ -66,6 +71,7 @@ public class ObbInfo implements Parcelable { } public void writeToParcel(Parcel dest, int parcelableFlags) { + dest.writeString(filename); dest.writeString(packageName); dest.writeInt(version); dest.writeInt(flags); @@ -83,6 +89,7 @@ public class ObbInfo implements Parcelable { }; private ObbInfo(Parcel source) { + filename = source.readString(); packageName = source.readString(); version = source.readInt(); flags = source.readInt(); diff --git a/core/java/android/content/res/ObbScanner.java b/core/java/android/content/res/ObbScanner.java index 572b75e..1b38eea 100644 --- a/core/java/android/content/res/ObbScanner.java +++ b/core/java/android/content/res/ObbScanner.java @@ -45,9 +45,14 @@ public class ObbScanner { throw new IllegalArgumentException("OBB file does not exist: " + filePath); } + /* + * XXX This will fail to find the real canonical path if bind mounts are + * used, but we don't use any bind mounts right now. + */ final String canonicalFilePath = obbFile.getCanonicalPath(); ObbInfo obbInfo = new ObbInfo(); + obbInfo.filename = canonicalFilePath; getObbInfo_native(canonicalFilePath, obbInfo); return obbInfo; diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java index 14da00a..2ebd049 100644 --- a/core/java/android/os/storage/StorageManager.java +++ b/core/java/android/os/storage/StorageManager.java @@ -434,7 +434,6 @@ public class StorageManager * @param key secret used to encrypt the OBB; may be <code>null</code> if no * encryption was used on the OBB. * @return whether the mount call was successfully queued or not - * @throws IllegalArgumentException when the OBB is already mounted */ public boolean mountObb(String filename, String key, OnObbStateChangeListener listener) { try { @@ -468,10 +467,8 @@ public class StorageManager * @param force whether to kill any programs using this in order to unmount * it * @return whether the unmount call was successfully queued or not - * @throws IllegalArgumentException when OBB is not already mounted */ - public boolean unmountObb(String filename, boolean force, OnObbStateChangeListener listener) - throws IllegalArgumentException { + public boolean unmountObb(String filename, boolean force, OnObbStateChangeListener listener) { try { mObbActionListener.addListener(listener); mMountService.unmountObb(filename, force, mObbActionListener); |