mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-02-09 16:18:55 +01:00
New backup settings in SettingsActivity
This commit is contained in:
parent
0e205e6cb3
commit
a3338b994c
@ -6,11 +6,15 @@ import com.simplemobiletools.commons.extensions.*
|
||||
import com.simplemobiletools.commons.helpers.*
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.contacts.pro.R
|
||||
import com.simplemobiletools.contacts.pro.dialogs.ManageAutoBackupsDialog
|
||||
import com.simplemobiletools.contacts.pro.dialogs.ManageVisibleFieldsDialog
|
||||
import com.simplemobiletools.contacts.pro.dialogs.ManageVisibleTabsDialog
|
||||
import com.simplemobiletools.contacts.pro.extensions.cancelScheduledAutomaticBackup
|
||||
import com.simplemobiletools.contacts.pro.extensions.config
|
||||
import com.simplemobiletools.contacts.pro.extensions.scheduleNextAutomaticBackup
|
||||
import kotlinx.android.synthetic.main.activity_settings.*
|
||||
import java.util.*
|
||||
import kotlin.system.exitProcess
|
||||
|
||||
class SettingsActivity : SimpleActivity() {
|
||||
|
||||
@ -42,6 +46,8 @@ class SettingsActivity : SimpleActivity() {
|
||||
setupShowPrivateContacts()
|
||||
setupOnContactClick()
|
||||
setupDefaultTab()
|
||||
setupEnableAutomaticBackups()
|
||||
setupManageAutomaticBackups()
|
||||
updateTextColors(settings_holder)
|
||||
|
||||
arrayOf(settings_color_customization_section_label, settings_general_settings_label, settings_main_screen_label, settings_list_view_label).forEach {
|
||||
@ -116,7 +122,7 @@ class SettingsActivity : SimpleActivity() {
|
||||
settings_use_english_holder.setOnClickListener {
|
||||
settings_use_english.toggle()
|
||||
config.useEnglish = settings_use_english.isChecked
|
||||
System.exit(0)
|
||||
exitProcess(0)
|
||||
}
|
||||
}
|
||||
|
||||
@ -215,4 +221,43 @@ class SettingsActivity : SimpleActivity() {
|
||||
config.mergeDuplicateContacts = settings_merge_duplicate_contacts.isChecked
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupEnableAutomaticBackups() {
|
||||
settings_backups_label.beVisibleIf(isRPlus())
|
||||
settings_enable_automatic_backups_holder.beVisibleIf(isRPlus())
|
||||
settings_enable_automatic_backups.isChecked = config.autoBackup
|
||||
settings_enable_automatic_backups_holder.setOnClickListener {
|
||||
val wasBackupDisabled = !config.autoBackup
|
||||
if (wasBackupDisabled) {
|
||||
ManageAutoBackupsDialog(
|
||||
activity = this,
|
||||
onSuccess = {
|
||||
enableOrDisableAutomaticBackups(true)
|
||||
scheduleNextAutomaticBackup()
|
||||
}
|
||||
)
|
||||
} else {
|
||||
cancelScheduledAutomaticBackup()
|
||||
enableOrDisableAutomaticBackups(false)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupManageAutomaticBackups() {
|
||||
settings_manage_automatic_backups_holder.beVisibleIf(isRPlus() && config.autoBackup)
|
||||
settings_manage_automatic_backups_holder.setOnClickListener {
|
||||
ManageAutoBackupsDialog(
|
||||
activity = this,
|
||||
onSuccess = {
|
||||
scheduleNextAutomaticBackup()
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
private fun enableOrDisableAutomaticBackups(enable: Boolean) {
|
||||
config.autoBackup = enable
|
||||
settings_enable_automatic_backups.isChecked = enable
|
||||
settings_manage_automatic_backups_holder.beVisibleIf(enable)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user