diff options
author | John Wang <johnwang@google.com> | 2010-09-26 13:53:33 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-09-26 13:53:33 -0700 |
commit | 8f5a1211dc14acb2ef1879b9dad12e3dbaf92e9e (patch) | |
tree | 5ea9bb072d047177a9fd314275400d9308fecd17 /telephony/java | |
parent | e0998604df4ddfcd5c87ea097dcc0950a9518ed1 (diff) | |
parent | 55bc084bf4d06d2d854fb7900fb91804c963dac1 (diff) | |
download | frameworks_base-8f5a1211dc14acb2ef1879b9dad12e3dbaf92e9e.zip frameworks_base-8f5a1211dc14acb2ef1879b9dad12e3dbaf92e9e.tar.gz frameworks_base-8f5a1211dc14acb2ef1879b9dad12e3dbaf92e9e.tar.bz2 |
Merge "Add debug functions." into gingerbread
Diffstat (limited to 'telephony/java')
-rw-r--r-- | telephony/java/com/android/internal/telephony/CallManager.java | 190 |
1 files changed, 167 insertions, 23 deletions
diff --git a/telephony/java/com/android/internal/telephony/CallManager.java b/telephony/java/com/android/internal/telephony/CallManager.java index 23cb42a..7c3508f 100644 --- a/telephony/java/com/android/internal/telephony/CallManager.java +++ b/telephony/java/com/android/internal/telephony/CallManager.java @@ -54,9 +54,9 @@ import java.util.List; */ public final class CallManager { - private static final String LOG_TAG ="Phone"; + private static final String LOG_TAG ="CallManager"; private static final boolean DBG = true; - private static final boolean VDBG = false; + private static final boolean VDBG = true; private static final int EVENT_DISCONNECT = 100; private static final int EVENT_PRECISE_CALL_STATE_CHANGED = 101; @@ -291,6 +291,12 @@ public final class CallManager { Phone basePhone = getPhoneBase(phone); if (basePhone != null && !mPhones.contains(basePhone)) { + + if (VDBG) { + Log.d(LOG_TAG, "registerPhone(" + + phone.getPhoneName() + " " + phone + ")"); + } + if (mPhones.isEmpty()) { mDefaultPhone = basePhone; } @@ -312,6 +318,12 @@ public final class CallManager { Phone basePhone = getPhoneBase(phone); if (basePhone != null && mPhones.contains(basePhone)) { + + if (VDBG) { + Log.d(LOG_TAG, "unregisterPhone(" + + phone.getPhoneName() + " " + phone + ")"); + } + mPhones.remove(basePhone); mRingingCalls.remove(basePhone.getRingingCall()); mBackgroundCalls.remove(basePhone.getBackgroundCall()); @@ -466,7 +478,8 @@ public final class CallManager { Phone ringingPhone = ringingCall.getPhone(); if (VDBG) { - Log.d(LOG_TAG, "CallManager.acceptCall " + this); + Log.d(LOG_TAG, "acceptCall(" +ringingCall + " from " + ringingCall.getPhone() + ")"); + Log.d(LOG_TAG, this.toString()); } if ( hasActiveFgCall() ) { @@ -488,6 +501,11 @@ public final class CallManager { } ringingPhone.acceptCall(); + + if (VDBG) { + Log.d(LOG_TAG, "End acceptCall(" +ringingCall + ")"); + Log.d(LOG_TAG, this.toString()); + } } /** @@ -500,9 +518,19 @@ public final class CallManager { * @exception CallStateException when no call is ringing or waiting */ public void rejectCall(Call ringingCall) throws CallStateException { + if (VDBG) { + Log.d(LOG_TAG, "rejectCall(" +ringingCall + ")"); + Log.d(LOG_TAG, this.toString()); + } + Phone ringingPhone = ringingCall.getPhone(); ringingPhone.rejectCall(); + + if (VDBG) { + Log.d(LOG_TAG, "End rejectCall(" +ringingCall + ")"); + Log.d(LOG_TAG, this.toString()); + } } /** @@ -527,6 +555,11 @@ public final class CallManager { Phone activePhone = null; Phone heldPhone = null; + if (VDBG) { + Log.d(LOG_TAG, "switchHoldingAndActive(" +heldCall + ")"); + Log.d(LOG_TAG, this.toString()); + } + if (hasActiveFgCall()) { activePhone = getActiveFgCall().getPhone(); } @@ -542,6 +575,11 @@ public final class CallManager { if (heldPhone != null && heldPhone != activePhone) { heldPhone.switchHoldingAndActive(); } + + if (VDBG) { + Log.d(LOG_TAG, "End switchHoldingAndActive(" +heldCall + ")"); + Log.d(LOG_TAG, this.toString()); + } } /** @@ -556,6 +594,11 @@ public final class CallManager { Phone foregroundPhone = null; Phone backgroundPhone = null; + if (VDBG) { + Log.d(LOG_TAG, "hangupForegroundResumeBackground(" +heldCall + ")"); + Log.d(LOG_TAG, this.toString()); + } + if (hasActiveFgCall()) { foregroundPhone = getFgPhone(); if (heldCall != null) { @@ -569,6 +612,11 @@ public final class CallManager { } } } + + if (VDBG) { + Log.d(LOG_TAG, "End hangupForegroundResumeBackground(" +heldCall + ")"); + Log.d(LOG_TAG, this.toString()); + } } /** @@ -601,6 +649,13 @@ public final class CallManager { * In these cases, this operation may not be performed. */ public void conference(Call heldCall) throws CallStateException { + + if (VDBG) { + Log.d(LOG_TAG, "conference(" +heldCall + ")"); + Log.d(LOG_TAG, this.toString()); + } + + Phone fgPhone = getFgPhone(); if (fgPhone instanceof SipPhone) { ((SipPhone) fgPhone).conference(heldCall); @@ -609,6 +664,12 @@ public final class CallManager { } else { throw(new CallStateException("Can't conference foreground and selected background call")); } + + if (VDBG) { + Log.d(LOG_TAG, "End conference(" +heldCall + ")"); + Log.d(LOG_TAG, this.toString()); + } + } /** @@ -623,10 +684,13 @@ public final class CallManager { */ public Connection dial(Phone phone, String dialString) throws CallStateException { Phone basePhone = getPhoneBase(phone); + Connection result; + if (VDBG) { - Log.d(LOG_TAG, "CallManager.dial( phone=" + basePhone + ", dialString="+ dialString + ")"); + Log.d(LOG_TAG, " dial(" + basePhone + ", "+ dialString + ")"); Log.d(LOG_TAG, this.toString()); } + if ( hasActiveFgCall() ) { Phone activePhone = getActiveFgCall().getPhone(); boolean hasBgCall = !(activePhone.getBackgroundCall().isIdle()); @@ -645,7 +709,15 @@ public final class CallManager { } } } - return basePhone.dial(dialString); + + result = basePhone.dial(dialString); + + if (VDBG) { + Log.d(LOG_TAG, "End dial(" + basePhone + ", "+ dialString + ")"); + Log.d(LOG_TAG, this.toString()); + } + + return result; } /** @@ -704,9 +776,20 @@ public final class CallManager { * In these cases, this operation may not be performed. */ public void explicitCallTransfer(Call heldCall) throws CallStateException { + if (VDBG) { + Log.d(LOG_TAG, " explicitCallTransfer(" + heldCall + ")"); + Log.d(LOG_TAG, this.toString()); + } + if (canTransfer(heldCall)) { heldCall.getPhone().explicitCallTransfer(); } + + if (VDBG) { + Log.d(LOG_TAG, "End explicitCallTransfer(" + heldCall + ")"); + Log.d(LOG_TAG, this.toString()); + } + } /** @@ -719,6 +802,7 @@ public final class CallManager { * @return null if phone doesn't have or support mmi code */ public List<? extends MmiCode> getPendingMmiCodes(Phone phone) { + Log.e(LOG_TAG, "getPendingMmiCodes not implemented"); return null; } @@ -731,6 +815,7 @@ public final class CallManager { * @return false if phone doesn't support ussd service */ public boolean sendUssdResponse(Phone phone, String ussdMessge) { + Log.e(LOG_TAG, "sendUssdResponse not implemented"); return false; } @@ -744,9 +829,19 @@ public final class CallManager { */ public void setMute(boolean muted) { + if (VDBG) { + Log.d(LOG_TAG, " setMute(" + muted + ")"); + Log.d(LOG_TAG, this.toString()); + } + if (hasActiveFgCall()) { getActiveFgCall().getPhone().setMute(muted); } + + if (VDBG) { + Log.d(LOG_TAG, "End setMute(" + muted + ")"); + Log.d(LOG_TAG, this.toString()); + } } /** @@ -774,11 +869,23 @@ public final class CallManager { * dtmf tone */ public boolean sendDtmf(char c) { + boolean result = false; + + if (VDBG) { + Log.d(LOG_TAG, " sendDtmf(" + c + ")"); + Log.d(LOG_TAG, this.toString()); + } + if (hasActiveFgCall()) { getActiveFgCall().getPhone().sendDtmf(c); - return true; + result = true; } - return false; + + if (VDBG) { + Log.d(LOG_TAG, "End sendDtmf(" + c + ")"); + Log.d(LOG_TAG, this.toString()); + } + return result; } /** @@ -791,11 +898,24 @@ public final class CallManager { * dtmf tone */ public boolean startDtmf(char c) { + boolean result = false; + + if (VDBG) { + Log.d(LOG_TAG, " startDtmf(" + c + ")"); + Log.d(LOG_TAG, this.toString()); + } + if (hasActiveFgCall()) { getActiveFgCall().getPhone().sendDtmf(c); - return true; + result = true; } - return false; + + if (VDBG) { + Log.d(LOG_TAG, "End startDtmf(" + c + ")"); + Log.d(LOG_TAG, this.toString()); + } + + return result; } /** @@ -803,7 +923,17 @@ public final class CallManager { * tone or no active call. */ public void stopDtmf() { + if (VDBG) { + Log.d(LOG_TAG, " stopDtmf()" ); + Log.d(LOG_TAG, this.toString()); + } + if (hasActiveFgCall()) getFgPhone().stopDtmf(); + + if (VDBG) { + Log.d(LOG_TAG, "End stopDtmf()"); + Log.d(LOG_TAG, this.toString()); + } } /** @@ -1469,70 +1599,91 @@ public final class CallManager { @Override public void handleMessage(Message msg) { + switch (msg.what) { case EVENT_DISCONNECT: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_DISCONNECT)"); mDisconnectRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_PRECISE_CALL_STATE_CHANGED: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_PRECISE_CALL_STATE_CHANGED)"); mPreciseCallStateRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_NEW_RINGING_CONNECTION: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_NEW_RINGING_CONNECTION)"); mNewRingingConnectionRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_UNKNOWN_CONNECTION: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_UNKNOWN_CONNECTION)"); mUnknownConnectionRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_INCOMING_RING: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_INCOMING_RING)"); // The event may come from RIL who's not aware of an ongoing fg call if (!hasActiveFgCall()) { mIncomingRingRegistrants.notifyRegistrants((AsyncResult) msg.obj); } break; case EVENT_RINGBACK_TONE: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_RINGBACK_TONE)"); mRingbackToneRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_IN_CALL_VOICE_PRIVACY_ON: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_IN_CALL_VOICE_PRIVACY_ON)"); mInCallVoicePrivacyOnRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_IN_CALL_VOICE_PRIVACY_OFF: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_IN_CALL_VOICE_PRIVACY_OFF)"); mInCallVoicePrivacyOffRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_CALL_WAITING: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_CALL_WAITING)"); mCallWaitingRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_DISPLAY_INFO: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_DISPLAY_INFO)"); mDisplayInfoRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_SIGNAL_INFO: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SIGNAL_INFO)"); mSignalInfoRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_CDMA_OTA_STATUS_CHANGE: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_CDMA_OTA_STATUS_CHANGE)"); mCdmaOtaStatusChangeRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_RESEND_INCALL_MUTE: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_RESEND_INCALL_MUTE)"); mResendIncallMuteRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_MMI_INITIATE: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_MMI_INITIATE)"); mMmiInitiateRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_MMI_COMPLETE: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_MMI_COMPLETE)"); mMmiCompleteRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_ECM_TIMER_RESET: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_ECM_TIMER_RESET)"); mEcmTimerResetRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_SUBSCRIPTION_INFO_READY: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SUBSCRIPTION_INFO_READY)"); mSubscriptionInfoReadyRegistrants.notifyRegistrants((AsyncResult) msg.obj); break; case EVENT_SUPP_SERVICE_FAILED: + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_SUPP_SERVICE_FAILED)"); mSuppServiceFailedRegistrants.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); break; case EVENT_POST_DIAL_CHARACTER: // we need send the character that is being processed in msg.arg1 // so can't use notifyRegistrants() + if (VDBG) Log.d(LOG_TAG, " handleMessage (EVENT_POST_DIAL_CHARACTER)"); for(int i=0; i < mPostDialCharacterRegistrants.size(); i++) { Message notifyMsg; notifyMsg = ((Registrant)mPostDialCharacterRegistrants.get(i)).messageForRegistrant(); @@ -1551,36 +1702,29 @@ public final class CallManager { StringBuilder b = new StringBuilder(); b.append("########### Dump CallManager ############"); - b.append("\nCM state = " + getState()); + b.append("\nCallManager state = " + getState()); call = getActiveFgCall(); - b.append("\n - FG call: " + getActiveFgCallState()); + b.append("\n - Foreground: " + getActiveFgCallState()); b.append(" from " + call.getPhone()); b.append("\n Conn: ").append(getFgCallConnections()); call = getFirstActiveBgCall(); - b.append("\n - BG call: " + call.getState()); + b.append("\n - Background: " + call.getState()); b.append(" from " + call.getPhone()); b.append("\n Conn: ").append(getBgCallConnections()); call = getFirstActiveRingingCall(); - b.append("\n - RINGING call: " +call.getState()); + b.append("\n - Ringing: " +call.getState()); b.append(" from " + call.getPhone()); - b.append("\n"); for (Phone phone : getAllPhones()) { if (phone != null) { b.append("\n Phone: " + phone + ", name = " + phone.getPhoneName() + ", state = " + phone.getState()); call = phone.getForegroundCall(); - b.append("\n - FG call: ").append(call); - b.append(" State: ").append(call.getState()); - b.append("\n Conn: ").append(call.getConnections()); + b.append("\n - Foreground: ").append(call); call = phone.getBackgroundCall(); - b.append("\n - BG call: ").append(call); - b.append(" State: ").append(call.getState()); - b.append("\n Conn: ").append(call.getConnections()); + b.append(" Background: ").append(call); call = phone.getRingingCall(); - b.append("\n - RINGING call: ").append(call); - b.append( " State: ").append(call.getState()); - b.append("\n Conn: ").append(call.getConnections()); + b.append(" Ringing: ").append(call); } } b.append("\n########## End Dump CallManager ##########"); |