Use cached pid uid from Session

Follows existing logic in the class to use cached caller info and
permissions available to the caller. This reduces calls to native
to get pid & uid.

Test: atest CrossAppDragAndDropTests WindowlessWmTests
Bug: 134365580
Change-Id: Ic6203ff645f26f12b50f98ed7649a3a7e7c1326b
diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java
index 96be7cc..7135b21 100644
--- a/services/core/java/com/android/server/wm/Session.java
+++ b/services/core/java/com/android/server/wm/Session.java
@@ -263,11 +263,9 @@
     @Override
     public IBinder performDrag(IWindow window, int flags, SurfaceControl surface, int touchSource,
             float touchX, float touchY, float thumbCenterX, float thumbCenterY, ClipData data) {
-        final int callerPid = Binder.getCallingPid();
-        final int callerUid = Binder.getCallingUid();
         final long ident = Binder.clearCallingIdentity();
         try {
-            return mDragDropController.performDrag(mSurfaceSession, callerPid, callerUid, window,
+            return mDragDropController.performDrag(mSurfaceSession, mPid, mUid, window,
                     flags, surface, touchSource, touchX, touchY, thumbCenterX, thumbCenterY, data);
         } finally {
             Binder.restoreCallingIdentity(ident);
@@ -625,11 +623,9 @@
 
     public void grantInputChannel(int displayId, SurfaceControl surface,
             IWindow window, IBinder hostInputToken, InputChannel outInputChannel) {
-        final int callerUid = Binder.getCallingUid();
-        final int callerPid = Binder.getCallingPid();
         final long identity = Binder.clearCallingIdentity();
         try {
-            mService.grantInputChannel(callerUid, callerPid, displayId, surface, window,
+            mService.grantInputChannel(mUid, mPid, displayId, surface, window,
                     hostInputToken, outInputChannel);
         } finally {
             Binder.restoreCallingIdentity(identity);