Use mPidMap instead of mProcessNames to get process with pid info

With newly introduced mPidMap, we do not need to iterate every process
to find the one we need with pid information. Use mPidMap directly to
accelerate the getting process method.

By doing this, the time consumption of getConfiguration get reduced by
12.5%. The time consumption percentage of getConfiguration in
getOrientationChanging is reduced from around 87% to 41%. Also, in
prepareSurfacesLocked, the time consumption of getOrientationChanging
reduced from 37% to 25%.

Test: go/wm-smoke
Test: ddms
Bug: 129389526
Change-Id: I77511ce3385049e8c812e8e3706482a48457df0c
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index 9a8824f..3363c4c 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -5812,15 +5812,10 @@
     }
 
     WindowProcessController getProcessController(int pid, int uid) {
-        final ArrayMap<String, SparseArray<WindowProcessController>> pmap = mProcessNames.getMap();
-        for (int i = pmap.size()-1; i >= 0; i--) {
-            final SparseArray<WindowProcessController> procs = pmap.valueAt(i);
-            for (int j = procs.size() - 1; j >= 0; j--) {
-                final WindowProcessController proc = procs.valueAt(j);
-                if (UserHandle.isApp(uid) && proc.getPid() == pid && proc.mUid == uid) {
-                    return proc;
-                }
-            }
+        final WindowProcessController proc = mPidMap.get(pid);
+        if (proc == null) return null;
+        if (UserHandle.isApp(uid) && proc.mUid == uid) {
+            return proc;
         }
         return null;
     }