summaryrefslogtreecommitdiffstats
path: root/src-ambient/incall/CallMethodInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'src-ambient/incall/CallMethodInfo.java')
-rw-r--r--src-ambient/incall/CallMethodInfo.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/src-ambient/incall/CallMethodInfo.java b/src-ambient/incall/CallMethodInfo.java
index b68e74d..32125f2 100644
--- a/src-ambient/incall/CallMethodInfo.java
+++ b/src-ambient/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.provider.ContactsContract;
import android.telephony.PhoneNumberUtils;
import android.telephony.SubscriptionManager;
import android.util.Log;
@@ -146,11 +147,16 @@ public class CallMethodInfo {
}
public void placeCall(String origin, String number, Context c, boolean isVideoCall) {
- placeCall(origin, number, c, isVideoCall, false);
+ placeCall(origin, number, c, isVideoCall, false, null);
+ }
+
+ public void placeCall(String origin, String number, Context c, boolean isVideoCall, boolean
+ forcePSTN) {
+ placeCall(origin, number, c, isVideoCall, forcePSTN, null);
}
public void placeCall(String origin, String number, Context c, boolean isVideoCall,
- boolean forcePSTN) {
+ boolean forcePSTN, String numberMimeType) {
StartInCallCallReceiver svcrr = CallMethodHelper.getVoIPResultReceiver(this, origin);
StartCallRequest request = new StartCallRequest(number, origin, 0, svcrr);
@@ -158,7 +164,8 @@ public class CallMethodInfo {
InCallServices.getInstance().startVideoCall(
AmbientConnection.CLIENT.get(c), this.mComponent, request);
} else {
- if (PhoneNumberUtils.isGlobalPhoneNumber(number) || forcePSTN) {
+ if (forcePSTN || (numberMimeType != null && numberMimeType.equals(ContactsContract
+ .CommonDataKinds.Phone.CONTENT_ITEM_TYPE))) {
InCallServices.getInstance().startOutCall(
AmbientConnection.CLIENT.get(c), this.mComponent, request);
} else {