RestrictedPermissionsTest: Do not execute dropShellPermissionIdentity() until the installation is complete.

The installation process of 'session.commit(intentSender)' is asynchronous. It is possible that dropShellPermissionIdentity() has already been called before checking the installation permissions.

Test: run cts -m CtsPermission2TestCases -t android.permission2.cts.RestrictedPermissionsTest#onSideLoadWhitelistSomePermissions

Bug: 139108944

Signed-off-by: duanyangqi <duanyangqi@xiaomi.com>
diff --git a/tests/tests/permission2/src/android/permission2/cts/RestrictedPermissionsTest.java b/tests/tests/permission2/src/android/permission2/cts/RestrictedPermissionsTest.java
index 996630a..1bbad45 100644
--- a/tests/tests/permission2/src/android/permission2/cts/RestrictedPermissionsTest.java
+++ b/tests/tests/permission2/src/android/permission2/cts/RestrictedPermissionsTest.java
@@ -727,11 +727,10 @@
                     1, intent, PendingIntent.FLAG_ONE_SHOT).getIntentSender();
 
             // Commit as shell to avoid confirm UI
-            runWithShellPermissionIdentity(() ->
-                session.commit(intentSender)
-            );
-
-            installLatch.await(UI_TIMEOUT, TimeUnit.MILLISECONDS);
+            runWithShellPermissionIdentity(() -> {
+                session.commit(intentSender);
+                installLatch.await(UI_TIMEOUT, TimeUnit.MILLISECONDS);
+            });
         } finally {
             getContext().unregisterReceiver(installReceiver);
         }