[6.0.0][crash] 修正因LancetX代理TextView#setText引起的NPE,并给出错误堆栈警告
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user