diff --git a/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java b/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java index 32cda064e..8fbabd6a3 100644 --- a/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java +++ b/app/src/main/java/org/linphone/contacts/ContactEditorFragment.java @@ -91,6 +91,7 @@ public class ContactEditorFragment extends Fragment { Serializable obj = getArguments().getSerializable("Contact"); if (obj != null) { mContact = (LinphoneContact) obj; + mContact.createLinphoneTagIfNeeded(); mIsNewContact = false; if (getArguments().getString("NewSipAdress") != null) { mNewSipOrNumberToAdd = getArguments().getString("NewSipAdress"); diff --git a/app/src/main/java/org/linphone/contacts/ContactsFragment.java b/app/src/main/java/org/linphone/contacts/ContactsFragment.java index 4d7729c20..4e9228b60 100644 --- a/app/src/main/java/org/linphone/contacts/ContactsFragment.java +++ b/app/src/main/java/org/linphone/contacts/ContactsFragment.java @@ -34,6 +34,7 @@ import android.widget.TextView; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; import java.util.ArrayList; import java.util.List; import org.linphone.LinphoneActivity; @@ -61,6 +62,7 @@ public class ContactsFragment extends Fragment private Context mContext; private SelectableHelper mSelectionHelper; private ContactsAdapter mContactAdapter; + private SwipeRefreshLayout mContactsRefresher; @Override public View onCreateView( @@ -88,6 +90,15 @@ public class ContactsFragment extends Fragment mLinphoneContactsSelected = view.findViewById(R.id.linphone_contacts_select); mContactsFetchInProgress = view.findViewById(R.id.contactsFetchInProgress); mNewContact = view.findViewById(R.id.newContact); + mContactsRefresher = view.findViewById(R.id.contactsListRefresher); + + mContactsRefresher.setOnRefreshListener( + new SwipeRefreshLayout.OnRefreshListener() { + @Override + public void onRefresh() { + ContactsManager.getInstance().fetchContactsAsync(); + } + }); mAllContacts.setOnClickListener( new View.OnClickListener() { @@ -364,6 +375,7 @@ public class ContactsFragment extends Fragment } } mContactsFetchInProgress.setVisibility(View.GONE); + mContactsRefresher.setRefreshing(false); } private void invalidate() { diff --git a/app/src/main/java/org/linphone/contacts/LinphoneContact.java b/app/src/main/java/org/linphone/contacts/LinphoneContact.java index 99a7c0f62..4dce20986 100644 --- a/app/src/main/java/org/linphone/contacts/LinphoneContact.java +++ b/app/src/main/java/org/linphone/contacts/LinphoneContact.java @@ -776,7 +776,6 @@ public class LinphoneContact implements Serializable, Comparable 0) { try { - createLinphoneTagIfNeeded(); LinphoneService.instance() .getContentResolver() .applyBatch(ContactsContract.AUTHORITY, mChangesToCommit); @@ -1077,7 +1076,7 @@ public class LinphoneContact implements Serializable, Comparable - - - android:dividerHeight="1dp" /> + + +