redesigning the app settings

This commit is contained in:
tibbi 2021-11-20 17:54:18 +01:00
parent 3a1a3530ce
commit 8f8f4056fa
2 changed files with 769 additions and 888 deletions

View File

@ -83,10 +83,32 @@ class SettingsActivity : SimpleActivity() {
setupAllowChangingTimeZones()
updateTextColors(settings_holder)
checkPrimaryColor()
setupSectionColors()
setupExportSettings()
setupImportSettings()
invalidateOptionsMenu()
arrayOf(
settings_color_customization_label, settings_general_settings_label, settings_reminders_label, settings_caldav_label, settings_new_events_label,
settings_weekly_view_label, settings_monthly_view_label, settings_event_lists_label, settings_widgets_label, settings_events_label, settings_migrating_label
).forEach {
it.setTextColor(getAdjustedPrimaryColor())
}
arrayOf(
settings_color_customization_holder,
settings_general_settings_holder,
settings_reminders_holder,
settings_caldav_holder,
settings_new_events_holder,
settings_weekly_view_holder,
settings_monthly_view_holder,
settings_event_lists_holder,
settings_widgets_holder,
settings_events_holder,
settings_migrating_holder
).forEach {
it.background.applyColorFilter(baseConfig.backgroundColor.getContrastColor())
}
}
override fun onPause() {
@ -131,16 +153,6 @@ class SettingsActivity : SimpleActivity() {
}
}
private fun setupSectionColors() {
val adjustedPrimaryColor = getAdjustedPrimaryColor()
arrayListOf(
reminders_label, caldav_label, weekly_view_label, monthly_view_label, simple_event_list_label, widgets_label, events_label,
new_events_label, migrating_label
).forEach {
it.setTextColor(adjustedPrimaryColor)
}
}
private fun setupCustomizeColors() {
settings_customize_colors_holder.setOnClickListener {
startCustomizationActivity()
@ -149,6 +161,11 @@ class SettingsActivity : SimpleActivity() {
private fun setupCustomizeNotifications() {
settings_customize_notifications_holder.beVisibleIf(isOreoPlus())
if (settings_customize_notifications_holder.isGone()) {
settings_reminder_sound_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
}
settings_customize_notifications_holder.setOnClickListener {
launchCustomizeNotificationsIntent()
}
@ -157,6 +174,11 @@ class SettingsActivity : SimpleActivity() {
private fun setupUseEnglish() {
settings_use_english_holder.beVisibleIf(config.wasUseEnglishToggled || Locale.getDefault().language != "en")
settings_use_english.isChecked = config.useEnglish
if (settings_use_english_holder.isGone()) {
settings_manage_event_types_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
}
settings_use_english_holder.setOnClickListener {
settings_use_english.toggle()
config.useEnglish = settings_use_english.isChecked
@ -190,6 +212,7 @@ class SettingsActivity : SimpleActivity() {
private fun setupCaldavSync() {
settings_caldav_sync.isChecked = config.caldavSync
checkCalDAVBackgrounds()
settings_caldav_sync_holder.setOnClickListener {
if (config.caldavSync) {
toggleCaldavSync(false)
@ -210,12 +233,22 @@ class SettingsActivity : SimpleActivity() {
private fun setupPullToRefresh() {
settings_caldav_pull_to_refresh_holder.beVisibleIf(config.caldavSync)
settings_caldav_pull_to_refresh.isChecked = config.pullToRefresh
checkCalDAVBackgrounds()
settings_caldav_pull_to_refresh_holder.setOnClickListener {
settings_caldav_pull_to_refresh.toggle()
config.pullToRefresh = settings_caldav_pull_to_refresh.isChecked
}
}
private fun checkCalDAVBackgrounds() {
if (config.caldavSync) {
settings_caldav_sync_holder.background = resources.getDrawable(R.drawable.ripple_top_corners, theme)
settings_manage_synced_calendars_holder.background = resources.getDrawable(R.drawable.ripple_bottom_corners, theme)
} else {
settings_caldav_sync_holder.background = resources.getDrawable(R.drawable.ripple_all_corners, theme)
}
}
private fun setupManageSyncedCalendars() {
settings_manage_synced_calendars_holder.beVisibleIf(config.caldavSync)
settings_manage_synced_calendars_holder.setOnClickListener {
@ -240,6 +273,7 @@ class SettingsActivity : SimpleActivity() {
updateDefaultEventTypeText()
}
}
checkCalDAVBackgrounds()
}
private fun showCalendarPicker() {
@ -453,10 +487,20 @@ class SettingsActivity : SimpleActivity() {
private fun setupUseSameSnooze() {
settings_snooze_time_holder.beVisibleIf(config.useSameSnooze)
settings_use_same_snooze.isChecked = config.useSameSnooze
setupSnoozeBackgrounds()
settings_use_same_snooze_holder.setOnClickListener {
settings_use_same_snooze.toggle()
config.useSameSnooze = settings_use_same_snooze.isChecked
settings_snooze_time_holder.beVisibleIf(config.useSameSnooze)
setupSnoozeBackgrounds()
}
}
private fun setupSnoozeBackgrounds() {
if (config.useSameSnooze) {
settings_use_same_snooze_holder.background = resources.getDrawable(R.drawable.ripple_background, theme)
} else {
settings_use_same_snooze_holder.background = resources.getDrawable(R.drawable.ripple_bottom_corners, theme)
}
}
@ -518,6 +562,12 @@ class SettingsActivity : SimpleActivity() {
arrayOf(settings_default_reminder_1_holder, settings_default_reminder_2_holder, settings_default_reminder_3_holder).forEach {
it.beVisibleIf(show)
}
if (show) {
settings_use_last_event_reminders_holder.background = resources.getDrawable(R.drawable.ripple_background, theme)
} else {
settings_use_last_event_reminders_holder.background = resources.getDrawable(R.drawable.ripple_bottom_corners, theme)
}
}
private fun getHoursString(hours: Int) = String.format("%02d:00", hours)

File diff suppressed because it is too large Load Diff