UnifiedPushGatewayResolver.getGateway cannot return null.
This commit is contained in:
parent
39bb6d3ff3
commit
6dcc16fc6b
2 changed files with 13 additions and 23 deletions
|
|
@ -26,7 +26,7 @@ class UnifiedPushGatewayResolver @Inject constructor(
|
||||||
private val unifiedPushApiFactory: UnifiedPushApiFactory,
|
private val unifiedPushApiFactory: UnifiedPushApiFactory,
|
||||||
private val coroutineDispatchers: CoroutineDispatchers,
|
private val coroutineDispatchers: CoroutineDispatchers,
|
||||||
) {
|
) {
|
||||||
suspend fun getGateway(endpoint: String): String? {
|
suspend fun getGateway(endpoint: String): String {
|
||||||
val gateway = UnifiedPushConfig.DEFAULT_PUSH_GATEWAY_HTTP_URL
|
val gateway = UnifiedPushConfig.DEFAULT_PUSH_GATEWAY_HTTP_URL
|
||||||
try {
|
try {
|
||||||
val url = URL(endpoint)
|
val url = URL(endpoint)
|
||||||
|
|
|
||||||
|
|
@ -76,29 +76,19 @@ class VectorUnifiedPushMessagingReceiver : MessagingReceiver() {
|
||||||
coroutineScope.launch {
|
coroutineScope.launch {
|
||||||
val gateway = unifiedPushGatewayResolver.getGateway(endpoint)
|
val gateway = unifiedPushGatewayResolver.getGateway(endpoint)
|
||||||
unifiedPushStore.storePushGateway(gateway, instance)
|
unifiedPushStore.storePushGateway(gateway, instance)
|
||||||
if (gateway == null) {
|
val result = newGatewayHandler.handle(endpoint, gateway, instance)
|
||||||
Timber.tag(loggerTag.value).w("No gateway found for endpoint $endpoint")
|
.onFailure {
|
||||||
endpointRegistrationHandler.registrationDone(
|
Timber.tag(loggerTag.value).e(it, "Failed to handle new gateway")
|
||||||
RegistrationResult(
|
}
|
||||||
clientSecret = instance,
|
.onSuccess {
|
||||||
result = Result.failure(IllegalStateException("No gateway found for endpoint $endpoint")),
|
unifiedPushStore.storeUpEndpoint(endpoint, instance)
|
||||||
)
|
}
|
||||||
|
endpointRegistrationHandler.registrationDone(
|
||||||
|
RegistrationResult(
|
||||||
|
clientSecret = instance,
|
||||||
|
result = result,
|
||||||
)
|
)
|
||||||
} else {
|
)
|
||||||
val result = newGatewayHandler.handle(endpoint, gateway, instance)
|
|
||||||
.onFailure {
|
|
||||||
Timber.tag(loggerTag.value).e(it, "Failed to handle new gateway")
|
|
||||||
}
|
|
||||||
.onSuccess {
|
|
||||||
unifiedPushStore.storeUpEndpoint(endpoint, instance)
|
|
||||||
}
|
|
||||||
endpointRegistrationHandler.registrationDone(
|
|
||||||
RegistrationResult(
|
|
||||||
clientSecret = instance,
|
|
||||||
result = result,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
guardServiceStarter.stop()
|
guardServiceStarter.stop()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue