Android Open Source - octodroid Response






From Project

Back to project page octodroid.

License

The source code is released under:

MIT License

If you think the Android project octodroid listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.rejasupotaro.octodroid.http;
//from w ww.  jav  a 2s .  com
import android.text.TextUtils;

import com.google.gson.JsonSyntaxException;
import com.google.gson.reflect.TypeToken;
import com.rejasupotaro.octodroid.GsonProvider;
import com.squareup.okhttp.Headers;

import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;

import rx.Observable;

public class Response<T> {
    private T entity;
    private Headers headers;
    private int code;
    private String body;
    private Observable<Response<T>> next;
    private Pagination pagination;

    public T entity() {
        return entity;
    }

    public Headers headers() {
        return headers;
    }

    public int code() {
        return code;
    }

    public boolean isSuccessful() {
        return code >= 200 && code < 300;
    }

    public String body() {
        return body;
    }

    public int nextPage() {
        return pagination.getNextLink().getPage();
    }

    public Observable<Response<T>> next() {
        return next;
    }

    public boolean hasNext() {
        return pagination.hasNext();
    }

    public void next(Observable<Response<T>> next) {
        this.next = next;
    }

    public JSONObject bodyAsJson() {
        if (TextUtils.isEmpty(body)) {
            return new JSONObject();
        }

        try {
            return new JSONObject(body);
        } catch (JSONException e) {
            return new JSONObject();
        }
    }

    public static <T> Response<T> parse(com.squareup.okhttp.Response r, TypeToken<T> type) throws IOException {
        String bodyString = r.body().string();
        Headers headers = r.headers();

        Response<T> response = new Response<>();
        try {
            response.entity = GsonProvider.get().fromJson(
                    bodyString,
                    type.getType());
        } catch (JsonSyntaxException e) {
            throw new JsonSyntaxException("Can't instantiate " + type.getRawType().getName() + " from " + bodyString);
        }
        response.headers = headers;
        response.code = r.code();
        response.body = bodyString;
        response.pagination = PaginationHeaderParser.parse(response);

        return response;
    }
}




Java Source Code List

com.example.octodroid.ApplicationTest.java
com.example.octodroid.MyApplication.java
com.example.octodroid.SessionPrefsSchema.java
com.example.octodroid.activities.LoginActivity.java
com.example.octodroid.activities.MainActivity.java
com.example.octodroid.activities.SearchResultActivity.java
com.example.octodroid.adapters.HottestRepositoryAdapter.java
com.example.octodroid.adapters.SearchResultAdapter.java
com.example.octodroid.views.DividerItemDecoration.java
com.example.octodroid.views.MoreLoadScrollListener.java
com.example.octodroid.views.ProfileView.java
com.example.octodroid.views.helpers.ProgressDialogHelper.java
com.example.octodroid.views.helpers.ToastHelper.java
com.example.octodroid.views.holders.ProgressViewHolder.java
com.example.octodroid.views.holders.RepositoryItemViewHolder.java
com.rejasupotaro.octodroid.ApplicationTest.java
com.rejasupotaro.octodroid.AuthenticationRequired.java
com.rejasupotaro.octodroid.ConnectivityObserver.java
com.rejasupotaro.octodroid.GitHubClient.java
com.rejasupotaro.octodroid.GitHub.java
com.rejasupotaro.octodroid.GsonProvider.java
com.rejasupotaro.octodroid.http.AbstractClient.java
com.rejasupotaro.octodroid.http.ApiClient.java
com.rejasupotaro.octodroid.http.CacheControl.java
com.rejasupotaro.octodroid.http.Header.java
com.rejasupotaro.octodroid.http.Link.java
com.rejasupotaro.octodroid.http.Method.java
com.rejasupotaro.octodroid.http.PaginationHeaderParserTest.java
com.rejasupotaro.octodroid.http.PaginationHeaderParser.java
com.rejasupotaro.octodroid.http.Pagination.java
com.rejasupotaro.octodroid.http.RequestCreator.java
com.rejasupotaro.octodroid.http.Response.java
com.rejasupotaro.octodroid.http.params.All.java
com.rejasupotaro.octodroid.http.params.Order.java
com.rejasupotaro.octodroid.http.params.Participating.java
com.rejasupotaro.octodroid.http.params.Sort.java
com.rejasupotaro.octodroid.http.params.Type.java
com.rejasupotaro.octodroid.models.Notification.java
com.rejasupotaro.octodroid.models.Plan.java
com.rejasupotaro.octodroid.models.Repository.java
com.rejasupotaro.octodroid.models.Resource.java
com.rejasupotaro.octodroid.models.SearchResult.java
com.rejasupotaro.octodroid.models.Subject.java
com.rejasupotaro.octodroid.models.User.java