diff --git a/core/src/main/res/values-de/strings.xml b/core/src/main/res/values-de/strings.xml index 50373656..d1878a0b 100644 --- a/core/src/main/res/values-de/strings.xml +++ b/core/src/main/res/values-de/strings.xml @@ -102,6 +102,8 @@ Schneidet den aktuellen Datensatz zum angegebenen Zeitpunkt in zwei Teile Fortsetzen Wird den aktuellen Datensatz entfernen und diese Aktivität weiter verfolgen + Duplikat + Erstellt eine Kopie dieses Datensatzes Verschmelzen Wird diese Zeit zum vorherigen Rekord hinzufügen Ändern diff --git a/core/src/main/res/values-es/strings.xml b/core/src/main/res/values-es/strings.xml index 1ff48380..a8fda218 100644 --- a/core/src/main/res/values-es/strings.xml +++ b/core/src/main/res/values-es/strings.xml @@ -102,6 +102,8 @@ Cortará el registro actual en dos en el momento especificado Continuar Eliminará el registro actual y seguirá rastreando esta actividad + Duplicada + Creará una copia de este registro Unir Agregará esta vez al registro anterior Cambio diff --git a/core/src/main/res/values-fr/strings.xml b/core/src/main/res/values-fr/strings.xml index 97329e1f..a4820a24 100644 --- a/core/src/main/res/values-fr/strings.xml +++ b/core/src/main/res/values-fr/strings.xml @@ -102,6 +102,8 @@ Coupera l\'enregistrement actuel en deux au moment spécifié Continuer Supprime l\'enregistrement actuel et continue de suivre cette activité + Dupliquer + Créera une copie de cet enregistrement Fusionner Ajoutera cette fois à l\'enregistrement précédent Changement diff --git a/core/src/main/res/values-hi/strings.xml b/core/src/main/res/values-hi/strings.xml index 25114232..a69211fd 100644 --- a/core/src/main/res/values-hi/strings.xml +++ b/core/src/main/res/values-hi/strings.xml @@ -102,6 +102,8 @@ ये वर्तमान रिकॉर्ड को निर्धारित समय बिंदु पर दो भागो में काट देगा जारी रखे वर्तमान रिकॉर्ड को हटा देगा और इस गतिविधि को ट्रैक करना जारी रखेगा + डुप्लिकेट + इस रिकॉर्ड की एक कॉपी बनाएंगे जोड़े इस समय को पिछले रिकॉर्ड में जोड़ देगा बदलना diff --git a/core/src/main/res/values-in/strings.xml b/core/src/main/res/values-in/strings.xml index 71cd99d7..8cf17ada 100644 --- a/core/src/main/res/values-in/strings.xml +++ b/core/src/main/res/values-in/strings.xml @@ -102,6 +102,8 @@ Akan memotong rekor saat ini menjadi dua pada titik waktu yang ditentukan Melanjutkan Akan menghapus catatan saat ini dan terus melacak aktivitas ini + Duplikat + Akan membuat salinan rekaman ini Menggabungkan Akan menambahkan waktu ini ke rekor sebelumnya Mengubah diff --git a/core/src/main/res/values-it/strings.xml b/core/src/main/res/values-it/strings.xml index 7da239ec..9dd3f787 100644 --- a/core/src/main/res/values-it/strings.xml +++ b/core/src/main/res/values-it/strings.xml @@ -102,6 +102,8 @@ Taglia in due il record corrente nel momento specificato Continua Rimuoverà il record corrente e continuerà a monitorare questa attività + Duplicare + Creerà una copia di questo record Unisci Aggiungerà questa volta al record precedente Modificare diff --git a/core/src/main/res/values-ja/strings.xml b/core/src/main/res/values-ja/strings.xml index 1b1efbd7..f71b6829 100644 --- a/core/src/main/res/values-ja/strings.xml +++ b/core/src/main/res/values-ja/strings.xml @@ -102,6 +102,8 @@ 指定された時点で現在のレコードを 2 つに分割します 継続する 現在の記録を削除し、このアクティビティの追跡を継続します + 複製 + このレコードのコピーを作成します マージ 現在の記録を前の記録に追加します 変更する diff --git a/core/src/main/res/values-nl/strings.xml b/core/src/main/res/values-nl/strings.xml index 066ce94d..e92ebb34 100644 --- a/core/src/main/res/values-nl/strings.xml +++ b/core/src/main/res/values-nl/strings.xml @@ -102,6 +102,8 @@ Zal het huidige record in tweeën knippen op het opgegeven tijdstip Doorgaan Verwijdert het huidige record en gaat door met het volgen van deze activiteit + Duplicaat + Zal een kopie van dit record maken Samenvoegen Zal deze tijd toevoegen aan het vorige record Verandering diff --git a/core/src/main/res/values-pt/strings.xml b/core/src/main/res/values-pt/strings.xml index 547a1a26..fe673f8b 100644 --- a/core/src/main/res/values-pt/strings.xml +++ b/core/src/main/res/values-pt/strings.xml @@ -102,6 +102,8 @@ Cortará o registro atual em dois no ponto especificado no tempo Continuar Irá remover o registro atual e continuar rastreando esta atividade + Duplicada + Irá criar uma cópia deste registro Mesclar Irá adicionar este tempo ao recorde anterior Mudar diff --git a/core/src/main/res/values-ru/strings.xml b/core/src/main/res/values-ru/strings.xml index 1055ef2d..7433ed97 100644 --- a/core/src/main/res/values-ru/strings.xml +++ b/core/src/main/res/values-ru/strings.xml @@ -102,6 +102,8 @@ Разрежет текущую запись на две в указанный момент времени Продолжить Удалит текущую запись и продолжит отслеживать эту активность + Дублировать + Создаст копию этой записи Объединить Добавит это время к предыдущей записи Изменить diff --git a/core/src/main/res/values-sv/strings.xml b/core/src/main/res/values-sv/strings.xml index 9ef1c89e..868bf68b 100644 --- a/core/src/main/res/values-sv/strings.xml +++ b/core/src/main/res/values-sv/strings.xml @@ -102,6 +102,8 @@ Delar upp den nuvarande händelsen i två vid den angivna tidpunkten Fortsätt Tar bort sluttid och återaktiverar denna aktivitet + Duplicera + Kommer att skapa en kopia av denna post Sammanfoga Lägger till denna tid till tidigare händelse Förändra diff --git a/core/src/main/res/values-tr/strings.xml b/core/src/main/res/values-tr/strings.xml index 89dcf959..604fbba7 100644 --- a/core/src/main/res/values-tr/strings.xml +++ b/core/src/main/res/values-tr/strings.xml @@ -102,6 +102,8 @@ Geçerli kaydı belirtilen zamanda ikiye böler Devam et Geçerli kaydı kaldıracak ve bu etkinliği izlemeye devam edecek + Kopyalamak + Bu kaydın bir kopyasını oluşturacak Birleştirmek Bu sefer önceki rekora eklenecek Değiştirmek diff --git a/core/src/main/res/values-uk/strings.xml b/core/src/main/res/values-uk/strings.xml index 482f5b11..39290319 100644 --- a/core/src/main/res/values-uk/strings.xml +++ b/core/src/main/res/values-uk/strings.xml @@ -102,6 +102,8 @@ Розрізає поточний запис на два у вказаний момент часу Продовжити Буде видалено поточний запис і продовжено відстеження цієї діяльності + Дублікат + Буде створено копію цього запису Об’єднати Додасть цей час до попереднього запису Зміна diff --git a/core/src/main/res/values-zh-rTW/strings.xml b/core/src/main/res/values-zh-rTW/strings.xml index d0837141..904c8cf5 100644 --- a/core/src/main/res/values-zh-rTW/strings.xml +++ b/core/src/main/res/values-zh-rTW/strings.xml @@ -102,6 +102,8 @@ 現有紀錄將會切成兩個指定的時間點 繼續 現有紀錄將會移除與繼續追總此活動 + 複製 + 將創建此記錄的副本 合併 將會新增此時間到前一筆紀錄 改變 diff --git a/core/src/main/res/values-zh/strings.xml b/core/src/main/res/values-zh/strings.xml index ffd2de83..76fbd285 100644 --- a/core/src/main/res/values-zh/strings.xml +++ b/core/src/main/res/values-zh/strings.xml @@ -102,6 +102,8 @@ 会在指定时间点将当前记录一分为二 继续 将删除当前记录并继续跟踪此活动 + 复制 + 将创建此记录的副本 合并 将把这个时间添加到以前的记录中 改变 diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 920d6e6f..981ee1f6 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -102,6 +102,8 @@ Will cut current record into two at the specified point in time Continue Will remove current record and continue tracking this activity + Duplicate + Will create a copy of this record Merge Will add this time to previous record Change diff --git a/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/view/ChangeRecordCore.kt b/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/view/ChangeRecordCore.kt index 7e9f04b6..9123fa1d 100644 --- a/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/view/ChangeRecordCore.kt +++ b/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/view/ChangeRecordCore.kt @@ -122,6 +122,7 @@ class ChangeRecordCore( btnChangeRecordSplit.setOnClick(viewModel::onSplitClick) btnChangeRecordAdjust.setOnClick(viewModel::onAdjustClick) btnChangeRecordContinue.setOnClick(viewModel::onContinueClick) + btnChangeRecordDuplicate.setOnClick(viewModel::onDuplicateClick) btnChangeRecordMerge.setOnClick(viewModel::onMergeClick) } @@ -218,6 +219,7 @@ class ChangeRecordCore( btnChangeRecordSplit.isEnabled = isEnabled btnChangeRecordAdjust.isEnabled = isEnabled btnChangeRecordContinue.isEnabled = isEnabled + btnChangeRecordDuplicate.isEnabled = isEnabled btnChangeRecordMerge.isEnabled = isEnabled } diff --git a/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordBaseViewModel.kt b/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordBaseViewModel.kt index b8ce57d0..ae3e14fd 100644 --- a/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordBaseViewModel.kt +++ b/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordBaseViewModel.kt @@ -101,6 +101,7 @@ abstract class ChangeRecordBaseViewModel( protected abstract fun getChangeCategoryParams(data: ChangeTagData): ChangeRecordTagFromScreen protected abstract suspend fun onSaveClickDelegate() protected open suspend fun onContinueClickDelegate() {} + protected open suspend fun onDuplicateClickDelegate() {} protected abstract val mergeAvailable: Boolean protected abstract val splitPreviewTimeEnded: Long protected abstract val showTimeEndedOnSplitPreview: Boolean @@ -219,6 +220,12 @@ abstract class ChangeRecordBaseViewModel( ) } + fun onDuplicateClick() { + onRecordChangeButtonClick( + onProceed = ::onDuplicateClickDelegate, + ) + } + fun onMergeClick() { onRecordChangeButtonClick( onProceed = { diff --git a/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordViewModel.kt b/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordViewModel.kt index 23eab4d3..9eca30ed 100644 --- a/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordViewModel.kt +++ b/features/feature_change_record/src/main/java/com/example/util/simpletimetracker/feature_change_record/viewModel/ChangeRecordViewModel.kt @@ -125,6 +125,19 @@ class ChangeRecordViewModel @Inject constructor( router.back() } + override suspend fun onDuplicateClickDelegate() { + Record( + typeId = newTypeId, + timeStarted = newTimeStarted, + timeEnded = newTimeEnded, + comment = newComment, + tagIds = newCategoryIds + ).let { + addRecordMediator.add(it) + } + onSaveClickDelegate() + } + override fun getChangeCategoryParams(data: ChangeTagData): ChangeRecordTagFromScreen { return ChangeRecordTagFromChangeRecordParams(data) } diff --git a/features/feature_change_record/src/main/res/layout/change_record_core_layout.xml b/features/feature_change_record/src/main/res/layout/change_record_core_layout.xml index e9c0c4da..c2a086c9 100644 --- a/features/feature_change_record/src/main/res/layout/change_record_core_layout.xml +++ b/features/feature_change_record/src/main/res/layout/change_record_core_layout.xml @@ -544,6 +544,39 @@ + + + + + + + + + +