Loading core/java/android/app/Activity.java +1 −2 Original line number Original line Diff line number Diff line Loading @@ -5300,8 +5300,7 @@ public class Activity extends ContextThemeWrapper */ */ public boolean isTaskRoot() { public boolean isTaskRoot() { try { try { return ActivityManagerNative.getDefault() return ActivityManagerNative.getDefault().getTaskForActivity(mToken, true) >= 0; .getTaskForActivity(mToken, true) >= 0; } catch (RemoteException e) { } catch (RemoteException e) { return false; return false; } } Loading services/core/java/com/android/server/am/ActivityRecord.java +28 −15 Original line number Original line Diff line number Diff line Loading @@ -16,22 +16,21 @@ package com.android.server.am; package com.android.server.am; import static com.android.server.am.ActivityManagerDebugConfig.*; import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_CONFIGURATION; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_SAVED_STATE; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_SWITCH; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_THUMBNAILS; import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_STATES; import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_SWITCH; import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_THUMBNAILS; import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.am.TaskRecord.INVALID_TASK_ID; import static com.android.server.am.TaskRecord.INVALID_TASK_ID; import android.app.ActivityManager.TaskDescription; import android.app.ActivityManager.TaskDescription; import android.app.PendingIntent; import android.os.PersistableBundle; import android.os.Trace; import com.android.internal.app.ResolverActivity; import com.android.internal.content.ReferrerIntent; import com.android.internal.util.XmlUtils; import com.android.server.AttributeCache; import com.android.server.am.ActivityStack.ActivityState; import com.android.server.am.ActivityStackSupervisor.ActivityContainer; import android.app.ActivityOptions; import android.app.ActivityOptions; import android.app.PendingIntent; import android.app.ResultInfo; import android.app.ResultInfo; import android.content.ComponentName; import android.content.ComponentName; import android.content.Intent; import android.content.Intent; Loading @@ -45,9 +44,11 @@ import android.os.Build; import android.os.Bundle; import android.os.Bundle; import android.os.IBinder; import android.os.IBinder; import android.os.Message; import android.os.Message; import android.os.PersistableBundle; import android.os.Process; import android.os.Process; import android.os.RemoteException; import android.os.RemoteException; import android.os.SystemClock; import android.os.SystemClock; import android.os.Trace; import android.os.UserHandle; import android.os.UserHandle; import android.util.EventLog; import android.util.EventLog; import android.util.Log; import android.util.Log; Loading @@ -57,9 +58,12 @@ import android.view.AppTransitionAnimationSpec; import android.view.IApplicationToken; import android.view.IApplicationToken; import android.view.WindowManager; import android.view.WindowManager; import org.xmlpull.v1.XmlPullParser; import com.android.internal.app.ResolverActivity; import org.xmlpull.v1.XmlPullParserException; import com.android.internal.content.ReferrerIntent; import org.xmlpull.v1.XmlSerializer; import com.android.internal.util.XmlUtils; import com.android.server.AttributeCache; import com.android.server.am.ActivityStack.ActivityState; import com.android.server.am.ActivityStackSupervisor.ActivityContainer; import java.io.File; import java.io.File; import java.io.IOException; import java.io.IOException; Loading @@ -69,6 +73,10 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.HashSet; import java.util.Objects; import java.util.Objects; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; /** /** * An entry in the history stack, representing an activity. * An entry in the history stack, representing an activity. */ */ Loading Loading @@ -398,6 +406,11 @@ final class ActivityRecord { } } } } boolean isFreeform() { return task != null && task.stack != null && task.stack.mStackId == FREEFORM_WORKSPACE_STACK_ID; } static class Token extends IApplicationToken.Stub { static class Token extends IApplicationToken.Stub { private final WeakReference<ActivityRecord> weakActivity; private final WeakReference<ActivityRecord> weakActivity; private final ActivityManagerService mService; private final ActivityManagerService mService; Loading services/core/java/com/android/server/am/ActivityStackSupervisor.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -2260,7 +2260,8 @@ public final class ActivityStackSupervisor implements DisplayListener { // Also put noDisplay activities in the source task. These by itself can // Also put noDisplay activities in the source task. These by itself can // be placed in any task/stack, however it could launch other activities // be placed in any task/stack, however it could launch other activities // like ResolverActivity, and we want those to stay in the original task. // like ResolverActivity, and we want those to stay in the original task. if (r.isResolverActivity() || r.noDisplay) { if ((r.isResolverActivity() || r.noDisplay) && sourceRecord != null && sourceRecord.isFreeform()) { addingToTask = true; addingToTask = true; } } } } Loading Loading
core/java/android/app/Activity.java +1 −2 Original line number Original line Diff line number Diff line Loading @@ -5300,8 +5300,7 @@ public class Activity extends ContextThemeWrapper */ */ public boolean isTaskRoot() { public boolean isTaskRoot() { try { try { return ActivityManagerNative.getDefault() return ActivityManagerNative.getDefault().getTaskForActivity(mToken, true) >= 0; .getTaskForActivity(mToken, true) >= 0; } catch (RemoteException e) { } catch (RemoteException e) { return false; return false; } } Loading
services/core/java/com/android/server/am/ActivityRecord.java +28 −15 Original line number Original line Diff line number Diff line Loading @@ -16,22 +16,21 @@ package com.android.server.am; package com.android.server.am; import static com.android.server.am.ActivityManagerDebugConfig.*; import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_CONFIGURATION; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_SAVED_STATE; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_SWITCH; import static com.android.server.am.ActivityManagerDebugConfig.DEBUG_THUMBNAILS; import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_STATES; import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_SWITCH; import static com.android.server.am.ActivityManagerDebugConfig.POSTFIX_THUMBNAILS; import static com.android.server.am.ActivityManagerDebugConfig.TAG_AM; import static com.android.server.am.ActivityManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.am.TaskRecord.INVALID_TASK_ID; import static com.android.server.am.TaskRecord.INVALID_TASK_ID; import android.app.ActivityManager.TaskDescription; import android.app.ActivityManager.TaskDescription; import android.app.PendingIntent; import android.os.PersistableBundle; import android.os.Trace; import com.android.internal.app.ResolverActivity; import com.android.internal.content.ReferrerIntent; import com.android.internal.util.XmlUtils; import com.android.server.AttributeCache; import com.android.server.am.ActivityStack.ActivityState; import com.android.server.am.ActivityStackSupervisor.ActivityContainer; import android.app.ActivityOptions; import android.app.ActivityOptions; import android.app.PendingIntent; import android.app.ResultInfo; import android.app.ResultInfo; import android.content.ComponentName; import android.content.ComponentName; import android.content.Intent; import android.content.Intent; Loading @@ -45,9 +44,11 @@ import android.os.Build; import android.os.Bundle; import android.os.Bundle; import android.os.IBinder; import android.os.IBinder; import android.os.Message; import android.os.Message; import android.os.PersistableBundle; import android.os.Process; import android.os.Process; import android.os.RemoteException; import android.os.RemoteException; import android.os.SystemClock; import android.os.SystemClock; import android.os.Trace; import android.os.UserHandle; import android.os.UserHandle; import android.util.EventLog; import android.util.EventLog; import android.util.Log; import android.util.Log; Loading @@ -57,9 +58,12 @@ import android.view.AppTransitionAnimationSpec; import android.view.IApplicationToken; import android.view.IApplicationToken; import android.view.WindowManager; import android.view.WindowManager; import org.xmlpull.v1.XmlPullParser; import com.android.internal.app.ResolverActivity; import org.xmlpull.v1.XmlPullParserException; import com.android.internal.content.ReferrerIntent; import org.xmlpull.v1.XmlSerializer; import com.android.internal.util.XmlUtils; import com.android.server.AttributeCache; import com.android.server.am.ActivityStack.ActivityState; import com.android.server.am.ActivityStackSupervisor.ActivityContainer; import java.io.File; import java.io.File; import java.io.IOException; import java.io.IOException; Loading @@ -69,6 +73,10 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.HashSet; import java.util.Objects; import java.util.Objects; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; /** /** * An entry in the history stack, representing an activity. * An entry in the history stack, representing an activity. */ */ Loading Loading @@ -398,6 +406,11 @@ final class ActivityRecord { } } } } boolean isFreeform() { return task != null && task.stack != null && task.stack.mStackId == FREEFORM_WORKSPACE_STACK_ID; } static class Token extends IApplicationToken.Stub { static class Token extends IApplicationToken.Stub { private final WeakReference<ActivityRecord> weakActivity; private final WeakReference<ActivityRecord> weakActivity; private final ActivityManagerService mService; private final ActivityManagerService mService; Loading
services/core/java/com/android/server/am/ActivityStackSupervisor.java +2 −1 Original line number Original line Diff line number Diff line Loading @@ -2260,7 +2260,8 @@ public final class ActivityStackSupervisor implements DisplayListener { // Also put noDisplay activities in the source task. These by itself can // Also put noDisplay activities in the source task. These by itself can // be placed in any task/stack, however it could launch other activities // be placed in any task/stack, however it could launch other activities // like ResolverActivity, and we want those to stay in the original task. // like ResolverActivity, and we want those to stay in the original task. if (r.isResolverActivity() || r.noDisplay) { if ((r.isResolverActivity() || r.noDisplay) && sourceRecord != null && sourceRecord.isFreeform()) { addingToTask = true; addingToTask = true; } } } } Loading