From 06b7336aa6857858763c71b2bb01b03a36892f8e Mon Sep 17 00:00:00 2001 From: razeeman Date: Sat, 3 Jun 2023 13:52:58 +0300 Subject: [PATCH] move backup settings to separate dropdown --- README.md | 2 + .../GetRunningRecordViewDataMediator.kt | 2 +- core/src/main/res/values-ca/strings.xml | 1 + core/src/main/res/values-de/strings.xml | 1 + core/src/main/res/values-es/strings.xml | 1 + core/src/main/res/values-fr/strings.xml | 1 + core/src/main/res/values-hi/strings.xml | 1 + core/src/main/res/values-in/strings.xml | 1 + core/src/main/res/values-it/strings.xml | 1 + core/src/main/res/values-ja/strings.xml | 1 + core/src/main/res/values-nl/strings.xml | 1 + core/src/main/res/values-pt/strings.xml | 1 + core/src/main/res/values-ru/strings.xml | 1 + core/src/main/res/values-sv/strings.xml | 1 + core/src/main/res/values-tr/strings.xml | 1 + core/src/main/res/values-uk/strings.xml | 1 + core/src/main/res/values-zh-rTW/strings.xml | 1 + core/src/main/res/values-zh/strings.xml | 1 + core/src/main/res/values/strings.xml | 1 + .../feature_settings/view/SettingsFragment.kt | 25 +- .../viewModel/SettingsViewModel.kt | 6 + .../res/layout/settings_backup_layout.xml | 530 ++++++++++-------- 22 files changed, 329 insertions(+), 253 deletions(-) diff --git a/README.md b/README.md index 83e0658d..df84e27b 100644 --- a/README.md +++ b/README.md @@ -108,11 +108,13 @@ Simple app that helps track how much time you spend on all the useless activitie │ ├── feature_change_record_tag # Edit tag screen. │ ├── feature_change_record_type # Edit type screen. │ ├── feature_change_running_record # Edit timer screen. + │ ├── feature_date_edit # Data edit screen. │ ├── feature_dialogs # Dialogs. │ ├── feature_main # Main screen with tabs. │ ├── feature_notification # Notifications. │ ├── feature_records # One of main tabs, records list. │ ├── feature_records_all # Screen showing all records. + │ ├── feature_records_filter # Dialog for records filters. │ ├── feature_running_records # One of main tabs, timers. │ ├── feature_settings # One of main tabs, settings. │ ├── feature_statistics # One of main tabs, statistics. diff --git a/core/src/main/java/com/example/util/simpletimetracker/core/interactor/GetRunningRecordViewDataMediator.kt b/core/src/main/java/com/example/util/simpletimetracker/core/interactor/GetRunningRecordViewDataMediator.kt index 189bffe3..c8c34a43 100644 --- a/core/src/main/java/com/example/util/simpletimetracker/core/interactor/GetRunningRecordViewDataMediator.kt +++ b/core/src/main/java/com/example/util/simpletimetracker/core/interactor/GetRunningRecordViewDataMediator.kt @@ -24,7 +24,7 @@ class GetRunningRecordViewDataMediator @Inject constructor( useProportionalMinutes: Boolean, showSeconds: Boolean, ): RunningRecordViewData { - val dailyCurrent = if (goalsVisible) { + val dailyCurrent = if (goalsVisible || totalDurationVisible) { getCurrentRecordsDurationInteractor.getDailyCurrent(record) } else { null diff --git a/core/src/main/res/values-ca/strings.xml b/core/src/main/res/values-ca/strings.xml index 8e3faadf..910f2de7 100644 --- a/core/src/main/res/values-ca/strings.xml +++ b/core/src/main/res/values-ca/strings.xml @@ -188,6 +188,7 @@ Configuració de visualització Configuració addicional Configuració de notificacions + Configuració de còpia de seguretat Endreçar activitats Nom Color diff --git a/core/src/main/res/values-de/strings.xml b/core/src/main/res/values-de/strings.xml index c8f0cdcc..bb210c29 100644 --- a/core/src/main/res/values-de/strings.xml +++ b/core/src/main/res/values-de/strings.xml @@ -188,6 +188,7 @@ Bildschirmeinstellungen Zusätzliche Einstellungen Benachrichtigungseinstellungen + Backup-Einstellungen Aktivitäten sortieren Name Farbe diff --git a/core/src/main/res/values-es/strings.xml b/core/src/main/res/values-es/strings.xml index c0a25762..7767edf9 100644 --- a/core/src/main/res/values-es/strings.xml +++ b/core/src/main/res/values-es/strings.xml @@ -188,6 +188,7 @@ Configuración de pantalla Ajustes adicionales Configuración de las notificaciones + Configuración de copia de seguridad Ordenar actividades Nombre Color diff --git a/core/src/main/res/values-fr/strings.xml b/core/src/main/res/values-fr/strings.xml index e0546909..6e860360 100644 --- a/core/src/main/res/values-fr/strings.xml +++ b/core/src/main/res/values-fr/strings.xml @@ -188,6 +188,7 @@ Paramètres d\'affichage Paramètres additionnels Paramètres de notification + Paramètres de sauvegarde Trier les activités Par nom Par couleur diff --git a/core/src/main/res/values-hi/strings.xml b/core/src/main/res/values-hi/strings.xml index 97ba4e61..51e257fa 100644 --- a/core/src/main/res/values-hi/strings.xml +++ b/core/src/main/res/values-hi/strings.xml @@ -188,6 +188,7 @@ प्रदर्शन सेटिंग्स अतिरिक्त सेटिंग्स अधिसूचना सेटिंग्स + बैकअप सेटिंग्स क्रमबद्ध गतिविधियाँ नाम रंग diff --git a/core/src/main/res/values-in/strings.xml b/core/src/main/res/values-in/strings.xml index 8adc1132..4be8705d 100644 --- a/core/src/main/res/values-in/strings.xml +++ b/core/src/main/res/values-in/strings.xml @@ -188,6 +188,7 @@ Pengaturan tampilan Pengaturan tambahan Pengaturan pemberitahuan + Pengaturan cadangan Urutkan kegiatan Nama Warna diff --git a/core/src/main/res/values-it/strings.xml b/core/src/main/res/values-it/strings.xml index 072429b9..69f729ce 100644 --- a/core/src/main/res/values-it/strings.xml +++ b/core/src/main/res/values-it/strings.xml @@ -188,6 +188,7 @@ Impostazioni di visualizzazione Altre impostazioni Impostazioni di notifica + Impostazioni di backup Ordina attività Nome Colore diff --git a/core/src/main/res/values-ja/strings.xml b/core/src/main/res/values-ja/strings.xml index e2b34dee..b8cadb02 100644 --- a/core/src/main/res/values-ja/strings.xml +++ b/core/src/main/res/values-ja/strings.xml @@ -188,6 +188,7 @@ 設定を表示 追加設定 通知設定 + バックアップ設定 アクティビティをソート 名前 色 diff --git a/core/src/main/res/values-nl/strings.xml b/core/src/main/res/values-nl/strings.xml index 80dc85ca..6aa16bcc 100644 --- a/core/src/main/res/values-nl/strings.xml +++ b/core/src/main/res/values-nl/strings.xml @@ -188,6 +188,7 @@ Scherminstellingen Extra instellingen Notificatie instellingen + Back-up instellingen Activiteiten sorteren Naam Kleur diff --git a/core/src/main/res/values-pt/strings.xml b/core/src/main/res/values-pt/strings.xml index 9f882b33..258b9769 100644 --- a/core/src/main/res/values-pt/strings.xml +++ b/core/src/main/res/values-pt/strings.xml @@ -188,6 +188,7 @@ Configurações do visor Configurações adicionais Configurações de notificação + Configurações de backup Ordenar atividades Nome Cor diff --git a/core/src/main/res/values-ru/strings.xml b/core/src/main/res/values-ru/strings.xml index d9a8d1ce..f848f8e4 100644 --- a/core/src/main/res/values-ru/strings.xml +++ b/core/src/main/res/values-ru/strings.xml @@ -188,6 +188,7 @@ Настройки отображения Дополнительные настройки Настройки уведомлений + Настройки резервного копирования Сортировать активности Имя Цвет diff --git a/core/src/main/res/values-sv/strings.xml b/core/src/main/res/values-sv/strings.xml index 3e0dcabf..4daa90d7 100644 --- a/core/src/main/res/values-sv/strings.xml +++ b/core/src/main/res/values-sv/strings.xml @@ -188,6 +188,7 @@ Bildskärmsinställningar Ytterligare inställningar Aviseringsinställningar + Säkerhetskopieringsinställningar Sortera aktiviteter efter Namn Färg diff --git a/core/src/main/res/values-tr/strings.xml b/core/src/main/res/values-tr/strings.xml index 4e58de67..34e2b29f 100644 --- a/core/src/main/res/values-tr/strings.xml +++ b/core/src/main/res/values-tr/strings.xml @@ -188,6 +188,7 @@ Görüntü ayarları Ek ayarlar Bildirim ayarları + Yedekleme ayarları Aktiviteleri sırala İsim Renk diff --git a/core/src/main/res/values-uk/strings.xml b/core/src/main/res/values-uk/strings.xml index 5fe302b4..c5bc417f 100644 --- a/core/src/main/res/values-uk/strings.xml +++ b/core/src/main/res/values-uk/strings.xml @@ -188,6 +188,7 @@ Налаштування дисплея Додаткові налаштування Налаштування сповіщень + Налаштування резервного копіювання Сортувати активності Ім\'я Колір diff --git a/core/src/main/res/values-zh-rTW/strings.xml b/core/src/main/res/values-zh-rTW/strings.xml index b7abb313..a54b6b10 100644 --- a/core/src/main/res/values-zh-rTW/strings.xml +++ b/core/src/main/res/values-zh-rTW/strings.xml @@ -188,6 +188,7 @@ 顯示設定 附加設定 通知設置 + 備份設置 排序活動 名稱 顏色 diff --git a/core/src/main/res/values-zh/strings.xml b/core/src/main/res/values-zh/strings.xml index 818b2650..cdc14001 100644 --- a/core/src/main/res/values-zh/strings.xml +++ b/core/src/main/res/values-zh/strings.xml @@ -188,6 +188,7 @@ 显示设置 其他设置 通知设置 + 备份设置 活动排序 名称 颜色 diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index eb7f77b6..4b26e8a6 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -188,6 +188,7 @@ Display settings Additional settings Notification settings + Backup settings Sort activities Name Color diff --git a/features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/view/SettingsFragment.kt b/features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/view/SettingsFragment.kt index 7c7d5e57..a14143ed 100644 --- a/features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/view/SettingsFragment.kt +++ b/features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/view/SettingsFragment.kt @@ -123,6 +123,7 @@ class SettingsFragment : layoutSettingsFeedback.setOnClick(viewModel::onFeedbackClick) } with(layoutSettingsBackup) { + layoutSettingsBackupTitle.setOnClick(viewModel::onSettingsBackupClick) layoutSettingsSaveBackup.setOnClick(backupViewModel::onSaveClick) layoutSettingsRestoreBackup.setOnClick(backupViewModel::onRestoreClick) layoutSettingsExportCsv.setOnClick(backupViewModel::onExportCsvClick) @@ -201,15 +202,21 @@ class SettingsFragment : } } with(backupViewModel) { - automaticBackupCheckbox.observe(layoutSettingsBackup.checkboxSettingsAutomaticBackup::setChecked) - automaticBackupLastSaveTime.observe { - layoutSettingsBackup.tvSettingsAutomaticBackupLastSaveTime.visible = it.isNotEmpty() - layoutSettingsBackup.tvSettingsAutomaticBackupLastSaveTime.text = it - } - automaticExportCheckbox.observe(layoutSettingsBackup.checkboxSettingsAutomaticExport::setChecked) - automaticExportLastSaveTime.observe { - layoutSettingsBackup.tvSettingsAutomaticExportLastSaveTime.visible = it.isNotEmpty() - layoutSettingsBackup.tvSettingsAutomaticExportLastSaveTime.text = it + with(layoutSettingsBackup) { + viewModel.settingsBackupVisibility.observe { opened -> + layoutSettingsBackupContent.visible = opened + arrowSettingsBackup.apply { if (opened) rotateDown() else rotateUp() } + } + automaticBackupCheckbox.observe(checkboxSettingsAutomaticBackup::setChecked) + automaticBackupLastSaveTime.observe { + tvSettingsAutomaticBackupLastSaveTime.visible = it.isNotEmpty() + tvSettingsAutomaticBackupLastSaveTime.text = it + } + automaticExportCheckbox.observe(checkboxSettingsAutomaticExport::setChecked) + automaticExportLastSaveTime.observe { + tvSettingsAutomaticExportLastSaveTime.visible = it.isNotEmpty() + tvSettingsAutomaticExportLastSaveTime.text = it + } } } with(mainTabsViewModel) { diff --git a/features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/viewModel/SettingsViewModel.kt b/features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/viewModel/SettingsViewModel.kt index eb001a32..51cb2d4e 100644 --- a/features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/viewModel/SettingsViewModel.kt +++ b/features/feature_settings/src/main/java/com/example/util/simpletimetracker/feature_settings/viewModel/SettingsViewModel.kt @@ -383,6 +383,7 @@ class SettingsViewModel @Inject constructor( val settingsNotificationsVisibility: LiveData = MutableLiveData(false) val settingsDisplayVisibility: LiveData = MutableLiveData(false) val settingsAdditionalVisibility: LiveData = MutableLiveData(false) + val settingsBackupVisibility: LiveData = MutableLiveData(false) val resetScreen: SingleLiveEvent = SingleLiveEvent() fun onVisible() { @@ -411,6 +412,11 @@ class SettingsViewModel @Inject constructor( settingsAdditionalVisibility.set(newValue) } + fun onSettingsBackupClick() { + val newValue = settingsBackupVisibility.value?.flip().orFalse() + settingsBackupVisibility.set(newValue) + } + fun onRateClick() { router.execute(OpenMarketParams(packageName = applicationDataProvider.getPackageName())) } diff --git a/features/feature_settings/src/main/res/layout/settings_backup_layout.xml b/features/feature_settings/src/main/res/layout/settings_backup_layout.xml index 42fba64f..a693f84f 100644 --- a/features/feature_settings/src/main/res/layout/settings_backup_layout.xml +++ b/features/feature_settings/src/main/res/layout/settings_backup_layout.xml @@ -6,315 +6,359 @@ android:layout_width="match_parent" android:layout_height="wrap_content"> - - - - - - - - - - - + android:background="?selectableItemBackground"> - - - - - + app:layout_constraintTop_toTopOf="@id/tvSettingsBackupTitle" + tools:ignore="ContentDescription" /> - - + android:orientation="vertical" + android:visibility="gone" + tools:visibility="visible"> - + - + android:background="?selectableItemBackground" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + - + - + - + + + android:paddingTop="12dp"> - + + + + + + + + + + + android:layout_marginTop="12dp" /> - + android:background="?selectableItemBackground" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - - - - - + - + - + - + - + android:background="?selectableItemBackground" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + - + - + - + - + - + android:paddingTop="12dp"> - + + android:id="@+id/tvSettingsAutomaticExportHint" + style="@style/SettingsSecondaryText" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:paddingBottom="0dp" + android:text="@string/settings_automatic_description" + app:layout_constraintEnd_toStartOf="@id/checkboxSettingsAutomaticExport" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/tvSettingsAutomaticExport" /> + + - + + + + + - + - + - + - + + + + + + + + + + + + + android:background="?selectableItemBackground" + android:clickable="true" + android:focusable="true" + android:orientation="vertical"> - + + + + + - + -- 2.51.2