From 81d09c658f5984e309d2be1ab2874735b3e55357 Mon Sep 17 00:00:00 2001 From: Paul Akhamiogu Date: Sat, 14 Aug 2021 17:59:48 +0100 Subject: [PATCH] Add settings option to launch dialpad by default - also account for process death of the MainActivity by persisting the state of whether the dialer had been launched by default --- .../dialer/activities/MainActivity.kt | 14 +++++++++++ .../dialer/activities/SettingsActivity.kt | 9 ++++++++ .../dialer/helpers/Config.kt | 4 ++++ .../dialer/helpers/Constants.kt | 1 + app/src/main/res/layout/activity_settings.xml | 23 +++++++++++++++++++ app/src/main/res/values-cs/strings.xml | 1 + app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values-el/strings.xml | 1 + app/src/main/res/values-es/strings.xml | 1 + app/src/main/res/values-fi/strings.xml | 1 + app/src/main/res/values-fr/strings.xml | 1 + app/src/main/res/values-gl/strings.xml | 1 + app/src/main/res/values-id/strings.xml | 1 + app/src/main/res/values-it/strings.xml | 3 ++- app/src/main/res/values-ja/strings.xml | 1 + app/src/main/res/values-ml/strings.xml | 1 + app/src/main/res/values-nl/strings.xml | 1 + app/src/main/res/values-pl/strings.xml | 1 + app/src/main/res/values-pt/strings.xml | 1 + app/src/main/res/values-ru/strings.xml | 1 + app/src/main/res/values-sk/strings.xml | 1 + app/src/main/res/values-sv/strings.xml | 1 + app/src/main/res/values-tr/strings.xml | 1 + app/src/main/res/values-uk/strings.xml | 1 + app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 26 files changed, 73 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 dd7d3a44..8ef2b909 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/MainActivity.kt @@ -26,6 +26,7 @@ import com.simplemobiletools.dialer.R import com.simplemobiletools.dialer.adapters.ViewPagerAdapter import com.simplemobiletools.dialer.extensions.config import com.simplemobiletools.dialer.fragments.MyViewPagerFragment +import com.simplemobiletools.dialer.helpers.OPEN_DIAL_PAD_AT_LAUNCH import com.simplemobiletools.dialer.helpers.RecentsHelper import com.simplemobiletools.dialer.helpers.tabsList import kotlinx.android.synthetic.main.activity_main.* @@ -36,6 +37,7 @@ import java.util.* class MainActivity : SimpleActivity() { private var isSearchOpen = false + private var launchedDialer = false private var searchMenuItem: MenuItem? = null override fun onCreate(savedInstanceState: Bundle?) { @@ -44,6 +46,8 @@ class MainActivity : SimpleActivity() { appLaunched(BuildConfig.APPLICATION_ID) setupTabColors() + launchedDialer = savedInstanceState?.getBoolean(OPEN_DIAL_PAD_AT_LAUNCH) ?: false + if (isDefaultDialer()) { checkContactPermissions() } else { @@ -51,6 +55,11 @@ class MainActivity : SimpleActivity() { } } + override fun onSaveInstanceState(outState: Bundle) { + super.onSaveInstanceState(outState) + outState.putBoolean(OPEN_DIAL_PAD_AT_LAUNCH, launchedDialer) + } + override fun onResume() { super.onResume() val adjustedPrimaryColor = getAdjustedPrimaryColor() @@ -273,6 +282,11 @@ class MainActivity : SimpleActivity() { main_dialpad_button.setOnClickListener { launchDialpad() } + + if(config.openDialPadAtLaunch && !launchedDialer){ + launchDialpad() + launchedDialer = true + } } private fun getTabIcon(position: Int): Drawable { 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 9ebae403..e835ae07 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/activities/SettingsActivity.kt @@ -33,6 +33,7 @@ class SettingsActivity : SimpleActivity() { setupChangeDateTimeFormat() setupFontSize() setupDefaultTab() + setupDialPadOpen() setupGroupSubsequentCalls() setupStartNameWithSurname() setupShowCallConfirmation() @@ -133,6 +134,14 @@ class SettingsActivity : SimpleActivity() { else -> R.string.last_used_tab }) + private fun setupDialPadOpen() { + settings_open_dialpad_at_launch.isChecked = config.openDialPadAtLaunch + settings_open_dialpad_at_launch_holder.setOnClickListener { + settings_open_dialpad_at_launch.toggle() + config.openDialPadAtLaunch = settings_open_dialpad_at_launch.isChecked + } + } + private fun setupGroupSubsequentCalls() { settings_group_subsequent_calls.isChecked = config.groupSubsequentCalls settings_group_subsequent_calls_holder.setOnClickListener { 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 4621a011..e6960463 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Config.kt @@ -43,4 +43,8 @@ class Config(context: Context) : BaseConfig(context) { var groupSubsequentCalls: Boolean get() = prefs.getBoolean(GROUP_SUBSEQUENT_CALLS, true) set(groupSubsequentCalls) = prefs.edit().putBoolean(GROUP_SUBSEQUENT_CALLS, groupSubsequentCalls).apply() + + var openDialPadAtLaunch: Boolean + get() = prefs.getBoolean(OPEN_DIAL_PAD_AT_LAUNCH, false) + set(openDialPad) = prefs.edit().putBoolean(OPEN_DIAL_PAD_AT_LAUNCH, openDialPad).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 63a42763..d2550922 100644 --- a/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/dialer/helpers/Constants.kt @@ -4,6 +4,7 @@ package com.simplemobiletools.dialer.helpers 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 CONTACTS_TAB_MASK = 1 const val FAVORITES_TAB_MASK = 2 diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index f910ed56..d168de50 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -203,6 +203,29 @@ + + + + + + Reddit: https://www.reddit.com/r/SimpleMobileTools + Open the dialpad by default when the app opens Impossibile accedere ai contatti @@ -70,6 +70,7 @@ Reddit: https://www.reddit.com/r/SimpleMobileTools + Open the dialpad by default when the app opens