JLChen
2021-12-07 d6a2ca78cc573243a44ff805ac01935fd36bb6d8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package com.hdl.hdlsdk.device;
 
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.OrientationHelper;
import androidx.recyclerview.widget.RecyclerView;
 
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.util.Log;
 
import com.google.gson.reflect.TypeToken;
import com.hdl.hdlsdk.DemoAdapter;
import com.hdl.hdlsdk.R;
import com.hdl.sdk.common.exception.HDLLinkException;
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.LinkResponse;
import com.hdl.sdk.connect.bean.response.BaseLocalResponse;
import com.hdl.sdk.connect.bean.response.GatewaySearchBean;
import com.hdl.sdk.connect.callback.HDLLinkCallBack;
 
import java.util.ArrayList;
import java.util.List;
 
public class DevicesListActivity extends AppCompatActivity {
 
    private static final String TAG = "DevicesListActivity";
    private List<FunctionBean> devicesList = new ArrayList<>();
    private DevicesListAdapter mDevicesListAdapter;
    private RecyclerView mRecyclerView;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_devices_list);
 
        initView();
        initData();
    }
 
    @SuppressLint("WrongConstant")
    private void initView() {
        mRecyclerView = findViewById(R.id.device_list_rv);
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
        mDevicesListAdapter = new DevicesListAdapter(this, devicesList);
        mRecyclerView.setAdapter(mDevicesListAdapter);
    }
 
    private void initData() {
        getFunctionList();
    }
 
    /**
     * 获取功能列表
     */
    void getFunctionList(){
 
        HDLLink.getInstance().getFunctionList(new HDLLinkCallBack() {
            @Override
            public void onError(HDLLinkException error) {
                Log.e(TAG,error.getMsg());
            }
 
            @Override
            public void onSuccess(String data) {
                Log.i(TAG, "获取设备列表成功");
                handelFunList(data);
            }
        });
    }
 
    void handelFunList(String data){
      try {
          final LinkResponse linkResponse = GsonConvert.getGson().fromJson(data, new TypeToken<LinkResponse>() {
          }.getType());
 
          final BaseLocalResponse<List<FunctionBean>> bean = GsonConvert.getGson().fromJson(linkResponse.getData(), new TypeToken<BaseLocalResponse<List<FunctionBean>>>() {
          }.getType());
          devicesList.clear();
          devicesList.addAll(bean.getObjects());
          mDevicesListAdapter.notifyDataSetChanged();
      }catch (Exception e){
          Log.e(TAG, "handelFunList: " + e.getMessage());
      }
 
    }
}