From c6bc4becc0195c00c9d84cad0c609c0c204db596 Mon Sep 17 00:00:00 2001 From: ialokim <ialokim@mailbox.org> Date: Sun, 27 Aug 2023 22:12:09 +0200 Subject: [PATCH] only show expiration banner 2 month before expiration --- .../briar/desktop/expiration/ExpirationBanner.kt | 4 ++-- .../briar/desktop/expiration/ExpirationUtils.kt | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) 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 78a179ea78..e0693a2cfa 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 816a23cc08..e0330ec855 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 { -- GitLab