diff --git a/app/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt b/app/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt index e8b3537857..98b02f574a 100644 --- a/app/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt +++ b/app/src/main/java/org/session/libsession/utilities/TextSecurePreferences.kt @@ -153,6 +153,7 @@ interface TextSecurePreferences { fun setHasSeenProExpiring() fun hasSeenProExpired(): Boolean fun setHasSeenProExpired() + fun clearProExpiryView() fun watchPostProStatus(): StateFlow fun setShownCallWarning(): Boolean fun setShownCallNotification(): Boolean @@ -994,6 +995,11 @@ class AppTextSecurePreferences @Inject constructor( setBooleanPreference(HAS_SEEN_PRO_EXPIRED, true) } + override fun clearProExpiryView() { + setBooleanPreference(HAS_SEEN_PRO_EXPIRED, false) + setBooleanPreference(HAS_SEEN_PRO_EXPIRING, false) + } + override fun watchPostProStatus(): StateFlow { return postProLaunchState } diff --git a/app/src/main/java/org/thoughtcrime/securesms/home/HomeViewModel.kt b/app/src/main/java/org/thoughtcrime/securesms/home/HomeViewModel.kt index bdb9b0a28f..9427d1fb78 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/home/HomeViewModel.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/home/HomeViewModel.kt @@ -232,7 +232,10 @@ class HomeViewModel @Inject constructor( var showExpiring: Boolean = false var showExpired: Boolean = false - if(subscription.type is ProStatus.Active.Expiring + if(subscription.type is ProStatus.Active && + (prefs.hasSeenProExpiring() || prefs.hasSeenProExpired())){ + prefs.clearProExpiryView() // reset expiry view if the user is active again + } else if(subscription.type is ProStatus.Active.Expiring && !prefs.hasSeenProExpiring() ){ val validUntil = subscription.type.renewingAt