Loading telephony/java/com/android/internal/telephony/CallManager.java +33 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,7 @@ public final class CallManager { private static final int EVENT_SUPP_SERVICE_FAILED = 117; private static final int EVENT_SERVICE_STATE_CHANGED = 118; private static final int EVENT_POST_DIAL_CHARACTER = 119; private static final int EVENT_SUPP_SERVICE_NOTIFY = 120; // Singleton instance private static final CallManager INSTANCE = new CallManager(); Loading Loading @@ -159,6 +160,9 @@ public final class CallManager { protected final RegistrantList mSuppServiceFailedRegistrants = new RegistrantList(); protected final RegistrantList mSuppServiceNotificationRegistrants = new RegistrantList(); protected final RegistrantList mServiceStateChangedRegistrants = new RegistrantList(); Loading Loading @@ -428,6 +432,9 @@ public final class CallManager { phone.registerForMmiComplete(mHandler, EVENT_MMI_COMPLETE, null); phone.registerForSuppServiceFailed(mHandler, EVENT_SUPP_SERVICE_FAILED, null); phone.registerForServiceStateChanged(mHandler, EVENT_SERVICE_STATE_CHANGED, null); if (phone.getPhoneType() == Phone.PHONE_TYPE_GSM) { phone.registerForSuppServiceNotification(mHandler, EVENT_SUPP_SERVICE_NOTIFY, null); } // for events supported only by GSM and CDMA phone if (phone.getPhoneType() == Phone.PHONE_TYPE_GSM || Loading Loading @@ -460,6 +467,7 @@ public final class CallManager { phone.unregisterForMmiInitiate(mHandler); phone.unregisterForMmiComplete(mHandler); phone.unregisterForSuppServiceFailed(mHandler); phone.unregisterForSuppServiceNotification(mHandler); phone.unregisterForServiceStateChanged(mHandler); // for events supported only by GSM and CDMA phone Loading Loading @@ -1267,6 +1275,27 @@ public final class CallManager { mSuppServiceFailedRegistrants.remove(h); } /** * Register for supplementary service notifications. * Message.obj will contain an AsyncResult. * * @param h Handler that receives the notification message. * @param what User-defined message code. * @param obj User object. */ public void registerForSuppServiceNotification(Handler h, int what, Object obj){ mSuppServiceNotificationRegistrants.addUnique(h, what, obj); } /** * Unregister for supplementary service notifications. * * @param h Handler to be removed from the registrant list. */ public void unregisterForSuppServiceNotification(Handler h){ mSuppServiceNotificationRegistrants.remove(h); } /** * Register for notifications when a sInCall VoicePrivacy is enabled * Loading Loading @@ -1776,6 +1805,10 @@ public final class CallManager { if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SUPP_SERVICE_FAILED)"); mSuppServiceFailedRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_SUPP_SERVICE_NOTIFY: if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SUPP_SERVICE_NOTIFICATION)"); mSuppServiceNotificationRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_SERVICE_STATE_CHANGED: if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SERVICE_STATE_CHANGED)"); mServiceStateChangedRegistrants.notifyRegistrants((AsyncResult) msg.obj); Loading Loading
telephony/java/com/android/internal/telephony/CallManager.java +33 −0 Original line number Diff line number Diff line Loading @@ -78,6 +78,7 @@ public final class CallManager { private static final int EVENT_SUPP_SERVICE_FAILED = 117; private static final int EVENT_SERVICE_STATE_CHANGED = 118; private static final int EVENT_POST_DIAL_CHARACTER = 119; private static final int EVENT_SUPP_SERVICE_NOTIFY = 120; // Singleton instance private static final CallManager INSTANCE = new CallManager(); Loading Loading @@ -159,6 +160,9 @@ public final class CallManager { protected final RegistrantList mSuppServiceFailedRegistrants = new RegistrantList(); protected final RegistrantList mSuppServiceNotificationRegistrants = new RegistrantList(); protected final RegistrantList mServiceStateChangedRegistrants = new RegistrantList(); Loading Loading @@ -428,6 +432,9 @@ public final class CallManager { phone.registerForMmiComplete(mHandler, EVENT_MMI_COMPLETE, null); phone.registerForSuppServiceFailed(mHandler, EVENT_SUPP_SERVICE_FAILED, null); phone.registerForServiceStateChanged(mHandler, EVENT_SERVICE_STATE_CHANGED, null); if (phone.getPhoneType() == Phone.PHONE_TYPE_GSM) { phone.registerForSuppServiceNotification(mHandler, EVENT_SUPP_SERVICE_NOTIFY, null); } // for events supported only by GSM and CDMA phone if (phone.getPhoneType() == Phone.PHONE_TYPE_GSM || Loading Loading @@ -460,6 +467,7 @@ public final class CallManager { phone.unregisterForMmiInitiate(mHandler); phone.unregisterForMmiComplete(mHandler); phone.unregisterForSuppServiceFailed(mHandler); phone.unregisterForSuppServiceNotification(mHandler); phone.unregisterForServiceStateChanged(mHandler); // for events supported only by GSM and CDMA phone Loading Loading @@ -1267,6 +1275,27 @@ public final class CallManager { mSuppServiceFailedRegistrants.remove(h); } /** * Register for supplementary service notifications. * Message.obj will contain an AsyncResult. * * @param h Handler that receives the notification message. * @param what User-defined message code. * @param obj User object. */ public void registerForSuppServiceNotification(Handler h, int what, Object obj){ mSuppServiceNotificationRegistrants.addUnique(h, what, obj); } /** * Unregister for supplementary service notifications. * * @param h Handler to be removed from the registrant list. */ public void unregisterForSuppServiceNotification(Handler h){ mSuppServiceNotificationRegistrants.remove(h); } /** * Register for notifications when a sInCall VoicePrivacy is enabled * Loading Loading @@ -1776,6 +1805,10 @@ public final class CallManager { if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SUPP_SERVICE_FAILED)"); mSuppServiceFailedRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_SUPP_SERVICE_NOTIFY: if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SUPP_SERVICE_NOTIFICATION)"); mSuppServiceNotificationRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_SERVICE_STATE_CHANGED: if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SERVICE_STATE_CHANGED)"); mServiceStateChangedRegistrants.notifyRegistrants((AsyncResult) msg.obj); Loading