public class PushManager {
private boolean pushCheck(Context context, PushMessage messageObject) {
List<PushMessage> pushMessages = new ArrayList<>();
String newsId = "";
long invalidTime = 0;
int priority = 0;
boolean isTime = false;
long curTime = System.currentTimeMillis();
for (int i = 0; i < pushMessages.size(); i++) {
PushMessage message = pushMessages.get(i);
if ((message.getTime() - curTime <= 30) || (curTime >= message.getTime())) {
isTime = true;
newsId = message.getNewsId();
if (invalidTime == 0 || invalidTime > message.getTime()) {
invalidTime = message.getTime();
}
}
if (!isTime) {
// 非小于30分钟 当前优先级值小于后一个优先级值时
if (priority < message.getPriority()) {
newsId = message.getNewsId();
priority = message.getPriority();
invalidTime = message.getTime();
}
// 非小于30分钟 当前优先级值等于后一个优先级值时且当前时间小于后一个时间时
if (priority == message.getPriority() && invalidTime < message.getTime()) {
newsId = message.getNewsId();
priority = message.getPriority();
invalidTime = message.getTime();
}
// 遍历至最后一条时
if (i == pushMessages.size() - 1) {
if (priority < messageObject.getPriority()) {
return true;
}
cancel(newsId);
save(pushMessages, messageObject, newsId);
stab(context, message);
}
} else {
// 遍历至最后一条时
if (i == pushMessages.size() - 1) {
if (priority < messageObject.getPriority()) {
return true;
}
cancel(newsId);
save(pushMessages, messageObject, newsId);
stab(context, message);
}
}
}
return false;
}
private void cancel(String id) {
}
private void save(List<PushMessage> list, PushMessage message, String id) {
}
private void stab(Context context, PushMessage message) {
}
}
/**----------------------------------------首次暗黑切换非暗黑设置为日间模式---------------------------------------*/
public int getCurrentTheme() {
if (SYS_DARK_THEME == DARK_THEME_YES) {
mCurrTheme = THEME_MODE_NIGHT;
}else {
// if 判断为新增加
if(getIsB()) {
mCurrTheme = THEME_MODE_DEFAULT; // 如果是第一次从暗黑切换至非暗黑 则返回日间模式
}else {
mCurrTheme = mPref.getBoolean(PREF_KEY_NIGHT_MODE, false) ? THEME_MODE_NIGHT : THEME_MODE_DEFAULT;
}
}
return mCurrTheme;
}
public boolean getIsB() {
boolean isNight = mPref.getBoolean(PREF_KEY_NIGHT_MODE, false) //获取当前是否为暗黑模式 如果是暗黑则为ture 反之为false
boolean isB = false;
if(isNight) {// 如果是暗黑模式
pref.edit().putBoolean(key, false) // 当为暗黑模式的时候保存状态为false 用于判断是否首次从暗黑切换至非暗黑
}
boolean a = mPref.getBoolean(PREF_KEY_NIGHT_MODE, false) // 若为暗黑则为 ture 非暗黑 false
boolean b = mPref.getBoolean(key, ture) // // 若为暗黑则为 false 非暗黑 ture
if(a == b) {// 实际暗黑模式与用于标识的值相等 说明为首次从暗黑切换至非暗黑
isB = ture;
pref.edit().putBoolean(key, ture)
}
return isB;
}