From cdf49871675e42a5576f725a93eec7ca15294c6f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 15 四月 2025 17:22:34 +0800
Subject: [PATCH] Merge branch '1.5.2'

---
 app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java |  128 ++++++++++++++++++++++++++++++------------
 1 files changed, 92 insertions(+), 36 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java
index 8656407..fe74ce6 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java
@@ -1,11 +1,16 @@
 package com.hdl.photovoltaic.ui.test;
 
 
+import android.content.Intent;
+import android.net.Uri;
 import android.os.Bundle;
 import android.text.Spannable;
 import android.text.SpannableStringBuilder;
+import android.text.TextUtils;
 import android.text.style.ForegroundColorSpan;
 import android.view.View;
+
+import androidx.core.content.FileProvider;
 
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
@@ -15,8 +20,9 @@
 import com.hdl.photovoltaic.other.HdlLogLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
 import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
-import com.hdl.photovoltaic.widget.ListDialog;
+import com.hdl.photovoltaic.widget.ListStaticDialog;
 
+import java.io.File;
 import java.util.IdentityHashMap;
 import java.util.Map;
 
@@ -43,7 +49,7 @@
      * 鐩戝惉鍣ㄥ垵濮嬪寲
      */
     private void initEvent() {
-        viewBinding.topBackBtn.setOnClickListener(new View.OnClickListener() {
+        viewBinding.topBackLl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 finish();
@@ -54,18 +60,18 @@
             @Override
             public void onClick(View v) {
 
-                ListDialog listDialog = new ListDialog(_mActivity);
+                ListStaticDialog listDialog = new ListStaticDialog(_mActivity);
                 listDialog.setLineContent1("娓呴櫎銆愬綋鍓嶄綇瀹呫�戠殑鏈湴鏃ュ織");
                 listDialog.setLineContent2("娓呴櫎銆愭墍鏈変綇瀹呫�戠殑鏈湴鏃ュ織");
                 listDialog.show();
-                listDialog.setOnHDLChinaOnListener(new ListDialog.onHDLChinaListener() {
+                listDialog.setOnHDLChinaOnListener(new ListStaticDialog.onHDLChinaListener() {
                     @Override
                     public void HDLChina() {
                         getDialog(1, listDialog);
 
                     }
                 });
-                listDialog.setOnHDLBahrainListener(new ListDialog.onHDLBahrainListener() {
+                listDialog.setOnHDLBahrainListener(new ListStaticDialog.onHDLBahrainListener() {
                     @Override
                     public void HDLBahrain() {
                         getDialog(2, listDialog);
@@ -75,12 +81,43 @@
 
             }
         });
+
+        viewBinding.clickToBottomTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+//                int offset = (viewBinding.sv.getChildAt(0).getMeasuredHeight() - viewBinding.sv.getHeight()); // 璁$畻闇�瑕佹粴鍔ㄧ殑璺濈
+//                if (offset > 0) {
+//                    viewBinding.sv.smoothScrollTo(0, offset); // 骞虫粦鍦版粴鍔ㄥ埌搴曢儴浣嶇疆
+//                } else {
+//                    viewBinding.sv.fullScroll(View.FOCUS_DOWN); // 鐩存帴婊氬姩鍒版渶鍚庝竴琛�
+//                }
+                viewBinding.sv.fullScroll(View.FOCUS_DOWN); // 鐩存帴婊氬姩鍒版渶鍚庝竴琛�
+            }
+        });
         //涓婁紶鏃ュ織鍒颁簯绔笂
         viewBinding.uploadingLogTv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 //todo 闇�瑕佽皟浜戠鐨勬帴鍙�
-                HdlThreadLogic.toast(_mActivity, "杩樻病鏈夋敮鎸佷笂浼犳棩蹇�.");
+//                HdlThreadLogic.toast(_mActivity, "杩樻病鏈夋敮鎸佷笂浼犳棩蹇�.");
+
+//                Intent sendIntent = new Intent();
+//                sendIntent.setAction(Intent.ACTION_SEND);
+//                sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
+//                sendIntent.setType("text/plain");
+//                startActivity(Intent.createChooser(sendIntent, "Share via"));
+                try {
+                    // 鍦ˋctivity涓垱寤哄垎浜獻ntent
+                    Intent shareIntent = new Intent(Intent.ACTION_SEND);
+                    shareIntent.setType("application/pdf"); // 鏍规嵁瑕佸垎浜殑鏂囦欢绫诲瀷璁剧疆MIME绫诲瀷
+                    File file = new File(HdlFileLogic.getInstance().getLogFileNamePath()); // 鎸囧畾鏂囦欢璺緞
+                    Uri fileUri = FileProvider.getUriForFile(_mActivity, "com.hdl.photovoltaic.dc.fileprovider", file);
+                    shareIntent.putExtra(Intent.EXTRA_STREAM, fileUri);
+                    shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+                    startActivity(Intent.createChooser(shareIntent, "Share file using"));
+                } catch (Exception ignored) {
+                    HdlThreadLogic.toast(_mActivity, "鍒嗕韩澶辫触");
+                }
             }
         });
 
@@ -91,7 +128,7 @@
      *
      * @param value 澶т簬1琛ㄧず娓呴櫎鎵�鏈変綇瀹呮棩蹇�
      */
-    private void getDialog(int value, ListDialog listDialog) {
+    private void getDialog(int value, ListStaticDialog listDialog) {
         ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(_mActivity);
         dialog.setTitle("鎻愮ず");
         if (value > 1) {
@@ -126,39 +163,58 @@
      * 鍒濆鍖栫晫闈�
      */
     private void initView() {
-        HdlThreadLogic.runMainThread(new Runnable() {
+        String homeId = "鏃ュ織浣忓畢ID=" + UserConfigManage.getInstance().getHomeId();
+        String homeName = "鏃ュ織浣忓畢鍚嶇О=" + UserConfigManage.getInstance().getHomeName();
+        viewBinding.homeIdTv.setText(homeId);
+        viewBinding.homeNameTv.setText(homeName);
+        showLoading();
+        HdlThreadLogic.runSubThread(new Runnable() {
             @Override
             public void run() {
-
-                String homeId = "娴嬭瘯浣忓畢ID=" + UserConfigManage.getInstance().getHomeId();
-                String homeName = "娴嬭瘯浣忓畢鍚嶇О=" + UserConfigManage.getInstance().getHomeName();
-                viewBinding.homeIdTv.setText(homeId);
-                viewBinding.homeNameTv.setText(homeName);
-
-                HdlFileLogic.getInstance().delFileLien(HdlFileLogic.getInstance().getLogFileNamePath(), 2);
+//                HdlFileLogic.getInstance().delFileLien(HdlFileLogic.getInstance().getLogFileNamePath(), 2);
                 String content = HdlLogLogic.readLog();
-                int startIndex = 0;
-                int endIndex;
-                Map<Integer, Integer> map = new IdentityHashMap<>();
-                String[] s = content.split("\r\n");
-                for (int i = 0; i < s.length; i++) {
-                    if (i == 0) {
-                        endIndex = s[i].indexOf("s%");
-                    } else {
-                        startIndex = 2 + startIndex + s[i - 1].length();//2鎹㈣绗﹂暱搴�
-                        endIndex = 2 + startIndex + s[i].indexOf("s%");//2鎹㈣绗﹂暱搴�
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        hideLoading();
+                        if (TextUtils.isEmpty(content)) {
+                            return;
+                        }
+                        int startIndex = 0;
+                        int endIndex;
+                        Map<Integer, Integer> map = new IdentityHashMap<>();
+                        String[] newArray = content.split("\r\n");
+//                String[] newArray = new String[oldArray.length];//鍊掑簭
+//                for (int i = oldArray.length - 1, j = 0; i >= 0; i--, j++) {
+//                    newArray[j] = oldArray[i];
+//                }
+//                StringBuilder stringBuilder = new StringBuilder();
+//                for (String s : newArray) {
+//                    stringBuilder.append(s).append("\r\n");
+//                }
+//                content = stringBuilder.toString();
+                        for (int i = 0; i < newArray.length; i++) {
+                            if (i == 0) {
+                                endIndex = newArray[i].indexOf("s%");
+                            } else {
+                                startIndex = 2 + startIndex + newArray[i - 1].length();//2鎹㈣绗﹂暱搴�
+                                endIndex = 2 + startIndex + newArray[i].indexOf("s%");//2鎹㈣绗﹂暱搴�
+                            }
+                            map.put(startIndex, endIndex);
+                        }
+                        SpannableStringBuilder spannable = new SpannableStringBuilder(content.replace("s%", "  "));//娉ㄦ剰s%鏄袱涓瓧绗�,鎵�浠ュ崰涓や綅
+                        for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
+                            int start = entry.getKey();
+                            int end = entry.getValue();
+                            //璁剧疆鏃堕棿浣撻獙鏄彟涓�绉嶉鑹�
+                            spannable.setSpan(new ForegroundColorSpan(getColor(R.color.text_245EC3)), start, end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
+                        }
+                        viewBinding.replyContentTv.setText(spannable);
+
                     }
-                    map.put(startIndex, endIndex);
-                }
-                SpannableStringBuilder spannable = new SpannableStringBuilder(content.replace("s%", "  "));//娉ㄦ剰s%鏄袱涓瓧绗�,鎵�浠ュ崰涓や綅
-                for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
-                    int start = entry.getKey();
-                    int end = entry.getValue();
-                    //璁剧疆鏃堕棿浣撻獙鏄彟涓�绉嶉鑹�
-                    spannable.setSpan(new ForegroundColorSpan(getColor(R.color.text_245EC3)), start, end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
-                }
-                viewBinding.replyContentTv.setText(spannable);
+                });
             }
-        }, null, null);
+        });
+
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0