From 8971a6c0fbe290f7531b88c040b86937ec2d3880 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Tue, 2 Apr 2024 16:23:57 +0200 Subject: [PATCH] Rename `UserPushStoreFactory.create` to `UserPushStoreFactory.getOrCreate` for code clarity. --- .../impl/notifications/NotificationSettingsPresenter.kt | 2 +- .../libraries/push/impl/DefaultGetCurrentPushProvider.kt | 2 +- .../element/android/libraries/push/impl/DefaultPushService.kt | 2 +- .../io/element/android/libraries/push/impl/PushersManager.kt | 2 +- .../android/libraries/push/impl/push/DefaultPushHandler.kt | 2 +- .../pushproviders/firebase/FirebaseNewTokenHandler.kt | 2 +- .../pushproviders/unifiedpush/UnifiedPushNewGatewayHandler.kt | 2 +- .../android/libraries/pushstore/api/UserPushStoreFactory.kt | 2 +- .../pushstore/impl/DefaultUserPushStoreFactoryTest.kt | 4 ++-- .../libraries/pushstore/impl/DefaultUserPushStoreFactory.kt | 4 ++-- .../pushstore/test/userpushstore/FakeUserPushStoreFactory.kt | 2 +- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenter.kt index 7083b9f88b..9aa9cafb81 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/notifications/NotificationSettingsPresenter.kt @@ -48,7 +48,7 @@ class NotificationSettingsPresenter @Inject constructor( ) : Presenter { @Composable override fun present(): NotificationSettingsState { - val userPushStore = remember { userPushStoreFactory.create(matrixClient.sessionId) } + val userPushStore = remember { userPushStoreFactory.getOrCreate(matrixClient.sessionId) } val systemNotificationsEnabled: MutableState = remember { mutableStateOf(systemNotificationsEnabledProvider.notificationsEnabled()) } diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/DefaultGetCurrentPushProvider.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/DefaultGetCurrentPushProvider.kt index bdf36b7f31..977d41caca 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/DefaultGetCurrentPushProvider.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/DefaultGetCurrentPushProvider.kt @@ -35,7 +35,7 @@ class DefaultGetCurrentPushProvider @Inject constructor( .value .navigationState .currentSessionId() - ?.let { pushStoreFactory.create(it) } + ?.let { pushStoreFactory.getOrCreate(it) } ?.getPushProviderName() } } diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/DefaultPushService.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/DefaultPushService.kt index 5a4df57b47..cff18cfb3d 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/DefaultPushService.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/DefaultPushService.kt @@ -49,7 +49,7 @@ class DefaultPushService @Inject constructor( * Get current push provider, compare with provided one, then unregister and register if different, and store change. */ override suspend fun registerWith(matrixClient: MatrixClient, pushProvider: PushProvider, distributor: Distributor) { - val userPushStore = userPushStoreFactory.create(matrixClient.sessionId) + val userPushStore = userPushStoreFactory.getOrCreate(matrixClient.sessionId) val currentPushProviderName = userPushStore.getPushProviderName() if (currentPushProviderName != pushProvider.name) { // Unregister previous one if any diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/PushersManager.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/PushersManager.kt index dbefc03126..4306072e48 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/PushersManager.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/PushersManager.kt @@ -63,7 +63,7 @@ class PushersManager @Inject constructor( * Register a pusher to the server if not done yet. */ override suspend fun registerPusher(matrixClient: MatrixClient, pushKey: String, gateway: String) { - val userDataStore = userPushStoreFactory.create(matrixClient.sessionId) + val userDataStore = userPushStoreFactory.getOrCreate(matrixClient.sessionId) if (userDataStore.getCurrentRegisteredPushKey() == pushKey) { Timber.tag(loggerTag.value) .d("Unnecessary to register again the same pusher, but do it in case the pusher has been removed from the server") diff --git a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/push/DefaultPushHandler.kt b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/push/DefaultPushHandler.kt index 5de0620eca..2c9abb77b3 100644 --- a/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/push/DefaultPushHandler.kt +++ b/libraries/push/impl/src/main/kotlin/io/element/android/libraries/push/impl/push/DefaultPushHandler.kt @@ -122,7 +122,7 @@ class DefaultPushHandler @Inject constructor( return } - val userPushStore = userPushStoreFactory.create(userId) + val userPushStore = userPushStoreFactory.getOrCreate(userId) if (!userPushStore.getNotificationEnabledForDevice().first()) { // TODO We need to check if this is an incoming call Timber.tag(loggerTag.value).i("Notification are disabled for this device, ignore push.") diff --git a/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/pushproviders/firebase/FirebaseNewTokenHandler.kt b/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/pushproviders/firebase/FirebaseNewTokenHandler.kt index 313b9ab706..20d0de4ebf 100644 --- a/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/pushproviders/firebase/FirebaseNewTokenHandler.kt +++ b/libraries/pushproviders/firebase/src/main/kotlin/io/element/android/libraries/pushproviders/firebase/FirebaseNewTokenHandler.kt @@ -44,7 +44,7 @@ class FirebaseNewTokenHandler @Inject constructor( sessionStore.getAllSessions().toUserList() .map { SessionId(it) } .forEach { userId -> - val userDataStore = userPushStoreFactory.create(userId) + val userDataStore = userPushStoreFactory.getOrCreate(userId) if (userDataStore.getPushProviderName() == FirebaseConfig.NAME) { matrixAuthenticationService.restoreSession(userId).getOrNull()?.use { client -> pusherSubscriber.registerPusher(client, firebaseToken, FirebaseConfig.PUSHER_HTTP_URL) diff --git a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/UnifiedPushNewGatewayHandler.kt b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/UnifiedPushNewGatewayHandler.kt index 2ae8753a1e..4ee637a3ab 100644 --- a/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/UnifiedPushNewGatewayHandler.kt +++ b/libraries/pushproviders/unifiedpush/src/main/kotlin/io/element/android/libraries/pushproviders/unifiedpush/UnifiedPushNewGatewayHandler.kt @@ -40,7 +40,7 @@ class UnifiedPushNewGatewayHandler @Inject constructor( val userId = pushClientSecret.getUserIdFromSecret(clientSecret) ?: return Unit.also { Timber.w("Unable to retrieve session") } - val userDataStore = userPushStoreFactory.create(userId) + val userDataStore = userPushStoreFactory.getOrCreate(userId) if (userDataStore.getPushProviderName() == UnifiedPushConfig.NAME) { matrixAuthenticationService.restoreSession(userId).getOrNull()?.use { client -> pusherSubscriber.registerPusher(client, endpoint, pushGateway) diff --git a/libraries/pushstore/api/src/main/kotlin/io/element/android/libraries/pushstore/api/UserPushStoreFactory.kt b/libraries/pushstore/api/src/main/kotlin/io/element/android/libraries/pushstore/api/UserPushStoreFactory.kt index 52e4596ca0..95097845ab 100644 --- a/libraries/pushstore/api/src/main/kotlin/io/element/android/libraries/pushstore/api/UserPushStoreFactory.kt +++ b/libraries/pushstore/api/src/main/kotlin/io/element/android/libraries/pushstore/api/UserPushStoreFactory.kt @@ -22,5 +22,5 @@ import io.element.android.libraries.matrix.api.core.SessionId * Store data related to push about a user. */ interface UserPushStoreFactory { - fun create(userId: SessionId): UserPushStore + fun getOrCreate(userId: SessionId): UserPushStore } diff --git a/libraries/pushstore/impl/src/androidTest/kotlin/io/element/android/libraries/pushstore/impl/DefaultUserPushStoreFactoryTest.kt b/libraries/pushstore/impl/src/androidTest/kotlin/io/element/android/libraries/pushstore/impl/DefaultUserPushStoreFactoryTest.kt index b7bbf46dc4..7f130459fa 100644 --- a/libraries/pushstore/impl/src/androidTest/kotlin/io/element/android/libraries/pushstore/impl/DefaultUserPushStoreFactoryTest.kt +++ b/libraries/pushstore/impl/src/androidTest/kotlin/io/element/android/libraries/pushstore/impl/DefaultUserPushStoreFactoryTest.kt @@ -40,11 +40,11 @@ class DefaultUserPushStoreFactoryTest { val userPushStoreFactory = DefaultUserPushStoreFactory(context, NoOpSessionObserver()) var userPushStore1: UserPushStore? = null val thread1 = thread { - userPushStore1 = userPushStoreFactory.create(sessionId) + userPushStore1 = userPushStoreFactory.getOrCreate(sessionId) } var userPushStore2: UserPushStore? = null val thread2 = thread { - userPushStore2 = userPushStoreFactory.create(sessionId) + userPushStore2 = userPushStoreFactory.getOrCreate(sessionId) } thread1.join() thread2.join() diff --git a/libraries/pushstore/impl/src/main/kotlin/io/element/android/libraries/pushstore/impl/DefaultUserPushStoreFactory.kt b/libraries/pushstore/impl/src/main/kotlin/io/element/android/libraries/pushstore/impl/DefaultUserPushStoreFactory.kt index 8c85dca80c..3c65c76a01 100644 --- a/libraries/pushstore/impl/src/main/kotlin/io/element/android/libraries/pushstore/impl/DefaultUserPushStoreFactory.kt +++ b/libraries/pushstore/impl/src/main/kotlin/io/element/android/libraries/pushstore/impl/DefaultUserPushStoreFactory.kt @@ -41,7 +41,7 @@ class DefaultUserPushStoreFactory @Inject constructor( // We can have only one class accessing a single data store, so keep a cache of them. private val cache = ConcurrentHashMap() - override fun create(userId: SessionId): UserPushStore { + override fun getOrCreate(userId: SessionId): UserPushStore { return cache.getOrPut(userId) { UserPushStoreDataStore( context = context, @@ -60,6 +60,6 @@ class DefaultUserPushStoreFactory @Inject constructor( override suspend fun onSessionDeleted(userId: String) { // Delete the store - create(SessionId(userId)).reset() + getOrCreate(SessionId(userId)).reset() } } diff --git a/libraries/pushstore/test/src/main/kotlin/com/element/android/libraries/pushstore/test/userpushstore/FakeUserPushStoreFactory.kt b/libraries/pushstore/test/src/main/kotlin/com/element/android/libraries/pushstore/test/userpushstore/FakeUserPushStoreFactory.kt index a529e34bc1..2f4f524cc2 100644 --- a/libraries/pushstore/test/src/main/kotlin/com/element/android/libraries/pushstore/test/userpushstore/FakeUserPushStoreFactory.kt +++ b/libraries/pushstore/test/src/main/kotlin/com/element/android/libraries/pushstore/test/userpushstore/FakeUserPushStoreFactory.kt @@ -21,7 +21,7 @@ import io.element.android.libraries.pushstore.api.UserPushStore import io.element.android.libraries.pushstore.api.UserPushStoreFactory class FakeUserPushStoreFactory : UserPushStoreFactory { - override fun create(userId: SessionId): UserPushStore { + override fun getOrCreate(userId: SessionId): UserPushStore { return FakeUserPushStore() } }