From c6084ed4f110efd4ba0c3f82bb16723b6529c8f0 Mon Sep 17 00:00:00 2001 From: deniscerri <64997243+deniscerri@users.noreply.github.com> Date: Tue, 18 Aug 2026 22:22:22 +0200 Subject: [PATCH] Add every minute in observe sources --- .../ytdl/database/repository/ObserveSourcesRepository.kt | 3 ++- .../ui/downloadcard/ObserveSourcesBottomSheetDialog.kt | 9 ++++++--- app/src/main/java/com/deniscerri/ytdl/util/Extensions.kt | 7 ++++++- app/src/main/res/layout/fragment_history.xml | 3 +-- .../res/layout/observe_sources_details_bottom_sheet.xml | 6 ++++++ app/src/main/res/values/strings.xml | 1 + 6 files changed, 22 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/deniscerri/ytdl/database/repository/ObserveSourcesRepository.kt b/app/src/main/java/com/deniscerri/ytdl/database/repository/ObserveSourcesRepository.kt index b5c69185..b737ebdd 100644 --- a/app/src/main/java/com/deniscerri/ytdl/database/repository/ObserveSourcesRepository.kt +++ b/app/src/main/java/com/deniscerri/ytdl/database/repository/ObserveSourcesRepository.kt @@ -12,11 +12,12 @@ class ObserveSourcesRepository(private val observeSourcesDao: ObserveSourcesDao) } enum class EveryCategory { - HOUR, DAY, WEEK, MONTH + MINUTE, HOUR, DAY, WEEK, MONTH } companion object { val everyCategoryName = mapOf( + EveryCategory.MINUTE to R.string.minute, EveryCategory.HOUR to R.string.hour, EveryCategory.DAY to R.string.day, EveryCategory.WEEK to R.string.week, diff --git a/app/src/main/java/com/deniscerri/ytdl/ui/downloadcard/ObserveSourcesBottomSheetDialog.kt b/app/src/main/java/com/deniscerri/ytdl/ui/downloadcard/ObserveSourcesBottomSheetDialog.kt index b4375cea..505f349c 100644 --- a/app/src/main/java/com/deniscerri/ytdl/ui/downloadcard/ObserveSourcesBottomSheetDialog.kt +++ b/app/src/main/java/com/deniscerri/ytdl/ui/downloadcard/ObserveSourcesBottomSheetDialog.kt @@ -295,9 +295,9 @@ class ObserveSourcesBottomSheetDialog : BottomSheetDialogFragment() { val cats = ObserveSourcesRepository.everyCategoryName.map { getString(it.value) } categoryAdapter = ArrayAdapter(requireActivity(),android.R.layout.simple_dropdown_item_1line, cats) everyCat.doAfterTextChanged { - everyTime.isVisible = it.toString() != cats[0] - weekDays.isVisible = it.toString() == cats[2] - startMonth.isVisible = it.toString() == cats[3] + everyTime.isVisible = it.toString() != cats[0] && it.toString() != cats[1] + weekDays.isVisible = it.toString() == cats[3] + startMonth.isVisible = it.toString() == cats[4] startTime.isVisible = !startMonth.isVisible everyMonthDay.isVisible = startMonth.isVisible } @@ -547,6 +547,9 @@ class ObserveSourcesBottomSheetDialog : BottomSheetDialogFragment() { val everyTime = everyTime.editText?.text?.isNotBlank() == true val every = when(category){ + ObserveSourcesRepository.EveryCategory.MINUTE -> { + everyNrBool + } ObserveSourcesRepository.EveryCategory.HOUR -> { everyNrBool } diff --git a/app/src/main/java/com/deniscerri/ytdl/util/Extensions.kt b/app/src/main/java/com/deniscerri/ytdl/util/Extensions.kt index 03ddcb32..bc0d69d0 100644 --- a/app/src/main/java/com/deniscerri/ytdl/util/Extensions.kt +++ b/app/src/main/java/com/deniscerri/ytdl/util/Extensions.kt @@ -545,11 +545,15 @@ object Extensions { hourMin.timeInMillis = item.everyTime set(Calendar.HOUR_OF_DAY, hourMin.get(Calendar.HOUR_OF_DAY)) - set(Calendar.MINUTE, hourMin.get(Calendar.MINUTE)) + + if (item.everyCategory != EveryCategory.MINUTE) { + set(Calendar.MINUTE, hourMin.get(Calendar.MINUTE)) + } } while (timeInMillis < now){ when(item.everyCategory){ + EveryCategory.MINUTE -> { add(Calendar.MINUTE, everyNr) } EveryCategory.HOUR -> { add(Calendar.HOUR, everyNr) } EveryCategory.DAY -> { add(Calendar.DAY_OF_MONTH, everyNr) } EveryCategory.WEEK -> { @@ -601,6 +605,7 @@ object Extensions { fun ObserveSourcesItem.scheduleSummary(context: Context): String { val nr = everyNr return when (everyCategory) { + EveryCategory.MINUTE -> context.resources.getQuantityString(R.plurals.every_minutes, nr, nr) EveryCategory.HOUR -> context.resources.getQuantityString(R.plurals.every_hours, nr, nr) EveryCategory.DAY -> context.resources.getQuantityString(R.plurals.every_days, nr, nr) EveryCategory.WEEK -> context.resources.getQuantityString(R.plurals.every_weeks, nr, nr) diff --git a/app/src/main/res/layout/fragment_history.xml b/app/src/main/res/layout/fragment_history.xml index 2eea2766..239bcf7a 100644 --- a/app/src/main/res/layout/fragment_history.xml +++ b/app/src/main/res/layout/fragment_history.xml @@ -133,8 +133,7 @@ android:scrollbars="none" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@+id/toggleView"> + app:layout_constraintStart_toStartOf="parent"> diff --git a/app/src/main/res/layout/observe_sources_details_bottom_sheet.xml b/app/src/main/res/layout/observe_sources_details_bottom_sheet.xml index 6037d99b..995aac32 100644 --- a/app/src/main/res/layout/observe_sources_details_bottom_sheet.xml +++ b/app/src/main/res/layout/observe_sources_details_bottom_sheet.xml @@ -152,6 +152,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="10dp" + android:outlineProvider="none" + android:stateListAnimator="@null" app:icon="@drawable/ic_settings" /> @@ -174,6 +178,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/edit" + android:outlineProvider="none" + android:stateListAnimator="@null" app:icon="@drawable/ic_edit" /> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 51d6fb05..f73226bf 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -566,6 +566,7 @@ Max delay (seconds) No delay set Waiting download delay (%s seconds)… + Every minuteEvery %d minutes Every hourEvery %d hours Every dayEvery %d days Every weekEvery %d weeks