Merge "Grant permission on slice uris based on whitelist"
This commit is contained in:
committed by
Android (Google) Code Review
commit
68d39ba1ee
@@ -67,4 +67,10 @@
|
||||
<string-array name="config_settings_slices_accessibility_components" translatable="false">
|
||||
<item>fake_package/fake_service</item>
|
||||
</string-array>
|
||||
|
||||
<!-- List of packages that should be whitelisted for slice uri access. Do not translate -->
|
||||
<string-array name="slice_whitelist_package_names" translatable="false">
|
||||
<item>com.android.settings.slice_whitelist_package</item>
|
||||
</string-array>
|
||||
|
||||
</resources>
|
||||
|
@@ -21,9 +21,12 @@ import static android.content.ContentResolver.SCHEME_CONTENT;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.ArgumentMatchers.anyString;
|
||||
import static org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.never;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -64,6 +67,7 @@ import org.robolectric.annotation.Implementation;
|
||||
import org.robolectric.annotation.Implements;
|
||||
import org.robolectric.annotation.Resetter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
@@ -477,6 +481,28 @@ public class SettingsSliceProviderTest {
|
||||
mProvider.onSlicePinned(uri);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void grantWhitelistedPackagePermissions_noWhitelist_shouldNotGrant() {
|
||||
final List<Uri> uris = new ArrayList<>();
|
||||
uris.add(Uri.parse("content://settings/slice"));
|
||||
|
||||
mProvider.grantWhitelistedPackagePermissions(mContext, uris);
|
||||
|
||||
verify(mManager, never()).grantSlicePermission(anyString(), any(Uri.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
@Config(qualifiers = "mcc999")
|
||||
public void grantWhitelistedPackagePermissions_hasPackageWhitelist_shouldGrant() {
|
||||
final List<Uri> uris = new ArrayList<>();
|
||||
uris.add(Uri.parse("content://settings/slice"));
|
||||
|
||||
mProvider.grantWhitelistedPackagePermissions(mContext, uris);
|
||||
|
||||
verify(mManager)
|
||||
.grantSlicePermission("com.android.settings.slice_whitelist_package", uris.get(0));
|
||||
}
|
||||
|
||||
private void insertSpecialCase(String key) {
|
||||
insertSpecialCase(key, true);
|
||||
}
|
||||
|
Reference in New Issue
Block a user