Loading core/java/android/app/ActivityThread.java +6 −10 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ import android.app.backup.BackupAnnotations.BackupDestination; import android.app.backup.BackupAnnotations.OperationType; import android.app.compat.CompatChanges; import android.app.sdksandbox.sandboxactivity.ActivityContextInfo; import android.app.sdksandbox.sandboxactivity.SdkSandboxActivityAuthority; import android.app.sdksandbox.sandboxactivity.ActivityContextInfoProvider; import android.app.servertransaction.ActivityLifecycleItem; import android.app.servertransaction.ActivityLifecycleItem.LifecycleState; import android.app.servertransaction.ActivityRelaunchItem; Loading Loading @@ -2272,8 +2272,7 @@ public final class ActivityThread extends ClientTransactionHandler case DUMP_HEAP: return "DUMP_HEAP"; case DUMP_ACTIVITY: return "DUMP_ACTIVITY"; case SET_CORE_SETTINGS: return "SET_CORE_SETTINGS"; case UPDATE_PACKAGE_COMPATIBILITY_INFO: return "UPDATE_PACKAGE_COMPATIBILITY_INFO"; case UPDATE_PACKAGE_COMPATIBILITY_INFO: return "UPDATE_PACKAGE_COMPATIBILITY_INFO"; case DUMP_PROVIDER: return "DUMP_PROVIDER"; case UNSTABLE_PROVIDER_DIED: return "UNSTABLE_PROVIDER_DIED"; case REQUEST_ASSIST_CONTEXT_EXTRAS: return "REQUEST_ASSIST_CONTEXT_EXTRAS"; Loading Loading @@ -3777,10 +3776,8 @@ public final class ActivityThread extends ClientTransactionHandler r.activityInfo.targetActivity); } boolean isSandboxActivityContext = sandboxActivitySdkBasedContext() && SdkSandboxActivityAuthority.isSdkSandboxActivity( mSystemContext, r.intent); boolean isSandboxActivityContext = sandboxActivitySdkBasedContext() && r.intent.isSandboxActivity(mSystemContext); boolean isSandboxedSdkContextUsed = false; ContextImpl activityBaseContext; if (isSandboxActivityContext) { Loading Loading @@ -4025,12 +4022,11 @@ public final class ActivityThread extends ClientTransactionHandler */ @Nullable private ContextImpl createBaseContextForSandboxActivity(@NonNull ActivityClientRecord r) { SdkSandboxActivityAuthority sdkSandboxActivityAuthority = SdkSandboxActivityAuthority.getInstance(); ActivityContextInfoProvider contextInfoProvider = ActivityContextInfoProvider.getInstance(); ActivityContextInfo contextInfo; try { contextInfo = sdkSandboxActivityAuthority.getActivityContextInfo(r.intent); contextInfo = contextInfoProvider.getActivityContextInfo(r.intent); } catch (IllegalArgumentException e) { Log.e(TAG, "Passed intent does not match an expected sandbox activity", e); return null; Loading core/java/android/content/Intent.java +2 −6 Original line number Diff line number Diff line Loading @@ -12587,12 +12587,8 @@ public class Intent implements Parcelable, Cloneable { return (mFlags & FLAG_ACTIVITY_NEW_DOCUMENT) == FLAG_ACTIVITY_NEW_DOCUMENT; } /** * @deprecated Use {@link SdkSandboxActivityAuthority#isSdkSandboxActivity} instead. * Once the other API is finalized this method will be removed. * @hide */ @Deprecated // TODO(b/299109198): Refactor into the {@link SdkSandboxManagerLocal} /** @hide */ public boolean isSandboxActivity(@NonNull Context context) { if (mAction != null && mAction.equals(ACTION_START_SANDBOXED_ACTIVITY)) { return true; services/core/java/com/android/server/wm/ActivityTaskManagerService.java +1 −10 Original line number Diff line number Diff line Loading @@ -125,7 +125,6 @@ import static com.android.server.wm.RootWindowContainer.MATCH_ATTACHED_TASK_OR_R import static com.android.server.wm.Task.REPARENT_KEEP_ROOT_TASK_AT_FRONT; import static com.android.server.wm.WindowManagerService.MY_PID; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_NORMAL; import static com.android.sdksandbox.flags.Flags.sandboxActivitySdkBasedContext; import android.Manifest; import android.annotation.IntDef; Loading Loading @@ -166,7 +165,6 @@ import android.app.assist.ActivityId; import android.app.assist.AssistContent; import android.app.assist.AssistStructure; import android.app.compat.CompatChanges; import android.app.sdksandbox.sandboxactivity.SdkSandboxActivityAuthority; import android.app.usage.UsageStatsManagerInternal; import android.content.ActivityNotFoundException; import android.content.ComponentName; Loading Loading @@ -1260,13 +1258,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { true /*validateIncomingUser*/); } static boolean isSdkSandboxActivity(Context context, Intent intent) { return intent != null && (sandboxActivitySdkBasedContext() ? SdkSandboxActivityAuthority.isSdkSandboxActivity(context, intent) : intent.isSandboxActivity(context)); } private int startActivityAsUser(IApplicationThread caller, String callingPackage, @Nullable String callingFeatureId, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int startFlags, Loading @@ -1277,7 +1268,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { assertPackageMatchesCallingUid(callingPackage); enforceNotIsolatedCaller("startActivityAsUser"); if (isSdkSandboxActivity(mContext, intent)) { if (intent != null && intent.isSandboxActivity(mContext)) { SdkSandboxManagerLocal sdkSandboxManagerLocal = LocalManagerRegistry.getManager( SdkSandboxManagerLocal.class); sdkSandboxManagerLocal.enforceAllowedToHostSandboxedActivity( Loading services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +1 −1 Original line number Diff line number Diff line Loading @@ -1089,7 +1089,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { // Remove the process record so it won't be considered as alive. mService.mProcessNames.remove(wpc.mName, wpc.mUid); mService.mProcessMap.remove(wpc.getPid()); } else if (ActivityTaskManagerService.isSdkSandboxActivity(mService.mContext, r.intent)) { } else if (r.intent.isSandboxActivity(mService.mContext)) { Slog.e(TAG, "Abort sandbox activity launching as no sandbox process to host it."); r.finishIfPossible("No sandbox process for the activity", false /* oomAdj */); r.launchFailed = true; Loading Loading
core/java/android/app/ActivityThread.java +6 −10 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ import android.app.backup.BackupAnnotations.BackupDestination; import android.app.backup.BackupAnnotations.OperationType; import android.app.compat.CompatChanges; import android.app.sdksandbox.sandboxactivity.ActivityContextInfo; import android.app.sdksandbox.sandboxactivity.SdkSandboxActivityAuthority; import android.app.sdksandbox.sandboxactivity.ActivityContextInfoProvider; import android.app.servertransaction.ActivityLifecycleItem; import android.app.servertransaction.ActivityLifecycleItem.LifecycleState; import android.app.servertransaction.ActivityRelaunchItem; Loading Loading @@ -2272,8 +2272,7 @@ public final class ActivityThread extends ClientTransactionHandler case DUMP_HEAP: return "DUMP_HEAP"; case DUMP_ACTIVITY: return "DUMP_ACTIVITY"; case SET_CORE_SETTINGS: return "SET_CORE_SETTINGS"; case UPDATE_PACKAGE_COMPATIBILITY_INFO: return "UPDATE_PACKAGE_COMPATIBILITY_INFO"; case UPDATE_PACKAGE_COMPATIBILITY_INFO: return "UPDATE_PACKAGE_COMPATIBILITY_INFO"; case DUMP_PROVIDER: return "DUMP_PROVIDER"; case UNSTABLE_PROVIDER_DIED: return "UNSTABLE_PROVIDER_DIED"; case REQUEST_ASSIST_CONTEXT_EXTRAS: return "REQUEST_ASSIST_CONTEXT_EXTRAS"; Loading Loading @@ -3777,10 +3776,8 @@ public final class ActivityThread extends ClientTransactionHandler r.activityInfo.targetActivity); } boolean isSandboxActivityContext = sandboxActivitySdkBasedContext() && SdkSandboxActivityAuthority.isSdkSandboxActivity( mSystemContext, r.intent); boolean isSandboxActivityContext = sandboxActivitySdkBasedContext() && r.intent.isSandboxActivity(mSystemContext); boolean isSandboxedSdkContextUsed = false; ContextImpl activityBaseContext; if (isSandboxActivityContext) { Loading Loading @@ -4025,12 +4022,11 @@ public final class ActivityThread extends ClientTransactionHandler */ @Nullable private ContextImpl createBaseContextForSandboxActivity(@NonNull ActivityClientRecord r) { SdkSandboxActivityAuthority sdkSandboxActivityAuthority = SdkSandboxActivityAuthority.getInstance(); ActivityContextInfoProvider contextInfoProvider = ActivityContextInfoProvider.getInstance(); ActivityContextInfo contextInfo; try { contextInfo = sdkSandboxActivityAuthority.getActivityContextInfo(r.intent); contextInfo = contextInfoProvider.getActivityContextInfo(r.intent); } catch (IllegalArgumentException e) { Log.e(TAG, "Passed intent does not match an expected sandbox activity", e); return null; Loading
core/java/android/content/Intent.java +2 −6 Original line number Diff line number Diff line Loading @@ -12587,12 +12587,8 @@ public class Intent implements Parcelable, Cloneable { return (mFlags & FLAG_ACTIVITY_NEW_DOCUMENT) == FLAG_ACTIVITY_NEW_DOCUMENT; } /** * @deprecated Use {@link SdkSandboxActivityAuthority#isSdkSandboxActivity} instead. * Once the other API is finalized this method will be removed. * @hide */ @Deprecated // TODO(b/299109198): Refactor into the {@link SdkSandboxManagerLocal} /** @hide */ public boolean isSandboxActivity(@NonNull Context context) { if (mAction != null && mAction.equals(ACTION_START_SANDBOXED_ACTIVITY)) { return true;
services/core/java/com/android/server/wm/ActivityTaskManagerService.java +1 −10 Original line number Diff line number Diff line Loading @@ -125,7 +125,6 @@ import static com.android.server.wm.RootWindowContainer.MATCH_ATTACHED_TASK_OR_R import static com.android.server.wm.Task.REPARENT_KEEP_ROOT_TASK_AT_FRONT; import static com.android.server.wm.WindowManagerService.MY_PID; import static com.android.server.wm.WindowManagerService.UPDATE_FOCUS_NORMAL; import static com.android.sdksandbox.flags.Flags.sandboxActivitySdkBasedContext; import android.Manifest; import android.annotation.IntDef; Loading Loading @@ -166,7 +165,6 @@ import android.app.assist.ActivityId; import android.app.assist.AssistContent; import android.app.assist.AssistStructure; import android.app.compat.CompatChanges; import android.app.sdksandbox.sandboxactivity.SdkSandboxActivityAuthority; import android.app.usage.UsageStatsManagerInternal; import android.content.ActivityNotFoundException; import android.content.ComponentName; Loading Loading @@ -1260,13 +1258,6 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { true /*validateIncomingUser*/); } static boolean isSdkSandboxActivity(Context context, Intent intent) { return intent != null && (sandboxActivitySdkBasedContext() ? SdkSandboxActivityAuthority.isSdkSandboxActivity(context, intent) : intent.isSandboxActivity(context)); } private int startActivityAsUser(IApplicationThread caller, String callingPackage, @Nullable String callingFeatureId, Intent intent, String resolvedType, IBinder resultTo, String resultWho, int requestCode, int startFlags, Loading @@ -1277,7 +1268,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub { assertPackageMatchesCallingUid(callingPackage); enforceNotIsolatedCaller("startActivityAsUser"); if (isSdkSandboxActivity(mContext, intent)) { if (intent != null && intent.isSandboxActivity(mContext)) { SdkSandboxManagerLocal sdkSandboxManagerLocal = LocalManagerRegistry.getManager( SdkSandboxManagerLocal.class); sdkSandboxManagerLocal.enforceAllowedToHostSandboxedActivity( Loading
services/core/java/com/android/server/wm/ActivityTaskSupervisor.java +1 −1 Original line number Diff line number Diff line Loading @@ -1089,7 +1089,7 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks { // Remove the process record so it won't be considered as alive. mService.mProcessNames.remove(wpc.mName, wpc.mUid); mService.mProcessMap.remove(wpc.getPid()); } else if (ActivityTaskManagerService.isSdkSandboxActivity(mService.mContext, r.intent)) { } else if (r.intent.isSandboxActivity(mService.mContext)) { Slog.e(TAG, "Abort sandbox activity launching as no sandbox process to host it."); r.finishIfPossible("No sandbox process for the activity", false /* oomAdj */); r.launchFailed = true; Loading