Skip to content

Commit

Permalink
Ensure starting PinUnlockActivity does not crash the application.
Browse files Browse the repository at this point in the history
Fix regression from #3222 d4f8052
  • Loading branch information
bmarty committed Aug 30, 2024
1 parent f2ebd93 commit 61f9b20
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 53 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ package io.element.android.features.lockscreen.impl.unlock.di

import com.squareup.anvil.annotations.ContributesTo
import io.element.android.features.lockscreen.impl.unlock.activity.PinUnlockActivity
import io.element.android.libraries.di.SessionScope
import io.element.android.libraries.di.AppScope

@ContributesTo(SessionScope::class)
@ContributesTo(AppScope::class)
interface PinUnlockBindings {
fun inject(activity: PinUnlockActivity)
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,27 +17,25 @@
package io.element.android.features.logout.impl

import com.squareup.anvil.annotations.ContributesBinding
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
import dagger.assisted.AssistedInject
import io.element.android.features.logout.api.LogoutUseCase
import io.element.android.libraries.di.AppScope
import io.element.android.libraries.matrix.api.MatrixClientProvider
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
import javax.inject.Inject

class DefaultLogoutUseCase @AssistedInject constructor(
@Assisted private val sessionId: String,
@ContributesBinding(AppScope::class)

Check warning on line 26 in features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutUseCase.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L26 was not covered by tests
class DefaultLogoutUseCase @Inject constructor(
private val authenticationService: MatrixAuthenticationService,

Check warning on line 28 in features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutUseCase.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L28 was not covered by tests
private val matrixClientProvider: MatrixClientProvider,
) : LogoutUseCase {
@ContributesBinding(AppScope::class)
@AssistedFactory
interface Factory : LogoutUseCase.Factory {
override fun create(sessionId: String): DefaultLogoutUseCase
}

override suspend fun logout(ignoreSdkError: Boolean): String? {
val matrixClient = matrixClientProvider.getOrRestore(SessionId(sessionId)).getOrThrow()
val result = matrixClient.logout(ignoreSdkError = ignoreSdkError)
return result
val currentSession = authenticationService.getLatestSessionId()

Check warning on line 32 in features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutUseCase.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L32 was not covered by tests
return if (currentSession != null) {
matrixClientProvider.getOrRestore(currentSession)
.getOrThrow()
.logout(ignoreSdkError = true)

Check warning on line 36 in features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutUseCase.kt

View check run for this annotation

Codecov / codecov/patch

features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutUseCase.kt#L34-L36

Added lines #L34 - L36 were not covered by tests
} else {
error("No session to sign out")

Check warning on line 38 in features/logout/impl/src/main/kotlin/io/element/android/features/logout/impl/DefaultLogoutUseCase.kt

View check run for this annotation

Codecov / codecov/patch

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

Added line #L38 was not covered by tests
}
}
}

This file was deleted.

0 comments on commit 61f9b20

Please sign in to comment.