diff --git a/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactsListFragment.kt b/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactsListFragment.kt
index a577838b0..15440d24c 100644
--- a/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactsListFragment.kt
+++ b/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactsListFragment.kt
@@ -139,6 +139,11 @@ class ContactsListFragment : GenericFragment() {
binding.setOnNewContactClicked {
sharedViewModel.showNewContactEvent.value = Event(true)
}
+
+ binding.setFilterClickListener {
+ // TODO FIXME: show context menu first to let user decides which filter to use
+ listViewModel.toggleContactsFilter()
+ }
}
private fun configureAdapter(adapter: ContactsListAdapter) {
diff --git a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt
index 7a84705b0..064f615ea 100644
--- a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt
+++ b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt
@@ -110,6 +110,12 @@ class ContactsListViewModel @UiThread constructor() : ViewModel() {
super.onCleared()
}
+ @UiThread
+ fun toggleContactsFilter() {
+ limitSearchToLinphoneAccounts = !limitSearchToLinphoneAccounts
+ applyFilter(currentFilter)
+ }
+
@UiThread
fun toggleFavouritesVisibility() {
showFavourites.value = showFavourites.value == false
diff --git a/app/src/main/res/drawable/funnel.xml b/app/src/main/res/drawable/funnel.xml
new file mode 100644
index 000000000..47df0eac8
--- /dev/null
+++ b/app/src/main/res/drawable/funnel.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/layout-land/contacts_list_fragment.xml b/app/src/main/res/layout-land/contacts_list_fragment.xml
index f5dc9341a..0799a774b 100644
--- a/app/src/main/res/layout-land/contacts_list_fragment.xml
+++ b/app/src/main/res/layout-land/contacts_list_fragment.xml
@@ -9,10 +9,7 @@
name="onNewContactClicked"
type="View.OnClickListener" />
-
+ app:layout_constraintEnd_toStartOf="@id/filter"/>
+
+
-
+ app:layout_constraintEnd_toStartOf="@id/filter"/>
+
+