diff options
Diffstat (limited to 'src/com/android/dialer/incall/CallMethodInfo.java')
-rw-r--r-- | src/com/android/dialer/incall/CallMethodInfo.java | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/src/com/android/dialer/incall/CallMethodInfo.java b/src/com/android/dialer/incall/CallMethodInfo.java index 758b03445..062e876ef 100644 --- a/src/com/android/dialer/incall/CallMethodInfo.java +++ b/src/com/android/dialer/incall/CallMethodInfo.java @@ -22,6 +22,7 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.UserHandle; +import android.telephony.PhoneNumberUtils; import com.android.dialer.DialerApplication; import com.android.dialer.incall.CallMethodHelper; import com.android.phone.common.util.StartInCallCallReceiver; @@ -106,12 +107,24 @@ public class CallMethodInfo { } public void placeCall(String origin, String number, Context c) { - StartInCallCallReceiver svcrr = CallMethodHelper.getVoIPResultReceiver(this, origin); + placeCall(origin, number, c, false); + } - StartCallRequest request = new StartCallRequest( - number, OriginCodes.DIALPAD_DIRECT_DIAL, 0, svcrr); + public void placeCall(String origin, String number, Context c, boolean isVideoCall) { + StartInCallCallReceiver svcrr = CallMethodHelper.getVoIPResultReceiver(this, origin); + StartCallRequest request = new StartCallRequest(number, origin, 0, svcrr); - InCallServices.getInstance().startOutCall( - DialerApplication.ACLIENT.get(c), this.mComponent, request); + if (isVideoCall) { + InCallServices.getInstance().startVideoCall( + DialerApplication.ACLIENT.get(c), this.mComponent, request); + } else { + if (PhoneNumberUtils.isGlobalPhoneNumber(number)) { + InCallServices.getInstance().startOutCall( + DialerApplication.ACLIENT.get(c), this.mComponent, request); + } else { + InCallServices.getInstance().startVoiceCall( + DialerApplication.ACLIENT.get(c), this.mComponent, request); + } + } } } |