Pass SDK Sandbox package name to the SDK

SDKs are not able to access TestApis when their package ID is set to
INVALID_UID. Modify a few tests to avoid accessing a TestApi from the
sandbox.

Bug: 306180965
Test: atest SdkSandboxManagerTest
Change-Id: I31dae32330f691810fadc96071a94b7af25f376c
diff --git a/sdksandbox/tests/cts/endtoendtests/providers/CtsProvider/src/com/android/ctssdkprovider/CtsSdkProviderApiImpl.java b/sdksandbox/tests/cts/endtoendtests/providers/CtsProvider/src/com/android/ctssdkprovider/CtsSdkProviderApiImpl.java
index 9809f08..4bd2082 100644
--- a/sdksandbox/tests/cts/endtoendtests/providers/CtsProvider/src/com/android/ctssdkprovider/CtsSdkProviderApiImpl.java
+++ b/sdksandbox/tests/cts/endtoendtests/providers/CtsProvider/src/com/android/ctssdkprovider/CtsSdkProviderApiImpl.java
@@ -186,10 +186,10 @@
     }
 
     @Override
-    public void startSandboxActivityDirectlyByAction() {
+    public void startSandboxActivityDirectlyByAction(String sandboxPackageName) {
         Intent intent = new Intent();
         intent.setAction("android.app.sdksandbox.action.START_SANDBOXED_ACTIVITY");
-        intent.setPackage(mContext.getPackageManager().getSdkSandboxPackageName());
+        intent.setPackage(sandboxPackageName);
         intent.setFlags(FLAG_ACTIVITY_NEW_TASK);
 
         Bundle params = new Bundle();
@@ -200,12 +200,10 @@
     }
 
     @Override
-    public void startSandboxActivityDirectlyByComponent() {
+    public void startSandboxActivityDirectlyByComponent(String sandboxPackageName) {
         Intent intent = new Intent();
         intent.setComponent(
-                new ComponentName(
-                        mContext.getPackageManager().getSdkSandboxPackageName(),
-                        "com.android.sdksandbox.SandboxedActivity"));
+                new ComponentName(sandboxPackageName, "com.android.sdksandbox.SandboxedActivity"));
         intent.setFlags(FLAG_ACTIVITY_NEW_TASK);
 
         Bundle params = new Bundle();
diff --git a/sdksandbox/tests/cts/endtoendtests/providers/CtsProvider/src/com/android/ctssdkprovider/ICtsSdkProviderApi.aidl b/sdksandbox/tests/cts/endtoendtests/providers/CtsProvider/src/com/android/ctssdkprovider/ICtsSdkProviderApi.aidl
index c385006..97f8d2c 100644
--- a/sdksandbox/tests/cts/endtoendtests/providers/CtsProvider/src/com/android/ctssdkprovider/ICtsSdkProviderApi.aidl
+++ b/sdksandbox/tests/cts/endtoendtests/providers/CtsProvider/src/com/android/ctssdkprovider/ICtsSdkProviderApi.aidl
@@ -26,8 +26,8 @@
     int getContextHashCode(boolean useApplicationContext);
     void testStoragePaths();
     int getProcessImportance();
-    void startSandboxActivityDirectlyByAction();
-    void startSandboxActivityDirectlyByComponent();
+    void startSandboxActivityDirectlyByAction(String sandboxPackageName);
+    void startSandboxActivityDirectlyByComponent(String sandboxPackageName);
     IActivityActionExecutor startActivity(IActivityStarter callback, in Bundle extras);
     String getPackageName();
     String getOpPackageName();
diff --git a/sdksandbox/tests/cts/endtoendtests/src/com/android/tests/sdksandbox/endtoend/SdkSandboxManagerTest.java b/sdksandbox/tests/cts/endtoendtests/src/com/android/tests/sdksandbox/endtoend/SdkSandboxManagerTest.java
index 8a73346..ba5a81c 100644
--- a/sdksandbox/tests/cts/endtoendtests/src/com/android/tests/sdksandbox/endtoend/SdkSandboxManagerTest.java
+++ b/sdksandbox/tests/cts/endtoendtests/src/com/android/tests/sdksandbox/endtoend/SdkSandboxManagerTest.java
@@ -21,10 +21,14 @@
 import static android.app.sdksandbox.SdkSandboxManager.EXTRA_HOST_TOKEN;
 import static android.app.sdksandbox.SdkSandboxManager.EXTRA_WIDTH_IN_PIXELS;
 import static android.app.sdksandbox.SdkSandboxManager.LOAD_SDK_INTERNAL_ERROR;
+
 import static androidx.lifecycle.Lifecycle.State;
 import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+
 import static com.android.sdksandbox.flags.Flags.FLAG_SANDBOX_ACTIVITY_SDK_BASED_CONTEXT;
+
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
@@ -59,7 +63,6 @@
 import android.platform.test.flag.junit.CheckFlagsRule;
 import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.provider.DeviceConfig;
-import android.view.Surface;
 
 import androidx.lifecycle.Lifecycle;
 import androidx.test.core.app.ActivityScenario;
@@ -644,7 +647,8 @@
         assertThat(mScenario.getState()).isEqualTo(State.RESUMED);
         SecurityException exception =
                 assertThrows(
-                        SecurityException.class, () -> sdk.startSandboxActivityDirectlyByAction());
+                        SecurityException.class,
+                        () -> sdk.startSandboxActivityDirectlyByAction(getSdkSandboxPackageName()));
         assertThat(exception.getMessage())
                 .isEqualTo("Sandbox process is not allowed to start sandbox activities.");
         assertThat(mScenario.getState()).isEqualTo(State.RESUMED);
@@ -660,7 +664,9 @@
         SecurityException exception =
                 assertThrows(
                         SecurityException.class,
-                        () -> sdk.startSandboxActivityDirectlyByComponent());
+                        () ->
+                                sdk.startSandboxActivityDirectlyByComponent(
+                                        getSdkSandboxPackageName()));
         assertThat(exception.getMessage())
                 .isEqualTo("Sandbox process is not allowed to start sandbox activities.");
         assertThat(mScenario.getState()).isEqualTo(State.RESUMED);