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

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


package com.dmm.games.android.menu.store.optional;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import com.dmm.games.android.menu.DmmGamesAndroidMenu;
import com.dmm.games.android.menu.store.DmmGamesAndroidStoreMenu;
import com.dmm.games.android.util.store.DmmGamesAndroidStoreUtil;
import com.dmm.games.api.mobile.model.ConfigGet;
import com.dmm.games.log.Log;
import com.dmm.games.sdk.setting.DmmGamesSdkSetting;
import com.dmm.games.sdk.setting.Environment;
import java.util.Locale;

public class DmmGamesAndroidOptionalStoreMenu extends DmmGamesAndroidStoreMenu {
    private static final String ADULT_DOMAIN = "co.jp";
    private static final String ANNOUNCE_WEB_PAGE_URL_FORMAT = "https://message.games.dmm.%s/list/";
    private static final String GENERAL_DOMAIN = "com";
    private static final String MY_GAME_WEB_PAGE_URL_FORMAT_PROD = "https://library.games.dmm.%s/";
    private static final String MY_GAME_WEB_PAGE_URL_FORMAT_STG = "https://library.stg.games.dmm.%s/";
    private static final String UPDATE_ACTIVITY_CLASS_NAME = "com.dmm.games.android.sdk.store.optional.DmmGamesUpdateGameActivity";

    @Override
    public void openUpdateView(Context context) {
        try {
            Intent intent = new Intent(context, Class.forName(UPDATE_ACTIVITY_CLASS_NAME));
            if (!(context instanceof Activity)) {
                intent.setFlags(268435456);
            }
            context.startActivity(intent);
        } catch (Throwable th) {
            th.printStackTrace(Log.err());
            super.openUpdateView(context);
        }
    }

    @Override
    public void openMenuItem(Context context, DmmGamesAndroidMenu.Kind kind) {
        if (!isHandleMenuKind(context, kind)) {
            super.openMenuItem(context, kind);
            return;
        }
        String transitionUrl = getTransitionUrl(kind);
        if (transitionUrl == null) {
            super.openMenuItem(context, kind);
        } else {
            openBrowser(context, transitionUrl);
        }
    }

    private String getTransitionUrl(DmmGamesAndroidMenu.Kind kind) {
        if (kind == DmmGamesAndroidMenu.Kind.ANNOUNCEMENT) {
            return getAnnounceWebPageUrl();
        }
        if (kind == DmmGamesAndroidMenu.Kind.MY_GAME) {
            return getMyGamePageUrl();
        }
        return null;
    }

    private boolean isHandleMenuKind(Context context, DmmGamesAndroidMenu.Kind kind) {
        return (kind == DmmGamesAndroidMenu.Kind.ANNOUNCEMENT || kind == DmmGamesAndroidMenu.Kind.MY_GAME) && !DmmGamesAndroidStoreUtil.isGamesStoreInstalled(context);
    }

    private String getMyGamePageUrl() {
        DmmGamesSdkSetting setting = getSetting();
        return String.format(Locale.ENGLISH, (setting == null || setting.getEnvironment() != Environment.STAGING) ? MY_GAME_WEB_PAGE_URL_FORMAT_PROD : MY_GAME_WEB_PAGE_URL_FORMAT_STG, getDomain());
    }

    private String getAnnounceWebPageUrl() {
        return String.format(Locale.ENGLISH, ANNOUNCE_WEB_PAGE_URL_FORMAT, getDomain());
    }

    private String getDomain() {
        return isAdult() ? ADULT_DOMAIN : GENERAL_DOMAIN;
    }

    private boolean isAdult() {
        ConfigGet.Entry configGet = getConfigGet();
        return configGet != null && configGet.getSite() == ConfigGet.Site.ADULT;
    }
}