diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index aa65ee784..20f0615c6 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -3096,12 +3096,22 @@ extern "C" void Java_org_linphone_core_LinphoneFriendImpl_setAddress(JNIEnv* en linphone_friend_set_address((LinphoneFriend*)ptr,(LinphoneAddress*)linphoneAddress); } +extern "C" void Java_org_linphone_core_LinphoneFriendImpl_setName(JNIEnv* env + ,jobject thiz + ,jlong ptr + ,jstring jname) { + const char* name = env->GetStringUTFChars(jname, NULL); + linphone_friend_set_name((LinphoneFriend*)ptr, name); + env->ReleaseStringUTFChars(jname, name); +} + extern "C" void Java_org_linphone_core_LinphoneFriendListImpl_setRLSUri(JNIEnv* env ,jobject thiz ,jlong ptr ,jstring jrlsUri) { const char* uri = env->GetStringUTFChars(jrlsUri, NULL); linphone_friend_list_set_rls_uri((LinphoneFriendList*)ptr,uri); + env->ReleaseStringUTFChars(jrlsUri, uri); } extern "C" void Java_org_linphone_core_LinphoneFriendListImpl_addFriend(JNIEnv* env @@ -3127,6 +3137,14 @@ extern "C" jlong Java_org_linphone_core_LinphoneFriendImpl_getAddress(JNIEnv* e ,jlong ptr) { return (jlong)linphone_friend_get_address((LinphoneFriend*)ptr); } + +extern "C" jstring Java_org_linphone_core_LinphoneFriendImpl_getName(JNIEnv* env + ,jobject thiz + ,jlong ptr) { + const char *name = linphone_friend_get_name((LinphoneFriend*)ptr); + return name ? env->NewStringUTF(name) : NULL; +} + extern "C" void Java_org_linphone_core_LinphoneFriendImpl_setIncSubscribePolicy(JNIEnv* env ,jobject thiz ,jlong ptr diff --git a/java/common/org/linphone/core/LinphoneFriend.java b/java/common/org/linphone/core/LinphoneFriend.java index b9080bd94..b16ca9b63 100644 --- a/java/common/org/linphone/core/LinphoneFriend.java +++ b/java/common/org/linphone/core/LinphoneFriend.java @@ -145,4 +145,14 @@ public interface LinphoneFriend { * @return The reference key of the friend. **/ String getRefKey(); + /** + * Set a name for this friend + * @param name + */ + void setName(String name); + /** + * get name of this friend + * @return + */ + String getName(); } diff --git a/java/impl/org/linphone/core/LinphoneFriendImpl.java b/java/impl/org/linphone/core/LinphoneFriendImpl.java index ba47eccb4..b6114b3e6 100644 --- a/java/impl/org/linphone/core/LinphoneFriendImpl.java +++ b/java/impl/org/linphone/core/LinphoneFriendImpl.java @@ -118,4 +118,16 @@ class LinphoneFriendImpl implements LinphoneFriend, Serializable { public String getRefKey(){ return getRefKey(nativePtr); } + + private native void setName(long nativePtr, String name); + @Override + public void setName(String name) { + setName(nativePtr, name); + } + + private native String getName(long nativePtr); + @Override + public String getName() { + return getName(nativePtr); + } }