Utilise TokenManager and ExpiryManager

This commit is contained in:
andrew
2023-06-16 10:38:33 +09:30
parent 153aa4ceaa
commit 667af27bfb
11 changed files with 260 additions and 184 deletions

View File

@@ -508,7 +508,6 @@ public class ApplicationContext extends Application implements DefaultLifecycleO
}
public void clearAllData(boolean isMigratingToV2KeyPair) {
PushNotificationAPI.unregister();
if (firebaseInstanceIdJob != null && firebaseInstanceIdJob.isActive()) {
firebaseInstanceIdJob.cancel(null);
}

View File

@@ -0,0 +1,26 @@
package org.thoughtcrime.securesms.notifications
import android.content.Context
import org.session.libsession.utilities.TextSecurePreferences
class FcmTokenManager(
private val context: Context,
private val expiryManager: ExpiryManager
) {
val isUsingFCM get() = TextSecurePreferences.isUsingFCM(context)
var fcmToken
get() = TextSecurePreferences.getFCMToken(context)
set(value) {
TextSecurePreferences.setFCMToken(context, value)
if (value != null) markTime() else clearTime()
}
val requiresUnregister get() = fcmToken != null
private fun clearTime() = expiryManager.clearTime()
private fun markTime() = expiryManager.markTime()
private fun isExpired() = expiryManager.isExpired()
fun isInvalid(): Boolean = fcmToken == null || isExpired()
}