@@ -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