Remove ComponentCaller constructor from the public APIs

The ComponentCaller constructor requires 2 IBinder objects, however raw
IBinder objects are discouraged in public APIs as they lack type
information.

Bug: 293467489
Test: atest CtsAndroidAppTestCases:android.app.cts.ShareIdentityTest
Test: atest CtsAndroidAppTestCases:android.app.cts.ComponentCallerTest
Change-Id: I07814102b3465bd38ffb2e3c068571fc9a238e9b
diff --git a/core/api/current.txt b/core/api/current.txt
index acb4146..0077336 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -5424,7 +5424,6 @@
   }
 
   @FlaggedApi("android.security.content_uri_permission_apis") public final class ComponentCaller {
-    ctor public ComponentCaller(@NonNull android.os.IBinder, @Nullable android.os.IBinder);
     method public int checkContentUriPermission(@NonNull android.net.Uri, int);
     method @Nullable public String getPackage();
     method public int getUid();
diff --git a/core/java/android/app/ComponentCaller.java b/core/java/android/app/ComponentCaller.java
index a440dbc..44e8a0a 100644
--- a/core/java/android/app/ComponentCaller.java
+++ b/core/java/android/app/ComponentCaller.java
@@ -42,6 +42,9 @@
     private final IBinder mActivityToken;
     private final IBinder mCallerToken;
 
+    /**
+     * @hide
+     */
     public ComponentCaller(@NonNull IBinder activityToken, @Nullable IBinder callerToken) {
         mActivityToken = activityToken;
         mCallerToken = callerToken;