New file |
| | |
| | | package com.utils; |
| | | |
| | | import android.content.Intent; |
| | | import android.os.Bundle; |
| | | import android.widget.Toast; |
| | | |
| | | import com.common.openapi.ClassInstanceManager; |
| | | import com.common.openapi.DeviceSubAccountListService; |
| | | import com.common.openapi.IGetDeviceInfoCallBack; |
| | | import com.common.openapi.MethodConst; |
| | | import com.common.openapi.entity.DeviceDetailListData; |
| | | import com.lechange.demo.ui.DeviceDetailActivity; |
| | | import com.lechange.demo.ui.DeviceListActivity; |
| | | import com.lechange.demo.ui.DeviceOnlineMediaPlayActivity; |
| | | import com.mm.android.deviceaddmodule.openapi.HDLMD5Utils; |
| | | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Iterator; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * Created by hxb on 2022/11/22. |
| | | */ |
| | | public class DeviceUtils implements IGetDeviceInfoCallBack.ISubAccountDevice< DeviceDetailListData.Response> { |
| | | |
| | | private String deviceId; |
| | | public DeviceUtils(String deviceId){ |
| | | this.deviceId=deviceId; |
| | | } |
| | | private static List<DeviceDetailListData.ResponseData.DeviceListBean> datas = new ArrayList<>(); |
| | | |
| | | private void getDeviceList() { |
| | | DeviceSubAccountListService deviceSubAccountListService = ClassInstanceManager.newInstance().getDeviceSubAccountListService(); |
| | | deviceSubAccountListService.getSubAccountDeviceList(1,this); |
| | | } |
| | | |
| | | public void play() { |
| | | for (DeviceDetailListData.ResponseData.DeviceListBean deviceListBean : datas) { |
| | | if (deviceListBean.deviceId.equals(deviceId)) { |
| | | if (!deviceListBean.status.equals("online")) { |
| | | return; |
| | | } |
| | | Bundle bundle = new Bundle(); |
| | | bundle.putSerializable(MethodConst.ParamConst.deviceDetail, deviceListBean); |
| | | Intent intent = new Intent(HdlToLcUtils.getInstance().getActivity(), DeviceOnlineMediaPlayActivity.class); |
| | | intent.putExtras(bundle); |
| | | HdlToLcUtils.getInstance().getActivity().startActivity(intent); |
| | | |
| | | return; |
| | | } |
| | | } |
| | | getDeviceList(); |
| | | } |
| | | @Override |
| | | public void DeviceList(DeviceDetailListData.Response responseData) { |
| | | |
| | | if (responseData.data != null && responseData.data.deviceList != null && responseData.data.deviceList.size() != 0) { |
| | | Iterator<DeviceDetailListData.ResponseData.DeviceListBean> iterator = responseData.data.deviceList.iterator(); |
| | | while (iterator.hasNext()) { |
| | | DeviceDetailListData.ResponseData.DeviceListBean next = iterator.next(); |
| | | if (next.channels != null && next.channels.size() == 0 && !next.catalog.contains("NVR")) { |
| | | // 使用迭代器中的remove()方法,可以删除元素. |
| | | iterator.remove(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | if ((responseData.data == null || responseData.data.deviceList == null || responseData.data.deviceList.size() == 0)) { |
| | | return; |
| | | } |
| | | |
| | | datas.addAll(responseData.data.deviceList); |
| | | |
| | | for (DeviceDetailListData.ResponseData.DeviceListBean deviceListBean : datas) { |
| | | if (deviceListBean.deviceId.equals(deviceId)) { |
| | | if (!deviceListBean.status.equals("online")) { |
| | | return; |
| | | } |
| | | Bundle bundle = new Bundle(); |
| | | bundle.putSerializable(MethodConst.ParamConst.deviceDetail, deviceListBean); |
| | | Intent intent = new Intent(HdlToLcUtils.getInstance().getActivity(), DeviceOnlineMediaPlayActivity.class); |
| | | intent.putExtras(bundle); |
| | | HdlToLcUtils.getInstance().getActivity().startActivity(intent); |
| | | |
| | | return; |
| | | } |
| | | } |
| | | } |
| | | @Override |
| | | public void onError(Throwable throwable) { |
| | | Toast.makeText(HdlToLcUtils.getInstance().getActivity(), throwable.getMessage(), Toast.LENGTH_SHORT).show(); |
| | | } |
| | | } |