From 4426d42fe99428a4a427423c4802dd185c3b1a5f Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Sat, 9 Oct 2021 10:38:45 +0200 Subject: [PATCH 1/9] Added hiding tabs (#183) --- .../dialer/activities/MainActivity.kt | 77 ++++++++++++++----- .../dialer/activities/SettingsActivity.kt | 8 ++ .../dialer/adapters/ViewPagerAdapter.kt | 22 +++++- .../dialer/dialogs/ManageVisibleTabsDialog.kt | 47 +++++++++++ .../dialer/helpers/Config.kt | 4 + .../dialer/helpers/Constants.kt | 11 ++- app/src/main/res/layout/activity_settings.xml | 21 +++++ .../res/layout/dialog_manage_visible_tabs.xml | 44 +++++++++++ 8 files changed, 207 insertions(+), 27 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/ManageVisibleTabsDialog.kt create mode 100644 app/src/main/res/layout/dialog_manage_visible_tabs.xml diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index 7820c0c2..804dcd70 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -84,7 +84,8 @@ class MainActivity : SimpleActivity() { } if (!isSearchOpen) { - refreshItems() + hideTabs() + refreshItems(true) } checkShortcuts() @@ -93,8 +94,8 @@ class MainActivity : SimpleActivity() { }, 2000) } - override fun onDestroy() { - super.onDestroy() + override fun onPause() { + super.onPause() config.lastUsedViewPagerPage = viewpager.currentItem } @@ -258,12 +259,6 @@ class MainActivity : SimpleActivity() { } ) - main_tabs_holder.removeAllTabs() - tabsList.forEachIndexed { index, value -> - val tab = main_tabs_holder.newTab().setIcon(getTabIcon(index)) - main_tabs_holder.addTab(tab, index, getDefaultTab() == index) - } - // selecting the proper tab sometimes glitches, add an extra selector to make sure we have it right main_tabs_holder.onGlobalLayout { Handler().postDelayed({ @@ -289,6 +284,30 @@ class MainActivity : SimpleActivity() { } } + private fun hideTabs() { + val selectedTabIndex = main_tabs_holder.selectedTabPosition + viewpager.adapter = null + main_tabs_holder.removeAllTabs() + var skippedTabs = 0 + var isAnySelected = false + tabsList.forEachIndexed { index, value -> + if (config.showTabs and value == 0) { + skippedTabs++ + } else { + val tab = main_tabs_holder.newTab().setIcon(getTabIcon(index)) + val wasAlreadySelected = selectedTabIndex > -1 && selectedTabIndex == index - skippedTabs + val shouldSelect = !isAnySelected && wasAlreadySelected + if (shouldSelect) { + isAnySelected = true + } + main_tabs_holder.addTab(tab, index - skippedTabs, shouldSelect) + } + } + if (!isAnySelected) { + main_tabs_holder.selectTab(main_tabs_holder.getTabAt(getDefaultTab())) + } + } + private fun getTabIcon(position: Int): Drawable { val drawableId = when (position) { 0 -> R.drawable.ic_person_vector @@ -299,14 +318,14 @@ class MainActivity : SimpleActivity() { return resources.getColoredDrawableWithColor(drawableId, config.textColor) } - private fun refreshItems() { + private fun refreshItems(openLastTab: Boolean = false) { if (isDestroyed || isFinishing) { return } if (viewpager.adapter == null) { viewpager.adapter = ViewPagerAdapter(this) - viewpager.currentItem = getDefaultTab() + viewpager.currentItem = if (openLastTab) main_tabs_holder.selectedTabPosition else getDefaultTab() viewpager.onGlobalLayout { refreshFragments() } @@ -327,20 +346,40 @@ class MainActivity : SimpleActivity() { recents_fragment?.refreshItems() } - private fun getAllFragments() = arrayListOf(contacts_fragment, favorites_fragment, recents_fragment).toMutableList() as ArrayList + private fun getAllFragments(): ArrayList { + val showTabs = config.showTabs + val fragments = arrayListOf() - private fun getCurrentFragment(): MyViewPagerFragment? = when (viewpager.currentItem) { - 0 -> contacts_fragment - 1 -> favorites_fragment - else -> recents_fragment + if (showTabs and TAB_CONTACTS > 0) { + fragments.add(contacts_fragment) + } + + if (showTabs and TAB_FAVORITES > 0) { + fragments.add(favorites_fragment) + } + + if (showTabs and TAB_CALL_HISTORY > 0) { + fragments.add(recents_fragment) + } + + return fragments } + private fun getCurrentFragment(): MyViewPagerFragment? = getAllFragments().getOrNull(viewpager.currentItem) + private fun getDefaultTab(): Int { + val showTabsMask = config.showTabs return when (config.defaultTab) { - TAB_LAST_USED -> config.lastUsedViewPagerPage + TAB_LAST_USED -> if (config.lastUsedViewPagerPage < main_tabs_holder.tabCount) config.lastUsedViewPagerPage else 0 TAB_CONTACTS -> 0 - TAB_FAVORITES -> 1 - else -> 2 + TAB_FAVORITES -> if (showTabsMask and TAB_CONTACTS > 0) 1 else 0 + else -> { + if (showTabsMask and TAB_CONTACTS > 0) { + if (showTabsMask and TAB_FAVORITES > 0) 2 else 1 + } else { + if (showTabsMask and TAB_FAVORITES > 0) 1 else 0 + } + } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt index 12ff15f0..97104b45 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt @@ -12,6 +12,7 @@ import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.* import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.dialer.R +import com.simplemobiletools.dialer.dialogs.ManageVisibleTabsDialog import com.simplemobiletools.dialer.extensions.config import kotlinx.android.synthetic.main.activity_settings.* import java.util.* @@ -32,6 +33,7 @@ class SettingsActivity : SimpleActivity() { setupManageSpeedDial() setupChangeDateTimeFormat() setupFontSize() + setupManageShownTabs() setupDefaultTab() setupDialPadOpen() setupGroupSubsequentCalls() @@ -113,6 +115,12 @@ class SettingsActivity : SimpleActivity() { } } + private fun setupManageShownTabs() { + settings_manage_tabs_holder.setOnClickListener { + ManageVisibleTabsDialog(this) + } + } + private fun setupDefaultTab() { settings_default_tab.text = getDefaultTabText() settings_default_tab_holder.setOnClickListener { diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ViewPagerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ViewPagerAdapter.kt index f2c71fac..863b7310 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ViewPagerAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/adapters/ViewPagerAdapter.kt @@ -3,8 +3,12 @@ package com.simplemobiletools.dialer.adapters import android.view.View import android.view.ViewGroup import androidx.viewpager.widget.PagerAdapter +import com.simplemobiletools.commons.helpers.TAB_CALL_HISTORY +import com.simplemobiletools.commons.helpers.TAB_CONTACTS +import com.simplemobiletools.commons.helpers.TAB_FAVORITES import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.activities.SimpleActivity +import com.simplemobiletools.dialer.extensions.config import com.simplemobiletools.dialer.fragments.MyViewPagerFragment class ViewPagerAdapter(val activity: SimpleActivity) : PagerAdapter() { @@ -30,10 +34,20 @@ class ViewPagerAdapter(val activity: SimpleActivity) : PagerAdapter() { override fun isViewFromObject(view: View, item: Any) = view == item private fun getFragment(position: Int): Int { - return when (position) { - 0 -> R.layout.fragment_contacts - 1 -> R.layout.fragment_favorites - else -> R.layout.fragment_recents + val showTabs = activity.config.showTabs + val fragments = arrayListOf() + if (showTabs and TAB_CONTACTS > 0) { + fragments.add(R.layout.fragment_contacts) } + + if (showTabs and TAB_FAVORITES > 0) { + fragments.add(R.layout.fragment_favorites) + } + + if (showTabs and TAB_CALL_HISTORY > 0) { + fragments.add(R.layout.fragment_recents) + } + + return if (position < fragments.size) fragments[position] else fragments.last() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/ManageVisibleTabsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/ManageVisibleTabsDialog.kt new file mode 100644 index 00000000..11845a94 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/ManageVisibleTabsDialog.kt @@ -0,0 +1,47 @@ +package com.simplemobiletools.dialer.dialogs + +import androidx.appcompat.app.AlertDialog +import com.simplemobiletools.commons.activities.BaseSimpleActivity +import com.simplemobiletools.commons.extensions.setupDialogStuff +import com.simplemobiletools.commons.helpers.TAB_CONTACTS +import com.simplemobiletools.commons.helpers.TAB_FAVORITES +import com.simplemobiletools.commons.helpers.TAB_CALL_HISTORY +import com.simplemobiletools.commons.views.MyAppCompatCheckbox +import com.simplemobiletools.dialer.R +import com.simplemobiletools.dialer.extensions.config + +class ManageVisibleTabsDialog(val activity: BaseSimpleActivity) { + private var view = activity.layoutInflater.inflate(R.layout.dialog_manage_visible_tabs, null) + private val tabs = LinkedHashMap() + + init { + tabs.apply { + put(TAB_CONTACTS, R.id.manage_visible_tabs_contacts) + put(TAB_FAVORITES, R.id.manage_visible_tabs_favorites) + put(TAB_CALL_HISTORY, R.id.manage_visible_tabs_call_history) + } + + val showTabs = activity.config.showTabs + for ((key, value) in tabs) { + view.findViewById(value).isChecked = showTabs and key != 0 + } + + AlertDialog.Builder(activity) + .setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() } + .setNegativeButton(R.string.cancel, null) + .create().apply { + activity.setupDialogStuff(view, this) + } + } + + private fun dialogConfirmed() { + var result = 0 + for ((key, value) in tabs) { + if (view.findViewById(value).isChecked) { + result += key + } + } + + activity.config.showTabs = result + } +} diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt index a57542fd..f199fce1 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt @@ -51,4 +51,8 @@ class Config(context: Context) : BaseConfig(context) { var disableProximitySensor: Boolean get() = prefs.getBoolean(DISABLE_PROXIMITY_SENSOR, false) set(disableProximitySensor) = prefs.edit().putBoolean(DISABLE_PROXIMITY_SENSOR, disableProximitySensor).apply() + + var showTabs: Int + get() = prefs.getInt(SHOW_TABS, ALL_TABS_MASK) + set(showTabs) = prefs.edit().putInt(SHOW_TABS, showTabs).apply() } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt index e95c34b6..0f73df60 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt @@ -1,17 +1,20 @@ package com.simplemobiletools.dialer.helpers +import com.simplemobiletools.commons.helpers.TAB_CONTACTS +import com.simplemobiletools.commons.helpers.TAB_FAVORITES +import com.simplemobiletools.commons.helpers.TAB_CALL_HISTORY + // shared prefs const val SPEED_DIAL = "speed_dial" const val REMEMBER_SIM_PREFIX = "remember_sim_" const val GROUP_SUBSEQUENT_CALLS = "group_subsequent_calls" const val OPEN_DIAL_PAD_AT_LAUNCH = "open_dial_pad_at_launch" const val DISABLE_PROXIMITY_SENSOR = "disable_proximity_sensor" +const val SHOW_TABS = "show_tabs" -const val CONTACTS_TAB_MASK = 1 -const val FAVORITES_TAB_MASK = 2 -const val RECENTS_TAB_MASK = 4 +const val ALL_TABS_MASK = TAB_CONTACTS or TAB_FAVORITES or TAB_CALL_HISTORY -val tabsList = arrayListOf(CONTACTS_TAB_MASK, FAVORITES_TAB_MASK, RECENTS_TAB_MASK) +val tabsList = arrayListOf(TAB_CONTACTS, TAB_FAVORITES, TAB_CALL_HISTORY) private const val PATH = "com.simplemobiletools.dialer.action." const val ACCEPT_CALL = PATH + "accept_call" diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 171b6563..3f321357 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -171,6 +171,27 @@ + + + + + + + + + + + + + + + + + + From ee399c372ff5fcdf128e1261b298858b66db81f9 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Sat, 9 Oct 2021 15:10:42 +0200 Subject: [PATCH 2/9] Added possibility to hide call history --- .../dialer/activities/MainActivity.kt | 8 ++-- .../dialer/dialogs/ManageVisibleTabsDialog.kt | 5 +++ app/src/main/res/layout/activity_settings.xml | 42 +++++++++---------- .../res/layout/dialog_manage_visible_tabs.xml | 4 +- 4 files changed, 32 insertions(+), 27 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index 804dcd70..f20df644 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -265,7 +265,7 @@ class MainActivity : SimpleActivity() { var wantedTab = getDefaultTab() // open the Recents tab if we got here by clicking a missed call notification - if (intent.action == Intent.ACTION_VIEW) { + if (intent.action == Intent.ACTION_VIEW && config.showTabs and TAB_CALL_HISTORY > 0) { wantedTab = main_tabs_holder.tabCount - 1 } @@ -375,9 +375,11 @@ class MainActivity : SimpleActivity() { TAB_FAVORITES -> if (showTabsMask and TAB_CONTACTS > 0) 1 else 0 else -> { if (showTabsMask and TAB_CONTACTS > 0) { - if (showTabsMask and TAB_FAVORITES > 0) 2 else 1 + if (showTabsMask and TAB_FAVORITES > 0 && showTabsMask and TAB_CALL_HISTORY > 0) 2 + else if (showTabsMask and TAB_CALL_HISTORY > 0) 1 + else 0 } else { - if (showTabsMask and TAB_FAVORITES > 0) 1 else 0 + if (showTabsMask and TAB_FAVORITES > 0 && showTabsMask and TAB_CALL_HISTORY > 0) 1 else 0 } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/ManageVisibleTabsDialog.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/ManageVisibleTabsDialog.kt index 11845a94..f3874a1d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/ManageVisibleTabsDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/dialogs/ManageVisibleTabsDialog.kt @@ -9,6 +9,7 @@ import com.simplemobiletools.commons.helpers.TAB_CALL_HISTORY import com.simplemobiletools.commons.views.MyAppCompatCheckbox import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.extensions.config +import com.simplemobiletools.dialer.helpers.ALL_TABS_MASK class ManageVisibleTabsDialog(val activity: BaseSimpleActivity) { private var view = activity.layoutInflater.inflate(R.layout.dialog_manage_visible_tabs, null) @@ -42,6 +43,10 @@ class ManageVisibleTabsDialog(val activity: BaseSimpleActivity) { } } + if (result == 0) { + result = ALL_TABS_MASK + } + activity.config.showTabs = result } } diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 3f321357..87d63456 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -139,6 +139,27 @@ + + + + + + - - - - - - + android:text="@string/call_history_tab"/> From c5427b50516901bb38132105aa9808f77cd1d86c Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Sat, 9 Oct 2021 22:34:56 +0200 Subject: [PATCH 3/9] Changed condition formatting --- .../dialer/activities/MainActivity.kt | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index f20df644..244ccada 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -374,12 +374,22 @@ class MainActivity : SimpleActivity() { TAB_CONTACTS -> 0 TAB_FAVORITES -> if (showTabsMask and TAB_CONTACTS > 0) 1 else 0 else -> { - if (showTabsMask and TAB_CONTACTS > 0) { - if (showTabsMask and TAB_FAVORITES > 0 && showTabsMask and TAB_CALL_HISTORY > 0) 2 - else if (showTabsMask and TAB_CALL_HISTORY > 0) 1 - else 0 + if (showTabsMask and TAB_CALL_HISTORY > 0) { + if (showTabsMask and TAB_CONTACTS > 0) { + if (showTabsMask and TAB_FAVORITES > 0) { + 2 + } else { + 1 + } + } else { + if (showTabsMask and TAB_FAVORITES > 0) { + 1 + } else { + 0 + } + } } else { - if (showTabsMask and TAB_FAVORITES > 0 && showTabsMask and TAB_CALL_HISTORY > 0) 1 else 0 + 0 } } } From a0cd072f6a3326e7942461d1ac722685b0780177 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Fri, 19 Nov 2021 10:42:59 +0100 Subject: [PATCH 4/9] use the proper ripple effect at Manage shown tabs item --- app/src/main/res/layout/activity_settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 28b5f61a..5f52303b 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -199,7 +199,7 @@ style="@style/SettingsHolderTextViewOneLinerStyle" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@drawable/ripple_background"> + android:background="@drawable/ripple_top_corners"> Date: Sun, 28 Nov 2021 12:08:03 +0100 Subject: [PATCH 5/9] fixing a setting items background --- app/src/main/res/layout/activity_settings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 5f52303b..3b59ab2b 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -215,7 +215,7 @@ style="@style/SettingsHolderTextViewStyle" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@drawable/ripple_top_corners"> + android:background="@drawable/ripple_background"> Date: Sun, 28 Nov 2021 12:18:05 +0100 Subject: [PATCH 6/9] Update MainActivity.kt --- .../dialer/activities/MainActivity.kt | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index 418a3fa2..e31733fa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -227,6 +227,16 @@ class MainActivity : SimpleActivity() { getTabAt(it)?.icon?.applyColorFilter(config.textColor) } } + + main_tabs_holder.onTabSelectionChanged( + tabUnselectedAction = { + it.icon?.applyColorFilter(config.textColor) + }, + tabSelectedAction = { + viewpager.currentItem = it.position + it.icon?.applyColorFilter(getAdjustedPrimaryColor()) + } + ) } private fun getInactiveTabIndexes(activeIndex: Int) = (0 until tabsList.size).filter { it != activeIndex } @@ -249,16 +259,6 @@ class MainActivity : SimpleActivity() { } }) - main_tabs_holder.onTabSelectionChanged( - tabUnselectedAction = { - it.icon?.applyColorFilter(config.textColor) - }, - tabSelectedAction = { - viewpager.currentItem = it.position - it.icon?.applyColorFilter(getAdjustedPrimaryColor()) - } - ) - // selecting the proper tab sometimes glitches, add an extra selector to make sure we have it right main_tabs_holder.onGlobalLayout { Handler().postDelayed({ @@ -346,9 +346,9 @@ class MainActivity : SimpleActivity() { recents_fragment?.refreshItems() } - private fun getAllFragments(): ArrayList { + private fun getAllFragments(): ArrayList { val showTabs = config.showTabs - val fragments = arrayListOf() + val fragments = arrayListOf() if (showTabs and TAB_CONTACTS > 0) { fragments.add(contacts_fragment) From 5874766dd065a477dbe7cb67c94642fa749875f4 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Sun, 28 Nov 2021 12:39:36 +0100 Subject: [PATCH 7/9] Hiding tab holder and refreshing fix --- .../com/simplemobiletools/dialer/activities/MainActivity.kt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index e31733fa..ee42b225 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -306,6 +306,7 @@ class MainActivity : SimpleActivity() { if (!isAnySelected) { main_tabs_holder.selectTab(main_tabs_holder.getTabAt(getDefaultTab())) } + main_tabs_holder.beGoneIf(main_tabs_holder.tabCount == 1) } private fun getTabIcon(position: Int): Drawable { @@ -329,8 +330,6 @@ class MainActivity : SimpleActivity() { viewpager.onGlobalLayout { refreshFragments() } - } else { - refreshFragments() } } From 145b3900ef476124ed7194492b9ac60063f630ba Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Sun, 28 Nov 2021 13:11:08 +0100 Subject: [PATCH 8/9] Fixed refreshing --- .../simplemobiletools/dialer/activities/MainActivity.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt index ee42b225..3da82ddf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -39,6 +39,7 @@ class MainActivity : SimpleActivity() { private var isSearchOpen = false private var launchedDialer = false private var searchMenuItem: MenuItem? = null + private var storedShowTabs = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -84,7 +85,9 @@ class MainActivity : SimpleActivity() { } if (!isSearchOpen) { - hideTabs() + if (storedShowTabs != config.showTabs) { + hideTabs() + } refreshItems(true) } @@ -96,6 +99,7 @@ class MainActivity : SimpleActivity() { override fun onPause() { super.onPause() + storedShowTabs = config.showTabs config.lastUsedViewPagerPage = viewpager.currentItem } @@ -307,6 +311,7 @@ class MainActivity : SimpleActivity() { main_tabs_holder.selectTab(main_tabs_holder.getTabAt(getDefaultTab())) } main_tabs_holder.beGoneIf(main_tabs_holder.tabCount == 1) + storedShowTabs = config.showTabs } private fun getTabIcon(position: Int): Drawable { @@ -330,6 +335,8 @@ class MainActivity : SimpleActivity() { viewpager.onGlobalLayout { refreshFragments() } + } else { + refreshFragments() } } From 6cc9358230a425ff9d9cf64863d0f7cade47d124 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Sun, 28 Nov 2021 19:44:39 +0100 Subject: [PATCH 9/9] downgraded Kotlin version --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3d128e44..6129fadb 100644 --- a/build.gradle +++ b/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.6.0' + ext.kotlin_version = '1.5.31' repositories { google() jcenter()