Force ActivityView activities to start in new task

Activities were associating with existing tasks when their
components matched. This was causing them to be launched
into existing stacks rather than into their ActivityView. Adding
these flags forces the launches to be in unique tasks on their
ActivityView.

Fixes bug 14252286.

Change-Id: I9ba65a4a2da198435748c0a17396d3f7f8c75f5e
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 311ccb3..0b6f7d1 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -2937,6 +2937,8 @@
     }
 
     class ActivityContainer extends android.app.IActivityContainer.Stub {
+        final static int FORCE_NEW_TASK_FLAGS = Intent.FLAG_ACTIVITY_NEW_TASK |
+                Intent.FLAG_ACTIVITY_MULTIPLE_TASK;
         final int mStackId;
         IActivityContainerCallback mCallback = null;
         final ActivityStack mStack;
@@ -3033,6 +3035,7 @@
             int userId = mService.handleIncomingUser(Binder.getCallingPid(),
                     Binder.getCallingUid(), mCurrentUser, false, true, "ActivityContainer", null);
             // TODO: Switch to user app stacks here.
+            intent.addFlags(FORCE_NEW_TASK_FLAGS);
             String mimeType = intent.getType();
             if (mimeType == null && intent.getData() != null
                     && "content".equals(intent.getData().getScheme())) {
@@ -3051,7 +3054,7 @@
             }
 
             return ((PendingIntentRecord)intentSender).sendInner(0, null, null, null, null, null,
-                    null, 0, 0, 0, null, this);
+                    null, 0, FORCE_NEW_TASK_FLAGS, FORCE_NEW_TASK_FLAGS, null, this);
         }
 
         @Override