diff options
Diffstat (limited to 'drm/java/android/drm/DrmManagerClient.java')
-rw-r--r-- | drm/java/android/drm/DrmManagerClient.java | 36 |
1 files changed, 9 insertions, 27 deletions
diff --git a/drm/java/android/drm/DrmManagerClient.java b/drm/java/android/drm/DrmManagerClient.java index e2606d6..10cdab0 100644 --- a/drm/java/android/drm/DrmManagerClient.java +++ b/drm/java/android/drm/DrmManagerClient.java @@ -63,8 +63,6 @@ public class DrmManagerClient { private final CloseGuard mCloseGuard = CloseGuard.get(); - private static final String EXTENDED_INFO_DATA = "extended_info_data"; - static { // Load the respective library System.loadLibrary("drmframework_jni"); @@ -186,22 +184,8 @@ public class DrmManagerClient { DrmManagerClient instance = (DrmManagerClient)((WeakReference)thisReference).get(); if (null != instance && null != instance.mInfoHandler) { - DrmInfoEvent event = new DrmInfoEvent(uniqueId, infoType, message); - Message m = instance.mInfoHandler.obtainMessage( - InfoHandler.INFO_EVENT_TYPE, event); - instance.mInfoHandler.sendMessage(m); - } - } - - private static void notify( - Object thisReference, int uniqueId, int infoType, String message, - HashMap<String, Object> attributes) { - DrmManagerClient instance = (DrmManagerClient)((WeakReference)thisReference).get(); - - if (null != instance && null != instance.mInfoHandler) { - DrmInfoEvent event = new DrmInfoEvent(uniqueId, infoType, message, attributes); Message m = instance.mInfoHandler.obtainMessage( - InfoHandler.INFO_EVENT_TYPE, event); + InfoHandler.INFO_EVENT_TYPE, uniqueId, infoType, message); instance.mInfoHandler.sendMessage(m); } } @@ -214,25 +198,23 @@ public class DrmManagerClient { } public void handleMessage(Message msg) { - DrmInfoEvent info = (DrmInfoEvent) msg.obj; + DrmInfoEvent info = null; DrmErrorEvent error = null; - int uniqueId; - int eventType; - String message; switch (msg.what) { case InfoHandler.INFO_EVENT_TYPE: - uniqueId = info.getUniqueId(); - eventType = info.getType(); - message = info.getMessage(); + int uniqueId = msg.arg1; + int infoType = msg.arg2; + String message = msg.obj.toString(); - switch (eventType) { + switch (infoType) { case DrmInfoEvent.TYPE_REMOVE_RIGHTS: { try { DrmUtils.removeFile(message); } catch (IOException e) { e.printStackTrace(); } + info = new DrmInfoEvent(uniqueId, infoType, message); break; } case DrmInfoEvent.TYPE_ALREADY_REGISTERED_BY_ANOTHER_ACCOUNT: @@ -240,11 +222,11 @@ public class DrmManagerClient { case DrmInfoEvent.TYPE_WAIT_FOR_RIGHTS: case DrmInfoEvent.TYPE_ACCOUNT_ALREADY_REGISTERED: case DrmInfoEvent.TYPE_RIGHTS_REMOVED: { + info = new DrmInfoEvent(uniqueId, infoType, message); break; } default: - info = null; - error = new DrmErrorEvent(uniqueId, eventType, message); + error = new DrmErrorEvent(uniqueId, infoType, message); break; } |