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 @@
+
+
+
+
+
+
+
+