Add every minute in observe sources

pull/1323/head
deniscerri 1 month ago
parent 939c7cca7b
commit c6084ed4f1
No known key found for this signature in database
GPG Key ID: 95C43D517D830350

@ -12,11 +12,12 @@ class ObserveSourcesRepository(private val observeSourcesDao: ObserveSourcesDao)
} }
enum class EveryCategory { enum class EveryCategory {
HOUR, DAY, WEEK, MONTH MINUTE, HOUR, DAY, WEEK, MONTH
} }
companion object { companion object {
val everyCategoryName = mapOf( val everyCategoryName = mapOf(
EveryCategory.MINUTE to R.string.minute,
EveryCategory.HOUR to R.string.hour, EveryCategory.HOUR to R.string.hour,
EveryCategory.DAY to R.string.day, EveryCategory.DAY to R.string.day,
EveryCategory.WEEK to R.string.week, EveryCategory.WEEK to R.string.week,

@ -295,9 +295,9 @@ class ObserveSourcesBottomSheetDialog : BottomSheetDialogFragment() {
val cats = ObserveSourcesRepository.everyCategoryName.map { getString(it.value) } val cats = ObserveSourcesRepository.everyCategoryName.map { getString(it.value) }
categoryAdapter = ArrayAdapter(requireActivity(),android.R.layout.simple_dropdown_item_1line, cats) categoryAdapter = ArrayAdapter(requireActivity(),android.R.layout.simple_dropdown_item_1line, cats)
everyCat.doAfterTextChanged { everyCat.doAfterTextChanged {
everyTime.isVisible = it.toString() != cats[0] everyTime.isVisible = it.toString() != cats[0] && it.toString() != cats[1]
weekDays.isVisible = it.toString() == cats[2] weekDays.isVisible = it.toString() == cats[3]
startMonth.isVisible = it.toString() == cats[3] startMonth.isVisible = it.toString() == cats[4]
startTime.isVisible = !startMonth.isVisible startTime.isVisible = !startMonth.isVisible
everyMonthDay.isVisible = startMonth.isVisible everyMonthDay.isVisible = startMonth.isVisible
} }
@ -547,6 +547,9 @@ class ObserveSourcesBottomSheetDialog : BottomSheetDialogFragment() {
val everyTime = everyTime.editText?.text?.isNotBlank() == true val everyTime = everyTime.editText?.text?.isNotBlank() == true
val every = when(category){ val every = when(category){
ObserveSourcesRepository.EveryCategory.MINUTE -> {
everyNrBool
}
ObserveSourcesRepository.EveryCategory.HOUR -> { ObserveSourcesRepository.EveryCategory.HOUR -> {
everyNrBool everyNrBool
} }

@ -545,11 +545,15 @@ object Extensions {
hourMin.timeInMillis = item.everyTime hourMin.timeInMillis = item.everyTime
set(Calendar.HOUR_OF_DAY, hourMin.get(Calendar.HOUR_OF_DAY)) 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){ while (timeInMillis < now){
when(item.everyCategory){ when(item.everyCategory){
EveryCategory.MINUTE -> { add(Calendar.MINUTE, everyNr) }
EveryCategory.HOUR -> { add(Calendar.HOUR, everyNr) } EveryCategory.HOUR -> { add(Calendar.HOUR, everyNr) }
EveryCategory.DAY -> { add(Calendar.DAY_OF_MONTH, everyNr) } EveryCategory.DAY -> { add(Calendar.DAY_OF_MONTH, everyNr) }
EveryCategory.WEEK -> { EveryCategory.WEEK -> {
@ -601,6 +605,7 @@ object Extensions {
fun ObserveSourcesItem.scheduleSummary(context: Context): String { fun ObserveSourcesItem.scheduleSummary(context: Context): String {
val nr = everyNr val nr = everyNr
return when (everyCategory) { 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.HOUR -> context.resources.getQuantityString(R.plurals.every_hours, nr, nr)
EveryCategory.DAY -> context.resources.getQuantityString(R.plurals.every_days, nr, nr) EveryCategory.DAY -> context.resources.getQuantityString(R.plurals.every_days, nr, nr)
EveryCategory.WEEK -> context.resources.getQuantityString(R.plurals.every_weeks, nr, nr) EveryCategory.WEEK -> context.resources.getQuantityString(R.plurals.every_weeks, nr, nr)

@ -133,8 +133,7 @@
android:scrollbars="none" android:scrollbars="none"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent">
app:layout_constraintTop_toBottomOf="@+id/toggleView">
</androidx.recyclerview.widget.RecyclerView> </androidx.recyclerview.widget.RecyclerView>

@ -152,6 +152,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:outlineProvider="none"
android:stateListAnimator="@null"
app:icon="@drawable/ic_settings" /> app:icon="@drawable/ic_settings" />
<View <View
@ -165,6 +167,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginEnd="10dp" android:layout_marginEnd="10dp"
android:outlineProvider="none"
android:stateListAnimator="@null"
android:text="@string/Remove" android:text="@string/Remove"
app:icon="@drawable/ic_baseline_delete_outline_24" /> app:icon="@drawable/ic_baseline_delete_outline_24" />
@ -174,6 +178,8 @@
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/edit" android:text="@string/edit"
android:outlineProvider="none"
android:stateListAnimator="@null"
app:icon="@drawable/ic_edit" /> app:icon="@drawable/ic_edit" />
</LinearLayout> </LinearLayout>

@ -566,6 +566,7 @@
<string name="max_delay">Max delay (seconds)</string> <string name="max_delay">Max delay (seconds)</string>
<string name="no_delay">No delay set</string> <string name="no_delay">No delay set</string>
<string name="waiting_download_delay">Waiting download delay (%s seconds)…</string> <string name="waiting_download_delay">Waiting download delay (%s seconds)…</string>
<plurals name="every_minutes"><item quantity="one">Every minute</item><item quantity="other">Every %d minutes</item></plurals>
<plurals name="every_hours"><item quantity="one">Every hour</item><item quantity="other">Every %d hours</item></plurals> <plurals name="every_hours"><item quantity="one">Every hour</item><item quantity="other">Every %d hours</item></plurals>
<plurals name="every_days"><item quantity="one">Every day</item><item quantity="other">Every %d days</item></plurals> <plurals name="every_days"><item quantity="one">Every day</item><item quantity="other">Every %d days</item></plurals>
<plurals name="every_weeks"><item quantity="one">Every week</item><item quantity="other">Every %d weeks</item></plurals> <plurals name="every_weeks"><item quantity="one">Every week</item><item quantity="other">Every %d weeks</item></plurals>

Loading…
Cancel
Save