Skip to content

Commit 6e24d0c

Browse files
James DongAndroid (Google) Code Review
authored andcommitted
Merge "Fix an issue where the message queue fails to queue in the looper threads because they are not created." into jb-dev
2 parents 41a4704 + 0113855 commit 6e24d0c

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

drm/java/android/drm/DrmManagerClient.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ public void handleMessage(Message msg) {
242242
public DrmManagerClient(Context context) {
243243
mContext = context;
244244
mReleased = false;
245+
createEventThreads();
245246

246247
// save the unique id
247248
mUniqueId = _initialize();
@@ -283,21 +284,6 @@ public void release() {
283284
_release(mUniqueId);
284285
}
285286

286-
287-
private void createListeners() {
288-
if (mEventHandler == null && mInfoHandler == null) {
289-
mInfoThread = new HandlerThread("DrmManagerClient.InfoHandler");
290-
mInfoThread.start();
291-
mInfoHandler = new InfoHandler(mInfoThread.getLooper());
292-
293-
mEventThread = new HandlerThread("DrmManagerClient.EventHandler");
294-
mEventThread.start();
295-
mEventHandler = new EventHandler(mEventThread.getLooper());
296-
_setListeners(mUniqueId, new WeakReference<DrmManagerClient>(this));
297-
}
298-
}
299-
300-
301287
/**
302288
* Registers an {@link DrmManagerClient.OnInfoListener} callback, which is invoked when the
303289
* DRM framework sends status or warning information during registration or rights acquisition.
@@ -878,5 +864,21 @@ private native DrmConvertedStatus _convertData(
878864
private native DrmConvertedStatus _closeConvertSession(int uniqueId, int convertId);
879865

880866
private native DrmSupportInfo[] _getAllSupportInfo(int uniqueId);
867+
868+
private void createEventThreads() {
869+
if (mEventHandler == null && mInfoHandler == null) {
870+
mInfoThread = new HandlerThread("DrmManagerClient.InfoHandler");
871+
mInfoThread.start();
872+
mInfoHandler = new InfoHandler(mInfoThread.getLooper());
873+
874+
mEventThread = new HandlerThread("DrmManagerClient.EventHandler");
875+
mEventThread.start();
876+
mEventHandler = new EventHandler(mEventThread.getLooper());
877+
}
878+
}
879+
880+
private void createListeners() {
881+
_setListeners(mUniqueId, new WeakReference<DrmManagerClient>(this));
882+
}
881883
}
882884

0 commit comments

Comments
 (0)