diff --git a/client/src/main/java/ctbrec/ui/sites/jasmin/LiveJasminSiteUi.java b/client/src/main/java/ctbrec/ui/sites/jasmin/LiveJasminSiteUi.java index d40f7c2d..51b3d5bd 100644 --- a/client/src/main/java/ctbrec/ui/sites/jasmin/LiveJasminSiteUi.java +++ b/client/src/main/java/ctbrec/ui/sites/jasmin/LiveJasminSiteUi.java @@ -50,8 +50,9 @@ public class LiveJasminSiteUi extends AbstractSiteUi { renew = true; } - boolean automaticLogin = liveJasmin.login(); - if (automaticLogin && !renew) { + boolean automaticLogin = liveJasmin.login(renew); + if (automaticLogin) { + lastLoginTime = System.currentTimeMillis(); return true; } else { lastLoginTime = System.currentTimeMillis(); diff --git a/common/src/main/java/ctbrec/sites/jasmin/LiveJasmin.java b/common/src/main/java/ctbrec/sites/jasmin/LiveJasmin.java index a00b900f..9866f68d 100644 --- a/common/src/main/java/ctbrec/sites/jasmin/LiveJasmin.java +++ b/common/src/main/java/ctbrec/sites/jasmin/LiveJasmin.java @@ -192,7 +192,7 @@ public class LiveJasmin extends AbstractSite { } private LiveJasminHttpClient getLiveJasminHttpClient() { - return (LiveJasminHttpClient) httpClient; + return (LiveJasminHttpClient) getHttpClient(); } @Override @@ -210,4 +210,8 @@ public class LiveJasmin extends AbstractSite { return super.createModelFromUrl(url); } + + public boolean login(boolean renew) throws IOException { + return getLiveJasminHttpClient().login(renew); + } } diff --git a/common/src/main/java/ctbrec/sites/jasmin/LiveJasminHttpClient.java b/common/src/main/java/ctbrec/sites/jasmin/LiveJasminHttpClient.java index 9c49b08a..c662f02c 100644 --- a/common/src/main/java/ctbrec/sites/jasmin/LiveJasminHttpClient.java +++ b/common/src/main/java/ctbrec/sites/jasmin/LiveJasminHttpClient.java @@ -47,6 +47,21 @@ public class LiveJasminHttpClient extends HttpClient { return false; } + public synchronized boolean login(boolean renew) throws IOException { + if (loggedIn && !renew) { + return true; + } + + boolean cookiesWorked = checkLoginSuccess(); + if (cookiesWorked) { + loggedIn = true; + LOG.debug("Logged in with cookies"); + return true; + } + + return false; + } + public boolean checkLoginSuccess() throws IOException { OkHttpClient temp = client.newBuilder() .followRedirects(false)