Fix hiddenapi issue when REMOVE_ATB_FROM_BCP=true

If the android.test.base is not on the bootclasspath then its stubs
should not be used as input to the hiddenapi processor.

Bug: 73711752
Test: make REMOVE_ATB_FROM_BCP=true droid && atest -p cts/tests/signature
Change-Id: Ib03899001e4350c9ad9e757e9e6d7d41bb0a3896
diff --git a/java/hiddenapi_singleton.go b/java/hiddenapi_singleton.go
index 23f6cb0..ceafb59 100644
--- a/java/hiddenapi_singleton.go
+++ b/java/hiddenapi_singleton.go
@@ -89,7 +89,13 @@
 	// Public API stubs
 	publicStubModules := []string{
 		"android_stubs_current",
-		"android.test.base.stubs",
+	}
+
+	// Add the android.test.base to the set of stubs only if the android.test.base module is on
+	// the boot jars list as the runtime will only enforce hiddenapi access against modules on
+	// that list.
+	if inList("android.test.base", ctx.Config().BootJars()) {
+		publicStubModules = append(publicStubModules, "android.test.base.stubs")
 	}
 
 	// System API stubs