RealmResult не автообновляется
У меня есть объект RealmResults, который я обновляю, но проблема в том, что он не обновляется в режиме реального времени.
код...
Thread syncMessages = new Thread(() -> {
final Realm realm = Realm.getDefaultInstance();
ChatManager chatManager = new ChatManager(realm, context);
resultMessages = chatManager.sendPendingMessages(user.getId_user());
countDownLatch.countDown();
realm.close();
});
try {
syncMessages.start();
countDownLatch.await();
} catch (Exception e) {
e.printStackTrace();
}
sendPendingMessages - это функция, которая содержит объект realmresult.
RealmResults<ChatMessage> messages = chatRepository.pendingSyncMessages();
//it fetches all chat messages that are not synced.
Я создаю сервис для синхронизации данных с сервером, и, поскольку он находится в другом потоке, мне нужно открыть другой экземпляр области, чтобы обновить данные локально, чтобы он знал, что данные были синхронизированы
OnSuccessCall Сервиса
Realm innerRealm = Realm.getDefaultInstance();
ChatRepository innerchatRepository = new ChatRepository(innerRealm);
innerchatRepository.updateSyncForChatMessage();
RealmResults<ChatMessage> messages_middle = innerchatRepository.pendingSyncMessages();
При успешном завершении службы объект realmresults правильно отражает изменения, поэтому размер messages_middle меньше, чем сообщения, поскольку данные были синхронизированы, но когда я проверяю размер сообщений вне службы после синхронизации данных, он по-прежнему показывает исходный размер. и исходные данные.