From 9775e8c32b506879b67271c42face738bc8c1da9 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 9 Jan 2020 15:01:16 +0100 Subject: [PATCH] Fix crash in syncService --- .../java/im/vector/matrix/android/api/session/Session.kt | 6 ++++++ .../matrix/android/internal/session/DefaultSession.kt | 2 +- .../main/java/im/vector/riotx/core/extensions/Session.kt | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt index 1c73d4c5d1..1d283531f2 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/api/session/Session.kt @@ -19,6 +19,7 @@ package im.vector.matrix.android.api.session import androidx.annotation.MainThread import androidx.lifecycle.LiveData import im.vector.matrix.android.api.auth.data.SessionParams +import im.vector.matrix.android.api.auth.data.sessionId import im.vector.matrix.android.api.failure.GlobalError import im.vector.matrix.android.api.pushrules.PushRuleService import im.vector.matrix.android.api.session.cache.CacheService @@ -73,6 +74,11 @@ interface Session : val myUserId: String get() = sessionParams.credentials.userId + /** + * The sessionId + */ + val sessionId: String + /** * This method allow to open a session. It does start some service on the background. */ diff --git a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt index 4ca385b94e..dc1a20802b 100644 --- a/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt +++ b/matrix-sdk-android/src/main/java/im/vector/matrix/android/internal/session/DefaultSession.kt @@ -65,7 +65,7 @@ internal class DefaultSession @Inject constructor( private val context: Context, private val eventBus: EventBus, @SessionId - private val sessionId: String, + override val sessionId: String, private val liveEntityObservers: Set<@JvmSuppressWildcards LiveEntityObserver>, private val sessionListeners: SessionListeners, private val roomService: Lazy, diff --git a/vector/src/main/java/im/vector/riotx/core/extensions/Session.kt b/vector/src/main/java/im/vector/riotx/core/extensions/Session.kt index 620e32f51f..0a8345c650 100644 --- a/vector/src/main/java/im/vector/riotx/core/extensions/Session.kt +++ b/vector/src/main/java/im/vector/riotx/core/extensions/Session.kt @@ -47,7 +47,7 @@ fun Session.configureAndStart(context: Context, fun Session.startSyncing(context: Context) { val applicationContext = context.applicationContext if (!hasAlreadySynced()) { - VectorSyncService.newIntent(applicationContext, myUserId).also { + VectorSyncService.newIntent(applicationContext, sessionId).also { try { ContextCompat.startForegroundService(applicationContext, it) } catch (ex: Throwable) {