Skip to content

Commit 648343d

Browse files
committed
fix: Use activity context over app context in order to be able to call startActivity()
1 parent 962cc97 commit 648343d

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

app/src/main/java/com/infomaniak/mail/utils/LoginUtils.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import com.infomaniak.mail.di.MainDispatcher
4545
import com.infomaniak.mail.utils.Utils.MailboxErrorCode
4646
import com.infomaniak.mail.utils.extensions.launchNoMailboxActivity
4747
import com.infomaniak.mail.utils.extensions.launchNoValidMailboxesActivity
48-
import dagger.hilt.android.qualifiers.ApplicationContext
48+
import dagger.hilt.android.qualifiers.ActivityContext
4949
import dagger.hilt.android.scopes.ActivityScoped
5050
import kotlinx.coroutines.CoroutineDispatcher
5151
import kotlinx.coroutines.invoke
@@ -55,7 +55,7 @@ import javax.inject.Inject
5555
@ActivityScoped
5656
class LoginUtils @Inject constructor(
5757
private val mailboxController: MailboxController,
58-
@ApplicationContext private val appContext: Context,
58+
@ActivityContext private val activityContext: Context, // Needs to be activity context in order to call startActivity
5959
@IoDispatcher private val ioDispatcher: CoroutineDispatcher,
6060
@MainDispatcher private val mainDispatcher: CoroutineDispatcher,
6161
) {
@@ -73,7 +73,7 @@ class LoginUtils @Inject constructor(
7373
) {
7474
val userResult = LoginUtils.getLoginResultAfterWebView(
7575
result = result,
76-
context = appContext,
76+
context = activityContext,
7777
infomaniakLogin = infomaniakLogin,
7878
credentialManager = AccountUtils,
7979
)
@@ -165,17 +165,17 @@ class LoginUtils @Inject constructor(
165165

166166
private fun mailboxError(errorCode: MailboxErrorCode) {
167167
when (errorCode) {
168-
MailboxErrorCode.NO_MAILBOX -> appContext.launchNoMailboxActivity()
169-
MailboxErrorCode.NO_VALID_MAILBOX -> appContext.launchNoValidMailboxesActivity()
168+
MailboxErrorCode.NO_MAILBOX -> activityContext.launchNoMailboxActivity()
169+
MailboxErrorCode.NO_VALID_MAILBOX -> activityContext.launchNoValidMailboxesActivity()
170170
}
171171
}
172172

173173
suspend fun apiError(apiResponse: ApiResponse<*>) = withContext(mainDispatcher) {
174-
showError(appContext.getString(apiResponse.translateError()))
174+
showError(activityContext.getString(apiResponse.translateError()))
175175
}
176176

177177
private suspend fun otherError() = withContext(mainDispatcher) {
178-
showError(appContext.getString(R.string.anErrorHasOccurred))
178+
showError(activityContext.getString(R.string.anErrorHasOccurred))
179179
}
180180

181181
private suspend fun logout(infomaniakLogin: InfomaniakLogin, apiToken: ApiToken) {

0 commit comments

Comments
 (0)