From 8f8f4056fa2b052567f9231a76f5c06ba650d15d Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 20 Nov 2021 17:54:18 +0100 Subject: [PATCH] redesigning the app settings --- .../pro/activities/SettingsActivity.kt | 72 +- app/src/main/res/layout/activity_settings.xml | 1585 ++++++++--------- 2 files changed, 769 insertions(+), 888 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt index b3f3c8747..9a860a8a2 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calendar/pro/activities/SettingsActivity.kt @@ -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) diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 898c4a696..bc5f49a1b 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -11,1093 +11,924 @@ android:layout_height="wrap_content" android:orientation="vertical"> - + android:text="@string/color_customization" /> - - - - - + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - - - - - - - + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + android:text="@string/general_settings" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - - - - - - - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + android:text="@string/event_reminders" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - - - + android:background="@drawable/ripple_background"> - + - + - + + + android:background="@drawable/ripple_background"> - + - + - + - - - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + - + - + + + + android:text="@string/caldav" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - - - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + - + + + + android:text="@string/new_events" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + - + android:background="@drawable/ripple_background"> - + - + - + - + android:background="@drawable/ripple_background"> - + - + - + - - - + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_background"> - + - + - + + + android:background="@drawable/ripple_background"> - + - + - + + + android:background="@drawable/ripple_bottom_corners"> - + - + - + + + + android:text="@string/weekly_view" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + + + android:background="@drawable/ripple_background"> - + - + - - - + android:background="@drawable/ripple_background"> - + - + - + android:background="@drawable/ripple_bottom_corners"> - + - + + - - - + android:text="@string/monthly_view" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - - - + android:background="@drawable/ripple_bottom_corners"> - + - + + - + android:text="@string/event_lists" /> - - - - - - - + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - + android:background="@drawable/ripple_top_corners"> - + - + - + + + android:background="@drawable/ripple_bottom_corners"> - + - + + + + android:text="@string/widgets" /> - + + + android:background="@drawable/ripple_top_corners"> - + - + - + + + + + + + + + + + + android:text="@string/events" /> - - - - - + android:layout_margin="@dimen/medium_margin" + android:background="@drawable/section_holder_stroke" + android:orientation="vertical"> - + android:background="@drawable/ripple_top_corners"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +