Booty Calls v1.2.156版本的 MD5 值为:919c7e4dc831ea1adbaf506a3cc1a198

以下内容为反编译后的 CookieServiceImpl.java 源代码,内容仅作参考


package com.dmm.android.lib.auth.service;

import android.content.Context;
import android.os.Build;
import android.util.Log;
import android.webkit.CookieManager;
import android.webkit.CookieSyncManager;
import com.dmm.android.lib.auth.model.SessionID;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.internal.Intrinsics;
import kotlin.text.Regex;
import kotlin.text.StringsKt;

@Metadata(bv = {1, 0, 3}, d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0000\u0018\u0000 \u00102\u00020\u0001:\u0001\u0010B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\b\u0010\u0005\u001a\u00020\u0006H\u0002J\b\u0010\u0007\u001a\u00020\u0006H\u0002J\b\u0010\b\u001a\u00020\u0006H\u0016J\u0018\u0010\b\u001a\u00020\u00062\u0006\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\nH\u0002J\u0010\u0010\f\u001a\u00020\u00062\u0006\u0010\r\u001a\u00020\u000eH\u0016J\b\u0010\u000f\u001a\u00020\u0006H\u0016R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0011"}, d2 = {"Lcom/dmm/android/lib/auth/service/CookieServiceImpl;", "Lcom/dmm/android/lib/auth/service/CookieService;", "context", "Landroid/content/Context;", "(Landroid/content/Context;)V", "removeAllCookie", "", "removeExpiredCookie", "renewalCookie", "cookie", "", "domain", "setDMMSession", "sessionID", "Lcom/dmm/android/lib/auth/model/SessionID;", "showLog", "Companion", "app_prodRelease"}, k = 1, mv = {1, 4, 1})
public final class CookieServiceImpl implements CookieService {
    private static final String COOKIE_ALT_HASH = "althash=";
    private static final String COOKIE_COM = "secid=%s; domain=.dmm.com; secure";
    private static final String COOKIE_HAS_ALT_HASH = "has_althash=";
    private static final String COOKIE_INT_SESSION_ID = "INT_SESID=";
    private static final String COOKIE_INT_SESSION_ID_SECURE = "INT_SESID_SECURE=";
    private static final String COOKIE_JP = "secid=%s; domain=.dmm.co.jp; secure";
    private static final String COOKIE_LOGIN_SECURE_ID = "login_secure_id=";
    private static final String COOKIE_LOGIN_SESSION_ID = "login_session_id=";
    private static final String COOKIE_SEC_ID = "secid=";
    private static final String COOKIE_URL_ACCOUNTS_COM = "https://accounts.dmm.com";
    private static final String COOKIE_URL_ACCOUNTS_JP = "https://accounts.dmm.co.jp";
    private static final String COOKIE_URL_WWW_COM = "https://www.dmm.com";
    private static final String COOKIE_URL_WWW_JP = "https://www.dmm.co.jp";
    private static final String TAG;
    private final Context context;

    public CookieServiceImpl(Context context) {
        Intrinsics.checkNotNullParameter(context, "context");
        this.context = context;
    }

    static {
        String simpleName = CookieServiceImpl.class.getSimpleName();
        Intrinsics.checkNotNullExpressionValue(simpleName, "CookieServiceImpl::class.java.simpleName");
        TAG = simpleName;
    }

    @Override
    public void setDMMSession(SessionID sessionID) {
        Intrinsics.checkNotNullParameter(sessionID, "sessionID");
        if (Build.VERSION.SDK_INT < 21) {
            CookieSyncManager.createInstance(this.context).startSync();
        }
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptCookie(true);
        String secureId = sessionID.getSecureId();
        String format = String.format(COOKIE_COM, Arrays.copyOf(new Object[]{secureId}, 1));
        Intrinsics.checkNotNullExpressionValue(format, "java.lang.String.format(this, *args)");
        cookieManager.setCookie(COOKIE_URL_WWW_COM, format);
        String format2 = String.format(COOKIE_COM, Arrays.copyOf(new Object[]{secureId}, 1));
        Intrinsics.checkNotNullExpressionValue(format2, "java.lang.String.format(this, *args)");
        cookieManager.setCookie(COOKIE_URL_ACCOUNTS_COM, format2);
        String format3 = String.format(COOKIE_JP, Arrays.copyOf(new Object[]{secureId}, 1));
        Intrinsics.checkNotNullExpressionValue(format3, "java.lang.String.format(this, *args)");
        cookieManager.setCookie(COOKIE_URL_WWW_JP, format3);
        String format4 = String.format(COOKIE_JP, Arrays.copyOf(new Object[]{secureId}, 1));
        Intrinsics.checkNotNullExpressionValue(format4, "java.lang.String.format(this, *args)");
        cookieManager.setCookie(COOKIE_URL_ACCOUNTS_JP, format4);
        if (Build.VERSION.SDK_INT < 21) {
            CookieSyncManager.getInstance().sync();
        } else {
            cookieManager.flush();
        }
    }

    @Override
    public void renewalCookie() {
        removeExpiredCookie();
        String cookie = CookieManager.getInstance().getCookie(COOKIE_URL_WWW_COM);
        String cookie2 = CookieManager.getInstance().getCookie(COOKIE_URL_ACCOUNTS_COM);
        String cookie3 = CookieManager.getInstance().getCookie(COOKIE_URL_WWW_JP);
        String cookie4 = CookieManager.getInstance().getCookie(COOKIE_URL_ACCOUNTS_JP);
        removeAllCookie();
        if (cookie != null) {
            renewalCookie(cookie, COOKIE_URL_WWW_COM);
        }
        if (cookie2 != null) {
            renewalCookie(cookie2, COOKIE_URL_ACCOUNTS_COM);
        }
        if (cookie3 != null) {
            renewalCookie(cookie3, COOKIE_URL_WWW_JP);
        }
        if (cookie4 != null) {
            renewalCookie(cookie4, COOKIE_URL_ACCOUNTS_JP);
        }
    }

    private final void renewalCookie(String cookie, String domain) {
        String str = cookie;
        if ((str.length() == 0) || !StringsKt.contains$default((CharSequence) str, (CharSequence) ";", false, 2, (Object) null)) {
            return;
        }
        if (Build.VERSION.SDK_INT < 21) {
            CookieSyncManager.createInstance(this.context).startSync();
        }
        CookieManager cookieManager = CookieManager.getInstance();
        Object[] array = new Regex(";").split(str, 0).toArray(new String[0]);
        if (array != null) {
            ArrayList arrayList = new ArrayList();
            for (String str2 : (String[]) array) {
                String str3 = str2;
                if (!(StringsKt.contains$default((CharSequence) str3, (CharSequence) COOKIE_SEC_ID, false, 2, (Object) null) || StringsKt.contains$default((CharSequence) str3, (CharSequence) COOKIE_ALT_HASH, false, 2, (Object) null) || StringsKt.contains$default((CharSequence) str3, (CharSequence) COOKIE_HAS_ALT_HASH, false, 2, (Object) null) || StringsKt.contains$default((CharSequence) str3, (CharSequence) COOKIE_INT_SESSION_ID, false, 2, (Object) null) || StringsKt.contains$default((CharSequence) str3, (CharSequence) COOKIE_INT_SESSION_ID_SECURE, false, 2, (Object) null) || StringsKt.contains$default((CharSequence) str3, (CharSequence) COOKIE_LOGIN_SESSION_ID, false, 2, (Object) null) || StringsKt.contains$default((CharSequence) str3, (CharSequence) COOKIE_LOGIN_SECURE_ID, false, 2, (Object) null))) {
                    arrayList.add(str2);
                }
            }
            ArrayList arrayList2 = arrayList;
            ArrayList arrayList3 = new ArrayList(CollectionsKt.collectionSizeOrDefault(arrayList2, 10));
            Iterator it = arrayList2.iterator();
            while (it.hasNext()) {
                cookieManager.setCookie(domain, (String) it.next());
                arrayList3.add(Unit.INSTANCE);
            }
            if (Build.VERSION.SDK_INT < 21) {
                CookieSyncManager.getInstance().sync();
                return;
            } else {
                cookieManager.flush();
                return;
            }
        }
        throw new NullPointerException("null cannot be cast to non-null type kotlin.Array<T>");
    }

    private final void removeExpiredCookie() {
        if (Build.VERSION.SDK_INT < 21) {
            CookieSyncManager.createInstance(this.context).startSync();
            CookieManager cookieManager = CookieManager.getInstance();
            cookieManager.setAcceptCookie(true);
            cookieManager.removeExpiredCookie();
            CookieSyncManager.getInstance().sync();
        }
    }

    private final void removeAllCookie() {
        if (Build.VERSION.SDK_INT < 21) {
            CookieSyncManager.createInstance(this.context).startSync();
            CookieManager.getInstance().removeAllCookie();
            CookieSyncManager.getInstance().sync();
        } else {
            CookieManager cookieManager = CookieManager.getInstance();
            cookieManager.removeAllCookies(null);
            cookieManager.flush();
        }
    }

    @Override
    public void showLog() {
        if (Build.VERSION.SDK_INT < 21) {
            CookieSyncManager.createInstance(this.context).startSync();
        }
        String cookie = CookieManager.getInstance().getCookie(COOKIE_URL_WWW_COM);
        String cookie2 = CookieManager.getInstance().getCookie(COOKIE_URL_ACCOUNTS_COM);
        String cookie3 = CookieManager.getInstance().getCookie(COOKIE_URL_WWW_JP);
        String cookie4 = CookieManager.getInstance().getCookie(COOKIE_URL_ACCOUNTS_JP);
        Log.d(TAG, "www.dmm.com Cookie:" + cookie);
        Log.d(TAG, "accounts.dmm.com Cookie:" + cookie2);
        Log.d(TAG, "www.dmm.co.jp Cookie:" + cookie3);
        Log.d(TAG, "accounts.dmm.co.jp Cookie:" + cookie4);
    }
}