Search in sources :

Example 6 with GetRequest

use of com.nutomic.syncthingandroid.http.GetRequest in project syncthing-android by syncthing.

the class RestApi method getModel.

/**
 * Returns status information about the folder with the given id.
 */
public void getModel(final String folderId, final OnResultListener2<String, Model> listener) {
    new GetRequest(mContext, mUrl, GetRequest.URI_MODEL, mApiKey, ImmutableMap.of("folder", folderId), result -> {
        Model m = new Gson().fromJson(result, Model.class);
        mCachedModelInfo.put(folderId, m);
        listener.onResult(folderId, m);
    });
}
Also used : GetRequest(com.nutomic.syncthingandroid.http.GetRequest) Model(com.nutomic.syncthingandroid.model.Model) Gson(com.google.gson.Gson)

Example 7 with GetRequest

use of com.nutomic.syncthingandroid.http.GetRequest 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)

Example 8 with GetRequest

use of com.nutomic.syncthingandroid.http.GetRequest in project syncthing-android by syncthing.

the class RestApi method normalizeDeviceId.

/**
 * Normalizes a given device ID.
 */
private void normalizeDeviceId(String id, OnResultListener1<String> listener, OnResultListener1<String> errorListener) {
    new GetRequest(mContext, mUrl, GetRequest.URI_DEVICEID, mApiKey, ImmutableMap.of("id", id), result -> {
        JsonObject json = new JsonParser().parse(result).getAsJsonObject();
        JsonElement normalizedId = json.get("id");
        JsonElement error = json.get("error");
        if (normalizedId != null)
            listener.onResult(normalizedId.getAsString());
        if (error != null)
            errorListener.onResult(error.getAsString());
    });
}
Also used : JsonElement(com.google.gson.JsonElement) GetRequest(com.nutomic.syncthingandroid.http.GetRequest) JsonObject(com.google.gson.JsonObject) JsonParser(com.google.gson.JsonParser)

Example 9 with GetRequest

use of com.nutomic.syncthingandroid.http.GetRequest in project syncthing-android by syncthing.

the class RestApi method getUsageReport.

/**
 * Returns prettyfied usage report.
 */
public void getUsageReport(final OnResultListener1<String> listener) {
    new GetRequest(mContext, mUrl, GetRequest.URI_REPORT, mApiKey, null, result -> {
        JsonElement json = new JsonParser().parse(result);
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        listener.onResult(gson.toJson(json));
    });
}
Also used : GsonBuilder(com.google.gson.GsonBuilder) JsonElement(com.google.gson.JsonElement) GetRequest(com.nutomic.syncthingandroid.http.GetRequest) Gson(com.google.gson.Gson) JsonParser(com.google.gson.JsonParser)

Example 10 with GetRequest

use of com.nutomic.syncthingandroid.http.GetRequest in project syncthing-android by syncthing.

the class RestApi method getSystemVersion.

/**
 * Requests and parses system version information.
 */
public void getSystemVersion(OnResultListener1<SystemVersion> listener) {
    new GetRequest(mContext, mUrl, GetRequest.URI_VERSION, mApiKey, null, result -> {
        SystemVersion systemVersion = new Gson().fromJson(result, SystemVersion.class);
        listener.onResult(systemVersion);
    });
}
Also used : GetRequest(com.nutomic.syncthingandroid.http.GetRequest) Gson(com.google.gson.Gson) SystemVersion(com.nutomic.syncthingandroid.model.SystemVersion)

Aggregations

GetRequest (com.nutomic.syncthingandroid.http.GetRequest)10 Gson (com.google.gson.Gson)7 JsonParser (com.google.gson.JsonParser)7 JsonObject (com.google.gson.JsonObject)5 JsonElement (com.google.gson.JsonElement)4 GsonBuilder (com.google.gson.GsonBuilder)2 JsonArray (com.google.gson.JsonArray)2 BuildConfig (com.nutomic.syncthingandroid.BuildConfig)2 Config (com.nutomic.syncthingandroid.model.Config)2 Event (com.nutomic.syncthingandroid.model.Event)2 FolderStatus (com.nutomic.syncthingandroid.model.FolderStatus)2 SystemVersion (com.nutomic.syncthingandroid.model.SystemVersion)2 HashSet (java.util.HashSet)2 Context (android.content.Context)1 Intent (android.content.Intent)1 PreferenceManager (android.preference.PreferenceManager)1 Log (android.util.Log)1 Objects (com.google.common.base.Objects)1 Optional (com.google.common.base.Optional)1 ImmutableMap (com.google.common.collect.ImmutableMap)1