Search in sources :

Example 1 with EhCookieStore

use of com.hippo.ehviewer.client.EhCookieStore in project EhViewer by seven332.

the class CookieSignInScene method storeCookie.

private void storeCookie(String id, String hash, String igneous) {
    Context context = getContext2();
    if (null == context) {
        return;
    }
    EhUtils.signOut(context);
    EhCookieStore store = EhApplication.getEhCookieStore(context);
    store.addCookie(newCookie(EhCookieStore.KEY_IPD_MEMBER_ID, id, EhUrl.DOMAIN_E));
    store.addCookie(newCookie(EhCookieStore.KEY_IPD_MEMBER_ID, id, EhUrl.DOMAIN_EX));
    store.addCookie(newCookie(EhCookieStore.KEY_IPD_PASS_HASH, hash, EhUrl.DOMAIN_E));
    store.addCookie(newCookie(EhCookieStore.KEY_IPD_PASS_HASH, hash, EhUrl.DOMAIN_EX));
    if (!igneous.isEmpty()) {
        store.addCookie(newCookie(EhCookieStore.KEY_IGNEOUS, igneous, EhUrl.DOMAIN_E));
        store.addCookie(newCookie(EhCookieStore.KEY_IGNEOUS, igneous, EhUrl.DOMAIN_EX));
    }
}
Also used : Context(android.content.Context) EhCookieStore(com.hippo.ehviewer.client.EhCookieStore)

Example 2 with EhCookieStore

use of com.hippo.ehviewer.client.EhCookieStore in project EhViewer by seven332.

the class MyTagsActivity method onCreate.

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // http://stackoverflow.com/questions/32284642/how-to-handle-an-uncatched-exception
    CookieManager cookieManager = CookieManager.getInstance();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        cookieManager.flush();
        cookieManager.removeAllCookies(null);
        cookieManager.removeSessionCookies(null);
    } else {
        CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this);
        cookieSyncManager.startSync();
        cookieManager.removeAllCookie();
        cookieManager.removeSessionCookie();
        cookieSyncManager.stopSync();
    }
    // Copy cookies from okhttp cookie store to CookieManager
    url = EhUrl.getMyTagsUrl();
    EhCookieStore store = EhApplication.getEhCookieStore(this);
    for (Cookie cookie : store.getCookies(HttpUrl.parse(url))) {
        cookieManager.setCookie(url, cookie.toString());
    }
    setContentView(R.layout.activity_my_tags);
    setNavigationIcon(R.drawable.v_arrow_left_dark_x24);
    webView = findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new MyTagsWebViewClient());
    webView.setWebChromeClient(new DialogWebChromeClient(this));
    webView.loadUrl(url);
    progress = findViewById(R.id.progress);
}
Also used : Cookie(okhttp3.Cookie) EhCookieStore(com.hippo.ehviewer.client.EhCookieStore) DialogWebChromeClient(com.hippo.ehviewer.widget.DialogWebChromeClient) CookieSyncManager(android.webkit.CookieSyncManager) CookieManager(android.webkit.CookieManager) SuppressLint(android.annotation.SuppressLint)

Example 3 with EhCookieStore

use of com.hippo.ehviewer.client.EhCookieStore in project EhViewer by seven332.

the class UConfigActivity method onDestroy.

@Override
protected void onDestroy() {
    super.onDestroy();
    webView.destroy();
    // Put cookies back to okhttp cookie store
    CookieManager cookieManager = CookieManager.getInstance();
    String cookiesString = cookieManager.getCookie(url);
    if (cookiesString != null && !cookiesString.isEmpty()) {
        EhCookieStore store = EhApplication.getEhCookieStore(this);
        HttpUrl eUrl = HttpUrl.parse(EhUrl.HOST_E);
        HttpUrl exUrl = HttpUrl.parse(EhUrl.HOST_EX);
        // The cookies saved in the uconfig page should be shared between e and ex
        for (String header : cookiesString.split(";")) {
            Cookie eCookie = Cookie.parse(eUrl, header);
            if (eCookie != null) {
                store.addCookie(longLive(eCookie));
            }
            Cookie exCookie = Cookie.parse(exUrl, header);
            if (exCookie != null) {
                store.addCookie(longLive(exCookie));
            }
        }
    }
}
Also used : Cookie(okhttp3.Cookie) EhCookieStore(com.hippo.ehviewer.client.EhCookieStore) CookieManager(android.webkit.CookieManager) HttpUrl(okhttp3.HttpUrl)

