From e01efd770fcf79505e854965b16352bff0992910 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 04 一月 2024 14:35:28 +0800 Subject: [PATCH] 2024年01月04日14:35:21 --- app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java | 133 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 117 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java index 3b658bd..068f126 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java @@ -1,17 +1,23 @@ package com.hdl.photovoltaic.ui; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.appcompat.content.res.AppCompatResources; import androidx.core.app.ActivityCompat; import android.Manifest; +import android.content.Intent; import android.content.IntentFilter; +import android.content.UriPermission; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Process; +import android.os.SystemClock; import android.text.TextUtils; import android.view.View; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; @@ -20,24 +26,30 @@ import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.bean.MqttInfo; import com.hdl.photovoltaic.broadcast.NetworkChangeReceiver; +import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.ConstantManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding; import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch; import com.hdl.photovoltaic.enums.NetworkType; +import com.hdl.photovoltaic.jpush.JPushMessageInfoBean; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlMqttLogic; import com.hdl.photovoltaic.other.HdlOtaLogic; +import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.other.HdlUniLogic; +import com.hdl.photovoltaic.ui.bean.BUserInfo; import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo; +import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.AppManagerUtils; import com.hdl.photovoltaic.utils.PermissionUtils; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.sdk.link.HDLLinkLocalSdk; import com.hdl.sdk.link.common.event.EventListener; import com.hdl.sdk.link.core.bean.LinkResponse; @@ -52,7 +64,11 @@ import org.greenrobot.eventbus.ThreadMode; import java.lang.reflect.Type; +import java.util.HashMap; import java.util.List; +import java.util.Objects; + +import cn.jpush.android.api.JPushInterface; /** @@ -89,19 +105,91 @@ this.initMqttClient(); //鐩戝惉缃戠粶鐘舵�佸彉鍖� this.networkMonitoring(); + //涓婁紶鏋佸厜娉ㄥ唽ID + this.pushTokens(); + //鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉� + this.clickJpushNotificationMessage(); + //閫氱煡闄愭潈 + this.notificationSet(); -// HdlOtaLogic.getInstance().startLocalService(new ServiceConnection() { -// @Override -// public void onServiceConnected(ComponentName name, IBinder service) { -// -// } -// -// @Override -// public void onServiceDisconnected(ComponentName name) { -// -// } -// }); + } + + + /** + * 涓婁紶鏋佸厜娉ㄥ唽ID + */ + private void pushTokens() { + HdlThreadLogic.runSubThread(new Runnable() { + @Override + public void run() { + String registrationID = JPushInterface.getRegistrationID(_mActivity); + int addCount = 0; + while (TextUtils.isEmpty(registrationID)) { + SystemClock.sleep(1000);//1s浼戠湢 + registrationID = JPushInterface.getRegistrationID(_mActivity); + addCount++; + if (addCount > 5) { + //5s瓒呮椂 + break; + } + } + if (!TextUtils.isEmpty(registrationID)) { + UserConfigManage.getInstance().setRegistrationID(registrationID); + UserConfigManage.getInstance().Save(); + String finalRegistrationID = registrationID; + HdlResidenceLogic.getInstance().pushAdd(new CloudCallBeak<String>() { + @Override + public void onSuccess(String pushId) { + + if (!TextUtils.isEmpty(pushId)) { + UserConfigManage.getInstance().setPushId(pushId); + UserConfigManage.getInstance().Save(); + } + HdlLogLogic.print("娣诲姞鎺ㄩ�佹瀬鍏塈D--->registrationID===" + finalRegistrationID, true); + + } + + @Override + public void onFailure(HDLException e) { + HdlLogLogic.print("娣诲姞鎺ㄩ�佹瀬鍏塈D澶辫触--->registrationID===" + finalRegistrationID, true); + } + }); + + } + + + } + }); + } + + /** + * 寮�鍚�氱煡鏉冮檺 + */ + private void notificationSet() { + boolean isBoolean = PermissionUtils.isNotificationEnabled(_mActivity); + if (!isBoolean) { + ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity); + confirmationCancelDialog.setTitle("鎻愮ず"); + confirmationCancelDialog.setContent("閫氱煡鏉冮檺娌″紑鍚�,灏嗘棤娉曟敹鍒版帹閫佷俊鎭�."); + confirmationCancelDialog.setConfirmation("鍓嶅線璁剧疆"); + confirmationCancelDialog.show(); + confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + confirmationCancelDialog.dismiss(); + PermissionUtils.openNotificationSettings(_mActivity); + + } + }); + confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { + @Override + public void Cancel() { + confirmationCancelDialog.dismiss(); + } + }); + + } } /** @@ -129,7 +217,6 @@ currentFragmentIndex = 2; bottomViewChangeOfStyle(); postEventBus(HomepageTitleTabSwitch.message); - } }); viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() { @@ -144,6 +231,7 @@ } + @Override protected void onDestroy() { super.onDestroy(); @@ -156,7 +244,7 @@ } private void initView() { - viewBinding.myPowerStationBottomIl1.titleTv.setText("棣栭〉");// + viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.power_shome_page);// viewBinding.myMessageBottomIl2.titleTv.setText(R.string.message); viewBinding.myMeBottomIl3.titleTv.setText(R.string.power_station_me); this.bottomViewChangeOfStyle(); @@ -206,7 +294,7 @@ BaseEventBus baseEventBus = new BaseEventBus(); baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch); baseEventBus.setType(tabSwitch.toString()); - EventBus.getDefault().post(baseEventBus); + EventBus.getDefault().postSticky(baseEventBus); } public void requestPermissions() { @@ -352,7 +440,7 @@ return; } int index = -1; - List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(); + List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()); for (int i = 0; i < list.size(); i++) { GatewayBean gatewayBean = list.get(i); if (gatewayBean.getGatewayId().equals(topics[2])) { @@ -402,7 +490,6 @@ @Override public void onSuccess(List<GatewayBean> obj) { // AppManagerUtils.getAppManager().hideLoading(); - } @Override @@ -416,6 +503,20 @@ } } + /** + * 鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉� + */ + private void clickJpushNotificationMessage() { + Intent intent = getIntent(); + if (intent != null) { + String key = intent.getStringExtra("skip"); + if (key != null) { + //瑙﹀彂娑堟伅鐐瑰嚮浜嬩欢 + viewBinding.myMessageBottomIl2.clickTv.performClick(); + } + } + } + /** * 鐗╃悊鎸夐敭杩斿洖浜嬩欢 -- Gitblit v1.8.0