Merge "Fix first-time slice permission grants" into pi-dev

am: 9959b36635

Change-Id: Iaaccd67b47470ba19b13631e39dc2d6c3b335cb8
This commit is contained in:
Jason Monk
2018-05-11 12:56:43 -07:00
committed by android-build-merger
2 changed files with 20 additions and 1 deletions

View File

@@ -251,6 +251,9 @@ public class SlicePermissionManager implements DirtyTracker {
}
// Can't read or no permissions exist, create a clean object.
client = new SliceClientPermissions(pkgUser, this);
synchronized (mCachedClients) {
mCachedClients.put(pkgUser, client);
}
}
return client;
}
@@ -278,6 +281,9 @@ public class SlicePermissionManager implements DirtyTracker {
}
// Can't read or no permissions exist, create a clean object.
provider = new SliceProviderPermissions(pkgUser, this);
synchronized (mCachedProviders) {
mCachedProviders.put(pkgUser, provider);
}
}
return provider;
}

View File

@@ -26,7 +26,6 @@ import android.support.test.filters.SmallTest;
import android.testing.AndroidTestingRunner;
import android.testing.TestableLooper;
import android.testing.TestableLooper.RunWithLooper;
import android.util.Log;
import android.util.Xml.Encoding;
import com.android.server.UiServiceTestCase;
@@ -48,6 +47,20 @@ import java.io.IOException;
@RunWithLooper
public class SlicePermissionManagerTest extends UiServiceTestCase {
@Test
public void testGrant() {
File sliceDir = new File(mContext.getDataDir(), "system/slices");
SlicePermissionManager permissions = new SlicePermissionManager(mContext,
TestableLooper.get(this).getLooper(), sliceDir);
Uri uri = new Builder().scheme(ContentResolver.SCHEME_CONTENT)
.authority("authority")
.path("something").build();
permissions.grantSliceAccess("my.pkg", 0, "provider.pkg", 0, uri);
assertTrue(permissions.hasPermission("my.pkg", 0, uri));
}
@Test
public void testBackup() throws XmlPullParserException, IOException {
File sliceDir = new File(mContext.getDataDir(), "system/slices");