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">
-
+
+
+
+
+
-
+