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);
}
}