| | |
| | | package com.hdl.hdlsdk.device;
|
| | |
|
| | | import android.content.Context;
|
| | | import android.util.Log;
|
| | | import android.view.LayoutInflater;
|
| | | import android.view.View;
|
| | | import android.view.ViewGroup;
|
| | | import android.widget.CompoundButton;
|
| | | import android.widget.Switch;
|
| | | import android.widget.TextView;
|
| | |
|
| | | import androidx.annotation.NonNull;
|
| | | import androidx.annotation.Nullable;
|
| | | import androidx.recyclerview.widget.RecyclerView;
|
| | |
|
| | | import com.chad.library.adapter.base.BaseMultiItemQuickAdapter;
|
| | | import com.chad.library.adapter.base.viewholder.BaseViewHolder;
|
| | | import com.hdl.hdlsdk.DemoBean;
|
| | | import com.hdl.hdlsdk.R;
|
| | | import com.hdl.sdk.common.config.TopicConstant;
|
| | | import com.hdl.sdk.common.exception.HDLLinkException;
|
| | | import com.hdl.sdk.common.utils.IdUtils;
|
| | | import com.hdl.sdk.common.utils.LogUtils;
|
| | | import com.hdl.sdk.common.utils.gson.GsonConvert;
|
| | | import com.hdl.sdk.connect.HDLLink;
|
| | | import com.hdl.sdk.connect.bean.request.DeviceControlRequest;
|
| | | import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
|
| | | import com.hdl.sdk.connect.callback.HDLLinkCallBack;
|
| | | import com.hdl.sdk.connect.config.HDLLinkConfig;
|
| | |
|
| | | import java.util.ArrayList;
|
| | | import java.util.List;
|
| | |
|
| | | public class DevicesListAdapter extends RecyclerView.Adapter<DevicesListAdapter.ViewHolder> {
|
| | |
|
| | | private LayoutInflater mInflater;
|
| | | private List<FunctionBean> mList = null;
|
| | |
|
| | | public DevicesListAdapter(Context context, List<FunctionBean> devicesList) {
|
| | | this.mInflater = LayoutInflater.from(context);
|
| | | this.mList = devicesList;
|
| | | }
|
| | |
|
| | | /**
|
| | | * item显示类型
|
| | | *
|
| | | * @param parent
|
| | | * @param viewType
|
| | | * @return
|
| | | */
|
| | | @Override
|
| | | public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
|
| | | View view = mInflater.inflate(R.layout.item_devices_list, parent, false);
|
| | | ViewHolder viewHolder = new ViewHolder(view);
|
| | | return viewHolder;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 数据的绑定显示
|
| | | *
|
| | | * @param holder
|
| | | * @param position
|
| | | */
|
| | | @Override
|
| | | public void onBindViewHolder(ViewHolder holder, int position) {
|
| | | holder.item_tv.setText(mList.get(position).getName());
|
| | | holder.device_on_off_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
| | | @Override
|
| | | public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
|
| | | propertyDown(mList.get(position), isChecked);
|
| | | }
|
| | | });
|
| | | }
|
| | |
|
| | | @Override
|
| | | public int getItemCount() {
|
| | | return mList.size();
|
| | | }
|
| | |
|
| | | //自定义的ViewHolder,持有每个Item的的所有界面元素
|
| | | public static class ViewHolder extends RecyclerView.ViewHolder {
|
| | | public TextView item_tv;
|
| | | public Switch device_on_off_switch;
|
| | |
|
| | | public ViewHolder(View view) {
|
| | | super(view);
|
| | | item_tv = (TextView) view.findViewById(R.id.device_title_tv);
|
| | | device_on_off_switch = view.findViewById(R.id.device_on_off_switch);
|
| | | }
|
| | | }
|
| | |
|
| | | private void propertyDown(FunctionBean functionBean, Boolean isOn){
|
| | | List<DeviceControlRequest> requestList = new ArrayList<>();
|
| | | DeviceControlRequest request = new DeviceControlRequest();
|
| | | request.setSid(functionBean.getSid());
|
| | | List<DeviceControlRequest.StatusBean> statusBeanList= new ArrayList<>();
|
| | | DeviceControlRequest.StatusBean bean = new DeviceControlRequest.StatusBean();
|
| | | bean.setKey("on_off");
|
| | | bean.setValue(isOn ? "on" : "off");
|
| | | statusBeanList.add(bean);
|
| | | request.setStatus(statusBeanList);
|
| | | requestList.add(request);
|
| | | String time = String.valueOf(System.currentTimeMillis());
|
| | |
|
| | | HDLLink.getInstance().propertyDown(requestList, new HDLLinkCallBack() {
|
| | | @Override
|
| | | public void onSuccess(String data) {
|
| | | Log.i("propertyDown",data);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public void onError(HDLLinkException e) {
|
| | | Log.e("propertyDown", "ERROR :"+ e.getMsg());
|
| | | }
|
| | | });
|
| | |
|
| | | }
|
| | | package com.hdl.hdlsdk.device; |
| | | |
| | | import android.content.Context; |
| | | import android.util.Log; |
| | | import android.view.LayoutInflater; |
| | | import android.view.View; |
| | | import android.view.ViewGroup; |
| | | import android.widget.CompoundButton; |
| | | import android.widget.Switch; |
| | | import android.widget.TextView; |
| | | |
| | | import androidx.recyclerview.widget.RecyclerView; |
| | | |
| | | import com.hdl.hdlsdk.R; |
| | | import com.hdl.sdk.common.exception.HDLLinkException; |
| | | import com.hdl.sdk.connect.HDLLink; |
| | | import com.hdl.sdk.connect.bean.request.DeviceControlRequest; |
| | | import com.hdl.sdk.connect.callback.HDLLinkCallBack; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | public class DevicesListAdapter extends RecyclerView.Adapter<DevicesListAdapter.ViewHolder> { |
| | | |
| | | private LayoutInflater mInflater; |
| | | private List<FunctionBean> mList = null; |
| | | |
| | | public DevicesListAdapter(Context context, List<FunctionBean> devicesList) { |
| | | this.mInflater = LayoutInflater.from(context); |
| | | this.mList = devicesList; |
| | | } |
| | | |
| | | /** |
| | | * item显示类型 |
| | | * |
| | | * @param parent |
| | | * @param viewType |
| | | * @return |
| | | */ |
| | | @Override |
| | | public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { |
| | | View view = mInflater.inflate(R.layout.item_devices_list, parent, false); |
| | | ViewHolder viewHolder = new ViewHolder(view); |
| | | return viewHolder; |
| | | } |
| | | |
| | | /** |
| | | * 数据的绑定显示 |
| | | * |
| | | * @param holder |
| | | * @param position |
| | | */ |
| | | @Override |
| | | public void onBindViewHolder(ViewHolder holder, int position) { |
| | | holder.item_tv.setText(mList.get(position).getName()); |
| | | holder.device_on_off_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { |
| | | @Override |
| | | public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) { |
| | | propertyDown(mList.get(position), isChecked); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | @Override |
| | | public int getItemCount() { |
| | | return mList.size(); |
| | | } |
| | | |
| | | //自定义的ViewHolder,持有每个Item的的所有界面元素 |
| | | public static class ViewHolder extends RecyclerView.ViewHolder { |
| | | public TextView item_tv; |
| | | public Switch device_on_off_switch; |
| | | |
| | | public ViewHolder(View view) { |
| | | super(view); |
| | | item_tv = (TextView) view.findViewById(R.id.device_title_tv); |
| | | device_on_off_switch = view.findViewById(R.id.device_on_off_switch); |
| | | } |
| | | } |
| | | |
| | | private void propertyDown(FunctionBean functionBean, Boolean isOn){ |
| | | List<DeviceControlRequest> requestList = new ArrayList<>(); |
| | | DeviceControlRequest request = new DeviceControlRequest(); |
| | | request.setSid(functionBean.getSid()); |
| | | List<DeviceControlRequest.StatusBean> statusBeanList= new ArrayList<>(); |
| | | DeviceControlRequest.StatusBean bean = new DeviceControlRequest.StatusBean(); |
| | | bean.setKey("on_off"); |
| | | bean.setValue(isOn ? "on" : "off"); |
| | | statusBeanList.add(bean); |
| | | request.setStatus(statusBeanList); |
| | | requestList.add(request); |
| | | String time = String.valueOf(System.currentTimeMillis()); |
| | | |
| | | HDLLink.getInstance().propertyDown(requestList, new HDLLinkCallBack() { |
| | | @Override |
| | | public void onSuccess(String data) { |
| | | Log.i("propertyDown",data); |
| | | } |
| | | |
| | | @Override |
| | | public void onError(HDLLinkException e) { |
| | | Log.e("propertyDown", "ERROR :"+ e.getMsg()); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | } |