From ba7db92d16fa316da34485eb512af89be4ee0784 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Thu, 2 Feb 2017 10:06:09 -0800 Subject: [PATCH] Fixing crash when task is already parent of activity. - When launching an activity into a task, it's parent is already set which can cause the reparent call to crash. Instead, just move the activity to the top. Bug: 34933399 Test: Launch an app that doesn't support multiwindow, and engage split screen, or launch a PiP activity and tap to show the menu Change-Id: Iaa36003e88f4021f2483dedc71802023369d6558 --- services/core/java/com/android/server/am/ActivityStarter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/am/ActivityStarter.java b/services/core/java/com/android/server/am/ActivityStarter.java index c2fc9dc24864a..f5874af74657a 100644 --- a/services/core/java/com/android/server/am/ActivityStarter.java +++ b/services/core/java/com/android/server/am/ActivityStarter.java @@ -1802,7 +1802,7 @@ class ActivityStarter { } private void addOrReparentStartingActivity(TaskRecord parent, String reason) { - if (mStartActivity.task == null) { + if (mStartActivity.task == null || mStartActivity.task == parent) { parent.addActivityToTop(mStartActivity); } else { mStartActivity.reparent(parent, parent.mActivities.size() /* top */, reason);