Support attributing a service binding to a different process.

By default, the process that initiates a service binding is the process
that will be used for attribution and computing the OOM priority of the
process hosting the service. In cases like the SDK sandbox, the system
binds to a service on behalf of another application, and we'd like to
OOM priority to be a function of the priority of that other application.

Since we need some way to lookup the corresponding ProcessRecord, pass
in the process name of the SDK sandbox, and store the corresponding
ProcessRecord in AppBindRecord.

This will allow the OomAdjuster to determine its policy based on the
attributed ProcessRecord in AppBindRecord.

Bug: 253399592
API-Coverage-Bug: 265180182
Test: SdkSandbox TEST_MAPPING
Change-Id: Iab4555975aec52bbc3c42ba339b01c1ffbff36d4
diff --git a/services/api/current.txt b/services/api/current.txt
index b173726..25a9b10 100644
--- a/services/api/current.txt
+++ b/services/api/current.txt
@@ -38,7 +38,8 @@
 package com.android.server.am {
 
   public interface ActivityManagerLocal {
-    method public boolean bindSdkSandboxService(@NonNull android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull String, @NonNull String, int) throws android.os.RemoteException;
+    method public boolean bindSdkSandboxService(@NonNull android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull android.os.IBinder, @NonNull String, @NonNull String, int) throws android.os.RemoteException;
+    method @Deprecated public boolean bindSdkSandboxService(@NonNull android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull String, @NonNull String, int) throws android.os.RemoteException;
     method public boolean canStartForegroundService(int, int, @NonNull String);
     method public void killSdkSandboxClientAppProcess(@NonNull android.os.IBinder);
   }