diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationBanner.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationBanner.kt index 78a179ea7829394a66f4b71d8c8bcb6ab7f99d69..e0693a2cfa255fd09dd142b6a0a6395881b65f6d 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationBanner.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationBanner.kt @@ -1,6 +1,6 @@ /* * Briar Desktop - * Copyright (C) 2021-2022 The Briar Project + * Copyright (C) 2021-2023 The Briar Project * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -66,7 +66,7 @@ fun ColumnScope.ExpirationBanner(onExpired: () -> Unit) { var hideTimestamp by remember { mutableStateOf(0L) } - var showExpirationBanner by remember { mutableStateOf(value = true) } + var showExpirationBanner by remember { mutableStateOf(false) } LaunchedEffect(Unit) { periodicallyCheckIfExpired( diff --git a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationUtils.kt b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationUtils.kt index 816a23cc086f192e60666436228a02bb519f4e4b..e0330ec8551f4306f0b441e47f1290bea10d9abd 100644 --- a/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationUtils.kt +++ b/briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/expiration/ExpirationUtils.kt @@ -1,6 +1,6 @@ /* * Briar Desktop - * Copyright (C) 2021-2022 The Briar Project + * Copyright (C) 2021-2023 The Briar Project * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -28,11 +28,13 @@ import kotlin.time.Duration.Companion.milliseconds object ExpirationUtils { private val EXPIRE_AFTER = BuildData.GIT_TIME + 181.days.inWholeMilliseconds + private val SHOW_THRESHOLD = 60.days.inWholeMilliseconds private val CHECK_INTERVAL = 1.hours.inWholeMilliseconds private val HIDE_INTERVAL = 1.days.inWholeMilliseconds // for testing uncomment the following instead // private val EXPIRE_AFTER = Instant.now().toEpochMilli() + 30.seconds.inWholeMilliseconds + // private val SHOW_THRESHOLD = 10.seconds.inWholeMilliseconds // private val CHECK_INTERVAL = 1.seconds.inWholeMilliseconds // private val HIDE_INTERVAL = 10.seconds.inWholeMilliseconds @@ -42,6 +44,8 @@ object ExpirationUtils { private fun isExpired() = getMillisLeft() <= 0.milliseconds + private fun expiryIsFar() = getMillisLeft() > SHOW_THRESHOLD.milliseconds + private fun hideThreshold() = System.currentTimeMillis() - HIDE_INTERVAL suspend fun periodicallyCheckIfExpired( @@ -50,7 +54,9 @@ object ExpirationUtils { onExpiry: () -> Unit, ) { while (true) { - if (isExpired()) { + if (expiryIsFar()) { + // do nothing + } else if (isExpired()) { onExpiry() break } else {