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 меньше, чем сообщения, поскольку данные были синхронизированы, но когда я проверяю размер сообщений вне службы после синхронизации данных, он по-прежнему показывает исходный размер. и исходные данные.

0 ответов

Другие вопросы по тегам