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
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user