package com.hdl.photovoltaic.other;
|
|
import android.content.Context;
|
import android.content.Intent;
|
import android.text.TextUtils;
|
|
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.jpush.JPushMessageInfoBean;
|
import com.hdl.photovoltaic.ui.BPowerStationActivity;
|
import com.hdl.photovoltaic.ui.bean.MessageBean;
|
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
|
|
import org.greenrobot.eventbus.EventBus;
|
|
|
/**
|
* 极光推送信息处理逻辑
|
*/
|
public class HdlJpushLogic {
|
private static volatile HdlJpushLogic sHdlJpushLogic;
|
|
/**
|
* 获取当前对象
|
*
|
* @return HdlAccountLogic
|
*/
|
public static synchronized HdlJpushLogic getInstance() {
|
if (sHdlJpushLogic == null) {
|
synchronized (HdlJpushLogic.class) {
|
if (sHdlJpushLogic == null) {
|
sHdlJpushLogic = new HdlJpushLogic();
|
}
|
}
|
|
}
|
return sHdlJpushLogic;
|
}
|
|
/**
|
* 极光推送数据统一处理的方法
|
*
|
* @param context 上下文
|
* @param jPushMessageInfoBean 推送数据对象实体
|
* @param isOpened true=点击通知栏回调,false=收到推送通知回调;
|
*/
|
public void JpushPushCommonData(Context context, JPushMessageInfoBean jPushMessageInfoBean, boolean isOpened) {
|
if (UserConfigManage.getInstance().isBAccount()) {
|
//添加推送数据到缓存列表中;
|
this.addPushDataToMemoryList(jPushMessageInfoBean);
|
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.message_function_push_post);
|
bus.setType(MessageStateType.untreated);
|
EventBus.getDefault().post(bus);
|
}
|
} else {
|
if (isOpened) {
|
//产品经理说暂时不做 2024年03月29日10:34:44
|
// boolean existsActivity = AppManagerUtils.getAppManager().existsActivity(MessageCenterList.class);
|
// if (existsActivity) {
|
// //存在唯一一种可能就是当前活动窗口就是它
|
// return;
|
// }
|
// //跳转C端消息中心界面
|
// Intent intent = new Intent(context, MessageCenterList.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(JPushMessageInfoBean jPushMessageInfoBean) {
|
try {
|
if (TextUtils.isEmpty(jPushMessageInfoBean.getExpantContent())) {
|
return;
|
}
|
Gson gson = new Gson();
|
MessageBean messageBean = gson.fromJson(jPushMessageInfoBean.getExpantContent(), MessageBean.class);
|
if (messageBean == null) {
|
return;
|
}
|
messageBean.setTitle(jPushMessageInfoBean.getContent());
|
messageBean.setDeviceDesc(jPushMessageInfoBean.getContent());
|
HdlMessageLogic.getInstance().setListMessage(messageBean, 0);
|
HdlLogLogic.print("极光推送---添加在推送数据到缓存列表中---" + new Gson().toJson(jPushMessageInfoBean));
|
} catch (Exception ignored) {
|
}
|
}
|
}
|