diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt index 197956e9..d8a9a8b0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/MainActivity.kt @@ -340,7 +340,7 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { private fun setupTabColors() { handledShowTabs = config.showTabs - val lastUsedPage = config.lastUsedViewPagerPage + val lastUsedPage = getDefaultTab() main_tabs_holder.apply { background = ColorDrawable(config.backgroundColor) setSelectedTabIndicatorColor(getAdjustedPrimaryColor()) @@ -406,14 +406,14 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { skippedTabs++ } else { val tab = main_tabs_holder.newTab().setIcon(getTabIcon(index)) - main_tabs_holder.addTab(tab, index - skippedTabs, config.lastUsedViewPagerPage == index - skippedTabs) + main_tabs_holder.addTab(tab, index - skippedTabs, getDefaultTab() == index - skippedTabs) } } // selecting the proper tab sometimes glitches, add an extra selector to make sure we have it right main_tabs_holder.onGlobalLayout { Handler().postDelayed({ - main_tabs_holder.getTabAt(config.lastUsedViewPagerPage)?.select() + main_tabs_holder.getTabAt(getDefaultTab())?.select() invalidateOptionsMenu() }, 100L) } @@ -563,7 +563,7 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { if (viewpager.adapter == null) { viewpager.adapter = ViewPagerAdapter(this, tabsList, config.showTabs) - viewpager.currentItem = config.lastUsedViewPagerPage + viewpager.currentItem = getDefaultTab() } ContactsHelper(this).getContacts { contacts -> @@ -595,6 +595,15 @@ class MainActivity : SimpleActivity(), RefreshContactsListener { private fun getAllFragments() = arrayListOf(contacts_fragment, favorites_fragment, groups_fragment) + private fun getDefaultTab(): Int { + return when (config.defaultTab) { + TAB_LAST_USED -> config.lastUsedViewPagerPage + TAB_CONTACTS -> 0 + TAB_FAVORITES -> 1 + else -> 2 + } + } + private fun checkDialerMigrationDialog() { if (config.appRunCount < 3) { config.wasDialerMigrationShown = true diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SettingsActivity.kt index 17bb44bc..24c2c69d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/SettingsActivity.kt @@ -3,13 +3,11 @@ package com.simplemobiletools.contacts.pro.activities import android.os.Bundle import android.view.Menu import com.simplemobiletools.commons.dialogs.RadioGroupDialog +import com.simplemobiletools.commons.extensions.baseConfig import com.simplemobiletools.commons.extensions.beVisibleIf import com.simplemobiletools.commons.extensions.getFontSizeText import com.simplemobiletools.commons.extensions.updateTextColors -import com.simplemobiletools.commons.helpers.FONT_SIZE_EXTRA_LARGE -import com.simplemobiletools.commons.helpers.FONT_SIZE_LARGE -import com.simplemobiletools.commons.helpers.FONT_SIZE_MEDIUM -import com.simplemobiletools.commons.helpers.FONT_SIZE_SMALL +import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.contacts.pro.R import com.simplemobiletools.contacts.pro.dialogs.ManageVisibleFieldsDialog @@ -43,6 +41,7 @@ class SettingsActivity : SimpleActivity() { setupShowDialpadButton() setupShowPrivateContacts() setupOnContactClick() + setupDefaultTab() updateTextColors(settings_holder) invalidateOptionsMenu() } @@ -70,6 +69,29 @@ class SettingsActivity : SimpleActivity() { } } + private fun setupDefaultTab() { + settings_default_tab.text = getDefaultTabText() + settings_default_tab_holder.setOnClickListener { + val items = arrayListOf( + RadioItem(TAB_CONTACTS, getString(R.string.contacts_tab)), + RadioItem(TAB_FAVORITES, getString(R.string.favorites_tab)), + RadioItem(TAB_GROUPS, getString(R.string.groups_tab)), + RadioItem(TAB_LAST_USED, getString(R.string.last_used_tab))) + + RadioGroupDialog(this@SettingsActivity, items, config.defaultTab) { + config.defaultTab = it as Int + settings_default_tab.text = getDefaultTabText() + } + } + } + + private fun getDefaultTabText() = getString(when (baseConfig.defaultTab) { + TAB_CONTACTS -> R.string.contacts_tab + TAB_FAVORITES -> R.string.favorites_tab + TAB_GROUPS -> R.string.groups_tab + else -> R.string.last_used_tab + }) + private fun setupFontSize() { settings_font_size.text = getFontSizeText() settings_font_size_holder.setOnClickListener { diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 92892c2a..1a18c141 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -97,6 +97,38 @@ + + + + + + + +