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"/> + +