From a5a4860333a458ce69250ad987d936d823d24067 Mon Sep 17 00:00:00 2001 From: Fox2Code Date: Fri, 7 Oct 2022 21:52:03 +0200 Subject: [PATCH] Improve NoodleDebug --- .../main/java/com/fox2code/mmm/utils/NoodleDebug.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/fox2code/mmm/utils/NoodleDebug.java b/app/src/main/java/com/fox2code/mmm/utils/NoodleDebug.java index cb84d00..7ca52b4 100644 --- a/app/src/main/java/com/fox2code/mmm/utils/NoodleDebug.java +++ b/app/src/main/java/com/fox2code/mmm/utils/NoodleDebug.java @@ -18,6 +18,13 @@ public class NoodleDebug { private static final ThreadLocal THREAD_NOODLE = new ThreadLocal<>(); @SuppressLint("StaticFieldLeak") // <- Null initialized private static final NoodleDebug NULL = new NoodleDebug() { + @Override + public NoodleDebug bind() { + getNoodleDebug().unbind(); + THREAD_NOODLE.remove(); + return this; + } + @Override public void setEnabled(boolean enabled) {} @@ -154,7 +161,8 @@ public class NoodleDebug { public static NoodleDebug getNoodleDebug() { NoodleDebug noodleDebug = THREAD_NOODLE.get(); if (noodleDebug == null) return NULL; - if (noodleDebug.thread.get() != Thread.currentThread()) { + if (noodleDebug.thread.get() != Thread.currentThread() || + noodleDebug.activity.isDestroyed()) { THREAD_NOODLE.remove(); return NULL; }