Add MAKE_UID_VISIBLE permission to the system api

Also update javadoc to clarify what visible means in the method.

Bug: 224542726
Test: atest AppEnumerationTests
Test: atest PermissionPolicyTest
Change-Id: I80de99afe253c4e516587928f6cab14228cdf2b3
diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt
index 3d5232b..2f00cf2 100644
--- a/core/api/module-lib-current.txt
+++ b/core/api/module-lib-current.txt
@@ -4,6 +4,7 @@
   public static final class Manifest.permission {
     field public static final String CONTROL_AUTOMOTIVE_GNSS = "android.permission.CONTROL_AUTOMOTIVE_GNSS";
     field public static final String GET_INTENT_SENDER_INTENT = "android.permission.GET_INTENT_SENDER_INTENT";
+    field public static final String MAKE_UID_VISIBLE = "android.permission.MAKE_UID_VISIBLE";
   }
 
 }
@@ -102,7 +103,7 @@
   public abstract class PackageManager {
     method @NonNull public String getPermissionControllerPackageName();
     method @NonNull public String getSdkSandboxPackageName();
-    method @RequiresPermission("android.permission.MAKE_UID_VISIBLE") public void makeUidVisible(int, int);
+    method @RequiresPermission(android.Manifest.permission.MAKE_UID_VISIBLE) public void makeUidVisible(int, int);
     field public static final String EXTRA_VERIFICATION_ROOT_HASH = "android.content.pm.extra.VERIFICATION_ROOT_HASH";
     field public static final int MATCH_STATIC_SHARED_AND_SDK_LIBRARIES = 67108864; // 0x4000000
   }
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 81c941e..40bba8b 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -10297,7 +10297,11 @@
 
     /**
      * Makes the package associated with the uid {@code visibleUid} become visible to the
-     * recipient uid application.
+     * recipient application. The recipient application can receive the details about the
+     * visible package if successful.
+     * <p>
+     * Read <a href="/training/basics/intents/package-visibility">package visibility</a> for more
+     * information.
      *
      * @param recipientUid The uid of the application that is being given access to {@code
      *                     visibleUid}
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index d652b2f..462a110 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -6422,7 +6422,7 @@
 
     <!-- Allows an UID to be visible to the application based on an interaction between the
          two apps. This permission is not intended to be held by apps.
-         @hide @TestApi  -->
+         @hide @TestApi @SystemApi(client=android.annotation.SystemApi.Client.MODULE_LIBRARIES) -->
     <permission android:name="android.permission.MAKE_UID_VISIBLE"
                 android:protectionLevel="signature" />