Я переписываю свое Android-приложение с Java на Kotlin.Я использую Parse LiveQuery на Android и не могу заставить работать подписки.
Я использую этот код для запуска LiveQuery, но не получаю никакого ответа.Я знаю, что в таблице в БД включена функция liveQuery.Я также знаю, что та же подписка работала в Java-версии этого приложения.
fun startListeningToNotifications() {
//Build Live Query Client
val parseLiveQueryClient = ParseLiveQueryClient.Factory.getClient()
//Build Query
var parseQuery = ParseQuery.getQuery<ParseObject>("Notifications")
parseQuery.whereEqualTo("toUser", ParseUser.getCurrentUser())
parseQuery.orderByAscending("createdAt")
parseQuery.findInBackground { objects, e ->
//Do something with notifications
}
//Build Live Query Listener
var subscriptionHandling: SubscriptionHandling<ParseObject> = parseLiveQueryClient.subscribe(parseQuery)
subscriptionHandling.handleSubscribe {
Toast.makeText(this, "SUBSCRIBED", Toast.LENGTH_LONG).show()
}
subscriptionHandling.handleEvents { query, event, `object` ->
fetchNotificationCount()
}
subscriptionHandling.handleError { query, exception ->
Toast.makeText(this, exception.message, Toast.LENGTH_LONG).show()
}
}
Любая помощь очень ценится.Занимался этим уже несколько дней, и система отслеживания проблем GitHub не поможет, поскольку она либо старая, либо не работает с Kotlin, либо просто связана с другой проблемой.
EDIT
Прикрепление изображения отладчика здесь в надежде, что это поможет кому-то понять, где я ошибаюсь.