// Path: codesslib/src/main/java/ykooze/ayaseruri/codesslib/cache/CacheUtils.java
// public class CacheUtils {
// 
//     private static volatile HashMap<String, Object> sMemoryCache;
// 
//     public static void putMemory(String key, Object value){
//         initMemoryCache();
//         sMemoryCache.put(key, value);
//     }
// 
//     public static <T extends Object & Serializable> void putDisk(Context context, String key, T t){
//         initMemoryCache();
//         sMemoryCache.put(key, t);
//         SerializeUtils.serializationSync(context, key, t);
//     }
// 
//     public static Object get(Context context, String key, boolean delete){
//         initMemoryCache();
//         if(sMemoryCache.containsKey(key)){
//             return sMemoryCache.get(key);
//         }else {
//             Object object = null;
//             try {
//                  object = SerializeUtils.deserializationSync(context, key, delete);
//                 if(null != object && !delete){
//                     sMemoryCache.put(key, object);
//                 }
//             } catch (Exception e) {
//                 e.printStackTrace();
//             }
//             return object;
//         }
//     }
// 
//     public static void delete(Context context, String key){
//         initMemoryCache();
//         if(sMemoryCache.containsKey(key)){
//             sMemoryCache.remove(key);
//         }
// 
//         try {
//             SerializeUtils.deserializationSync(context, key, true);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     public static void deleteAll(){
//         sMemoryCache = null;
//         initMemoryCache();
//     }
// 
//     private static void initMemoryCache(){
//         if(null == sMemoryCache){
//             synchronized (CacheUtils.class){
//                 if(null == sMemoryCache){
//                     sMemoryCache = new HashMap<>();
//                 }
//             }
//         }
//     }
// }


import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import android.content.Context;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
import ykooze.ayaseruri.codesslib.cache.CacheUtils;

                    if(!alreadHave){
                        serializabledCookies.add(new SerializableOkHttpCookies(cookie));
                    }
                }
            }else {
                serializabledCookies = new ArrayList<>(cookies.size());
                for(Cookie cookie : cookies){
                    serializabledCookies.add(new SerializableOkHttpCookies(cookie));
                }
            }

            CacheUtils.putDisk(mContext, url.host(), serializabledCookies);
        }
    }

    @Override
    public List<Cookie> loadForRequest(HttpUrl url) {
        final List<SerializableOkHttpCookies> serializableOkHttpCookies =  getSerializableCookies(url);
        return null == serializableOkHttpCookies ? Collections.<Cookie>emptyList() : new ArrayList<Cookie>
                (serializableOkHttpCookies.size()){
            {
                for (SerializableOkHttpCookies temp : serializableOkHttpCookies){
                    add(temp.getCookies());
                }
            }
        };
    }

    private ArrayList<SerializableOkHttpCookies> getSerializableCookies(HttpUrl url){
// Path: codesslib/src/main/java/ykooze/ayaseruri/codesslib/cache/CacheUtils.java
// public class CacheUtils {
// 
//     private static volatile HashMap<String, Object> sMemoryCache;
// 
//     public static void putMemory(String key, Object value){
//         initMemoryCache();
//         sMemoryCache.put(key, value);
//     }
// 
//     public static <T extends Object & Serializable> void putDisk(Context context, String key, T t){
//         initMemoryCache();
//         sMemoryCache.put(key, t);
//         SerializeUtils.serializationSync(context, key, t);
//     }
// 
//     public static Object get(Context context, String key, boolean delete){
//         initMemoryCache();
//         if(sMemoryCache.containsKey(key)){
//             return sMemoryCache.get(key);
//         }else {
//             Object object = null;
//             try {
//                  object = SerializeUtils.deserializationSync(context, key, delete);
//                 if(null != object && !delete){
//                     sMemoryCache.put(key, object);
//                 }
//             } catch (Exception e) {
//                 e.printStackTrace();
//             }
//             return object;
//         }
//     }
// 
//     public static void delete(Context context, String key){
//         initMemoryCache();
//         if(sMemoryCache.containsKey(key)){
//             sMemoryCache.remove(key);
//         }
// 
//         try {
//             SerializeUtils.deserializationSync(context, key, true);
//         } catch (Exception e) {
//             e.printStackTrace();
//         }
//     }
// 
//     public static void deleteAll(){
//         sMemoryCache = null;
//         initMemoryCache();
//     }
// 
//     private static void initMemoryCache(){
//         if(null == sMemoryCache){
//             synchronized (CacheUtils.class){
//                 if(null == sMemoryCache){
//                     sMemoryCache = new HashMap<>();
//                 }
//             }
//         }
//     }
// }


// Path: app/src/main/java/com/x/vscam/global/net/CookiesManager.java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import android.content.Context;
import okhttp3.Cookie;
import okhttp3.CookieJar;
import okhttp3.HttpUrl;
import ykooze.ayaseruri.codesslib.cache.CacheUtils;


                    if(!alreadHave){
                        serializabledCookies.add(new SerializableOkHttpCookies(cookie));
                    }
                }
            }else {
                serializabledCookies = new ArrayList<>(cookies.size());
                for(Cookie cookie : cookies){
                    serializabledCookies.add(new SerializableOkHttpCookies(cookie));
                }
            }

            CacheUtils.putDisk(mContext, url.host(), serializabledCookies);
        }
    }

    @Override
    public List<Cookie> loadForRequest(HttpUrl url) {
        final List<SerializableOkHttpCookies> serializableOkHttpCookies =  getSerializableCookies(url);
        return null == serializableOkHttpCookies ? Collections.<Cookie>emptyList() : new ArrayList<Cookie>
                (serializableOkHttpCookies.size()){
            {
                for (SerializableOkHttpCookies temp : serializableOkHttpCookies){
                    add(temp.getCookies());
                }
            }
        };
    }

    private ArrayList<SerializableOkHttpCookies> getSerializableCookies(HttpUrl url){
        return (ArrayList<SerializableOkHttpCookies>) CacheUtils.get