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

Commit 443d5d00 authored by Mohammed Rashidy's avatar Mohammed Rashidy
Browse files

Clean SandboxedActivity SDK Based Context Flag as it is released

Flag: EXEMPT removing sandbox_activity_sdk_based_context
Bug: 300059435
Test: atest SdkSandboxManagerTests

Change-Id: Iae9617235417a1f36145910ccb7c1c10e651684e
parent 0809378c
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,