From 0a697d0d6f1f7a9da8ab9d979f983c3dce26fa0f Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 2 Aug 2016 14:10:47 +0200 Subject: [PATCH] Added a JNI method to know if a LinphoneFriend has been added to a LinphoneFriendList --- coreapi/linphonecore_jni.cc | 5 +++++ java/common/org/linphone/core/LinphoneFriend.java | 5 +++++ java/impl/org/linphone/core/LinphoneFriendImpl.java | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index c78a9baa3..c21f8a38c 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -3862,6 +3862,11 @@ extern "C" void Java_org_linphone_core_LinphoneFriendImpl_setPresenceModel(JNIEn linphone_friend_set_presence_model(lf, model); } +extern "C" jboolean Java_org_linphone_core_LinphoneFriendImpl_isAlreadyPresentInFriendList(JNIEnv* env, jobject thiz, jlong ptr) { + LinphoneFriend *lf = (LinphoneFriend *)ptr; + return (jboolean)lf->friend_list != NULL; +} + /* * Class: org_linphone_core_LinphoneFriendImpl * Method: getPresenceModel diff --git a/java/common/org/linphone/core/LinphoneFriend.java b/java/common/org/linphone/core/LinphoneFriend.java index f6bab40fd..e79c57404 100644 --- a/java/common/org/linphone/core/LinphoneFriend.java +++ b/java/common/org/linphone/core/LinphoneFriend.java @@ -204,4 +204,9 @@ public interface LinphoneFriend { String[] getPhoneNumbers(); void addPhoneNumber(String phone); void removePhoneNumber(String phone); + + /** + * Returns true if friend has already been added in a LinphoneFriendList, false otherwise + */ + boolean isAlreadyPresentInFriendList(); } diff --git a/java/impl/org/linphone/core/LinphoneFriendImpl.java b/java/impl/org/linphone/core/LinphoneFriendImpl.java index e30d35ce6..ca25208d2 100644 --- a/java/impl/org/linphone/core/LinphoneFriendImpl.java +++ b/java/impl/org/linphone/core/LinphoneFriendImpl.java @@ -225,4 +225,10 @@ class LinphoneFriendImpl implements LinphoneFriend, Serializable { public void removePhoneNumber(String phone) { removePhoneNumber(nativePtr, phone); } + + private native boolean isAlreadyPresentInFriendList(long nativePtr); + @Override + public boolean isAlreadyPresentInFriendList() { + return isAlreadyPresentInFriendList(nativePtr); + } }