More cross-user Uri granting tests.

Bug: 155466646
Test: atest FrameworksServicesTests:com.android.server.uri
Change-Id: I6bc958b0cce5ecd876bfb14f53a552e470b61fe4
diff --git a/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java
index e548647..0e48e7e 100644
--- a/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/uri/UriGrantsManagerServiceTest.java
@@ -70,8 +70,12 @@
         mLocalService = mService.getLocalService();
     }
 
+    /**
+     * Verify that a camera sharing a normally-private photo with a social media
+     * app in the same user issues a grant.
+     */
     @Test
-    public void testNeeded_normal() {
+    public void testNeeded_normal_sameUser() {
         final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PHOTO_1).addFlags(FLAG_READ);
         final GrantUri expectedGrant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
 
@@ -85,6 +89,24 @@
     }
 
     /**
+     * Verify that a camera sharing a normally-private photo with a social media
+     * app in a different user issues a grant.
+     */
+    @Test
+    public void testNeeded_normal_differentUser() {
+        final Intent intent = new Intent(Intent.ACTION_VIEW, URI_PHOTO_1).addFlags(FLAG_READ);
+        final GrantUri expectedGrant = new GrantUri(USER_PRIMARY, URI_PHOTO_1, FLAG_READ);
+
+        final NeededUriGrants needed = mService.checkGrantUriPermissionFromIntent(
+                UID_PRIMARY_CAMERA, PKG_SOCIAL, intent, intent.getFlags(), null,
+                USER_SECONDARY);
+        assertEquals(PKG_SOCIAL, needed.targetPkg);
+        assertEquals(UID_SECONDARY_SOCIAL, needed.targetUid);
+        assertEquals(FLAG_READ, needed.flags);
+        assertEquals(asSet(expectedGrant), needed.uris);
+    }
+
+    /**
      * No need to issue grants for public authorities.
      */
     @Test