From 7c8ce9b9a7d3fc1aaa4a621e86415b25ad10a34f Mon Sep 17 00:00:00 2001
From: panlili2024 <14743743+panlili2024@user.noreply.gitee.com>
Date: 星期三, 19 三月 2025 09:36:28 +0800
Subject: [PATCH] 添加source屏扫码流程

---
 HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java |   96 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 96 insertions(+), 0 deletions(-)

diff --git a/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java
new file mode 100644
index 0000000..ec799ab
--- /dev/null
+++ b/HDLSDK/app/src/main/java/com/hdl/hdlsdk/device/DevicesListActivity.java
@@ -0,0 +1,96 @@
+package com.hdl.hdlsdk.device;
+
+import android.annotation.SuppressLint;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.google.gson.reflect.TypeToken;
+import com.hdl.hdlsdk.R;
+import com.hdl.hdlsdk.bean.FunctionBean;
+import com.hdl.sdk.common.exception.HDLLinkException;
+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.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;
+    private View view;
+
+    @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);
+
+        view = findViewById(R.id.rl_back);
+        view.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+    }
+
+    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());
+      }
+
+    }
+}
\ No newline at end of file

--
Gitblit v1.8.0