Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e435d0e4 authored by Mohammed Rashidy's avatar Mohammed Rashidy Committed by Android (Google) Code Review
Browse files

Merge "Clean SandboxedActivity SDK Based Context Flag as it is released" into main

parents efa8d6c5 443d5d00
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -26,8 +26,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
import static android.app.WindowConfiguration.inMultiWindowMode;
import static android.os.Process.myUid;

import static com.android.sdksandbox.flags.Flags.sandboxActivitySdkBasedContext;

import static java.lang.Character.MIN_VALUE;

import android.Manifest;
@@ -8999,12 +8997,11 @@ public class Activity extends ContextThemeWrapper
            Configuration config, String referrer, IVoiceInteractor voiceInteractor,
            Window window, ActivityConfigCallback activityConfigCallback, IBinder assistToken,
            IBinder shareableActivityToken, IBinder initialCallerInfoAccessToken) {
        if (sandboxActivitySdkBasedContext()) {
            // Sandbox activities extract a token from the intent's extra to identify the related
            // SDK as part of overriding attachBaseContext, then it wraps the passed context in an
            // SDK ContextWrapper, so mIntent has to be set before calling attachBaseContext.

        // mIntent field hast to be set before calling attachBaseContext, as SDK Runtime activities
        // extract a token from the intent's extra to identify the related SDK as part of overriding
        // attachBaseContext.
        mIntent = intent;
        }
        attachBaseContext(context);

        mFragments.attachHost(null /*parent*/);
@@ -9030,8 +9027,6 @@ public class Activity extends ContextThemeWrapper
        mShareableActivityToken = shareableActivityToken;
        mIdent = ident;
        mApplication = application;
        //TODO(b/300059435): do not set the mIntent again as part of the flag clean up.
        mIntent = intent;
        mReferrer = referrer;
        mComponent = intent.getComponent();
        mTitle = title;
+1 −4
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ import static android.window.ConfigurationHelper.shouldUpdateResources;

import static com.android.internal.annotations.VisibleForTesting.Visibility.PACKAGE;
import static com.android.internal.os.SafeZipPathValidatorCallback.VALIDATE_ZIP_PATH_FOR_PATH_TRAVERSAL;
import static com.android.sdksandbox.flags.Flags.sandboxActivitySdkBasedContext;

import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -4072,9 +4071,7 @@ public final class ActivityThread extends ClientTransactionHandler
                    r.activityInfo.targetActivity);
        }

        boolean isSandboxActivityContext =
                sandboxActivitySdkBasedContext()
                        && SdkSandboxActivityAuthority.isSdkSandboxActivityIntent(
        boolean isSandboxActivityContext = SdkSandboxActivityAuthority.isSdkSandboxActivityIntent(
                                mSystemContext, r.intent);
        boolean isSandboxedSdkContextUsed = false;
        ContextImpl activityBaseContext;
+0 −25
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@
package android.content;
import static android.app.sdksandbox.SdkSandboxManager.ACTION_START_SANDBOXED_ACTIVITY;
import static android.content.ContentProvider.maybeAddUserId;
import static android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE;
import static android.security.Flags.FLAG_FRP_ENFORCEMENT;
@@ -13459,28 +13458,4 @@ public class Intent implements Parcelable, Cloneable {
    public boolean isDocument() {
        return (mFlags & FLAG_ACTIVITY_NEW_DOCUMENT) == FLAG_ACTIVITY_NEW_DOCUMENT;
    }
    /**
     * @deprecated Use {@link SdkSandboxActivityAuthority#isSdkSandboxActivityIntent} instead.
     * Once the other API is finalized this method will be removed.
     *
     * TODO(b/300059435): remove as part of the cleanup.
     *
     * @hide
     */
    @Deprecated
    @android.ravenwood.annotation.RavenwoodThrow
    public boolean isSandboxActivity(@NonNull Context context) {
        if (mAction != null && mAction.equals(ACTION_START_SANDBOXED_ACTIVITY)) {
            return true;
        }
        final String sandboxPackageName = context.getPackageManager().getSdkSandboxPackageName();
        if (mPackage != null && mPackage.equals(sandboxPackageName)) {
            return true;
        }
        if (mComponent != null && mComponent.getPackageName().equals(sandboxPackageName)) {
            return true;
        }
        return false;
    }
}
+1 −5
Original line number Diff line number Diff line
@@ -77,7 +77,6 @@ import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_FOCUS;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_IMMERSIVE;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_LOCKTASK;
import static com.android.internal.protolog.WmProtoLogGroups.WM_DEBUG_TASKS;
import static com.android.sdksandbox.flags.Flags.sandboxActivitySdkBasedContext;
import static com.android.server.am.ActivityManagerService.STOCK_PM_FLAGS;
import static com.android.server.am.ActivityManagerServiceDumpActivitiesProto.ROOT_WINDOW_CONTAINER;
import static com.android.server.am.ActivityManagerServiceDumpProcessesProto.CONFIG_WILL_CHANGE;
@@ -1269,10 +1268,7 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
    }

    static boolean isSdkSandboxActivityIntent(Context context, Intent intent) {
        return intent != null
                && (sandboxActivitySdkBasedContext()
                        ? SdkSandboxActivityAuthority.isSdkSandboxActivityIntent(context, intent)
                        : intent.isSandboxActivity(context));
        return SdkSandboxActivityAuthority.isSdkSandboxActivityIntent(context, intent);
    }

    private int startActivityAsUser(IApplicationThread caller, String callingPackage,