Search in sources :

Example 1 with Event

use of com.nutomic.syncthingandroid.model.Event in project syncthing-android by syncthing.

the class RestApi method getEvents.

/**
 * Retrieves the events that have accumulated since the given event id.
 *
 * The OnReceiveEventListeners onEvent method is called for each event.
 */
public final void getEvents(final long sinceId, final long limit, final OnReceiveEventListener listener) {
    Map<String, String> params = ImmutableMap.of("since", String.valueOf(sinceId), "limit", String.valueOf(limit));
    new GetRequest(mContext, mUrl, GetRequest.URI_EVENTS, mApiKey, params, result -> {
        JsonArray jsonEvents = new JsonParser().parse(result).getAsJsonArray();
        long lastId = 0;
        for (int i = 0; i < jsonEvents.size(); i++) {
            JsonElement json = jsonEvents.get(i);
            Event event = new Gson().fromJson(json, Event.class);
            if (lastId < event.id)
                lastId = event.id;
            listener.onEvent(event);
        }
        listener.onDone(lastId);
    });
}
Also used : JsonArray(com.google.gson.JsonArray) JsonElement(com.google.gson.JsonElement) GetRequest(com.nutomic.syncthingandroid.http.GetRequest) Event(com.nutomic.syncthingandroid.model.Event) Gson(com.google.gson.Gson) JsonParser(com.google.gson.JsonParser)

Aggregations

Gson (com.google.gson.Gson)1 JsonArray (com.google.gson.JsonArray)1 JsonElement (com.google.gson.JsonElement)1 JsonParser (com.google.gson.JsonParser)1 GetRequest (com.nutomic.syncthingandroid.http.GetRequest)1 Event (com.nutomic.syncthingandroid.model.Event)1