| | |
| | | |
| | | |
| | | import android.os.Bundle; |
| | | import android.os.Process; |
| | | import android.os.SystemClock; |
| | | import android.text.TextUtils; |
| | | import android.util.Log; |
| | | |
| | | |
| | | import androidx.annotation.Nullable; |
| | | |
| | | 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.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.ui.bean.HouseIdBean; |
| | | import com.hdl.photovoltaic.ui.bean.OidBean; |
| | | import com.hdl.photovoltaic.uni.HDLUniMP; |
| | | import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; |
| | | import com.hdl.photovoltaic.utils.AppManagerUtils; |
| | | 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; |
| | |
| | | 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.Subscribe; |
| | |
| | | private ActivityCpowerStationBinding viewBinding; |
| | | |
| | | private EventListener allTopicsListener; |
| | | private int backPressTimes; |
| | | |
| | | @Override |
| | | public Object getContentView() { |
| | |
| | | |
| | | @Override |
| | | public void onBindView(Bundle savedInstanceState) { |
| | | setNotificationBarBackgroundColor(CustomColor.white); |
| | | setStatusBarTextColor(); |
| | | //C端启动App自动打开小程序电站详情界面 |
| | | startAppAutomaticallyOpenUni(); |
| | | //注册监听 |
| | |
| | | this.initMqttClient(); |
| | | //上传极光注册ID到云端 |
| | | this.pushTokens(); |
| | | } |
| | | |
| | | @Override |
| | | protected void onCreate(@Nullable Bundle savedInstanceState) { |
| | | super.onCreate(savedInstanceState); |
| | | // setTheme(R.style.NoAnimationTheme); |
| | | } |
| | | |
| | | @Override |
| | | protected void onResume() { |
| | | super.onResume(); |
| | | //启动页与mainActivity样式一样,这样启动页和mainActivity看上去是一个界面,目的是为了mainActivity遮住下一页; |
| | | // AppManagerUtils.getAppManager().finishActivity(StartActivity.class); |
| | | this.portConflictDialog(); |
| | | } |
| | | public void startAppAutomaticallyOpenUni() { |
| | | //低于安卓14版本 |
| | | if (android.os.Build.VERSION.SDK_INT < 34) { |
| | | startAppAutomaticallyOpenUni(false); |
| | | } else { |
| | | startAppAutomaticallyOpenUni(true); |
| | | } |
| | | } |
| | | |
| | | @Subscribe(threadMode = ThreadMode.MAIN) |
| | |
| | | } |
| | | }); |
| | | } |
| | | } else if (event.getTopic().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL) && event.getType().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_BACK)) { |
| | | //物理按键返回事件(包括左滑移除事件) |
| | | killProcessApp(); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * C端启动App自动打开小程序电站详情界面 |
| | | */ |
| | | private void startAppAutomaticallyOpenUni() { |
| | | private void startAppAutomaticallyOpenUni(boolean delay) { |
| | | |
| | | if(delay) { |
| | | SystemClock.sleep(2000); |
| | | } |
| | | List<HouseIdBean> HouseIdList = HdlResidenceLogic.getInstance().getHouseIdList(); |
| | | if (HouseIdList.size() == 0) { |
| | | String path = HDLUniMP.UNI_EVENT_OPEN_HOME_Null_C; |
| | |
| | | } |
| | | HouseIdBean houseIdBean = HouseIdList.get(select_home); |
| | | HdlResidenceLogic.getInstance().switchHouse(houseIdBean); |
| | | String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C |
| | | + "?homeId=" + houseIdBean.getHomeId() |
| | | + "&homeName=" + houseIdBean.getHomeName() |
| | | + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); |
| | | String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus(); |
| | | HdlUniLogic.getInstance().openUniMP(path, null); |
| | | } |
| | | |
| | | } |
| | | |
| | | // /** |
| | | // * 物理按键返回事件(包括左滑移除事件) |
| | | // */ |
| | | // @Override |
| | | // public void onBackPressed() { |
| | | // killProcessApp(); |
| | | // super.onBackPressed(); |
| | | // } |
| | | |
| | | private void killProcessApp() { |
| | | //物理按键返回事件(包括左滑移除事件) |
| | | if (AppManagerUtils.getAppManager().getActivitySize() <= 1) { |
| | | if (backPressTimes == 0) { |
| | | HdlThreadLogic.toast(_mActivity, R.string.kill_app); |
| | | backPressTimes = 1; |
| | | new Thread() { |
| | | @Override |
| | | public void run() { |
| | | try { |
| | | Thread.sleep(2000); |
| | | } catch (InterruptedException e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | backPressTimes = 0; |
| | | } |
| | | } |
| | | }.start(); |
| | | return; |
| | | } else { |
| | | //关闭小程序 |
| | | if (null != HDLUniMPSDKManager.getInstance().getUniMP()) { |
| | | HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP(); |
| | | } |
| | | AppManagerUtils.getAppManager().finishAllActivity(); |
| | | Process.killProcess(Process.myPid()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | @Override |
| | | protected void onDestroy() { |
| | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 端口冲突 |
| | | */ |
| | | private void portConflictDialog() { |
| | | if (!HDLUdpConnect.getInstance().isBindSuccess()) { |
| | | ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity); |
| | | dialog.show(); |
| | | dialog.setTitle(getString(R.string.home_account_registered_successfully)); |
| | | dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { |
| | | @Override |
| | | public void Confirm() { |
| | | finish(); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | } |