From 976279238898e8a5f4444d32673d8746f17c05e5 Mon Sep 17 00:00:00 2001 From: tibbi Date: Fri, 6 Dec 2019 23:19:14 +0100 Subject: [PATCH] make the Favorites tab optional at selecting contact --- .../activities/InsertOrEditContactActivity.kt | 18 +++++++++++++----- .../pro/fragments/MyViewPagerFragment.kt | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/InsertOrEditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/InsertOrEditContactActivity.kt index 25578c9f..4c78b4a1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/InsertOrEditContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/InsertOrEditContactActivity.kt @@ -112,7 +112,7 @@ class InsertOrEditContactActivity : SimpleActivity(), RefreshContactsListener { }) viewpager.onGlobalLayout { - refreshContacts(CONTACTS_TAB_MASK or FAVORITES_TAB_MASK) + refreshContacts(getTabsMask()) } insert_or_edit_tabs_holder.onTabSelectionChanged( @@ -132,7 +132,7 @@ class InsertOrEditContactActivity : SimpleActivity(), RefreshContactsListener { insert_or_edit_tabs_holder.removeAllTabs() var skippedTabs = 0 contactsFavoritesList.forEachIndexed { index, value -> - if (config.showTabs and value == 0) { + if (config.showTabs and value == 0 && value == FAVORITES_TAB_MASK) { skippedTabs++ } else { val tab = insert_or_edit_tabs_holder.newTab().setIcon(getTabIcon(index)) @@ -211,7 +211,7 @@ class InsertOrEditContactActivity : SimpleActivity(), RefreshContactsListener { } if (viewpager.adapter == null) { - viewpager.adapter = ViewPagerAdapter(this, contactsFavoritesList, CONTACTS_TAB_MASK or FAVORITES_TAB_MASK) + viewpager.adapter = ViewPagerAdapter(this, contactsFavoritesList, getTabsMask()) } ContactsHelper(this).getContacts { contacts -> @@ -285,14 +285,22 @@ class InsertOrEditContactActivity : SimpleActivity(), RefreshContactsListener { private fun showSortingDialog() { ChangeSortingDialog(this) { - refreshContacts(CONTACTS_TAB_MASK or FAVORITES_TAB_MASK) + refreshContacts(getTabsMask()) } } fun showFilterDialog() { FilterContactSourcesDialog(this) { contacts_fragment?.forceListRedraw = true - refreshContacts(CONTACTS_TAB_MASK or FAVORITES_TAB_MASK) + refreshContacts(getTabsMask()) } } + + fun getTabsMask(): Int { + var mask = CONTACTS_TAB_MASK + if (config.showTabs and FAVORITES_TAB_MASK != 0) { + mask += FAVORITES_TAB_MASK + } + return mask + } } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/MyViewPagerFragment.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/MyViewPagerFragment.kt index 570aea70..4d5aea7d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/MyViewPagerFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/MyViewPagerFragment.kt @@ -100,7 +100,7 @@ abstract class MyViewPagerFragment(context: Context, attributeSet: AttributeSet) } fun refreshContacts(contacts: ArrayList) { - if ((config.showTabs and CONTACTS_TAB_MASK == 0 && this is ContactsFragment) || + if ((config.showTabs and CONTACTS_TAB_MASK == 0 && this is ContactsFragment && activity !is InsertOrEditContactActivity) || (config.showTabs and FAVORITES_TAB_MASK == 0 && this is FavoritesFragment) || (config.showTabs and GROUPS_TAB_MASK == 0 && this is GroupsFragment)) { return