am 29423918: Fix regression in OBB key handling
Merge commit '2942391801b79816c5eb77d7ac94c4a65f26af48' into gingerbread-plus-aosp
* commit '2942391801b79816c5eb77d7ac94c4a65f26af48':
Fix regression in OBB key handling
diff --git a/services/java/com/android/server/MountService.java b/services/java/com/android/server/MountService.java
index 0910e53..5fe1b27 100644
--- a/services/java/com/android/server/MountService.java
+++ b/services/java/com/android/server/MountService.java
@@ -1599,20 +1599,23 @@
addObbState(obbState);
}
- final MessageDigest md;
- try {
- md = MessageDigest.getInstance("MD5");
- } catch (NoSuchAlgorithmException e) {
- Slog.e(TAG, "Could not load MD5 algorithm", e);
+ String hashedKey = null;
+ if (key != null) {
+ final MessageDigest md;
try {
- token.onObbResult(filename, Environment.MEDIA_UNMOUNTED);
- } catch (RemoteException e1) {
- Slog.d(TAG, "Could not send unmount notification for: " + filename);
+ md = MessageDigest.getInstance("MD5");
+ } catch (NoSuchAlgorithmException e) {
+ Slog.e(TAG, "Could not load MD5 algorithm", e);
+ try {
+ token.onObbResult(filename, Environment.MEDIA_UNMOUNTED);
+ } catch (RemoteException e1) {
+ Slog.d(TAG, "Could not send unmount notification for: " + filename);
+ }
+ return;
}
- return;
- }
- String hashedKey = HexDump.toHexString(md.digest(key.getBytes()));
+ hashedKey = HexDump.toHexString(md.digest(key.getBytes()));
+ }
ObbAction action = new MountObbAction(obbState, hashedKey);
mObbActionHandler.sendMessage(mObbActionHandler.obtainMessage(OBB_RUN_ACTION, action));
@@ -1956,10 +1959,6 @@
throw new IllegalArgumentException("Caller package does not match OBB file");
}
- if (mKey == null) {
- mKey = "none";
- }
-
boolean mounted = false;
int rc;
synchronized (mObbState) {