From a77dcb0250488ca6567490ed9fb5ce969bf41db7 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 29 五月 2024 14:55:03 +0800
Subject: [PATCH] Merge branch 'wjc_new' into feature/hxb

---
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java |  161 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 161 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
new file mode 100644
index 0000000..c8c6074
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
@@ -0,0 +1,161 @@
+package com.hdl.photovoltaic.ui.adapter;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.content.res.AppCompatResources;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.enums.UnitType;
+import com.hdl.photovoltaic.other.HdlCommonLogic;
+import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class DeviceInfoAdapter extends RecyclerView.Adapter<DeviceInfoAdapter.MyViewHolder> {
+
+    List<CloudInverterDeviceBean> mList;
+
+    Context mContext;
+
+    OnClickListener mOnclickListener;
+
+    public DeviceInfoAdapter(Context context) {
+
+        this.mContext = context;
+    }
+
+    @NonNull
+    @Override
+    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        View contentItem = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_device_details, parent, false);
+        return new MyViewHolder(contentItem);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
+        CloudInverterDeviceBean deviceBean = this.mList.get(position);
+
+        holder.homeNameTv.setText(deviceBean.getHomeNameAndDeviceName());
+        holder.device_details_sn_tv.setText("SN:"+deviceBean.getOsn());
+        holder.device_label_run_state_value_tv.setText(deviceBean.getSystemStatusDesc());
+        holder.device_label_power_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(deviceBean.getPowerPvNow(), UnitType.kW));
+        holder.device_label_day_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(deviceBean.getPowerPvNow(), UnitType.kWh));
+        holder.device_label_location_tv.setText(deviceBean.getHomeAddress());
+        setTextViewStyle(holder.device_label_state_tv, deviceBean.getDeviceStatus());
+        holder.itemView.setTag(position);
+        holder.itemView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    if (mOnclickListener != null) {
+                        mOnclickListener.onClick((int) holder.itemView.getTag(), deviceBean);
+                    }
+                } catch (Exception ignored) {
+                }
+            }
+        });
+
+    }
+
+    @Override
+    public int getItemCount() {
+        return this.mList == null ? 0 : this.mList.size();
+    }
+
+    public void setOnclickListener(OnClickListener onClickListener) {
+        this.mOnclickListener = onClickListener;
+    }
+
+    public void setList(List<CloudInverterDeviceBean> newData) {
+        if (this.mList == null) {
+            this.mList = new ArrayList<>();
+        } else {
+            this.mList.clear();
+        }
+
+        this.mList.addAll(newData);
+        notifyDataSetChanged();
+    }
+
+    /**
+     * 鏀瑰彉缁勪欢鏍峰紡
+     *
+     * @param textView    鏄剧ず缁勪欢
+     * @param state_value 璁惧鐘舵��(1:杩炴帴涓�,2:鏁呴殰,3:姝e父(杩愯),4:绂荤嚎)
+     */
+    private void setTextViewStyle(TextView textView, int state_value) {
+        String text = mContext.getString(R.string.my_power_station_operation);
+        Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_06b92a);
+        switch (state_value) {
+            case 1: {
+                text = mContext.getString(R.string.my_power_station_connecting);
+                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
+            }
+            break;
+            case 2: {
+                text = mContext.getString(R.string.my_power_station_malfunction);
+                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
+            }
+            break;
+            case 3: {
+                text = mContext.getString(R.string.my_power_station_operation);
+            }
+            break;
+            case 4: {
+                text = mContext.getString(R.string.my_power_station_off_line);
+                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9);
+            }
+            break;
+
+
+        }
+        textView.setText(text);
+        textView.setBackground(drawable);
+
+
+    }
+
+    /**
+     * 涓�琛屽竷灞�瀹瑰櫒
+     */
+    static class MyViewHolder extends RecyclerView.ViewHolder {
+
+        public ImageView device_icon_iv;//璁惧鍥剧墖
+        public TextView homeNameTv;//浣忓畢鍚嶇О
+        public TextView device_details_sn_tv;//mac
+        public TextView device_label_run_state_value_tv;//璁惧杩愯鐘舵��
+        public TextView device_label_power_value_tv;//鏈夊姛鍔熺巼
+        public TextView device_label_day_value_tv;//褰撴棩鍙戠數閲�
+        public TextView device_label_location_tv;//鐢电珯鍦板潃
+        public TextView device_label_state_tv;//璁惧鐘舵��(1:杩炴帴涓�,2:鏁呴殰,3:姝e父(杩愯),4:绂荤嚎)
+
+
+        public MyViewHolder(@NonNull View itemView) {
+            super(itemView);
+            device_icon_iv = itemView.findViewById(R.id.device_details_image_iv);
+            homeNameTv = itemView.findViewById(R.id.device_details_name_tv);
+            device_details_sn_tv = itemView.findViewById(R.id.device_details_sn_tv);
+            device_label_run_state_value_tv = itemView.findViewById(R.id.device_label_run_state_value_tv);
+            device_label_power_value_tv = itemView.findViewById(R.id.device_label_power_value_tv);
+            device_label_day_value_tv = itemView.findViewById(R.id.device_label_day_value_tv);
+            device_label_location_tv = itemView.findViewById(R.id.device_label_location_tv);
+
+            device_label_state_tv = itemView.findViewById(R.id.device_label_state_tv);
+
+        }
+    }
+
+    public interface OnClickListener {
+        void onClick(int position, CloudInverterDeviceBean deviceBean);
+
+    }
+}

--
Gitblit v1.8.0