@@ -64,27 +64,19 @@ class LicenseEnforcer @Inject constructor(private val sharedPreferencesHandler:
6464 sharedPreferencesHandler.setTrialExpirationDate(trialExpiration)
6565 }
6666
67- private fun observeTrialExpiry () {
68- val trialExpiration = sharedPreferencesHandler.trialExpirationDate()
69- val now = System .currentTimeMillis()
70- if (trialExpiration > 0 && trialExpiration <= now && ! sharedPreferencesHandler.isTrialExpired()) {
71- sharedPreferencesHandler.setTrialExpired(true )
72- }
73- }
74-
7567 fun hasActiveTrial (): Boolean {
76- observeTrialExpiry()
77- val trialExpiration = sharedPreferencesHandler.trialExpirationDate()
78- return trialExpiration > 0 && trialExpiration > System .currentTimeMillis() && ! sharedPreferencesHandler.isTrialExpired()
68+ return evaluateTrialState().isActive
7969 }
8070
8171 fun evaluateTrialState (): TrialState {
82- observeTrialExpiry()
8372 val trialExpiration = sharedPreferencesHandler.trialExpirationDate()
8473 val now = System .currentTimeMillis()
8574 val sticky = sharedPreferencesHandler.isTrialExpired()
8675 val active = trialExpiration > 0 && trialExpiration > now && ! sticky
8776 val expired = trialExpiration > 0 && (trialExpiration <= now || sticky)
77+ if (expired && ! sticky) {
78+ sharedPreferencesHandler.setTrialExpired(true )
79+ }
8880 val formattedDate = if (active || expired) {
8981 DateFormat .getDateInstance().format(Date (trialExpiration))
9082 } else null
@@ -102,12 +94,13 @@ class LicenseEnforcer @Inject constructor(private val sharedPreferencesHandler:
10294
10395 fun evaluateUiState (context : Context ): LicenseUiState {
10496 val trialState = evaluateTrialState()
97+ val paidLicense = hasPaidLicense()
10598 val expirationText = if (trialState.isActive || trialState.isExpired) {
10699 context.getString(R .string.screen_license_check_trial_expiration, trialState.formattedExpirationDate)
107100 } else null
108101 return LicenseUiState (
109- hasWriteAccess = hasWriteAccess() ,
110- hasPaidLicense = hasPaidLicense() ,
102+ hasWriteAccess = paidLicense || trialState.isActive ,
103+ hasPaidLicense = paidLicense ,
111104 trialState = trialState,
112105 trialExpirationText = expirationText
113106 )
0 commit comments