// Path: app/src/main/java/ooo/oxo/excited/model/NewData.java
// public class NewData {
// 
//     public List<Channel> channels;
//     public List<Card> cards;
//     public List<Card> timeline;
//     public User user;
//     public VoteCard voteCard;
//     @SerializedName("setFollowState")
//     public Follow followState;
//     public Card card;
//     public PreviewCard previewCard;
//     @SerializedName("addWebCard")
//     public AddCard webCard;
//     @SerializedName("addImageCard")
//     public AddCard imageCard;
// 
// }
// 
// Path: app/src/main/java/ooo/oxo/excited/utils/PreferenceManager.java
// public class PreferenceManager {
// 
//     private static final String PREFS_NAME = "aja";
// 
//     private static SharedPreferences preferences(Context context) {
//         return context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
//     }
// 
//     private static SharedPreferences.Editor edit(Context context) {
//         return preferences(context).edit();
//     }
// 
//     public static void putString(Context context, String key, String value) {
//         edit(context).putString(key, value).apply();
//     }
// 
//     public static String getValue(Context context, String key) {
//         return preferences(context).getString(key, null);
//     }
// 
//     public static String getValue(Context context, String key, String defaultValue) {
//         return preferences(context).getString(key, defaultValue);
//     }
// }
// 
// Path: app/src/main/java/ooo/oxo/excited/utils/UUIDUtils.java
// public class UUIDUtils {
// 
//     public static String randomUUID() {
//         return UUID.randomUUID().toString();
//     }
// 
//     public static String saveUUID(Context context) {
//         String uuid = randomUUID();
//         PreferenceManager.putString(context, LoginActivity.RANDOM_UUID, uuid);
//         return uuid;
//     }
// }
// 
// Path: app/src/main/java/ooo/oxo/excited/LoginActivity.java
// public static final String RANDOM_UUID = "uuid";
// 
// Path: app/src/main/java/ooo/oxo/excited/LoginActivity.java
// public static final String TOKEN = "token";


import android.content.Context;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ooo.oxo.excited.model.NewData;
import ooo.oxo.excited.utils.PreferenceManager;
import ooo.oxo.excited.utils.UUIDUtils;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
import static ooo.oxo.excited.LoginActivity.RANDOM_UUID;
import static ooo.oxo.excited.LoginActivity.TOKEN;

package ooo.oxo.excited;






/**
 * Created by zsj on 2016/10/17.
 */

public class ExcitedRetrofit {

    private Map<Class, Object> apis = new HashMap<>();

    private Retrofit retrofit;

    private Gson gson;

    public ExcitedRetrofit(final Context context) {

        OkHttpClient.Builder builder = new OkHttpClient.Builder();
        builder.connectTimeout(15, TimeUnit.SECONDS);
        builder.readTimeout(20, TimeUnit.SECONDS);
        builder.addInterceptor(chain -> {
            Request originalRequest = chain.request();

            String token = PreferenceManager.getValue(context, TOKEN);

// Path: app/src/main/java/ooo/oxo/excited/model/NewData.java
// public class NewData {
// 
//     public List<Channel> channels;
//     public List<Card> cards;
//     public List<Card> timeline;
//     public User user;
//     public VoteCard voteCard;
//     @SerializedName("setFollowState")
//     public Follow followState;
//     public Card card;
//     public PreviewCard previewCard;
//     @SerializedName("addWebCard")
//     public AddCard webCard;
//     @SerializedName("addImageCard")
//     public AddCard imageCard;
// 
// }
// 
// Path: app/src/main/java/ooo/oxo/excited/utils/PreferenceManager.java
// public class PreferenceManager {
// 
//     private static final String PREFS_NAME = "aja";
// 
//     private static SharedPreferences preferences(Context context) {
//         return context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
//     }
// 
//     private static SharedPreferences.Editor edit(Context context) {
//         return preferences(context).edit();
//     }
// 
//     public static void putString(Context context, String key, String value) {
//         edit(context).putString(key, value).apply();
//     }
// 
//     public static String getValue(Context context, String key) {
//         return preferences(context).getString(key, null);
//     }
// 
//     public static String getValue(Context context, String key, String defaultValue) {
//         return preferences(context).getString(key, defaultValue);
//     }
// }
// 
// Path: app/src/main/java/ooo/oxo/excited/utils/UUIDUtils.java
// public class UUIDUtils {
// 
//     public static String randomUUID() {
//         return UUID.randomUUID().toString();
//     }
// 
//     public static String saveUUID(Context context) {
//         String uuid = randomUUID();
//         PreferenceManager.putString(context, LoginActivity.RANDOM_UUID, uuid);
//         return uuid;
//     }
// }
// 
// Path: app/src/main/java/ooo/oxo/excited/LoginActivity.java
// public static final String RANDOM_UUID = "uuid";
// 
// Path: app/src/main/java/ooo/oxo/excited/LoginActivity.java
// public static final String TOKEN = "token";


// Path: app/src/main/java/ooo/oxo/excited/ExcitedRetrofit.java
import android.content.Context;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import ooo.oxo.excited.model.NewData;
import ooo.oxo.excited.utils.PreferenceManager;
import ooo.oxo.excited.utils.UUIDUtils;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava.RxJavaCallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;
import static ooo.oxo.excited.LoginActivity.RANDOM_UUID;
import static ooo.oxo.excited.LoginActivity.TOKEN;

package ooo.oxo.excited;






/**
 * Created by zsj on 2016/10/17.
 */

public class ExcitedRetrofit {

    private Map<Class, Object> apis = new HashMap<>();

    private Retrofit retrofit;

    private Gson gson;

    public ExcitedRetrofit(final Context context) {

        OkHttpClient.Builder builder = new OkHttpClient.Builder();
        builder.connectTimeout(15, TimeUnit.SECONDS);
        builder.readTimeout(20, TimeUnit.SECONDS);
        builder.addInterceptor(chain -> {
            Request originalRequest = chain.request();

            String token = PreferenceManager.getValue(context, TOKEN);

            String uuid = PreferenceManager.getValue(context, RANDOM_UUID);
