Skip to content

Commit c19229b

Browse files
authored
Merge pull request #3369 from element-hq/feature/bma/fixPinLockCrash
Ensure starting PinUnlockActivity does not crash the application.
2 parents 31d0621 + 61f9b20 commit c19229b

File tree

3 files changed

+15
-53
lines changed

3 files changed

+15
-53
lines changed

features/lockscreen/impl/src/main/kotlin/io/element/android/features/lockscreen/impl/unlock/di/PinUnlockBindings.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ package io.element.android.features.lockscreen.impl.unlock.di
1818

1919
import com.squareup.anvil.annotations.ContributesTo
2020
import io.element.android.features.lockscreen.impl.unlock.activity.PinUnlockActivity
21-
import io.element.android.libraries.di.SessionScope
21+
import io.element.android.libraries.di.AppScope
2222

23-
@ContributesTo(SessionScope::class)
23+
@ContributesTo(AppScope::class)
2424
interface PinUnlockBindings {
2525
fun inject(activity: PinUnlockActivity)
2626
}

features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutUseCase.kt

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,25 @@
1717
package io.element.android.features.logout.impl
1818

1919
import com.squareup.anvil.annotations.ContributesBinding
20-
import dagger.assisted.Assisted
21-
import dagger.assisted.AssistedFactory
22-
import dagger.assisted.AssistedInject
2320
import io.element.android.features.logout.api.LogoutUseCase
2421
import io.element.android.libraries.di.AppScope
2522
import io.element.android.libraries.matrix.api.MatrixClientProvider
26-
import io.element.android.libraries.matrix.api.core.SessionId
23+
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
24+
import javax.inject.Inject
2725

28-
class DefaultLogoutUseCase @AssistedInject constructor(
29-
@Assisted private val sessionId: String,
26+
@ContributesBinding(AppScope::class)
27+
class DefaultLogoutUseCase @Inject constructor(
28+
private val authenticationService: MatrixAuthenticationService,
3029
private val matrixClientProvider: MatrixClientProvider,
3130
) : LogoutUseCase {
32-
@ContributesBinding(AppScope::class)
33-
@AssistedFactory
34-
interface Factory : LogoutUseCase.Factory {
35-
override fun create(sessionId: String): DefaultLogoutUseCase
36-
}
37-
3831
override suspend fun logout(ignoreSdkError: Boolean): String? {
39-
val matrixClient = matrixClientProvider.getOrRestore(SessionId(sessionId)).getOrThrow()
40-
val result = matrixClient.logout(ignoreSdkError = ignoreSdkError)
41-
return result
32+
val currentSession = authenticationService.getLatestSessionId()
33+
return if (currentSession != null) {
34+
matrixClientProvider.getOrRestore(currentSession)
35+
.getOrThrow()
36+
.logout(ignoreSdkError = true)
37+
} else {
38+
error("No session to sign out")
39+
}
4240
}
4341
}

features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/SessionLogoutModule.kt

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)