/** Unregisters for the registered event with RIL */ public void dispose(Handler h) { mCdmaSubscriptionSourceChangedRegistrants.remove(h); synchronized (sReferenceCountMonitor) { sReferenceCount--; if (sReferenceCount <= 0) { mCM.unregisterForCdmaSubscriptionChanged(this); mCM.unregisterForOn(this); mCM.unregisterForSubscriptionStatusChanged(this); sInstance = null; } } }
/** Unregisters for the registered event with RIL */ public void dispose(Handler handler) { if (null != handler) { mCdmaSubscriptionSourceChangedRegistrants.remove(handler); } mRef--; if (mRef <= 0) { mCM.unregisterForCdmaSubscriptionSourceChanged(this); mCM.unregisterForOn(this); mCM.unregisterForSubscriptionStatusChanged(this); mCdmaSSMInstances.remove(mCM); } }