Loading src/java/com/android/internal/telephony/GsmCdmaPhone.java +24 −5 Original line number Diff line number Diff line Loading @@ -2048,12 +2048,20 @@ public class GsmCdmaPhone extends Phone { @Override public void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete) { getCallForwardingOption(commandInterfaceCFReason, CommandsInterface.SERVICE_CLASS_VOICE, onComplete); } @Override public void getCallForwardingOption(int commandInterfaceCFReason, int serviceClass, Message onComplete) { if (isPhoneTypeGsm() || isImsUtEnabledOverCdma()) { Phone imsPhone = mImsPhone; if ((imsPhone != null) && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE) || imsPhone.isUtEnabled())) { imsPhone.getCallForwardingOption(commandInterfaceCFReason, onComplete); imsPhone.getCallForwardingOption(commandInterfaceCFReason, serviceClass, onComplete); return; } Loading @@ -2065,8 +2073,7 @@ public class GsmCdmaPhone extends Phone { } else { resp = onComplete; } mCi.queryCallForwardStatus(commandInterfaceCFReason, CommandsInterface.SERVICE_CLASS_VOICE, null, resp); mCi.queryCallForwardStatus(commandInterfaceCFReason, serviceClass, null, resp); } } else { loge("getCallForwardingOption: not possible in CDMA without IMS"); Loading @@ -2079,13 +2086,25 @@ public class GsmCdmaPhone extends Phone { String dialingNumber, int timerSeconds, Message onComplete) { setCallForwardingOption(commandInterfaceCFAction, commandInterfaceCFReason, dialingNumber, CommandsInterface.SERVICE_CLASS_VOICE, timerSeconds, onComplete); } @Override public void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int serviceClass, int timerSeconds, Message onComplete) { if (isPhoneTypeGsm() || isImsUtEnabledOverCdma()) { Phone imsPhone = mImsPhone; if ((imsPhone != null) && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE) || imsPhone.isUtEnabled())) { imsPhone.setCallForwardingOption(commandInterfaceCFAction, commandInterfaceCFReason, dialingNumber, timerSeconds, onComplete); commandInterfaceCFReason, dialingNumber, serviceClass, timerSeconds, onComplete); return; } Loading @@ -2102,7 +2121,7 @@ public class GsmCdmaPhone extends Phone { } mCi.setCallForward(commandInterfaceCFAction, commandInterfaceCFReason, CommandsInterface.SERVICE_CLASS_VOICE, serviceClass, dialingNumber, timerSeconds, resp); Loading src/java/com/android/internal/telephony/PhoneInternalInterface.java +41 −1 Original line number Diff line number Diff line Loading @@ -580,7 +580,7 @@ public interface PhoneInternalInterface { /** * getCallForwardingOptions * gets a call forwarding option. The return value of * gets a call forwarding option for SERVICE_CLASS_VOICE. The return value of * ((AsyncResult)onComplete.obj) is an array of CallForwardInfo. * * @param commandInterfaceCFReason is one of the valid call forwarding Loading @@ -592,6 +592,43 @@ public interface PhoneInternalInterface { void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete); /** * getCallForwardingOptions * gets a call forwarding option. The return value of * ((AsyncResult)onComplete.obj) is an array of CallForwardInfo. * * @param commandInterfaceCFReason is one of the valid call forwarding * CF_REASONS, as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param serviceClass is a sum of SERVICE_CLASS_* as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param onComplete a callback message when the action is completed. * @see com.android.internal.telephony.CallForwardInfo for details. */ void getCallForwardingOption(int commandInterfaceCFReason, int serviceClass, Message onComplete); /** * setCallForwardingOptions * sets a call forwarding option for SERVICE_CLASS_VOICE. * * @param commandInterfaceCFAction is one of the valid call forwarding * CF_ACTIONS, as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param commandInterfaceCFReason is one of the valid call forwarding * CF_REASONS, as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param dialingNumber is the target phone number to forward calls to * @param timerSeconds is used by CFNRy to indicate the timeout before * forwarding is attempted. * @param onComplete a callback message when the action is completed. */ void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int timerSeconds, Message onComplete); /** * setCallForwardingOptions * sets a call forwarding option. Loading @@ -603,6 +640,8 @@ public interface PhoneInternalInterface { * CF_REASONS, as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param dialingNumber is the target phone number to forward calls to * @param serviceClass is a sum of SERVICE_CLASS_* as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param timerSeconds is used by CFNRy to indicate the timeout before * forwarding is attempted. * @param onComplete a callback message when the action is completed. Loading @@ -610,6 +649,7 @@ public interface PhoneInternalInterface { void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int serviceClass, int timerSeconds, Message onComplete); Loading src/java/com/android/internal/telephony/imsphone/ImsPhone.java +8 −0 Original line number Diff line number Diff line Loading @@ -1011,6 +1011,13 @@ public class ImsPhone extends ImsPhoneBase { @Override public void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete) { getCallForwardingOption(commandInterfaceCFReason, SERVICE_CLASS_VOICE, onComplete); } @Override public void getCallForwardingOption(int commandInterfaceCFReason, int serviceClass, Message onComplete) { if (DBG) logd("getCallForwardingOption reason=" + commandInterfaceCFReason); if (isValidCommandInterfaceCFReason(commandInterfaceCFReason)) { if (DBG) logd("requesting call forwarding query."); Loading Loading @@ -1039,6 +1046,7 @@ public class ImsPhone extends ImsPhoneBase { } @UnsupportedAppUsage @Override public void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneBase.java +11 −0 Original line number Diff line number Diff line Loading @@ -364,12 +364,23 @@ abstract class ImsPhoneBase extends Phone { public void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete) { } @Override public void getCallForwardingOption(int commandInterfaceCFReason, int serviceClass, Message onComplete) { } @Override public void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int timerSeconds, Message onComplete) { } @Override public void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int serviceClass, int timerSeconds, Message onComplete) { } @Override public void getOutgoingCallerIdDisplay(Message onComplete) { // FIXME: what to reply? Loading src/java/com/android/internal/telephony/imsphone/ImsPhoneMmiCode.java +1 −1 Original line number Diff line number Diff line Loading @@ -819,7 +819,7 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode { int time = siToTime(mSic); if (isInterrogate()) { mPhone.getCallForwardingOption(reason, mPhone.getCallForwardingOption(reason, serviceClass, obtainMessage(EVENT_QUERY_CF_COMPLETE, this)); } else { int cfAction; Loading Loading
src/java/com/android/internal/telephony/GsmCdmaPhone.java +24 −5 Original line number Diff line number Diff line Loading @@ -2048,12 +2048,20 @@ public class GsmCdmaPhone extends Phone { @Override public void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete) { getCallForwardingOption(commandInterfaceCFReason, CommandsInterface.SERVICE_CLASS_VOICE, onComplete); } @Override public void getCallForwardingOption(int commandInterfaceCFReason, int serviceClass, Message onComplete) { if (isPhoneTypeGsm() || isImsUtEnabledOverCdma()) { Phone imsPhone = mImsPhone; if ((imsPhone != null) && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE) || imsPhone.isUtEnabled())) { imsPhone.getCallForwardingOption(commandInterfaceCFReason, onComplete); imsPhone.getCallForwardingOption(commandInterfaceCFReason, serviceClass, onComplete); return; } Loading @@ -2065,8 +2073,7 @@ public class GsmCdmaPhone extends Phone { } else { resp = onComplete; } mCi.queryCallForwardStatus(commandInterfaceCFReason, CommandsInterface.SERVICE_CLASS_VOICE, null, resp); mCi.queryCallForwardStatus(commandInterfaceCFReason, serviceClass, null, resp); } } else { loge("getCallForwardingOption: not possible in CDMA without IMS"); Loading @@ -2079,13 +2086,25 @@ public class GsmCdmaPhone extends Phone { String dialingNumber, int timerSeconds, Message onComplete) { setCallForwardingOption(commandInterfaceCFAction, commandInterfaceCFReason, dialingNumber, CommandsInterface.SERVICE_CLASS_VOICE, timerSeconds, onComplete); } @Override public void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int serviceClass, int timerSeconds, Message onComplete) { if (isPhoneTypeGsm() || isImsUtEnabledOverCdma()) { Phone imsPhone = mImsPhone; if ((imsPhone != null) && ((imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE) || imsPhone.isUtEnabled())) { imsPhone.setCallForwardingOption(commandInterfaceCFAction, commandInterfaceCFReason, dialingNumber, timerSeconds, onComplete); commandInterfaceCFReason, dialingNumber, serviceClass, timerSeconds, onComplete); return; } Loading @@ -2102,7 +2121,7 @@ public class GsmCdmaPhone extends Phone { } mCi.setCallForward(commandInterfaceCFAction, commandInterfaceCFReason, CommandsInterface.SERVICE_CLASS_VOICE, serviceClass, dialingNumber, timerSeconds, resp); Loading
src/java/com/android/internal/telephony/PhoneInternalInterface.java +41 −1 Original line number Diff line number Diff line Loading @@ -580,7 +580,7 @@ public interface PhoneInternalInterface { /** * getCallForwardingOptions * gets a call forwarding option. The return value of * gets a call forwarding option for SERVICE_CLASS_VOICE. The return value of * ((AsyncResult)onComplete.obj) is an array of CallForwardInfo. * * @param commandInterfaceCFReason is one of the valid call forwarding Loading @@ -592,6 +592,43 @@ public interface PhoneInternalInterface { void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete); /** * getCallForwardingOptions * gets a call forwarding option. The return value of * ((AsyncResult)onComplete.obj) is an array of CallForwardInfo. * * @param commandInterfaceCFReason is one of the valid call forwarding * CF_REASONS, as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param serviceClass is a sum of SERVICE_CLASS_* as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param onComplete a callback message when the action is completed. * @see com.android.internal.telephony.CallForwardInfo for details. */ void getCallForwardingOption(int commandInterfaceCFReason, int serviceClass, Message onComplete); /** * setCallForwardingOptions * sets a call forwarding option for SERVICE_CLASS_VOICE. * * @param commandInterfaceCFAction is one of the valid call forwarding * CF_ACTIONS, as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param commandInterfaceCFReason is one of the valid call forwarding * CF_REASONS, as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param dialingNumber is the target phone number to forward calls to * @param timerSeconds is used by CFNRy to indicate the timeout before * forwarding is attempted. * @param onComplete a callback message when the action is completed. */ void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int timerSeconds, Message onComplete); /** * setCallForwardingOptions * sets a call forwarding option. Loading @@ -603,6 +640,8 @@ public interface PhoneInternalInterface { * CF_REASONS, as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param dialingNumber is the target phone number to forward calls to * @param serviceClass is a sum of SERVICE_CLASS_* as defined in * <code>com.android.internal.telephony.CommandsInterface.</code> * @param timerSeconds is used by CFNRy to indicate the timeout before * forwarding is attempted. * @param onComplete a callback message when the action is completed. Loading @@ -610,6 +649,7 @@ public interface PhoneInternalInterface { void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int serviceClass, int timerSeconds, Message onComplete); Loading
src/java/com/android/internal/telephony/imsphone/ImsPhone.java +8 −0 Original line number Diff line number Diff line Loading @@ -1011,6 +1011,13 @@ public class ImsPhone extends ImsPhoneBase { @Override public void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete) { getCallForwardingOption(commandInterfaceCFReason, SERVICE_CLASS_VOICE, onComplete); } @Override public void getCallForwardingOption(int commandInterfaceCFReason, int serviceClass, Message onComplete) { if (DBG) logd("getCallForwardingOption reason=" + commandInterfaceCFReason); if (isValidCommandInterfaceCFReason(commandInterfaceCFReason)) { if (DBG) logd("requesting call forwarding query."); Loading Loading @@ -1039,6 +1046,7 @@ public class ImsPhone extends ImsPhoneBase { } @UnsupportedAppUsage @Override public void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneBase.java +11 −0 Original line number Diff line number Diff line Loading @@ -364,12 +364,23 @@ abstract class ImsPhoneBase extends Phone { public void getCallForwardingOption(int commandInterfaceCFReason, Message onComplete) { } @Override public void getCallForwardingOption(int commandInterfaceCFReason, int serviceClass, Message onComplete) { } @Override public void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int timerSeconds, Message onComplete) { } @Override public void setCallForwardingOption(int commandInterfaceCFAction, int commandInterfaceCFReason, String dialingNumber, int serviceClass, int timerSeconds, Message onComplete) { } @Override public void getOutgoingCallerIdDisplay(Message onComplete) { // FIXME: what to reply? Loading
src/java/com/android/internal/telephony/imsphone/ImsPhoneMmiCode.java +1 −1 Original line number Diff line number Diff line Loading @@ -819,7 +819,7 @@ public final class ImsPhoneMmiCode extends Handler implements MmiCode { int time = siToTime(mSic); if (isInterrogate()) { mPhone.getCallForwardingOption(reason, mPhone.getCallForwardingOption(reason, serviceClass, obtainMessage(EVENT_QUERY_CF_COMPLETE, this)); } else { int cfAction; Loading