From cb48f73fd99b92442f444768f6e4b71ef0d5529e Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 29 Aug 2023 13:31:03 +0200 Subject: [PATCH] Started contacts filter button --- .../contacts/fragment/ContactsListFragment.kt | 5 +++++ .../viewmodel/ContactsListViewModel.kt | 6 ++++++ app/src/main/res/drawable/funnel.xml | 9 +++++++++ .../layout-land/contacts_list_fragment.xml | 20 ++++++++++++++----- .../res/layout/contacts_list_fragment.xml | 20 ++++++++++++++----- 5 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 app/src/main/res/drawable/funnel.xml 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"/> + +