diff --git a/app/src/main/java/org/koitharu/kotatsu/shelf/ui/ShelfMenuProvider.kt b/app/src/main/java/org/koitharu/kotatsu/shelf/ui/ShelfMenuProvider.kt index d00601406..4cb9a697c 100644 --- a/app/src/main/java/org/koitharu/kotatsu/shelf/ui/ShelfMenuProvider.kt +++ b/app/src/main/java/org/koitharu/kotatsu/shelf/ui/ShelfMenuProvider.kt @@ -12,9 +12,10 @@ import org.koitharu.kotatsu.base.ui.dialog.RememberSelectionDialogListener import org.koitharu.kotatsu.local.ui.ImportDialogFragment import org.koitharu.kotatsu.shelf.ui.config.ShelfSettingsActivity import org.koitharu.kotatsu.shelf.ui.config.size.ShelfSizeBottomSheet -import org.koitharu.kotatsu.utils.ext.startOfDay -import java.util.Date -import java.util.concurrent.TimeUnit +import java.time.Instant +import java.time.LocalDate +import java.time.ZoneId +import java.time.temporal.ChronoUnit import com.google.android.material.R as materialR class ShelfMenuProvider( @@ -69,13 +70,13 @@ class ShelfMenuProvider( .setIcon(R.drawable.ic_delete) .setNegativeButton(android.R.string.cancel, null) .setPositiveButton(R.string.clear) { _, _ -> - val minDate = when (selectionListener.selection) { - 0 -> System.currentTimeMillis() - TimeUnit.HOURS.toMillis(2) - 1 -> Date().startOfDay() - 2 -> 0L + val minInstant = when (selectionListener.selection) { + 0 -> Instant.now().minus(2, ChronoUnit.HOURS) + 1 -> LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant() + 2 -> Instant.EPOCH else -> return@setPositiveButton } - viewModel.clearHistory(minDate) + viewModel.clearHistory(minInstant.toEpochMilli()) }.show() } } diff --git a/app/src/main/java/org/koitharu/kotatsu/utils/ext/DateExt.kt b/app/src/main/java/org/koitharu/kotatsu/utils/ext/DateExt.kt index 0a78f0341..5bfeda9df 100644 --- a/app/src/main/java/org/koitharu/kotatsu/utils/ext/DateExt.kt +++ b/app/src/main/java/org/koitharu/kotatsu/utils/ext/DateExt.kt @@ -9,22 +9,8 @@ import java.util.concurrent.TimeUnit @SuppressLint("SimpleDateFormat") fun Date.format(pattern: String): String = SimpleDateFormat(pattern).format(this) -fun Date.formatRelative(minResolution: Long): CharSequence = DateUtils.getRelativeTimeSpanString( - time, System.currentTimeMillis(), minResolution -) - fun Date.daysDiff(other: Long): Int { val thisDay = time / TimeUnit.DAYS.toMillis(1L) val otherDay = other / TimeUnit.DAYS.toMillis(1L) return (thisDay - otherDay).toInt() } - -fun Date.startOfDay(): Long { - val calendar = Calendar.getInstance() - calendar.time = this - calendar[Calendar.HOUR_OF_DAY] = 0 - calendar[Calendar.MINUTE] = 0 - calendar[Calendar.SECOND] = 0 - calendar[Calendar.MILLISECOND] = 0 - return calendar.timeInMillis -} \ No newline at end of file