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