From 43c0a28db7e43959561036dbde0eb5cb37a7e324 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 10 五月 2024 18:25:40 +0800 Subject: [PATCH] 2024年05月10日18:25:29 --- app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java | 482 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 348 insertions(+), 134 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 b1dfead..936b0f0 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java @@ -1,43 +1,49 @@ package com.hdl.photovoltaic.ui; import androidx.annotation.NonNull; -import androidx.annotation.Nullable; import androidx.appcompat.content.res.AppCompatResources; import android.Manifest; -import android.content.ComponentName; +import android.content.Context; import android.content.Intent; -import android.content.ServiceConnection; import android.content.pm.PackageManager; +import android.location.LocationManager; import android.os.Bundle; -import android.os.IBinder; import android.os.Process; +import android.os.SystemClock; +import android.provider.Settings; import android.text.TextUtils; -import android.util.Log; import android.view.View; import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.home.type.HomeType; -import com.hdl.linkpm.sdk.ota.bean.CloudGatewayDriversBean; -import com.hdl.linkpm.sdk.utils.HDLMD5Utils; +import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.bean.MqttInfo; +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.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlDeviceLogic; -import com.hdl.photovoltaic.other.HdlFileLogic; 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.DeviceRemoteInfo; +import com.hdl.photovoltaic.ui.bean.OidBean; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.utils.GPSManagerUtils; import com.hdl.photovoltaic.utils.PermissionUtils; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; +import com.hdl.photovoltaic.widget.ConfirmationTipDialog; import com.hdl.sdk.link.HDLLinkLocalSdk; import com.hdl.sdk.link.common.event.EventListener; import com.hdl.sdk.link.core.bean.LinkResponse; @@ -45,28 +51,29 @@ import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; import com.hdl.sdk.link.core.bean.gateway.GatewayBean; import com.hdl.sdk.link.core.config.HDLLinkConfig; +import com.hdl.sdk.link.core.connect.HDLUdpConnect; import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient; +import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import java.lang.reflect.Type; import java.util.List; -import okhttp3.ResponseBody; +import cn.jpush.android.api.JPushInterface; /** - * 鎴戠殑鐢电珯鐣岄潰 + * B绔�-鐢电珯鐣岄潰 */ public class MyPowerStationActivity extends CustomBaseActivity { private ActivityMyPowerStationBinding viewBinding; - private int currentFragmentIndex = 1; + private int currentFragmentIndex = 0; private EventListener allTopicsListener; - private int backPressTimes; - @Override public Object getContentView() { @@ -76,45 +83,176 @@ @Override public void onBindView(Bundle savedInstanceState) { - setNotificationBarBackgroundColor(CustomColor.blue); +// setNotificationBarBackgroundColor(CustomColor.blue); + setStatusBarTranslucent(); //鍒濆鍖� - initView(); + this.initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 - initEvent(); + this.initEvent(); //娉ㄥ唽鐩戝惉 - registerAllTopicsListener(); + this.registerAllTopicsListener(); //鍒濆鍖杕qtt瀹㈡埛绔� - initMqttClient(); - -// dddd(); + this.initMqttClient(); + //涓婁紶鏋佸厜娉ㄥ唽ID鍒颁簯绔� + this.pushTokens(); + //鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉� + this.clickJpushNotificationMessage(); + //鍒濆鍖栨潈闄� + this.requestPermissions(); } + + @Override + protected void onResume() { + super.onResume(); + //鍚姩椤典笌mainActivity鏍峰紡涓�鏍凤紝杩欐牱鍚姩椤靛拰mainActivity鐪嬩笂鍘绘槸涓�涓晫闈紝鐩殑鏄负浜唌ainActivity閬綇涓嬩竴椤碉紱 +// AppManagerUtils.getAppManager().finishActivity(StartActivity.class); + portConflictDialog(); +// Intent intent = new Intent(_mActivity, MyPowerStationActivity.class); +// intent.setFlags(Intent.Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); +// intent.putExtra("skip", "skip");//閲岄潰鍒ゆ柇鏈夎繖涓爣璇嗗氨璺宠浆鍒版秷鎭腑蹇冪晫闈� +// _mActivity.startActivity(intent); + //鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉� +// this.clickJpushNotificationMessage(); + } + + + /** + * 涓婁紶鏋佸厜娉ㄥ唽ID鍒颁簯绔� + */ + private void pushTokens() { + String registrationId_tag = "registrationID_" + UserConfigManage.getInstance().getUserId(); + String is_registrationID = HDLApp.getInstance().getKey(registrationId_tag); + if (is_registrationID.equals("true")) { + //涓婅繃灏辨病鏈夊繀瑕佸湪涓婁紶鍟� + return; + } + + 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(); + } + HDLApp.getInstance().setInfoMap(registrationId_tag, "true");//璁板綍涓�涓嬬姸鎬�,鍚庡彴鏉�姝籥pp浼氭竻绌�; + HdlLogLogic.print("娣诲姞鏋佸厜ID鍒颁簯绔�--->registrationID:" + UserConfigManage.getInstance().getUserName() + "--->" + finalRegistrationID, true); + + } + + @Override + public void onFailure(HDLException e) { + HDLApp.getInstance().setInfoMap(registrationId_tag, "false");//璁板綍涓�涓嬬姸鎬�,鍚庡彴鏉�姝籥pp浼氭竻绌�; + HdlLogLogic.print("娣诲姞鏋佸厜ID鍒颁簯绔け璐�--->registrationID:" + UserConfigManage.getInstance().getUserName() + "--->" + finalRegistrationID, true); + } + }); + + } + + + } + }); + } + + /** + * 寮�鍚�氱煡鏉冮檺 + */ + private void notificationSet() { + boolean isBoolean = PermissionUtils.isNotificationEnabled(_mActivity); + if (!isBoolean) { + ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity); + confirmationCancelDialog.setTitle(getString(R.string.loading_title_tip)); + confirmationCancelDialog.setContent(getString(R.string.no_permissions_unable_to_receive_push)); + confirmationCancelDialog.setConfirmation(getString(R.string.go_to_settings)); + 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(); + } + }); + + } + } + + private void initEvent() { + viewBinding.myPowerStationBottomIl0.clickTv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (currentFragmentIndex == 0) { + return; + } + currentFragmentIndex = 0; + bottomViewChangeOfStyle(); + postEventBus(HomepageTitleTabSwitch.homepage); + } + }); viewBinding.myPowerStationBottomIl1.clickTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + if (currentFragmentIndex == 1) { + return; + } currentFragmentIndex = 1; bottomViewChangeOfStyle(); + postEventBus(HomepageTitleTabSwitch.powerstation); } }); viewBinding.myMessageBottomIl2.clickTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + if (currentFragmentIndex == 2) { + return; + } currentFragmentIndex = 2; bottomViewChangeOfStyle(); + postEventBus(HomepageTitleTabSwitch.message); } }); viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + if (currentFragmentIndex == 3) { + return; + } currentFragmentIndex = 3; bottomViewChangeOfStyle(); + postEventBus(HomepageTitleTabSwitch.me); } }); } + @Override protected void onDestroy() { @@ -122,60 +260,94 @@ HdlUniLogic.getInstance().checkRemoveOtherUniMPEventCallBack(); //绉婚櫎鐩戝惉 HDLLinkLocalSdk.getInstance().removeAllTopicsListener(allTopicsListener); - } private void initView() { + viewBinding.myPowerStationBottomIl0.titleTv.setText(R.string.power_shome_page); viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.power_station); viewBinding.myMessageBottomIl2.titleTv.setText(R.string.message); viewBinding.myMeBottomIl3.titleTv.setText(R.string.power_station_me); this.bottomViewChangeOfStyle(); - } private void bottomViewChangeOfStyle() { - if (this.currentFragmentIndex == 1) { + if (this.currentFragmentIndex == 0) { + viewBinding.myHomePageFcv0.setVisibility(View.VISIBLE);//鏄剧ず棣栭〉鐣岄潰 + viewBinding.myPowerStationFcv1.setVisibility(View.GONE);//鏄剧ず鐢电珯鐣岄潰 + viewBinding.myMessageFcv2.setVisibility(View.GONE);//闅愯棌娑堟伅鐣岄潰 + viewBinding.myMeFcv3.setVisibility(View.GONE);//闅愯棌鎴戠殑鐣岄潰 + viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_selected)); + viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_90000000)); + viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_unselected)); + viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_65000000)); + viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_unselected)); + viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_65000000)); + viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_unselected)); + viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_65000000)); + } else if (this.currentFragmentIndex == 1) { + viewBinding.myHomePageFcv0.setVisibility(View.GONE);//闅愯棌棣栭〉鐣岄潰 viewBinding.myPowerStationFcv1.setVisibility(View.VISIBLE);//鏄剧ず鐢电珯鐣岄潰 viewBinding.myMessageFcv2.setVisibility(View.GONE);//闅愯棌娑堟伅鐣岄潰 viewBinding.myMeFcv3.setVisibility(View.GONE);//闅愯棌鎴戠殑鐣岄潰 - viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.selectedpowerstation)); + viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected)); + viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_65000000)); + viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_selected)); viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_90000000)); viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_unselected)); viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_65000000)); - viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedme)); + viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_unselected)); viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_65000000)); } else if (this.currentFragmentIndex == 2) { + viewBinding.myHomePageFcv0.setVisibility(View.GONE);//闅愯棌棣栭〉鐣岄潰 viewBinding.myPowerStationFcv1.setVisibility(View.GONE);//闅愯棌鐢电珯鐣岄潰 viewBinding.myMessageFcv2.setVisibility(View.VISIBLE);//鏄剧ず娑堟伅鐣岄潰 viewBinding.myMeFcv3.setVisibility(View.GONE);//闅愯棌鎴戠殑鐣岄潰 - viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedpowerstation)); + viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected)); + viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_65000000)); + viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_unselected)); viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_65000000)); viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_select)); viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_90000000)); - viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedme)); + viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_unselected)); viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_65000000)); } else if (this.currentFragmentIndex == 3) { + viewBinding.myHomePageFcv0.setVisibility(View.GONE);//闅愯棌棣栭〉鐣岄潰 viewBinding.myPowerStationFcv1.setVisibility(View.GONE);//闅愯棌鐢电珯鐣岄潰 viewBinding.myMessageFcv2.setVisibility(View.GONE);//闅愯棌娑堟伅鐣岄潰 viewBinding.myMeFcv3.setVisibility(View.VISIBLE);//鏄剧ず鎴戠殑鐣岄潰 - viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.unselectedpowerstation)); + viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected)); + viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_65000000)); + viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_unselected)); viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_65000000)); viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_unselected)); viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_65000000)); - viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.selectedme)); + viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_selected)); viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_90000000)); } } + /** + * 鍙戝竷鐐瑰嚮浜嬩欢 + * + * @param tabSwitch - + */ + private void postEventBus(HomepageTitleTabSwitch tabSwitch) { + BaseEventBus baseEventBus = new BaseEventBus(); + baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch); + baseEventBus.setType(tabSwitch.toString()); + EventBus.getDefault().postSticky(baseEventBus); + } public void requestPermissions() { - String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}); + //娑堟伅閫氱煡闄愭潈 + this.notificationSet(); + //ACCESS_FINE_LOCATION 鍏佽浣跨敤GPS瀹氫綅 + //ACCESS_COARSE_LOCATION 鍏佽浣跨敤WIFI鐑偣鎴栧熀绔欐潵鑾峰彇绮楃暐鐨勫畾浣� + String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}); if (ary.length > 0) { - requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); + this.requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); } else { - if (mPermissionsResultCallback != null) { - mPermissionsResultCallback.succeed(); - } + locationUpdates(); } } @@ -185,28 +357,17 @@ if (requestCode == PermissionUtils.STATUS_SUCCESS) { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { - if (mPermissionsResultCallback != null) { - mPermissionsResultCallback.succeed(); + switch (permissions[i]) { + case Manifest.permission.ACCESS_FINE_LOCATION: { + locationUpdates(); + } + break; } + } } } - - } - - - private PermissionsResultCallback mPermissionsResultCallback; - - public void setPermissionsResultCallback(PermissionsResultCallback permissionsResultCallback) { - mPermissionsResultCallback = permissionsResultCallback; - } - - public interface PermissionsResultCallback { - - void succeed(); - - void failing(); } @@ -227,12 +388,20 @@ if (response.getTopic() == null) { return; } - HdlLogLogic.print("鐩戝惉鍒扮殑鏁版嵁===" + new Gson().toJson(response), false); + HdlLogLogic.print("鐩戝惉鍒癕odbus鏁版嵁--->" + new Gson().toJson(response), false); // if (response.getTopic().endsWith("custom/native/inverter/up")) { HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); uniCallBackBaseBean.setType(response.getTopic()); uniCallBackBaseBean.setData(response.getData()); +// if (com.hdl.photovoltaic.ui.test.UniAppMqtt.getInstance().getUni()) { +// try { +// String t = String.format("AndroidToPC/%s/%s", System.currentTimeMillis(), HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL); +// com.hdl.photovoltaic.ui.test.UniAppMqtt.getInstance().publish(t, JSONObject.toJSON(uniCallBackBaseBean).toString()); +// } catch (Exception ignored) { +// } +// } else { HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); +// } // } } else if (msg instanceof LinkResponse) { @@ -245,6 +414,25 @@ uniCallBackBaseBean.setType(linkResponse.getTopic()); uniCallBackBaseBean.setData(linkResponse.getData()); HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL, uniCallBackBaseBean); + HdlLogLogic.print(linkResponse.getTopic() + new Gson().toJson(linkResponse.getData()), true); + } else if (linkResponse.getTopic().endsWith("/custom/device/list/upload")) { + //閫嗗彉鍣ㄦ湁鏂皁id閫氱煡涓婚 + if (linkResponse.getData() == null) { + HdlLogLogic.print("閫嗗彉鍣ㄦ湁鏂皁id閫氱煡--->鏁版嵁涓虹┖", false); + return; + } + try { + Gson gson = new Gson(); + Type typeOfT = new TypeToken<List<OidBean>>() { + }.getType(); + String json = gson.toJson(linkResponse.getData()); + List<OidBean> oidList = gson.fromJson(json, typeOfT); + //澧為噺澧炲姞add + HdlDeviceLogic.getInstance().updateOidAdd(UserConfigManage.getInstance().getHomeId(), oidList, null); + } catch (Exception ignored) { + } + + } } } @@ -256,19 +444,22 @@ * 鍒濆鍖杕qtt瀹㈡埛绔� */ public void initMqttClient() { - HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() { - @Override - public void onSuccess(MqttInfo info) { - if (info != null) { - MqttRecvClient.init(_mActivity, info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord()); + if (!MqttRecvClient.getInstance().isInit()) { + HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() { + @Override + public void onSuccess(MqttInfo info) { + if (info != null) { + MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord(), null); + MqttRecvClient.getInstance().connect(); + } } - } - @Override - public void onFailure(HDLException e) { - HdlLogLogic.print("璇诲彇mqtt杩滅▼淇℃伅澶辫触===" + e.getMessage(), e.getCode(), true); - } - }); + @Override + public void onFailure(HDLException e) { + HdlLogLogic.print("璇诲彇mqtt杩滅▼淇℃伅澶辫触--->" + e.getMessage(), e.getCode(), true); + } + }); + } } @Subscribe(threadMode = ThreadMode.MAIN) @@ -288,7 +479,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])) { @@ -316,20 +507,60 @@ }); } } else if (event.getTopic().contains(HdlOtaLogic.localDownloadProgress)) { - //涓嬭浇浜戠椹卞姩鎴栬�呭浐浠舵枃浠�,鑷繁璁$畻杩涘害鏉′笂鎶ュ埌uni閭h竟 + //涓嬭浇浜戠椹卞姩鎴栬�呭浐浠舵枃浠跺埌鏈湴,鑷繁璁$畻杩涘害鏉′笂鎶ュ埌uni閭h竟 HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); uniCallBackBaseBean.setType(event.getType()); uniCallBackBaseBean.setData(event.getData()); HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL, uniCallBackBaseBean); - HdlLogLogic.print("杩涘害:" + ((HdlOtaLogic.Progress) event.getData()).step + "", false); + HdlLogLogic.print(event.getTopic() + new Gson().toJson(event.getData()), true); + } else if (event.getTopic().contains(ConstantManage.network_change_post)) { +// String wifi_ssid = WifiUtils.getInstance().getCurrentConnectWifiSsid();//鑾峰彇WiFi鐨剆sid闇�瑕佷綅缃潈闄愮殑 + HdlLogLogic.print("鐩戝惉缃戠粶鐘舵��--->" + event.getData().toString() + "(" + event.getType() + ")", true); + //绗竴娆″惎鍔ˋpp,浠ュ強鍒囨崲缃戠粶鐨勬椂鍊欐洿鏂� + if (TextUtils.isEmpty(UserConfigManage.getInstance().getHomeId())) { + return; + } + if (!event.getType().equals(NetworkType.no_network.toString())) { +// AppManagerUtils.getAppManager().showLoading(); + HdlThreadLogic.runSubThread(new Runnable() { + @Override + public void run() { + //闃叉app鍚姩鐨勬椂鍊欐病鏈夌綉缁�(app涔熺櫥褰曚笉浜�),瀵艰嚧鑾峰彇涓嶄簡mqtt杩滅▼杩炴帴淇℃伅; + initMqttClient(); + HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<GatewayBean>>() { + @Override + public void onSuccess(List<GatewayBean> obj) { +// AppManagerUtils.getAppManager().hideLoading(); + } + + @Override + public void onFailure(HDLException e) { +// AppManagerUtils.getAppManager().hideLoading(); + } + }); + } + }); + } + } + } + + /** + * 鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉� + */ + private void clickJpushNotificationMessage() { + Intent intent = getIntent(); + if (intent != null) { + String key = intent.getStringExtra("skip"); + if (key != null) { + //瑙﹀彂娑堟伅鐐瑰嚮浜嬩欢 + viewBinding.myMessageBottomIl2.clickTv.performClick(); + } } } - - /** - * 鐐瑰嚮杩斿洖閿殑浜嬩欢 + * 鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢) */ @Override public void onBackPressed() { @@ -359,76 +590,59 @@ } - private void dddd() { -// String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName("036F6C1B", "V01.01.02"); -// String data = HdlFileLogic.getInstance().readFile(drivePathFileName); -// String md5 = HDLMD5Utils.encodeMD5(data);//缃戝叧椹卞姩闇�瑕� -// Log.e("", md5); -// HdlOtaLogic.getInstance().getDeviceDriverDownloadFile("http://192.168.16.135:49152/storage/emulated/0/Android/data/com.hdl.photovoltaic/files/Documents/upgrade/drive/036F6C1B_V01.01.02.zip", new CloudCallBeak<ResponseBody>() { -// @Override -// public void onSuccess(ResponseBody responseBody) { -// -// HdlOtaLogic.getInstance().disposeDownLoadFile(drivePathFileName, responseBody, md5); -// -//// //鏈湴鍗囩骇椹卞姩鏂囦欢璺緞 -//// -//// String data = HdlFileLogic.getInstance().readFile(drivePathFileName); -//// String md5 = HDLMD5Utils.encodeMD5(data);//缃戝叧椹卞姩闇�瑕� -// } -// -// @Override -// public void onFailure(HDLException e) { -// -// } -// }); + /** + * 鍒濆鍖栥�愬紑鍚畾浣嶃�戝拰銆愪綅缃俊鎭�戞潈闄� + */ + private void locationUpdates() { + // 鍒濆鍖朙ocationManager瀵硅薄 + LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); + GPSManagerUtils.getInstance().getLocation(this); + // 鍒ゆ柇璁惧鏄惁鏀寔瀹氫綅鍔熻兘 + if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) { + // 鎻愮ず鐢ㄦ埛鎵撳紑瀹氫綅鍔熻兘鎴栬�呭紩瀵肩敤鎴峰幓绯荤粺璁剧疆椤甸潰鎵撳紑瀹氫綅鍔熻兘 + ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity); + confirmationCancelDialog.setTitle(getString(R.string.loading_title_tip)); + confirmationCancelDialog.setContent(getString(R.string.system_positioning_switch)); + confirmationCancelDialog.setConfirmation(getString(R.string.go_to_settings)); + confirmationCancelDialog.show(); + confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + confirmationCancelDialog.dismiss(); + Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + HDLApp.getInstance().startActivity(intent); + } + }); + confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { + @Override + public void Cancel() { + confirmationCancelDialog.dismiss(); + } + }); -// HdlOtaLogic.getInstance().getNewGatewayDrivers("036F6C1B", "A000", new CloudCallBeak<CloudGatewayDriversBean>() { -// @Override -// public void onSuccess(CloudGatewayDriversBean obj) { -// -// } -// -// @Override -// public void onFailure(HDLException e) { -// -// } -// }); - - -// dowlao(); - HdlOtaLogic.getInstance().startLocalService(new ServiceConnection() { - @Override - public void onServiceConnected(ComponentName name, IBinder service) { - - } - - @Override - public void onServiceDisconnected(ComponentName name) { - - } - }); + } } - void dowlao() { - - HdlOtaLogic.getInstance().getDeviceUpgradeDownloadFile("http://hdl-hz-test.oss-cn-hangzhou.aliyuncs.com/20/2023/11/1834a1d0-d2a7-4b6f-9877-6f2722e9b7bc.hdlipk_sec", new CloudCallBeak<ResponseBody>() { - @Override - public void onSuccess(ResponseBody responseBody) { - String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName("036F6C1B", "V01.01.02"); - HdlOtaLogic.getInstance().disposeDownLoadFile(drivePathFileName, responseBody, "84cd8e62d4311c90508313f0e5965dbb", HdlOtaLogic.driver_type); - -// HdlFileLogic.getInstance().writeFile(drivePathFileName, bytes);//鍐欏叆鏂版枃浠� - HdlLogLogic.print("鍐欏叆鏂伴┍鍔ㄦ枃浠跺埌鍐呭瓨鎴愬姛.", false); - } - - @Override - public void onFailure(HDLException e) { - HdlLogLogic.print("涓嬭浇椹卞姩鏂囦欢鍒板唴瀛樺け璐�.", false); - } - }); + /** + * 绔彛鍐茬獊 + */ + private void portConflictDialog() { + if (!HDLUdpConnect.getInstance().isBindSuccess()) { + ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity); + dialog.show(); + dialog.setTitle(getString(R.string.loading_title_tip)); + dialog.setContent(getString(R.string.port_conflict)); + dialog.setConfirmation(getString(R.string.home_login_affirm)); + dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + dialog.dismiss(); + } + }); + } } - } \ No newline at end of file -- Gitblit v1.8.0