From 8ab115a9aaf96cd165c683bfd8a47cfda1239f82 Mon Sep 17 00:00:00 2001 From: Robert Carr Date: Tue, 15 Sep 2015 12:30:42 -0700 Subject: [PATCH] Correct ActivityInfo constructors. ActivityInfo was missing initialization for the documentLaunchMode flag in the copy-constructor and the Parcel constructor. The copy-constructor is used in multi-user/profile mode to create a seperate instance of the ActivityInfo per uid and this was manifesting in the linked bug. Bug: 21590916 Change-Id: I6f71d94ec32ec6326d23c9b62e9d8d319e2fa25e (cherry picked from commit 3e2e0117858eb02fef55ca4c245e8b920aedc6eb) --- core/java/android/content/pm/ActivityInfo.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/core/java/android/content/pm/ActivityInfo.java b/core/java/android/content/pm/ActivityInfo.java index 43cc63b4a3c8..e798eb8f7d2c 100644 --- a/core/java/android/content/pm/ActivityInfo.java +++ b/core/java/android/content/pm/ActivityInfo.java @@ -33,12 +33,16 @@ import java.lang.annotation.RetentionPolicy; */ public class ActivityInfo extends ComponentInfo implements Parcelable { + + // NOTE: When adding new data members be sure to update the copy-constructor, Parcel + // constructor, and writeToParcel. + /** * A style resource identifier (in the package's resources) of this * activity's theme. From the "theme" attribute or, if not set, 0. */ public int theme; - + /** * Constant corresponding to standard in * the {@link android.R.attr#launchMode} attribute. @@ -705,6 +709,7 @@ public class ActivityInfo extends ComponentInfo super(orig); theme = orig.theme; launchMode = orig.launchMode; + documentLaunchMode = orig.documentLaunchMode; permission = orig.permission; taskAffinity = orig.taskAffinity; targetActivity = orig.targetActivity; @@ -780,6 +785,7 @@ public class ActivityInfo extends ComponentInfo super.writeToParcel(dest, parcelableFlags); dest.writeInt(theme); dest.writeInt(launchMode); + dest.writeInt(documentLaunchMode); dest.writeString(permission); dest.writeString(taskAffinity); dest.writeString(targetActivity); @@ -809,6 +815,7 @@ public class ActivityInfo extends ComponentInfo super(source); theme = source.readInt(); launchMode = source.readInt(); + documentLaunchMode = source.readInt(); permission = source.readString(); taskAffinity = source.readString(); targetActivity = source.readString(); -- 2.11.0