// Path: rxretrofitlibrary/src/main/java/com/wzgiceman/rxretrofitlibrary/retrofit_rx/exception/HttpTimeException.java
// public class HttpTimeException extends RuntimeException {
// 
//     public static final int NO_DATA = 0x2;
// 
//     public HttpTimeException(int resultCode) {
//         this(getApiExceptionMessage(resultCode));
//     }
// 
//     public HttpTimeException(String detailMessage) {
//         super(detailMessage);
//     }
// 
//     /**
//      * 转换错误数据
//      *
//      * @param code
//      * @return
//      */
//     private static String getApiExceptionMessage(int code) {
//         String message = "";
//         switch (code) {
//             case NO_DATA:
//                 message = "无数据";
//                 break;
//             default:
//                 message = "error";
//                 break;
// 
//         }
//         return message;
//     }
// }
// 
// Path: rxretrofitlibrary/src/main/java/com/wzgiceman/rxretrofitlibrary/retrofit_rx/listener/HttpOnNextListener.java
// public abstract class HttpOnNextListener<T> {
//     /**
//      * 成功后回调方法
//      * @param t
//      */
//     public abstract void onNext(T t);
// 
//     /**
//      * 緩存回調結果
//      * @param string
//      */
//     public void onCacheNext(String string){
// 
//     }
// 
//     /**
//      * 成功后的ober返回，扩展链接式调用
//      * @param observable
//      */
//     public void onNext(Observable observable){
// 
//     }
// 
//     /**
//      * 失败或者错误方法
//      * 主动调用，更加灵活
//      * @param e
//      */
//     public  void onError(Throwable e){
// 
//     }
// 
//     /**
//      * 取消回調
//      */
//     public void onCancel(){
// 
//     }
// 
// 
// }


import com.trello.rxlifecycle.components.support.RxAppCompatActivity;
import com.wzgiceman.rxretrofitlibrary.retrofit_rx.exception.HttpTimeException;
import com.wzgiceman.rxretrofitlibrary.retrofit_rx.listener.HttpOnNextListener;
import java.lang.ref.SoftReference;
import retrofit2.Retrofit;
import rx.Observable;
import rx.functions.Func1;
        this.retryCount = retryCount;
    }

    public long getRetryDelay() {
        return retryDelay;
    }

    public void setRetryDelay(long retryDelay) {
        this.retryDelay = retryDelay;
    }

    public long getRetryIncreaseDelay() {
        return retryIncreaseDelay;
    }

    public void setRetryIncreaseDelay(long retryIncreaseDelay) {
        this.retryIncreaseDelay = retryIncreaseDelay;
    }

    /*
         * 获取当前rx生命周期
         * @return
         */
    public RxAppCompatActivity getRxAppCompatActivity() {
        return rxAppCompatActivity.get();
    }

    @Override
    public T call(BaseResultEntity<T> httpResult) {
        if (httpResult.getRet() == 0) {
// Path: rxretrofitlibrary/src/main/java/com/wzgiceman/rxretrofitlibrary/retrofit_rx/exception/HttpTimeException.java
// public class HttpTimeException extends RuntimeException {
// 
//     public static final int NO_DATA = 0x2;
// 
//     public HttpTimeException(int resultCode) {
//         this(getApiExceptionMessage(resultCode));
//     }
// 
//     public HttpTimeException(String detailMessage) {
//         super(detailMessage);
//     }
// 
//     /**
//      * 转换错误数据
//      *
//      * @param code
//      * @return
//      */
//     private static String getApiExceptionMessage(int code) {
//         String message = "";
//         switch (code) {
//             case NO_DATA:
//                 message = "无数据";
//                 break;
//             default:
//                 message = "error";
//                 break;
// 
//         }
//         return message;
//     }
// }
// 
// Path: rxretrofitlibrary/src/main/java/com/wzgiceman/rxretrofitlibrary/retrofit_rx/listener/HttpOnNextListener.java
// public abstract class HttpOnNextListener<T> {
//     /**
//      * 成功后回调方法
//      * @param t
//      */
//     public abstract void onNext(T t);
// 
//     /**
//      * 緩存回調結果
//      * @param string
//      */
//     public void onCacheNext(String string){
// 
//     }
// 
//     /**
//      * 成功后的ober返回，扩展链接式调用
//      * @param observable
//      */
//     public void onNext(Observable observable){
// 
//     }
// 
//     /**
//      * 失败或者错误方法
//      * 主动调用，更加灵活
//      * @param e
//      */
//     public  void onError(Throwable e){
// 
//     }
// 
//     /**
//      * 取消回調
//      */
//     public void onCancel(){
// 
//     }
// 
// 
// }


// Path: rxretrofitlibrary/src/main/java/com/wzgiceman/rxretrofitlibrary/retrofit_rx/Api/BaseApi.java
import com.trello.rxlifecycle.components.support.RxAppCompatActivity;
import com.wzgiceman.rxretrofitlibrary.retrofit_rx.exception.HttpTimeException;
import com.wzgiceman.rxretrofitlibrary.retrofit_rx.listener.HttpOnNextListener;
import java.lang.ref.SoftReference;
import retrofit2.Retrofit;
import rx.Observable;
import rx.functions.Func1;

        this.retryCount = retryCount;
    }

    public long getRetryDelay() {
        return retryDelay;
    }

    public void setRetryDelay(long retryDelay) {
        this.retryDelay = retryDelay;
    }

    public long getRetryIncreaseDelay() {
        return retryIncreaseDelay;
    }

    public void setRetryIncreaseDelay(long retryIncreaseDelay) {
        this.retryIncreaseDelay = retryIncreaseDelay;
    }

    /*
         * 获取当前rx生命周期
         * @return
         */
    public RxAppCompatActivity getRxAppCompatActivity() {
        return rxAppCompatActivity.get();
    }

    @Override
    public T call(BaseResultEntity<T> httpResult) {
        if (httpResult.getRet() == 0) {
            throw new HttpTimeException(httpResult.getMsg());