[tor-commits] [tor-browser/tor-browser-60.3.0esr-8.5-1] Bug 28051 - Open Orbot when the notification is tapped

gk at torproject.org gk at torproject.org
Thu Nov 29 09:24:28 UTC 2018


commit 8e5290a7ff9c70dde87e055256717feb342a8645
Author: Matthew Finkel <Matthew.Finkel at gmail.com>
Date:   Wed Nov 14 17:40:15 2018 +0000

    Bug 28051 - Open Orbot when the notification is tapped
---
 .../base/java/org/mozilla/gecko/LauncherActivity.java  | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/mobile/android/base/java/org/mozilla/gecko/LauncherActivity.java b/mobile/android/base/java/org/mozilla/gecko/LauncherActivity.java
index e8f8facc24c6..4cd94ed538c7 100644
--- a/mobile/android/base/java/org/mozilla/gecko/LauncherActivity.java
+++ b/mobile/android/base/java/org/mozilla/gecko/LauncherActivity.java
@@ -45,6 +45,9 @@ import static org.mozilla.gecko.deeplink.DeepLinkContract.LINK_FXA_SIGNIN;
 
 import org.mozilla.gecko.deeplink.DeepLinkContract;
 
+import org.torproject.android.OrbotMainActivity;
+import org.torproject.android.service.TorServiceConstants;
+
 /**
  * Activity that receives incoming Intents and dispatches them to the appropriate activities (e.g. browser, custom tabs, web app).
  */
@@ -67,6 +70,9 @@ public class LauncherActivity extends Activity {
         } else if (isWebAppIntent(safeIntent)) {
             dispatchWebAppIntent();
 
+        } else if (TorServiceConstants.TOR_APP_USERNAME.equals(getIntent().getAction())) {
+            dispatchOrbotIntent();
+
         // If it's not a view intent, it won't be a custom tabs intent either. Just launch!
         } else if (!isViewIntentWithURL(safeIntent)) {
             dispatchNormalIntent();
@@ -116,6 +122,18 @@ public class LauncherActivity extends Activity {
         startActivity(intent);
     }
 
+    private void dispatchOrbotIntent() {
+        final String orbotStartAction = "android.intent.action.MAIN";
+        final Intent intent = new Intent(orbotStartAction, null, this, OrbotMainActivity.class);
+
+        //When we launch Orbot, we want a new task.
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
+        intent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
+
+        startActivity(intent);
+    }
+
     private void dispatchUrlIntent(@NonNull String url) {
         Intent intent = new Intent(getIntent());
         intent.setData(Uri.parse(url));





More information about the tor-commits mailing list