commit 7a0a10b8ff98ebfc53fa46fb3223af0f64a97964
Author: Matthew Finkel <[email protected]>
Date:   Tue Apr 30 15:29:00 2019 +0000

    Bug 30214 - Kill background thread when Activity is null
---
 .../org/mozilla/gecko/torbootstrap/TorBootstrapPanel.java | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git 
a/mobile/android/base/java/org/mozilla/gecko/torbootstrap/TorBootstrapPanel.java
 
b/mobile/android/base/java/org/mozilla/gecko/torbootstrap/TorBootstrapPanel.java
index 2ee4c2528691..ab4de44fa8f8 100644
--- 
a/mobile/android/base/java/org/mozilla/gecko/torbootstrap/TorBootstrapPanel.java
+++ 
b/mobile/android/base/java/org/mozilla/gecko/torbootstrap/TorBootstrapPanel.java
@@ -63,7 +63,10 @@ public class TorBootstrapPanel extends FirstrunPanel 
implements TorBootstrapLogg
         public void run() {
             while (true) {
                  synchronized(mOnionAlphaChangerLock) {
-                     if (!mOnionAlphaChangerRunning) {
+                     // Stop the animation and terminate this thread if the 
main thread
+                     // set |mOnionAlphaChangerRunning| to |false| or if
+                     // getActivity() returns |null|.
+                     if (!mOnionAlphaChangerRunning || getActivity() == null) {
                          // Null the reference for this thread when we exit
                          mChangeOnionAlphaThread = null;
                          return;
@@ -281,6 +284,16 @@ public class TorBootstrapPanel extends FirstrunPanel 
implements TorBootstrapLogg
         return mRoot;
     }
 
+    @Override
+    public void onDestroyView() {
+        // Inform the background AlphaChanging thread it should terminate.
+        synchronized(mOnionAlphaChangerLock) {
+            mOnionAlphaChangerRunning = false;
+        }
+
+        super.onDestroyView();
+    }
+
     private void setOnionAlphaValue(int newAlpha) {
         ImageView onionImg = (ImageView) 
mRoot.findViewById(R.id.tor_bootstrap_onion);
         if (onionImg == null) {

_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to