From af5eadff7d6ec2bc153b0614ff6b0a9fba502069 Mon Sep 17 00:00:00 2001 From: renwj Date: Wed, 23 Aug 2023 10:22:21 +0800 Subject: [PATCH] =?UTF-8?q?[6.0.0][crash]=20=E4=BF=AE=E6=AD=A3=E5=9B=A0Lan?= =?UTF-8?q?cetX=E4=BB=A3=E7=90=86TextView#setText=E5=BC=95=E8=B5=B7?= =?UTF-8?q?=E7=9A=84NPE,=E5=B9=B6=E7=BB=99=E5=87=BA=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E5=A0=86=E6=A0=88=E8=AD=A6=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/launcher/lancet/TextViewOpt.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/src/main/java/com/mogo/launcher/lancet/TextViewOpt.java b/app/src/main/java/com/mogo/launcher/lancet/TextViewOpt.java index a4561581ba..f2c19427c7 100644 --- a/app/src/main/java/com/mogo/launcher/lancet/TextViewOpt.java +++ b/app/src/main/java/com/mogo/launcher/lancet/TextViewOpt.java @@ -20,6 +20,18 @@ public class TextViewOpt { @TargetMethod(methodName = "setText") @ReplaceInvoke public static void setText(TextView view, CharSequence text) { + if (view == null) { + StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); + StringBuilder sb = new StringBuilder(); + for (StackTraceElement trace : stackTrace) { + sb.append(trace.getClassName()).append(".").append(trace.getMethodName()).append("(").append(trace.getLineNumber()).append(")").append("\n"); + } + if (sb.length() > 1) { + sb.setLength(sb.length() - 1); + } + Log.e("ALERT", sb.toString()); + return; + } if (Looper.myLooper() != Looper.getMainLooper()) { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); StringBuilder sb = new StringBuilder();