mirror of
https://github.com/SimpleMobileTools/Simple-Dialer.git
synced 2025-02-19 04:50:53 +01:00
fix #8, allow setting up a default tab to be used
This commit is contained in:
parent
b830d43883
commit
787929da8d
@ -56,6 +56,6 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.simplemobiletools:commons:5.28.14'
|
implementation 'com.simplemobiletools:commons:5.28.17'
|
||||||
implementation 'com.github.tibbi:IndicatorFastScroll:08f512858a'
|
implementation 'com.github.tibbi:IndicatorFastScroll:08f512858a'
|
||||||
}
|
}
|
||||||
|
@ -217,7 +217,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun setupTabColors() {
|
private fun setupTabColors() {
|
||||||
val lastUsedPage = config.lastUsedViewPagerPage
|
val lastUsedPage = getDefaultTab()
|
||||||
main_tabs_holder.apply {
|
main_tabs_holder.apply {
|
||||||
background = ColorDrawable(config.backgroundColor)
|
background = ColorDrawable(config.backgroundColor)
|
||||||
setSelectedTabIndicatorColor(getAdjustedPrimaryColor())
|
setSelectedTabIndicatorColor(getAdjustedPrimaryColor())
|
||||||
@ -263,13 +263,13 @@ class MainActivity : SimpleActivity() {
|
|||||||
main_tabs_holder.removeAllTabs()
|
main_tabs_holder.removeAllTabs()
|
||||||
tabsList.forEachIndexed { index, value ->
|
tabsList.forEachIndexed { index, value ->
|
||||||
val tab = main_tabs_holder.newTab().setIcon(getTabIcon(index))
|
val tab = main_tabs_holder.newTab().setIcon(getTabIcon(index))
|
||||||
main_tabs_holder.addTab(tab, index, config.lastUsedViewPagerPage == 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
|
// selecting the proper tab sometimes glitches, add an extra selector to make sure we have it right
|
||||||
main_tabs_holder.onGlobalLayout {
|
main_tabs_holder.onGlobalLayout {
|
||||||
Handler().postDelayed({
|
Handler().postDelayed({
|
||||||
main_tabs_holder.getTabAt(config.lastUsedViewPagerPage)?.select()
|
main_tabs_holder.getTabAt(getDefaultTab())?.select()
|
||||||
invalidateOptionsMenu()
|
invalidateOptionsMenu()
|
||||||
}, 100L)
|
}, 100L)
|
||||||
}
|
}
|
||||||
@ -298,7 +298,7 @@ class MainActivity : SimpleActivity() {
|
|||||||
|
|
||||||
if (viewpager.adapter == null) {
|
if (viewpager.adapter == null) {
|
||||||
viewpager.adapter = ViewPagerAdapter(this)
|
viewpager.adapter = ViewPagerAdapter(this)
|
||||||
viewpager.currentItem = config.lastUsedViewPagerPage
|
viewpager.currentItem = getDefaultTab()
|
||||||
}
|
}
|
||||||
|
|
||||||
contacts_fragment?.refreshItems()
|
contacts_fragment?.refreshItems()
|
||||||
@ -308,6 +308,15 @@ class MainActivity : SimpleActivity() {
|
|||||||
|
|
||||||
private fun getAllFragments() = arrayListOf(contacts_fragment, favorites_fragment, recents_fragment).toMutableList() as ArrayList<MyViewPagerFragment?>
|
private fun getAllFragments() = arrayListOf(contacts_fragment, favorites_fragment, recents_fragment).toMutableList() as ArrayList<MyViewPagerFragment?>
|
||||||
|
|
||||||
|
private fun getDefaultTab(): Int {
|
||||||
|
return when (config.defaultTab) {
|
||||||
|
TAB_LAST_USED -> config.lastUsedViewPagerPage
|
||||||
|
TAB_CONTACTS -> 0
|
||||||
|
TAB_FAVORITES -> 1
|
||||||
|
else -> 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun launchAbout() {
|
private fun launchAbout() {
|
||||||
val licenses = LICENSE_GLIDE or LICENSE_INDICATOR_FAST_SCROLL
|
val licenses = LICENSE_GLIDE or LICENSE_INDICATOR_FAST_SCROLL
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ import android.view.Menu
|
|||||||
import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity
|
import com.simplemobiletools.commons.activities.ManageBlockedNumbersActivity
|
||||||
import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog
|
import com.simplemobiletools.commons.dialogs.ChangeDateTimeFormatDialog
|
||||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||||
|
import com.simplemobiletools.commons.extensions.baseConfig
|
||||||
import com.simplemobiletools.commons.extensions.beVisibleIf
|
import com.simplemobiletools.commons.extensions.beVisibleIf
|
||||||
import com.simplemobiletools.commons.extensions.getFontSizeText
|
import com.simplemobiletools.commons.extensions.getFontSizeText
|
||||||
import com.simplemobiletools.commons.extensions.updateTextColors
|
import com.simplemobiletools.commons.extensions.updateTextColors
|
||||||
@ -33,6 +34,7 @@ class SettingsActivity : SimpleActivity() {
|
|||||||
setupManageSpeedDial()
|
setupManageSpeedDial()
|
||||||
setupChangeDateTimeFormat()
|
setupChangeDateTimeFormat()
|
||||||
setupFontSize()
|
setupFontSize()
|
||||||
|
setupDefaultTab()
|
||||||
updateTextColors(settings_holder)
|
updateTextColors(settings_holder)
|
||||||
invalidateOptionsMenu()
|
invalidateOptionsMenu()
|
||||||
}
|
}
|
||||||
@ -98,4 +100,27 @@ 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_CALL_HISTORY, getString(R.string.call_history_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_CALL_HISTORY -> R.string.call_history_tab
|
||||||
|
else -> R.string.last_used_tab
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -149,5 +149,37 @@
|
|||||||
android:clickable="false" />
|
android:clickable="false" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/settings_default_tab_holder"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="@dimen/medium_margin"
|
||||||
|
android:background="?attr/selectableItemBackground"
|
||||||
|
android:paddingLeft="@dimen/normal_margin"
|
||||||
|
android:paddingTop="@dimen/activity_margin"
|
||||||
|
android:paddingRight="@dimen/normal_margin"
|
||||||
|
android:paddingBottom="@dimen/activity_margin">
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
android:id="@+id/settings_default_tab_label"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerVertical="true"
|
||||||
|
android:layout_toStartOf="@+id/settings_default_tab"
|
||||||
|
android:paddingLeft="@dimen/medium_margin"
|
||||||
|
android:paddingRight="@dimen/medium_margin"
|
||||||
|
android:text="@string/default_tab_to_open" />
|
||||||
|
|
||||||
|
<com.simplemobiletools.commons.views.MyTextView
|
||||||
|
android:id="@+id/settings_default_tab"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentEnd="true"
|
||||||
|
android:layout_marginEnd="@dimen/medium_margin"
|
||||||
|
android:background="@null"
|
||||||
|
android:clickable="false" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user