Removes undesirable invokation of checkUriPermission am: 26bf81f9fe

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/13237956

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8c07be00e5cfe82a8825e8f3835096b9e050f030
This commit is contained in:
Pinyao Ting
2020-12-16 22:33:06 +00:00
committed by Automerger Merge Worker
2 changed files with 10 additions and 6 deletions

View File

@@ -251,11 +251,6 @@ public class SliceManagerService extends ISliceManager.Stub {
} }
} }
} }
// Fallback to allowing uri permissions through.
if (mContext.checkUriPermission(uri, pid, uid, Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
== PERMISSION_GRANTED) {
return PackageManager.PERMISSION_GRANTED;
}
return PackageManager.PERMISSION_DENIED; return PackageManager.PERMISSION_DENIED;
} }

View File

@@ -75,7 +75,6 @@ public class SliceManagerServiceTest extends UiServiceTestCase {
LocalServices.addService(UsageStatsManagerInternal.class, LocalServices.addService(UsageStatsManagerInternal.class,
mock(UsageStatsManagerInternal.class)); mock(UsageStatsManagerInternal.class));
mContext.addMockSystemService(AppOpsManager.class, mock(AppOpsManager.class)); mContext.addMockSystemService(AppOpsManager.class, mock(AppOpsManager.class));
mContext.getTestablePermissions().setPermission(TEST_URI, PERMISSION_GRANTED);
mContextSpy = spy(mContext); mContextSpy = spy(mContext);
mService = spy(new SliceManagerService(mContextSpy, TestableLooper.get(this).getLooper())); mService = spy(new SliceManagerService(mContextSpy, TestableLooper.get(this).getLooper()));
@@ -90,6 +89,7 @@ public class SliceManagerServiceTest extends UiServiceTestCase {
@Test @Test
public void testAddPinCreatesPinned() throws RemoteException { public void testAddPinCreatesPinned() throws RemoteException {
grantSlicePermission();
doReturn("pkg").when(mService).getDefaultHome(anyInt()); doReturn("pkg").when(mService).getDefaultHome(anyInt());
mService.pinSlice("pkg", TEST_URI, EMPTY_SPECS, mToken); mService.pinSlice("pkg", TEST_URI, EMPTY_SPECS, mToken);
@@ -99,6 +99,7 @@ public class SliceManagerServiceTest extends UiServiceTestCase {
@Test @Test
public void testRemovePinDestroysPinned() throws RemoteException { public void testRemovePinDestroysPinned() throws RemoteException {
grantSlicePermission();
doReturn("pkg").when(mService).getDefaultHome(anyInt()); doReturn("pkg").when(mService).getDefaultHome(anyInt());
mService.pinSlice("pkg", TEST_URI, EMPTY_SPECS, mToken); mService.pinSlice("pkg", TEST_URI, EMPTY_SPECS, mToken);
@@ -130,11 +131,13 @@ public class SliceManagerServiceTest extends UiServiceTestCase {
@Test(expected = IllegalStateException.class) @Test(expected = IllegalStateException.class)
public void testNoPinThrow() throws Exception { public void testNoPinThrow() throws Exception {
grantSlicePermission();
mService.getPinnedSpecs(TEST_URI, "pkg"); mService.getPinnedSpecs(TEST_URI, "pkg");
} }
@Test @Test
public void testGetPinnedSpecs() throws Exception { public void testGetPinnedSpecs() throws Exception {
grantSlicePermission();
SliceSpec[] specs = new SliceSpec[] { SliceSpec[] specs = new SliceSpec[] {
new SliceSpec("Something", 1) }; new SliceSpec("Something", 1) };
mService.pinSlice("pkg", TEST_URI, specs, mToken); mService.pinSlice("pkg", TEST_URI, specs, mToken);
@@ -143,4 +146,10 @@ public class SliceManagerServiceTest extends UiServiceTestCase {
assertEquals(specs, mService.getPinnedSpecs(TEST_URI, "pkg")); assertEquals(specs, mService.getPinnedSpecs(TEST_URI, "pkg"));
} }
private void grantSlicePermission() {
doReturn(PERMISSION_GRANTED).when(mService).checkSlicePermission(
eq(TEST_URI), anyString(), anyString(), anyInt(), anyInt(), any());
doReturn(PERMISSION_GRANTED).when(mService).checkAccess(
anyString(), eq(TEST_URI), anyInt(), anyInt());
}
} }