Skip to content

Commit 0113855

Browse files
author
James Dong
committed
Fix an issue where the message queue fails to queue in the looper threads because they are not created.
o related-to-bug: 6293875 Change-Id: I03dbb2782bd90f88d1f8df086b8a529730afe5dc
1 parent a08dc5d commit 0113855

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)