app/src/main/java/me/zhanghai/android/douya/network/api/TokenRequest.java

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

/*
 * Copyright (c) 2015 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
 * All Rights Reserved.
 */

package me.zhanghai.android.douya.network.api;

import com.android.volley.DefaultRetryPolicy;
import com.android.volley.NetworkResponse;
import com.android.volley.ParseError;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.HttpHeaderParser;

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

import java.io.UnsupportedEncodingException;

import me.zhanghai.android.douya.network.Request;
import me.zhanghai.android.douya.network.api.credential.ApiCredential;

public class TokenRequest extends Request<TokenRequest.Result> {

    private TokenRequest() {
        super(Method.POST, ApiContract.Request.Token.URL);

        addParam(ApiContract.Request.Token.CLIENT_ID, ApiCredential.Frodo.KEY);
        addParam(ApiContract.Request.Token.CLIENT_SECRET, ApiCredential.Frodo.SECRET);
        addParam(ApiContract.Request.Token.REDIRECT_URI,
                ApiContract.Request.Token.RedirectUris.FRODO);

        addHeaderUserAgent(ApiContract.Request.Frodo.USER_AGENT);
        addHeaderAcceptCharsetUtf8();

        setRetryPolicy(new RetryPolicy(2500, 1, 1.0f));
    }

    public TokenRequest(String username, String password) {
        this();

        addParam(ApiContract.Request.Token.GRANT_TYPE,
                ApiContract.Request.Token.GrantTypes.PASSWORD);
        addParam(ApiContract.Request.Token.USERNAME, username);
        addParam(ApiContract.Request.Token.PASSWORD, password);

        setRetryPolicy(new RetryPolicy(20000, 0, 1.0f));
    }

    public TokenRequest(String refreshToken) {
        this();

        addParam(ApiContract.Request.Token.GRANT_TYPE,
                ApiContract.Request.Token.GrantTypes.REFRESH_TOKEN);
        addParam(ApiContract.Request.Token.REFRESH_TOKEN, refreshToken);
    }

    @Override
    protected Response<Result> parseNetworkResponse(NetworkResponse response) {
        try {
后面还有 82 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。