// Path: library/src/main/java/cn/droidlover/xdroid/net/exception/ResultErrorException.java
// public class ResultErrorException extends IOException {
// 
//     /**
//      * 网络错误
//      */
//     public static final int CODE_HTTP_ERROR = -100;
//     /**
//      * 数据解析失败
//      */
//     public static final int CODE_PARSE_ERROR = -101;
//     /**
//      * 网络连接错误
//      */
//     public static final int CODE_CONNECT_ERROR = -102;
// 
// 
//     public int code;
//     public String msg;
// 
//     public ResultErrorException() {
// 
//     }
// 
//     public ResultErrorException(int code, String msg) {
//         this.code = code;
//         this.msg = msg;
//     }
// 
//     public ResultErrorException(String msg) {
//         this.msg = msg;
//     }
// }
// 
// Path: library/src/main/java/cn/droidlover/xdroid/net/model/SimpleModel.java
// public interface SimpleModel {
// 
//     /**
//      * 数据是否有效
//      *
//      * @return true 有效
//      */
//     boolean isValid();
// 
//     /**
//      * 获取结果码
//      *
//      * @return
//      */
//     int getResultCode();
// 
//     /**
//      * 获取结果信息
//      *
//      * @return
//      */
//     String getResultMsg();
// }


import com.google.gson.Gson;
import com.google.gson.TypeAdapter;
import com.google.gson.stream.JsonReader;
import java.io.IOException;
import cn.droidlover.xdroid.net.exception.ResultErrorException;
import cn.droidlover.xdroid.net.model.SimpleModel;
import okhttp3.ResponseBody;
import retrofit2.Converter;
package cn.droidlover.xdroid.net.converter.gson;




final class GsonResponseBodyConverter<T> implements Converter<ResponseBody, T> {
    private final Gson gson;
    private final TypeAdapter<T> adapter;

    GsonResponseBodyConverter(Gson gson, TypeAdapter<T> adapter) {
        this.gson = gson;
        this.adapter = adapter;
    }

    @Override
    public T convert(ResponseBody value) throws IOException {
        JsonReader jsonReader = gson.newJsonReader(value.charStream());
        try {
            T t = adapter.read(jsonReader);
            if (t instanceof SimpleModel && !((SimpleModel) t).isValid()) {
// Path: library/src/main/java/cn/droidlover/xdroid/net/exception/ResultErrorException.java
// public class ResultErrorException extends IOException {
// 
//     /**
//      * 网络错误
//      */
//     public static final int CODE_HTTP_ERROR = -100;
//     /**
//      * 数据解析失败
//      */
//     public static final int CODE_PARSE_ERROR = -101;
//     /**
//      * 网络连接错误
//      */
//     public static final int CODE_CONNECT_ERROR = -102;
// 
// 
//     public int code;
//     public String msg;
// 
//     public ResultErrorException() {
// 
//     }
// 
//     public ResultErrorException(int code, String msg) {
//         this.code = code;
//         this.msg = msg;
//     }
// 
//     public ResultErrorException(String msg) {
//         this.msg = msg;
//     }
// }
// 
// Path: library/src/main/java/cn/droidlover/xdroid/net/model/SimpleModel.java
// public interface SimpleModel {
// 
//     /**
//      * 数据是否有效
//      *
//      * @return true 有效
//      */
//     boolean isValid();
// 
//     /**
//      * 获取结果码
//      *
//      * @return
//      */
//     int getResultCode();
// 
//     /**
//      * 获取结果信息
//      *
//      * @return
//      */
//     String getResultMsg();
// }


// Path: library/src/main/java/cn/droidlover/xdroid/net/converter/gson/GsonResponseBodyConverter.java
import com.google.gson.Gson;
import com.google.gson.TypeAdapter;
import com.google.gson.stream.JsonReader;
import java.io.IOException;
import cn.droidlover.xdroid.net.exception.ResultErrorException;
import cn.droidlover.xdroid.net.model.SimpleModel;
import okhttp3.ResponseBody;
import retrofit2.Converter;

package cn.droidlover.xdroid.net.converter.gson;




final class GsonResponseBodyConverter<T> implements Converter<ResponseBody, T> {
    private final Gson gson;
    private final TypeAdapter<T> adapter;

    GsonResponseBodyConverter(Gson gson, TypeAdapter<T> adapter) {
        this.gson = gson;
        this.adapter = adapter;
    }

    @Override
    public T convert(ResponseBody value) throws IOException {
        JsonReader jsonReader = gson.newJsonReader(value.charStream());
        try {
            T t = adapter.read(jsonReader);
            if (t instanceof SimpleModel && !((SimpleModel) t).isValid()) {
                throw new ResultErrorException(((SimpleModel) t).getResultCode(), ((SimpleModel) t).getResultMsg());