diff options
| author | 2012-05-07 19:00:05 -0700 | |
|---|---|---|
| committer | 2012-05-07 19:00:05 -0700 | |
| commit | 6e24d0c69366a29082cbc3962fe67acf533ef1bc (patch) | |
| tree | de61b88e06ea62c3be732c7d658f506918b4d749 | |
| parent | 41a4704b09f98723f4ddec895c9f2e651a5c0c8e (diff) | |
| parent | 011385508726fef027641fcbb3e4e446efc9af2c (diff) | |
Merge "Fix an issue where the message queue fails to queue in the looper threads because they are not created." into jb-dev
| -rwxr-xr-x | drm/java/android/drm/DrmManagerClient.java | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/drm/java/android/drm/DrmManagerClient.java b/drm/java/android/drm/DrmManagerClient.java index 482ab0ab1c5c..4b519941fc61 100755 --- a/drm/java/android/drm/DrmManagerClient.java +++ b/drm/java/android/drm/DrmManagerClient.java @@ -242,6 +242,7 @@ public class DrmManagerClient { public DrmManagerClient(Context context) { mContext = context; mReleased = false; + createEventThreads(); // save the unique id mUniqueId = _initialize(); @@ -283,21 +284,6 @@ public class DrmManagerClient { _release(mUniqueId); } - - private void createListeners() { - if (mEventHandler == null && mInfoHandler == null) { - mInfoThread = new HandlerThread("DrmManagerClient.InfoHandler"); - mInfoThread.start(); - mInfoHandler = new InfoHandler(mInfoThread.getLooper()); - - mEventThread = new HandlerThread("DrmManagerClient.EventHandler"); - mEventThread.start(); - mEventHandler = new EventHandler(mEventThread.getLooper()); - _setListeners(mUniqueId, new WeakReference<DrmManagerClient>(this)); - } - } - - /** * Registers an {@link DrmManagerClient.OnInfoListener} callback, which is invoked when the * DRM framework sends status or warning information during registration or rights acquisition. @@ -878,5 +864,21 @@ public class DrmManagerClient { private native DrmConvertedStatus _closeConvertSession(int uniqueId, int convertId); private native DrmSupportInfo[] _getAllSupportInfo(int uniqueId); + + private void createEventThreads() { + if (mEventHandler == null && mInfoHandler == null) { + mInfoThread = new HandlerThread("DrmManagerClient.InfoHandler"); + mInfoThread.start(); + mInfoHandler = new InfoHandler(mInfoThread.getLooper()); + + mEventThread = new HandlerThread("DrmManagerClient.EventHandler"); + mEventThread.start(); + mEventHandler = new EventHandler(mEventThread.getLooper()); + } + } + + private void createListeners() { + _setListeners(mUniqueId, new WeakReference<DrmManagerClient>(this)); + } } |