package com.hdl.photovoltaic.other;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.text.TextUtils;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
import com.google.gson.Gson;
|
import com.hdl.photovoltaic.config.ConstantManage;
|
import com.hdl.photovoltaic.config.UserConfigManage;
|
import com.hdl.photovoltaic.enums.MessageStateType;
|
import com.hdl.photovoltaic.push.PushMessageInfoBean;
|
import com.hdl.photovoltaic.ui.BPowerStationActivity;
|
import com.hdl.photovoltaic.ui.bean.MessageBean;
|
import com.hdl.photovoltaic.utils.SharedPreUtils;
|
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
|
|
import org.greenrobot.eventbus.EventBus;
|
|
import java.util.Objects;
|
|
import cn.jpush.android.api.NotificationMessage;
|
|
|
/**
|
* 极光推送信息处理逻辑
|
*/
|
public class HdlPushLogic {
|
private static volatile HdlPushLogic sHdlPushLogic;
|
|
/**
|
* 获取当前对象
|
*
|
* @return HdlAccountLogic
|
*/
|
public static synchronized HdlPushLogic getInstance() {
|
if (sHdlPushLogic == null) {
|
synchronized (HdlPushLogic.class) {
|
if (sHdlPushLogic == null) {
|
sHdlPushLogic = new HdlPushLogic();
|
}
|
}
|
|
}
|
return sHdlPushLogic;
|
}
|
|
/**
|
* 推送数据统一处理的方法
|
*
|
* @param context 上下文
|
* @param pushMessageInfoBean 推送数据对象实体
|
* @param isOpened true=点击通知栏回调,false=收到推送通知回调;
|
*/
|
public void PushPushCommonData(Context context, PushMessageInfoBean pushMessageInfoBean, boolean isOpened) {
|
if (UserConfigManage.getInstance().isBAccount()) {
|
//添加推送数据到缓存列表中;
|
// this.addPushDataToMemoryList(pushMessageInfoBean);
|
if (isOpened) {
|
// //安装商跳转界面
|
// Intent intent = new Intent(context, BPowerStationActivity.class);
|
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
// intent.putExtra("skip", "skip");//里面判断有这个标识就跳转到消息中心界面
|
// context.startActivity(intent);
|
} else {
|
//应用在前台通知更新住宅消息列表即可
|
BaseEventBus bus = new BaseEventBus();
|
bus.setTopic(ConstantManage.refresh_message_house);
|
bus.setType(ConstantManage.refresh_message_house);
|
EventBus.getDefault().post(bus);
|
}
|
} else {
|
// if (isOpened) {
|
//产品经理说暂时不做 2024年03月29日10:34:44
|
// boolean existsActivity = AppManagerUtils.getAppManager().existsActivity(MessageCenterListActivity.class);
|
// if (existsActivity) {
|
// //存在唯一一种可能就是当前活动窗口就是它
|
// return;
|
// }
|
// //跳转C端消息中心界面
|
// Intent intent = new Intent(context, MessageCenterListActivity.class);
|
// intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
// context.startActivity(intent);
|
// //不管存不存在这些Activity(找到才移除),都要做这些动作,有可能当前的活动窗口是其中一个
|
// AppManagerUtils.getAppManager().finishActivity(AccountAndSecurityActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(AsRegardsActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(BindMailActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(BindPhoneActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(languageSelectionActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(MeChangePasswordActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(PersonalDataActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(SetActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(TemperatureUnitActivity.class);
|
// AppManagerUtils.getAppManager().finishActivity(WebActivity.class);
|
// //通知uni移除界面
|
// HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
|
// uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_REMOVE_VIEW);
|
// HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
|
// }
|
}
|
}
|
|
|
/**
|
* 添加在推送数据到缓存列表中
|
*/
|
private void addPushDataToMemoryList(PushMessageInfoBean pushMessageInfoBean) {
|
try {
|
boolean isPushAddCache = SharedPreUtils.getBoolean("pushAddCache");
|
if (!isPushAddCache) {
|
//有可能删除推送Token接口失败,换账号后,依然也会收到上次账号的推送;
|
return;
|
}
|
if (TextUtils.isEmpty(pushMessageInfoBean.getExpantContent())) {
|
return;
|
}
|
Gson gson = new Gson();
|
MessageBean messageBean = gson.fromJson(pushMessageInfoBean.getExpantContent(), MessageBean.class);
|
if (messageBean == null) {
|
return;
|
}
|
messageBean.setTitle(pushMessageInfoBean.getContent());
|
messageBean.setDeviceDesc(pushMessageInfoBean.getContent());
|
HdlMessageLogic.getInstance().setListMessage(messageBean, 0);
|
HdlLogLogic.print("极光推送---添加在推送数据到缓存列表中---" + new Gson().toJson(pushMessageInfoBean));
|
} catch (Exception ignored) {
|
}
|
}
|
|
/**
|
* 推送数据作转指定推送模型
|
*
|
* @param title 推送标题 可选参数(不存在传空字符)
|
* @param content 推送内容 可选参数(不存在传空字符)
|
* @param data 消息拓展负载数据 可选参数(不存在传空字符)
|
*/
|
public PushMessageInfoBean pushDataProcessing(String title, String content, String data) {
|
try {
|
PushMessageInfoBean pushMessageInfoBean = new PushMessageInfoBean();
|
pushMessageInfoBean.setTitle(title);
|
pushMessageInfoBean.setContent(content);
|
if (TextUtils.isEmpty(data)) {
|
return pushMessageInfoBean;
|
}
|
JSONObject pushDataObject = JSON.parseObject(data);
|
if (pushDataObject.containsKey("expandData")) {
|
String expandDataJson = Objects.requireNonNull(pushDataObject.get("expandData")).toString();
|
if (TextUtils.isEmpty(expandDataJson)) {
|
return pushMessageInfoBean;
|
}
|
pushMessageInfoBean.setExpandData(expandDataJson);
|
JSONObject expandDataObject = JSON.parseObject(expandDataJson);
|
if (expandDataObject.containsKey("messageType")) {
|
String messageType = Objects.requireNonNull(expandDataObject.get("messageType")).toString();
|
if (!TextUtils.isEmpty(messageType)) {
|
pushMessageInfoBean.setMessageType(messageType);
|
}
|
}
|
if (TextUtils.isEmpty(title)) {
|
if (expandDataObject.containsKey("title")) {
|
String messageTitle = Objects.requireNonNull(expandDataObject.get("title")).toString();
|
if (!TextUtils.isEmpty(messageTitle)) {
|
pushMessageInfoBean.setTitle(messageTitle);
|
}
|
}
|
}
|
if (TextUtils.isEmpty(content)) {
|
if (expandDataObject.containsKey("content")) {
|
String messageContent = Objects.requireNonNull(expandDataObject.get("content")).toString();
|
if (!TextUtils.isEmpty(messageContent)) {
|
pushMessageInfoBean.setTitle(messageContent);
|
}
|
}
|
}
|
if (expandDataObject.containsKey("homeId")) {
|
String homeId = Objects.requireNonNull(expandDataObject.get("homeId")).toString();
|
if (!TextUtils.isEmpty(homeId)) {
|
pushMessageInfoBean.setHomeId(homeId);
|
}
|
}
|
if (expandDataObject.containsKey("expantContent")) {
|
String expantContentJson = Objects.requireNonNull(expandDataObject.get("expantContent")).toString();
|
if (!TextUtils.isEmpty(expantContentJson)) {
|
pushMessageInfoBean.setExpantContent(expantContentJson);
|
}
|
JSONObject expantContentObject = JSON.parseObject(expantContentJson);
|
if (expantContentObject.containsKey("aiPrompt")) {
|
String aiPrompt = Objects.requireNonNull(expantContentObject.get("aiPrompt")).toString();
|
if (!TextUtils.isEmpty(aiPrompt)) {
|
pushMessageInfoBean.setAiPrompt(Boolean.parseBoolean(aiPrompt));
|
}
|
}
|
if (expantContentObject.containsKey("msgId")) {
|
String msgId = Objects.requireNonNull(expantContentObject.get("msgId")).toString();
|
if (!TextUtils.isEmpty(msgId)) {
|
pushMessageInfoBean.setMsgId(msgId);
|
}
|
}
|
|
}
|
}
|
return pushMessageInfoBean;
|
} catch (Exception e) {
|
return new PushMessageInfoBean();
|
}
|
}
|
}
|