diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 163225b6d..411de4cd4 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -8360,6 +8360,15 @@ extern "C" jint Java_org_linphone_core_LinphoneAccountCreatorImpl_setEmail(JNIEn return (jint) status; } +extern "C" jstring Java_org_linphone_core_LinphoneAccountCreatorImpl_getPrefix(JNIEnv *env, jobject thiz, jlong ptr, jstring jphonenumber) { + char buff[4]; + const char *phone_number = GetStringUTFChars(env, jphonenumber); + int prefix = linphone_dial_plan_lookup_ccc_from_e164(phone_number); + snprintf(buff, sizeof(buff), "%d", prefix); + ReleaseStringUTFChars(env, jphonenumber, phone_number); + return (jstring) env->NewStringUTF(buff); +} + extern "C" jstring Java_org_linphone_core_LinphoneAccountCreatorImpl_getEmail(JNIEnv *env, jobject thiz, jlong ptr) { LinphoneAccountCreator *account_creator = (LinphoneAccountCreator *)ptr; const char *email = linphone_account_creator_get_email(account_creator); diff --git a/java/common/org/linphone/core/LinphoneAccountCreator.java b/java/common/org/linphone/core/LinphoneAccountCreator.java index 981c52b9a..78297b15d 100644 --- a/java/common/org/linphone/core/LinphoneAccountCreator.java +++ b/java/common/org/linphone/core/LinphoneAccountCreator.java @@ -137,6 +137,8 @@ public interface LinphoneAccountCreator { String getEmail(); + String getPrefix(String phone); + Status isAccountUsed(); Status createAccount(); diff --git a/java/impl/org/linphone/core/LinphoneAccountCreatorImpl.java b/java/impl/org/linphone/core/LinphoneAccountCreatorImpl.java index b632199ed..a43b9d33b 100644 --- a/java/impl/org/linphone/core/LinphoneAccountCreatorImpl.java +++ b/java/impl/org/linphone/core/LinphoneAccountCreatorImpl.java @@ -166,6 +166,12 @@ public class LinphoneAccountCreatorImpl implements LinphoneAccountCreator { return getEmail(nativePtr); } + private native String getPrefix(long ptr, String s); + @Override + public String getPrefix(String phone) { + return getPrefix(nativePtr, phone); + } + private native int isAccountUsed(long ptr); @Override public Status isAccountUsed() {