Bug 1280112 - LauncherActivity: Remove task flags from incoming intent. r?ahunt draft
authorSebastian Kaspari <s.kaspari@gmail.com>
Tue, 06 Sep 2016 17:58:46 +0200
changeset 410285 d991c62e088886e067d992ac5543d95292c498e8
parent 409737 dbe4b47941c7b3d6298a0ead5e40dd828096c808
child 530555 2504146a18d917899f12630dfc7d822cf60b1aa5
push id28711
push users.kaspari@gmail.com
push dateTue, 06 Sep 2016 16:00:26 +0000
reviewersahunt
bugs1280112
milestone51.0a1
Bug 1280112 - LauncherActivity: Remove task flags from incoming intent. r?ahunt MozReview-Commit-ID: 8ufNtiMc1sj
mobile/android/base/java/org/mozilla/gecko/LauncherActivity.java
--- a/mobile/android/base/java/org/mozilla/gecko/LauncherActivity.java
+++ b/mobile/android/base/java/org/mozilla/gecko/LauncherActivity.java
@@ -63,16 +63,22 @@ public class LauncherActivity extends Ac
     }
 
     /**
      * Launch the browser activity.
      */
     private void dispatchNormalIntent() {
         Intent intent = new Intent(getIntent());
         intent.setClassName(getApplicationContext(), AppConstants.MOZ_ANDROID_BROWSER_INTENT_CLASS);
+
+        // Explicitly remove the new task and clear task flags (Our browser activity is a single
+        // task activity and we never want to start a second task here). See bug 1280112.
+        intent.setFlags(intent.getFlags() & ~Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent.setFlags(intent.getFlags() & ~Intent.FLAG_ACTIVITY_CLEAR_TASK);
+
         startActivity(intent);
     }
 
     private void dispatchCustomTabsIntent() {
         Intent intent = new Intent(getIntent());
         intent.setClassName(getApplicationContext(), CustomTabsActivity.class.getName());
         startActivity(intent);
     }