后台控制关闭插件相关的功能

This commit is contained in:
kehaoyuan
2018-01-25 17:41:54 +08:00
parent 0e791133dd
commit 52be8db71f
23 changed files with 296 additions and 23 deletions

View File

@ -4,8 +4,15 @@ package com.gh.common.constant;
import android.content.Context;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.text.TextUtils;
import com.gh.gamecenter.BuildConfig;
import com.gh.gamecenter.entity.ControlEntity;
import com.gh.gamecenter.entity.NewsEntity;
import com.halo.assistant.HaloApp;
import com.lightgame.utils.Utils;
import java.util.List;
public class Config {
@ -42,9 +49,23 @@ public class Config {
public static final String URL_ARTICLE = "http://www.ghzs666.com/article/"; // TODO ghzs/ghzs666 统一
public static final String PATCHES = "patches";
public static boolean isShow(Context context) {
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
return sp.getBoolean("isShow", true);
public static List<ControlEntity> mControlData;
public static boolean isShow() {
// SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
// return sp.getBoolean("isShow", true);
if (mControlData == null || mControlData.size() == 0)
return false;
for (ControlEntity entity : mControlData) {
if ("all".equals(entity.getGame())) {
if (entity.getPluginfy() && "normal".equals(entity.getPolicy()) && filterTime(entity.getTime())) {
return true;
}
}
}
return false;
}
public static String getExceptionMsg(Context context) {
@ -56,4 +77,91 @@ public class Config {
PreferenceManager.getDefaultSharedPreferences(context).edit().putString("errMsg", errMsg).apply();
}
public static boolean isShowDownload(String gameId) {
if ((TextUtils.isEmpty(gameId) || mControlData == null || mControlData.size() == 0))
return false;
for (ControlEntity entity : mControlData) {
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) {
if (TextUtils.isEmpty(gameId) || mControlData == null || mControlData.size() == 0)
return false;
for (ControlEntity entity : mControlData) {
if (gameId.equals(entity.getGame())) {
if (entity.getPluginfy() && filterTime(entity.getTime())) {
return true;
} else {
return false;
}
} else if ("all".equals(entity.getGame())) {
if (entity.getPluginfy() && filterTime(entity.getTime())) {
return true;
}
}
}
return false;
}
public static boolean isShowPlugin() {
if (mControlData == null || mControlData.size() == 0)
return false;
for (ControlEntity entity : mControlData) {
if ("all".equals(entity.getGame())) {
if (entity.getPluginfy() && filterTime(entity.getTime())) {
return true;
}
}
}
return false;
}
private static boolean filterTime(ControlEntity.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 setControlData(List<ControlEntity> controlData) {
mControlData = controlData;
}
public static void filterPluginArticle(List<NewsEntity> 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--;
}
}
}
}