parse-community/ParseLiveQuery-Android

whereMatchesQuery() not working

mkpazon opened this issue · 1 comments

Whenever I include an inner query, onEvents() is not called.

final ParseQuery<ParseObject> messageQuery = ParseQuery.getQuery("ParseMessage");
final ParseQuery<ParseObject> conversationQuery = ParseQuery.getQuery("Conversation");
conversationQuery.whereEqualTo(ParseConstants.OBJECT_ID, mConversationId);
// Removing this will make onEvents be called.
messageQuery.whereMatchesQuery("conversation", conversationQuery);

ParseLiveQueryClient parseLiveQueryClient = ParseLiveQueryClient.Factory.getClient();
SubscriptionHandling<ParseObject> subscriptionHandling = parseLiveQueryClient.subscribe(messageQuery);
subscriptionHandling.handleEvents(new SubscriptionHandling.HandleEventsCallback<ParseObject>() {
            @Override
            public void onEvents(ParseQuery<ParseObject> query, SubscriptionHandling.Event event, ParseObject object) {
                // HANDLING all events
                Timber.d("-> .onEvents");
            }
        });

This is not implemented on parse-server (any query that would imply a lookup in the database). We need a small refactor to make those queries possible (asynchronous ones), as it was initially designed for fast resolution :)