RequestTest.java 2.98 KB
package com.cnlive.libs.demo;

import android.content.Context;
import android.content.res.Resources;

import com.cnlive.libs.base.model.IBaseInfo;
import com.cnlive.libs.base.network.RetrofitUtil;
import com.cnlive.libs.base.network.Subscriber;
import com.cnlive.libs.demo.data.model.AppInfo;
import com.cnlive.libs.demo.data.network.testapi.ApiRequest;
import com.cnlive.libs.demo.data.network.testapi.ApiService;

import io.reactivex.disposables.Disposable;
import okhttp3.RequestBody;


public class RequestTest {

    //---- Api Config Start ---
    public static final String success_code = "200";
    private static final String success_message = Resources.getSystem().getString(com.cnlive.libs.base.R.string.load_success_message);

    private static final String custom_error = "401";
    private static final String custom_response_message = Resources.getSystem().getString(com.cnlive.libs.base.R.string.custom_response_message);

    static {
        RetrofitUtil.setDebug(com.cnlive.libs.demo.Config.debug);
    }

    private static final Subscriber.CustomLoadResponse customLoadResponse = new Subscriber.CustomLoadResponse() {
        @Override
        public void onCustomEvent(String code, IBaseInfo pageData) {
            switch (code) {
                case custom_error:
                    //Custom Error Event
                    break;
            }
        }
    };

    private static final Subscriber.Config subscriberBuild = Subscriber.newConfig()
            .putCustomResponse(custom_error, custom_response_message)
            .putInfo(Subscriber.Config.response_success, success_code, success_message)
            .setCustomLoadResponse(customLoadResponse);

    //---- Api Config End ---
    public void test(Context context) {
        RequestBody requestBody = ApiRequest.getRequestJsonBody("");

        Disposable subscription = ApiRequest.subscribe(
                ApiRequest.getService(ApiService.class).appInfo(com.cnlive.libs.demo.Config.APP_ID),
                new Subscriber<AppInfo>(context, subscriberBuild) {
                    @Override
                    public void onStart() {

                    }

                    @Override
                    public void onError(String code, String message) {
                        switch (code) {
                            case success_code:
                                break;
                            case Config.default_error_code:
                                break;
                            case Config.default_failure_code:
                                break;
                            case Config.default_unknown_error_code:
                                break;
                            case Config.default_no_network_code:
                                break;
                        }
                    }

                    @Override
                    public void onCompleted(String code, String message, AppInfo data) {

                    }
                }
        );

        subscription.dispose();
    }
}