package com.gh.common.constant; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.annotation.Nullable; import android.text.TextUtils; import com.gh.common.util.GsonUtils; import com.gh.common.util.PackageHelper; import com.gh.gamecenter.BuildConfig; import com.gh.gamecenter.entity.NewsEntity; import com.gh.gamecenter.entity.SettingsEntity; import com.halo.assistant.HaloApp; import com.lightgame.utils.Utils; import java.util.List; public class Config { public static final String API_HOST = BuildConfig.API_HOST; public static final String USER_HOST = BuildConfig.USER_HOST; public static final String COMMENT_HOST = BuildConfig.COMMENT_HOST; public static final String DATA_HOST = BuildConfig.DATA_HOST; public static final String LIBAO_HOST = BuildConfig.LIBAO_HOST; public static final String MESSAGE_HOST = BuildConfig.MESSAGE_HOST; /** * 需要配置的请使用{@link PreferenceManager#getDefaultSharedPreferences(Context)} */ // @Deprecated // public static final String PREFERENCE = "ghzhushou"; // Third-Party confs public static final String WECHAT_APPID = BuildConfig.WECHAT_APPID; public static final String WECHAT_SECRET = BuildConfig.WECHAT_SECRET; public static final String TENCENT_APPID = BuildConfig.TENCENT_APPID; public static final String WEIBO_APPKEY = BuildConfig.WEIBO_APPKEY; public static final String MIPUSH_APPID = BuildConfig.MIPUSH_APPID; public static final String MIPUSH_APPKEY = BuildConfig.MIPUSH_APPKEY; public static final String MTA_APPKEY = BuildConfig.MTA_APPKEY; public static final String TALKINGDATA_APPID = BuildConfig.TD_APPID;// TalkingData public static final String UMENG_APPKEY = BuildConfig.UMENG_APPKEY; public static final String UMENG_MESSAGE_SECRET = BuildConfig.UMENG_MESSAGE_SECRET; public static final String BUGLY_APPID = BuildConfig.BUGLY_APPID; // http://www.ghzs666.com/article/${articleId}.html public static final String URL_ARTICLE = "http://www.ghzs666.com/article/"; // ghzs/ghzs666 统一 public static final String PATCHES = "patches"; private static String SETTINGS_KEY = "settingsKey"; private static SettingsEntity mSettingsEntity; public static final String FIX_DOWNLOAD_KEY = "isFixDownload"; public static final String FIX_PLUGIN_KEY = "isFixPlugin"; public static final String FIX_ARTICLE_KEY = "isFixArticle"; public static final String FIX_COMMUNITY_KEY = "isFixCommunity"; public static boolean isShow() { if (getPreferences().getBoolean(FIX_DOWNLOAD_KEY, false)) return true; if (!isExistDownloadFilter()) return false; for (SettingsEntity.Download entity : getSettings().getDownload()) { if ("all".equals(entity.getGame())) { if (entity.getPluginfy() && "normal".equals(entity.getPolicy()) && filterTime(entity.getTime())) { return true; } } } return false; } public static String getExceptionMsg() { return getPreferences().getString("errMsg", null); } public static void setExceptionMsg(String errMsg) { getPreferences().edit().putString("errMsg", errMsg).apply(); } public static boolean isShowDownload(String gameId) { if (getPreferences().getBoolean(FIX_DOWNLOAD_KEY, false)) return true; if (TextUtils.isEmpty(gameId) || !isExistDownloadFilter()) return false; for (SettingsEntity.Download entity : getSettings().getDownload()) { if (gameId.equals(entity.getGame())) { if ("normal".equals(entity.getPolicy()) && filterTime(entity.getTime())) { return true; } else { return false; } } else if ("all".equals(entity.getGame())) { if ("normal".equals(entity.getPolicy()) && filterTime(entity.getTime())) { return true; } } } return false; } public static boolean isShowPlugin(String gameId) { SharedPreferences preferences = getPreferences(); boolean isFixPlugin = preferences.getBoolean(FIX_PLUGIN_KEY, false); if (isFixPlugin) return true; if (TextUtils.isEmpty(gameId) || !isExistDownloadFilter()) return false; for (SettingsEntity.Download entity : getSettings().getDownload()) { if (gameId.equals(entity.getGame())) { if (entity.getPluginfy() && filterTime(entity.getTime())) { return true; } else { return false; } } if ("all".equals(entity.getGame())) { if (entity.getPluginfy() && filterTime(entity.getTime())) { preferences.edit().putBoolean(FIX_PLUGIN_KEY, true).apply(); return true; } } } return false; } public static boolean isShowPlugin() { SharedPreferences preferences = getPreferences(); boolean isFixPlugin = preferences.getBoolean(FIX_PLUGIN_KEY, false); if (isFixPlugin) return true; if (!isExistDownloadFilter()) return false; for (SettingsEntity.Download entity : getSettings().getDownload()) { if ("all".equals(entity.getGame())) { if (entity.getPluginfy() && filterTime(entity.getTime())) { return true; } } } return false; } private static boolean filterTime(SettingsEntity.Download.TimeEntity timeEntity) { long end = timeEntity.getEnd(); long start = timeEntity.getStart(); long curTime = Utils.getTime(HaloApp.getInstance().getApplication()); if ((start == 0 || curTime >= start) && (end == 0 || curTime <= end)) { return true; } return false; } public static void setSettings(SettingsEntity settingsEntity) { getPreferences().edit().putString(SETTINGS_KEY, GsonUtils.toJson(settingsEntity)).apply(); mSettingsEntity = settingsEntity; // 加载完设置后刷新下 PackageHelper.initList(); } @Nullable public static SettingsEntity getSettings() { if (mSettingsEntity == null) { try { String json = getPreferences().getString(SETTINGS_KEY, null); if (!TextUtils.isEmpty(json)) { mSettingsEntity = GsonUtils.fromJson(json, SettingsEntity.class); } } catch (Exception e) { e.printStackTrace(); } } return mSettingsEntity; } private static boolean isExistDownloadFilter() { if (getSettings() == null || getSettings().getDownload() == null || getSettings().getDownload().size() == 0) { return false; } else { return true; } } public static void filterPluginArticle(List list) { if (isShowPlugin() || list == null) return; for (int i = 0; i < list.size(); i++) { NewsEntity newsEntity = list.get(i); String title = newsEntity.getTitle(); if (!TextUtils.isEmpty(title) && title.contains("插件")) { list.remove(i); i--; } } } public static SharedPreferences getPreferences() { return PreferenceManager.getDefaultSharedPreferences(HaloApp.getInstance().getApplication()); } public static boolean isExistHideFunction() { SharedPreferences preferences = getPreferences(); if (!preferences.getBoolean(FIX_DOWNLOAD_KEY, false)) return true; if (!preferences.getBoolean(FIX_PLUGIN_KEY, false)) return true; if (!preferences.getBoolean(FIX_COMMUNITY_KEY, false)) return true; if (!preferences.getBoolean(FIX_ARTICLE_KEY, false)) return true; return false; } public static void fixHideFunction() { SharedPreferences preferences = PreferenceManager. getDefaultSharedPreferences(HaloApp.getInstance().getApplication()); SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean(Config.FIX_DOWNLOAD_KEY, true); editor.putBoolean(Config.FIX_ARTICLE_KEY, true); editor.putBoolean(Config.FIX_COMMUNITY_KEY, true); editor.putBoolean(Config.FIX_PLUGIN_KEY, true); editor.apply(); } }