[tor-commits] [Git][tpo/applications/fenix][tor-browser-82.0.0b4-10.0-1] 2 commits: fixup! Bug 40028: Integrate Tor Controller into HomeFragment

Matthew Finkel gitlab at torproject.org
Fri Oct 23 14:11:54 UTC 2020



Matthew Finkel pushed to branch tor-browser-82.0.0b4-10.0-1 at The Tor Project / Applications / fenix


Commits:
a061d49c by Matthew Finkel at 2020-10-16T17:04:37+00:00
fixup! Bug 40028: Integrate Tor Controller into HomeFragment

Bug 40068: Tor Service closes when changing theme

- - - - -
e7ca4137 by Matthew Finkel at 2020-10-23T14:11:39+00:00
Merge branch 'bug_40068_01' into tor-browser-82.0.0b4-10.0-1

- - - - -


2 changed files:

- app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- app/src/main/java/org/mozilla/fenix/HomeActivity.kt


Changes:

=====================================
app/src/main/java/org/mozilla/fenix/FenixApplication.kt
=====================================
@@ -67,6 +67,8 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
 
     private val logger = Logger("FenixApplication")
 
+    var terminating = false
+
     open val components by lazy { Components(this) }
 
     var visibilityLifecycleCallback: VisibilityLifecycleCallback? = null
@@ -96,9 +98,19 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
         setupInMainProcessOnly()
     }
 
+    fun isTerminating() = terminating
+
+    fun terminate() {
+        onTerminate()
+        System.exit(0)
+    }
+
     override fun onTerminate() {
+        terminating = true
+
         super.onTerminate()
         components.torController.stop()
+        components.torController.stopTor()
     }
 
     protected open fun initializeGlean() {


=====================================
app/src/main/java/org/mozilla/fenix/HomeActivity.kt
=====================================
@@ -131,6 +131,8 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
 
     private var isToolbarInflated = false
 
+    private var isBeingRecreated = false
+
     private val webExtensionPopupFeature by lazy {
         WebExtensionPopupFeature(components.core.store, ::openPopup)
     }
@@ -362,10 +364,14 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
         )
 
         privateNotificationObserver?.stop()
-        components.torController.stopTor()
-        // Explicitly change our internal state because the status broadcast from tor-android-service may
-        // arrive after we unregister the broadcast listener when the app is exiting.
-        components.torController.setTorStopped()
+        if (!isBeingRecreated && !(application as FenixApplication).isTerminating()) {
+            // We assume the Activity is being destroyed because the user
+            // swiped away the app on the Recent screen. When this happens,
+            // we assume the user expects the entire Application is destroyed
+            // and not only the top Activity/Task. Therefore we kill the
+            // underlying Application, as well.
+            (application as FenixApplication).terminate()
+        }
     }
 
     override fun onConfigurationChanged(newConfig: Configuration) {
@@ -385,6 +391,8 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
             message = "recreate()"
         )
 
+        isBeingRecreated = true
+
         super.recreate()
     }
 



View it on GitLab: https://gitlab.torproject.org/tpo/applications/fenix/-/compare/8c969c0c9aa529dbc601cfe85b8ff058f4c54f5d...e7ca4137fe8e0322b2df55f7863f78937f02e6e1

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/fenix/-/compare/8c969c0c9aa529dbc601cfe85b8ff058f4c54f5d...e7ca4137fe8e0322b2df55f7863f78937f02e6e1
You're receiving this email because of your account on gitlab.torproject.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20201023/05c09fb7/attachment-0001.htm>


More information about the tor-commits mailing list