Example 4 with EhCookieStore

use of com.hippo.ehviewer.client.EhCookieStore in project EhViewer by seven332.

the class UConfigActivity method onCreate.

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // http://stackoverflow.com/questions/32284642/how-to-handle-an-uncatched-exception
    CookieManager cookieManager = CookieManager.getInstance();
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        cookieManager.flush();
        cookieManager.removeAllCookies(null);
        cookieManager.removeSessionCookies(null);
    } else {
        CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(this);
        cookieSyncManager.startSync();
        cookieManager.removeAllCookie();
        cookieManager.removeSessionCookie();
        cookieSyncManager.stopSync();
    }
    // Copy cookies from okhttp cookie store to CookieManager
    url = EhUrl.getUConfigUrl();
    EhCookieStore store = EhApplication.getEhCookieStore(this);
    for (Cookie cookie : store.getCookies(HttpUrl.parse(url))) {
        cookieManager.setCookie(url, cookie.toString());
    }
    setContentView(R.layout.activity_u_config);
    setNavigationIcon(R.drawable.v_arrow_left_dark_x24);
    webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new UConfigWebViewClient());
    webView.setWebChromeClient(new DialogWebChromeClient(this));
    webView.loadUrl(url);
    progress = (ProgressView) findViewById(R.id.progress);
    Snackbar.make(webView, R.string.apply_tip, Snackbar.LENGTH_LONG).show();
}
Also used : Cookie(okhttp3.Cookie) EhCookieStore(com.hippo.ehviewer.client.EhCookieStore) DialogWebChromeClient(com.hippo.ehviewer.widget.DialogWebChromeClient) CookieSyncManager(android.webkit.CookieSyncManager) CookieManager(android.webkit.CookieManager) SuppressLint(android.annotation.SuppressLint)

Example 5 with EhCookieStore

use of com.hippo.ehviewer.client.EhCookieStore in project EhViewer by seven332.

the class SignInRequiredActivityPreference method onClick.

@Override
protected void onClick() {
    EhCookieStore store = EhApplication.getEhCookieStore(getContext());
    HttpUrl e = HttpUrl.get(EhUrl.HOST_E);
    HttpUrl ex = HttpUrl.get(EhUrl.HOST_EX);
    if (store.contains(e, EhCookieStore.KEY_IPD_MEMBER_ID) || store.contains(e, EhCookieStore.KEY_IPD_PASS_HASH) || store.contains(ex, EhCookieStore.KEY_IPD_MEMBER_ID) || store.contains(ex, EhCookieStore.KEY_IPD_PASS_HASH)) {
        super.onClick();
    } else {
        if (view != null) {
            Snackbar.make(view, R.string.error_please_login_first, 3000).show();
        } else {
            Toast.makeText(getContext(), R.string.error_please_login_first, Toast.LENGTH_LONG).show();
        }
    }
}
Also used : EhCookieStore(com.hippo.ehviewer.client.EhCookieStore) HttpUrl(okhttp3.HttpUrl)

Aggregations

EhCookieStore (com.hippo.ehviewer.client.EhCookieStore)6 Cookie (okhttp3.Cookie)4 CookieManager (android.webkit.CookieManager)3 SuppressLint (android.annotation.SuppressLint)2 CookieSyncManager (android.webkit.CookieSyncManager)2 DialogWebChromeClient (com.hippo.ehviewer.widget.DialogWebChromeClient)2 HttpUrl (okhttp3.HttpUrl)2 Context (android.content.Context)1 LinkedList (java.util.LinkedList)1