diff --git a/app/src/androidTest/java/com/hippo/ehviewer/CookieDBTest.java b/app/src/androidTest/java/com/hippo/ehviewer/CookieDBTest.java
index f46a9f3a0..128df76d9 100644
--- a/app/src/androidTest/java/com/hippo/ehviewer/CookieDBTest.java
+++ b/app/src/androidTest/java/com/hippo/ehviewer/CookieDBTest.java
@@ -16,38 +16,7 @@
package com.hippo.ehviewer;
-import com.hippo.okhttp.CookieDB;
-
-import junit.framework.Assert;
import junit.framework.TestCase;
public class CookieDBTest extends TestCase {
-
- private static final String[] TEST_DOMAIN = {
- null,
- "",
- "asdfghjkl",
- "asdfghjkl.sds",
- "asdfghjkl.sds.sddddd",
- "asdfghjkl.sds.sddddd.aaaaa",
- "asdfghjkl.sds.sddddd.",
- "asdfghjkl.sds..",
- };
-
- private static final String[] TEST_COOKIES_DOMAIN = {
- "",
- "",
- "asdfghjkl",
- "asdfghjkl.sds",
- "sds.sddddd",
- "sddddd.aaaaa",
- "sddddd.",
- ".",
- };
-
- public void testCookiesDomain() {
- for (int i = 0; i < TEST_DOMAIN.length; i++) {
- Assert.assertEquals(TEST_COOKIES_DOMAIN[i], CookieDB.cookiesDomain(TEST_DOMAIN[i]));
- }
- }
}
diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.java b/app/src/main/java/com/hippo/ehviewer/Settings.java
index 77f11f22c..ea92df9d5 100644
--- a/app/src/main/java/com/hippo/ehviewer/Settings.java
+++ b/app/src/main/java/com/hippo/ehviewer/Settings.java
@@ -20,16 +20,25 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
+import com.hippo.ehviewer.client.EhConfig;
import com.hippo.yorozuya.NumberUtils;
public class Settings {
private static Context sContext;
private static SharedPreferences sSettingsPre;
+ private static EhConfig sEhConfig;
public static void initialize(Context context) {
sContext = context.getApplicationContext();
sSettingsPre = PreferenceManager.getDefaultSharedPreferences(sContext);
+ sEhConfig = loadEhConfig();
+ }
+
+ private static EhConfig loadEhConfig() {
+ EhConfig ehConfig= new EhConfig();
+ // TODO
+ return ehConfig;
}
public static boolean getBoolean(String key, boolean defValue) {
@@ -101,4 +110,14 @@ public class Settings {
public static void putShowWarning(boolean value) {
putBoolean(KEY_SHOW_WARNING, value);
}
+
+
+
+ public static EhConfig getEhConfig() {
+ return sEhConfig;
+ }
+
+
+
+
}
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhConfig.java b/app/src/main/java/com/hippo/ehviewer/client/EhConfig.java
index 28f696e0e..220618049 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhConfig.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhConfig.java
@@ -488,7 +488,7 @@ public class EhConfig implements Cloneable {
* key: {@link #KEY_PREVIEW_SIZE}
* value: {@link #PREVIEW_SIZE_NORMAL}, {@link #PREVIEW_SIZE_LARGE}
*/
- public String previewSize = PREVIEW_SIZE_NORMAL;
+ public String previewSize = PREVIEW_SIZE_LARGE;
/**
* Preview row
@@ -650,16 +650,12 @@ public class EhConfig implements Cloneable {
KEY_MULTI_PAGE_THUMB + "_" + multiPageThumb;
}
- /*
- public void fillCookie(Cookie cookie) {
+ public String uconfig() {
if (mDirty) {
mDirty = false;
updateUconfig();
}
- cookie.put(KEY_UCONFIG, mUconfig);
- cookie.put(KEY_LOFI_RESOLUTION, lofiResolution);
- cookie.put(KEY_CONTENT_WARNING, contentWarning);
+ return mUconfig;
}
- */
}
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhCookieStore.java b/app/src/main/java/com/hippo/ehviewer/client/EhCookieStore.java
index d3132df53..8e79ebfd2 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhCookieStore.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhCookieStore.java
@@ -19,10 +19,12 @@ package com.hippo.ehviewer.client;
import com.hippo.okhttp.CookieDBStore;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import okhttp3.Cookie;
import okhttp3.HttpUrl;
+import okhttp3.Request;
public class EhCookieStore extends CookieDBStore {
@@ -61,19 +63,52 @@ public class EhCookieStore extends CookieDBStore {
return builder.build();
}
+ @Override
+ public List loadForRequest(HttpUrl url, Request request) {
+ List cookies = super.loadForRequest(url, request);
+ Object tag = request.tag();
+
+ if (url.host().equals(EhUrl.DOMAIN_EX) && tag instanceof EhConfig) {
+ EhConfig ehConfig = (EhConfig) tag;
+
+ List result = new ArrayList<>(cookies.size() + 1);
+ // Add all but skip uconfig
+ for (Cookie cookie: cookies) {
+ if (EhConfig.KEY_UCONFIG.equals(cookie.name())) {
+ continue;
+ }
+ result.add(cookie);
+ }
+ // Add uconfig from EhConfig
+ Cookie uconfigCookie = new Cookie.Builder()
+ .name(EhConfig.KEY_UCONFIG)
+ .value(ehConfig.uconfig())
+ .domain(EhUrl.DOMAIN_EX)
+ .path("/")
+ .build();
+ result.add(uconfigCookie);
+
+ return Collections.unmodifiableList(result);
+ } else {
+ return cookies;
+ }
+ }
+
@Override
public void saveFromResponse(HttpUrl url, List cookies) {
- List cs = new ArrayList<>(cookies.size() + 2);
+ List result = new ArrayList<>(cookies.size() + 2);
for (Cookie cookie: cookies) {
- cs.add(cookie);
+ result.add(cookie);
+
+ // Save id and hash for exhentai
if (EhUrl.DOMAIN_E.equals(cookie.domain()) &&
(KEY_IPD_MEMBER_ID.equals(cookie.name()) ||
KEY_IPD_PASS_HASH.equals(cookie.name()))) {
- cs.add(newCookie(cookie, EhUrl.DOMAIN_EX));
+ result.add(newCookie(cookie, EhUrl.DOMAIN_EX));
}
}
- super.saveFromResponse(url, cs);
+ super.saveFromResponse(url, Collections.unmodifiableList(result));
}
}
diff --git a/app/src/main/java/com/hippo/ehviewer/client/EhRequestBuilder.java b/app/src/main/java/com/hippo/ehviewer/client/EhRequestBuilder.java
index 78a533ef7..ec681f78b 100644
--- a/app/src/main/java/com/hippo/ehviewer/client/EhRequestBuilder.java
+++ b/app/src/main/java/com/hippo/ehviewer/client/EhRequestBuilder.java
@@ -16,14 +16,17 @@
package com.hippo.ehviewer.client;
+import com.hippo.ehviewer.Settings;
import com.hippo.okhttp.ChromeRequestBuilder;
public class EhRequestBuilder extends ChromeRequestBuilder {
public EhRequestBuilder(String url) {
- super(url);
+ this(url, Settings.getEhConfig());
}
-
-
+ public EhRequestBuilder(String url, EhConfig ehConfig) {
+ super(url);
+ tag(ehConfig);
+ }
}
diff --git a/beerbelly b/beerbelly
index 6163029f6..f13aeed90 160000
--- a/beerbelly
+++ b/beerbelly
@@ -1 +1 @@
-Subproject commit 6163029f62204bd090e75ba9dc87b62485383572
+Subproject commit f13aeed90431e50b6a06951c6a24411b866f1bbe
diff --git a/cardsalon b/cardsalon
index 59b2b3618..0ea892e7e 160000
--- a/cardsalon
+++ b/cardsalon
@@ -1 +1 @@
-Subproject commit 59b2b3618713a569d937790337f3512552fbf9c1
+Subproject commit 0ea892e7ec34131d87cb9e91a939ede2cad0b6c5
diff --git a/conaco b/conaco
index a6d0f5a7a..becb4a8c4 160000
--- a/conaco
+++ b/conaco
@@ -1 +1 @@
-Subproject commit a6d0f5a7a6232941af33cccd0ec1a2107140fd1d
+Subproject commit becb4a8c420476198d1cb63d894ca4e599e7195d
diff --git a/yorozuya b/yorozuya
index 8d2a07ead..cd9bd4ca5 160000
--- a/yorozuya
+++ b/yorozuya
@@ -1 +1 @@
-Subproject commit 8d2a07ead62485d09223ded67176e924779af2da
+Subproject commit cd9bd4ca50123d53e599c3d19955ea33f871ed6f