package ar.rulosoft.navegadores; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import okhttp3.Cookie; import okhttp3.CookieJar; import okhttp3.HttpUrl; public class VolatileCookieJar implements CookieJar { private final HashMap<HttpUrl, List<Cookie>> cookieStore = new HashMap<>(); private final ArrayList<Cookie> cookies = new ArrayList(); // just because only for login public boolean contain(String key) { for (Cookie c : cookies) { if (c.name().equals(key)) { return true; } } return false; } @Override public void saveFromResponse(HttpUrl url, List<Cookie> cookies) { cookieStore.put(url, cookies); for (Cookie c : cookies) { if (!this.cookies.contains(c)) { this.cookies.add(c); } } } @Override public List<Cookie> loadForRequest(HttpUrl url) { List<Cookie> cookies = cookieStore.get(url); return cookies != null ? cookies : new ArrayList<Cookie>(); } }