Отправка гиф

This commit is contained in:
Халимов Рустам
2026-04-14 13:55:01 +03:00
parent 8ce4bc714f
commit 8165b74e43
16 changed files with 117 additions and 15 deletions
@@ -75,4 +75,12 @@ class AuthRepositoryImpl @Inject constructor(
Result.failure(e)
}
}
override suspend fun updatePushToken(token: String) {
try {
api.updatePushToken(token)
} catch (e: Exception) {
// Silent fail
}
}
}
@@ -8,4 +8,5 @@ interface AuthRepository {
suspend fun logout()
suspend fun fetchConfig(): Result<Unit>
fun isAuthenticated(): Boolean
suspend fun updatePushToken(token: String)
}
@@ -9,6 +9,7 @@ import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
import com.google.firebase.messaging.FirebaseMessaging
import javax.inject.Inject
data class AuthState(
@@ -35,6 +36,7 @@ class AuthViewModel @Inject constructor(
repository.login(userName, password)
.onSuccess {
_state.update { it.copy(isLoading = false, isAuthenticated = true) }
updatePushToken()
}
.onFailure { e ->
_state.update { it.copy(isLoading = false, error = e.message) }
@@ -48,10 +50,22 @@ class AuthViewModel @Inject constructor(
repository.register(userName, password)
.onSuccess {
_state.update { it.copy(isLoading = false, isAuthenticated = true) }
updatePushToken()
}
.onFailure { e ->
_state.update { it.copy(isLoading = false, error = e.message) }
}
}
}
private fun updatePushToken() {
FirebaseMessaging.getInstance().token.addOnCompleteListener { task ->
if (task.isSuccessful) {
val token = task.result
viewModelScope.launch {
repository.updatePushToken(token)
}
}
}
}
}