fix(app/streaks_reminder): negative time

This commit is contained in:
rhunk
2024-01-04 02:24:49 +01:00
parent 83fd108af9
commit f783318198
2 changed files with 7 additions and 4 deletions

View File

@ -44,14 +44,14 @@ class StreaksReminder(
if (streaksReminderConfig.globalState != true) return
val interval = streaksReminderConfig.interval.get()
val interval = streaksReminderConfig.interval.get().hours
val remainingHours = streaksReminderConfig.remainingHours.get()
if (sharedPreferences.getLong("lastStreaksReminder", 0).milliseconds + interval.hours - 10.minutes > System.currentTimeMillis().milliseconds) return
if (sharedPreferences.getLong("lastStreaksReminder", 0).milliseconds + interval - 10.minutes > System.currentTimeMillis().milliseconds) return
sharedPreferences.edit().putLong("lastStreaksReminder", System.currentTimeMillis()).apply()
remoteSideContext.androidContext.getSystemService(AlarmManager::class.java).setRepeating(
AlarmManager.RTC_WAKEUP, 5000, interval.toLong() * 60 * 60 * 1000,
AlarmManager.RTC_WAKEUP, 5000, interval.inWholeMilliseconds,
PendingIntent.getBroadcast(remoteSideContext.androidContext, 0, Intent(remoteSideContext.androidContext, StreaksReminder::class.java),
PendingIntent.FLAG_IMMUTABLE)
)

View File

@ -2,6 +2,7 @@ package me.rhunk.snapenhance.common.data
import me.rhunk.snapenhance.common.config.FeatureNotice
import me.rhunk.snapenhance.common.util.SerializableDataObject
import kotlin.time.Duration.Companion.hours
enum class RuleState(
@ -59,7 +60,9 @@ data class FriendStreaks(
) : SerializableDataObject() {
fun hoursLeft() = (expirationTimestamp - System.currentTimeMillis()) / 1000 / 60 / 60
fun isAboutToExpire(expireHours: Int) = expirationTimestamp - System.currentTimeMillis() < expireHours * 60 * 60 * 1000
fun isAboutToExpire(expireHours: Int) = (expirationTimestamp - System.currentTimeMillis()).let {
it > 0 && it < expireHours.hours.inWholeMilliseconds
}
}
data class MessagingGroupInfo(