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 minute
- Every %d minutes
- Every hour
- Every %d hours
- Every day
- Every %d days
- Every week
- Every %d weeks