Skip to content

Commit

Permalink
Fix an issue where the message queue fails to queue in the looper thr…
Browse files Browse the repository at this point in the history
…eads because they are not created.

o related-to-bug: 6293875

Change-Id: I03dbb2782bd90f88d1f8df086b8a529730afe5dc
  • Loading branch information
James Dong committed May 7, 2012
1 parent a08dc5d commit 0113855
Showing 1 changed file with 17 additions and 15 deletions.
32 changes: 17 additions & 15 deletions drm/java/android/drm/DrmManagerClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@ public void handleMessage(Message msg) {
public DrmManagerClient(Context context) {
mContext = context;
mReleased = false;
createEventThreads();

// save the unique id
mUniqueId = _initialize();
Expand Down Expand Up @@ -283,21 +284,6 @@ public void release() {
_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.
Expand Down Expand Up @@ -878,5 +864,21 @@ private native DrmConvertedStatus _convertData(
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));
}
}

0 comments on commit 0113855

Please sign in to comment.