From 5397e103492099bb3fdece2b5de752605570ec2f Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期三, 15 五月 2024 15:37:09 +0800
Subject: [PATCH] Merge branch 'wjc_new' into wxw_new

---
 app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java |  345 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 345 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
new file mode 100644
index 0000000..82614bd
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/DefaultFilteringDialog.java
@@ -0,0 +1,345 @@
+package com.hdl.photovoltaic.widget;
+
+import android.content.Context;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.content.res.AppCompatResources;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.base.BaseDialog;
+import com.hdl.photovoltaic.databinding.DialogDefaultFilteringBinding;
+import com.hdl.photovoltaic.enums.GridType;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+
+public class DefaultFilteringDialog extends BaseDialog {
+    private final Context mContext;
+
+    DialogDefaultFilteringBinding viewBinding;
+
+    OnClickListener mOnClickListener;
+
+    final String text1 = "0-5";
+    final String text2 = "5-10";
+    final String text3 = "10-15";
+    final String text4 = "15-30";
+    final String text5 = "30-100";
+    final String text6 = "100-300";
+    final String text7 = "300-500";
+    final String text8 = "500+";
+
+
+    private String mStateValue = GridType.All;
+
+    public DefaultFilteringDialog(@NonNull Context context) {
+        super(context, R.style.Custom_Dialog);
+        this.mContext = context;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        viewBinding = DialogDefaultFilteringBinding.inflate(getLayoutInflater());
+        setContentView(viewBinding.getRoot());
+        //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢�
+        setCanceledOnTouchOutside(false);
+        //鍒濆鍖栫晫闈㈡帶浠�
+        initView();
+        //鍒濆鍖栫晫闈㈡暟鎹�
+//        initData(mMinValue, mMaxValue, mStateValue);
+        //鍒濆鍖栫晫闈㈡帶浠剁殑浜嬩欢
+        initEvent();
+
+
+    }
+
+    private void initEvent() {
+
+        viewBinding.affirmLl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String minValue = viewBinding.minEt.getText().toString();
+                String maxValue = viewBinding.maxEt.getText().toString();
+                if (!TextUtils.isEmpty(minValue) && !TextUtils.isEmpty(maxValue)) {
+                    try {
+                        if (Integer.parseInt(minValue) > Integer.parseInt(maxValue)) {
+                            //鏈�灏忓�煎湪鍓嶉潰
+                            if (mOnClickListener != null) {
+                                mOnClickListener.confirm(maxValue, minValue, mStateValue);
+                            }
+                        } else {
+                            if (mOnClickListener != null) {
+                                mOnClickListener.confirm(minValue, maxValue, mStateValue);
+                            }
+                        }
+                    } catch (Exception e) {
+                        //寮哄埗杞崲鍥犺緭鍏ュ�艰秴鍑篿nt鍊煎煙鑼冨洿鎶ュ嚭寮傚父
+                        int maxValueInt = Integer.MAX_VALUE;
+                        HdlThreadLogic.toast(mContext, mContext.getString(R.string.the_input_value_has_been_exceeded) + "(" + maxValueInt + ").");
+                        return;
+                    }
+
+                } else {
+                    if (mOnClickListener != null) {
+                        mOnClickListener.confirm(minValue, maxValue, mStateValue);
+                    }
+                }
+                dismiss();
+            }
+        });
+
+
+        viewBinding.cancelLl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                dismiss();
+            }
+        });
+
+        viewBinding.resetTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(null, TitleType.string_capacity);
+                setSelectedText("");
+            }
+        });
+        viewBinding.text1Tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.text1Tv, TitleType.string_capacity);
+                setSelectedText(viewBinding.text1Tv.getTag().toString());
+            }
+        });
+        viewBinding.text2Tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.text2Tv, TitleType.string_capacity);
+                setSelectedText(viewBinding.text2Tv.getTag().toString());
+            }
+        });
+        viewBinding.text3Tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.text3Tv, TitleType.string_capacity);
+                setSelectedText(viewBinding.text3Tv.getTag().toString());
+            }
+        });
+        viewBinding.text4Tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.text4Tv, TitleType.string_capacity);
+                setSelectedText(viewBinding.text4Tv.getTag().toString());
+            }
+        });
+
+        viewBinding.text5Tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.text5Tv, TitleType.string_capacity);
+                setSelectedText(viewBinding.text5Tv.getTag().toString());
+            }
+        });
+        viewBinding.text6Tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.text6Tv, TitleType.string_capacity);
+                setSelectedText(viewBinding.text6Tv.getTag().toString());
+            }
+        });
+        viewBinding.text7Tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.text7Tv, TitleType.string_capacity);
+                setSelectedText(viewBinding.text7Tv.getTag().toString());
+            }
+        });
+        viewBinding.text8Tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.text8Tv, TitleType.string_capacity);
+                setSelectedText(viewBinding.text8Tv.getTag().toString());
+            }
+        });
+
+        viewBinding.allTv.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState);
+                setSelectedText(viewBinding.allTv.getTag().toString());
+            }
+        });
+        viewBinding.gridConnectedTv.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.gridConnectedTv, TitleType.GridConnectedState);
+                setSelectedText(viewBinding.gridConnectedTv.getTag().toString());
+            }
+        });
+        viewBinding.offNetworkTv.setOnClickListener(new View.OnClickListener() {
+
+            @Override
+            public void onClick(View v) {
+                setBackgroundColor(viewBinding.offNetworkTv, TitleType.GridConnectedState);
+                setSelectedText(viewBinding.offNetworkTv.getTag().toString());
+            }
+        });
+
+    }
+
+    /**
+     * @param value 閫変腑鐨勫��
+     */
+    private void setSelectedText(String value) {
+
+        String minValue = "", maxValue = "";
+        if (TextUtils.isEmpty(value)) {
+            minValue = "";
+            maxValue = "";
+        } else if (value.contains("+")) {
+            minValue = "500";
+            maxValue = "";
+        } else if (value.contains("-")) {
+            String[] min_max = value.split("-");
+            if (min_max.length == 2) {
+                minValue = min_max[0];
+                maxValue = min_max[1];
+            }
+        } else {
+            mStateValue = value;
+        }
+
+        viewBinding.minEt.setText(minValue);
+        viewBinding.maxEt.setText(maxValue);
+
+    }
+
+    /**
+     * 鏀瑰彉缁勪欢鑳屾櫙锛屽瓧浣撻鑹叉牸寮�
+     *
+     * @param textView  缁勪欢鍙互锛堣缃负null,娌℃湁閫変腑鐘舵��)
+     * @param titleType 淇敼绫诲瀷
+     */
+    private void setBackgroundColor(TextView textView, TitleType titleType) {
+        if (titleType == TitleType.string_capacity) {
+            viewBinding.text1Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.text1Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.text2Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.text2Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.text3Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.text3Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.text4Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.text4Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.text5Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.text5Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.text6Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.text6Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.text7Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.text7Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.text8Tv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.text8Tv.setTextColor(mContext.getColor(R.color.text_90000000));
+        } else {
+            viewBinding.allTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.allTv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.gridConnectedTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.gridConnectedTv.setTextColor(mContext.getColor(R.color.text_90000000));
+            viewBinding.offNetworkTv.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.search_bj_ff05000000));
+            viewBinding.offNetworkTv.setTextColor(mContext.getColor(R.color.text_90000000));
+        }
+        if (textView != null) {
+            textView.setBackground(AppCompatResources.getDrawable(mContext, R.drawable.selected_38c494));
+            textView.setTextColor(mContext.getColor(R.color.text_FFFFFFFF));
+        }
+
+    }
+
+    public void initState(String min, String max, String stateValue) {
+        try {
+            mStateValue = stateValue;
+            viewBinding.minEt.setText(min);
+            viewBinding.maxEt.setText(max);
+
+            if (!TextUtils.isEmpty(min) || !TextUtils.isEmpty(max)) {
+                String str = min + "-" + max;
+                switch (str) {
+                    case text1:
+                        setBackgroundColor(viewBinding.text1Tv, TitleType.string_capacity);
+                        break;
+                    case text2:
+                        setBackgroundColor(viewBinding.text2Tv, TitleType.string_capacity);
+                        break;
+                    case text3:
+                        setBackgroundColor(viewBinding.text3Tv, TitleType.string_capacity);
+                        break;
+                    case text4:
+                        setBackgroundColor(viewBinding.text4Tv, TitleType.string_capacity);
+                        break;
+                    case text5:
+                        setBackgroundColor(viewBinding.text5Tv, TitleType.string_capacity);
+                        break;
+                    case text6:
+                        setBackgroundColor(viewBinding.text6Tv, TitleType.string_capacity);
+                        break;
+                    case text7:
+                        setBackgroundColor(viewBinding.text7Tv, TitleType.string_capacity);
+                        break;
+                    case text8:
+                        setBackgroundColor(viewBinding.text8Tv, TitleType.string_capacity);
+                        break;
+                }
+            }
+            if (TextUtils.isEmpty(stateValue)) {
+                setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState);
+            } else if (stateValue.equals(GridType.FULL_GRID)) {
+                setBackgroundColor(viewBinding.gridConnectedTv, TitleType.GridConnectedState);
+            } else {
+                setBackgroundColor(viewBinding.offNetworkTv, TitleType.GridConnectedState);
+            }
+        } catch (Exception ignored) {
+        }
+
+    }
+
+    private void initView() {
+
+        viewBinding.text1Tv.setTag(text1);
+        viewBinding.text2Tv.setTag(text2);
+        viewBinding.text3Tv.setTag(text3);
+        viewBinding.text4Tv.setTag(text4);
+        viewBinding.text5Tv.setTag(text5);
+        viewBinding.text6Tv.setTag(text6);
+        viewBinding.text7Tv.setTag(text7);
+        viewBinding.text8Tv.setTag(text8);
+
+        viewBinding.allTv.setTag(GridType.All);
+        viewBinding.gridConnectedTv.setTag(GridType.FULL_GRID);
+        viewBinding.offNetworkTv.setTag(GridType.OFFLINE);
+        setBackgroundColor(null, TitleType.string_capacity);
+        setBackgroundColor(viewBinding.allTv, TitleType.GridConnectedState);
+    }
+
+    public void setOnClickListener(OnClickListener onClickListener) {
+        if (onClickListener != null) {
+            mOnClickListener = onClickListener;
+        }
+    }
+
+
+    public interface OnClickListener {
+        void confirm(String min, String max, String state);
+    }
+
+    public enum TitleType {
+        string_capacity,//缁勪覆瀹归噺
+        GridConnectedState//骞剁綉鐘舵��
+
+    }
+
+
+}

--
Gitblit v1.8.0