Ensure UnifiedPush endpoint is registered.
This commit is contained in:
parent
e64051f7bd
commit
dc572af9db
1 changed files with 12 additions and 18 deletions
|
|
@ -69,25 +69,19 @@ class VectorUnifiedPushMessagingReceiver : MessagingReceiver() {
|
||||||
* You should send the endpoint to your application server and sync for missing notifications.
|
* You should send the endpoint to your application server and sync for missing notifications.
|
||||||
*/
|
*/
|
||||||
override fun onNewEndpoint(context: Context, endpoint: String, instance: String) {
|
override fun onNewEndpoint(context: Context, endpoint: String, instance: String) {
|
||||||
Timber.tag(loggerTag.value).i("onNewEndpoint: adding $endpoint")
|
Timber.tag(loggerTag.value).i("onNewEndpoint: $endpoint")
|
||||||
// If the endpoint has changed
|
coroutineScope.launch {
|
||||||
// or the gateway has changed
|
val gateway = unifiedPushGatewayResolver.getGateway(endpoint)
|
||||||
if (unifiedPushStore.getEndpoint(instance) != endpoint) {
|
unifiedPushStore.storePushGateway(gateway, instance)
|
||||||
coroutineScope.launch {
|
gateway?.let { pushGateway ->
|
||||||
val gateway = unifiedPushGatewayResolver.getGateway(endpoint)
|
newGatewayHandler.handle(endpoint, pushGateway, instance)
|
||||||
unifiedPushStore.storePushGateway(gateway, instance)
|
.onFailure {
|
||||||
gateway?.let { pushGateway ->
|
Timber.tag(loggerTag.value).e(it, "Failed to handle new gateway")
|
||||||
newGatewayHandler.handle(endpoint, pushGateway, instance)
|
}
|
||||||
.onFailure {
|
.onSuccess {
|
||||||
Timber.tag(loggerTag.value).e("Failed to handle new gateway")
|
unifiedPushStore.storeUpEndpoint(endpoint, instance)
|
||||||
}
|
}
|
||||||
.onSuccess {
|
|
||||||
unifiedPushStore.storeUpEndpoint(endpoint, instance)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
Timber.tag(loggerTag.value).i("onNewEndpoint: skipped")
|
|
||||||
}
|
}
|
||||||
guardServiceStarter.stop()
|
guardServiceStarter.stop()
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue