Merge "Hook up blocked keys" into pi-dev am: a60ea38f67
am: a8e1a02bfa
Change-Id: Ib79a5fe4721086f400477dc159e14ab5e641e304
This commit is contained in:
@@ -177,6 +177,13 @@ public class SettingsSliceProvider extends SliceProvider {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Slice onBindSlice(Uri sliceUri) {
|
public Slice onBindSlice(Uri sliceUri) {
|
||||||
|
final Set<String> blockedKeys = getBlockedKeys();
|
||||||
|
final String key = sliceUri.getLastPathSegment();
|
||||||
|
if (blockedKeys.contains(key)) {
|
||||||
|
Log.e(TAG, "Requested blocked slice with Uri: " + sliceUri);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// If adding a new Slice, do not directly match Slice URIs.
|
// If adding a new Slice, do not directly match Slice URIs.
|
||||||
// Use {@link SlicesDatabaseAccessor}.
|
// Use {@link SlicesDatabaseAccessor}.
|
||||||
if (WifiCallingSliceHelper.WIFI_CALLING_URI.equals(sliceUri)) {
|
if (WifiCallingSliceHelper.WIFI_CALLING_URI.equals(sliceUri)) {
|
||||||
|
@@ -22,6 +22,7 @@ import static android.content.ContentResolver.SCHEME_CONTENT;
|
|||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.ArgumentMatchers.eq;
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
@@ -35,6 +36,7 @@ import android.database.sqlite.SQLiteDatabase;
|
|||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.StrictMode;
|
import android.os.StrictMode;
|
||||||
import android.provider.SettingsSlicesContract;
|
import android.provider.SettingsSlicesContract;
|
||||||
|
import android.util.ArraySet;
|
||||||
|
|
||||||
import com.android.settings.location.LocationSliceBuilder;
|
import com.android.settings.location.LocationSliceBuilder;
|
||||||
import com.android.settings.wifi.WifiSliceBuilder;
|
import com.android.settings.wifi.WifiSliceBuilder;
|
||||||
@@ -56,6 +58,7 @@ import java.util.Collections;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
import androidx.slice.Slice;
|
import androidx.slice.Slice;
|
||||||
|
|
||||||
@@ -192,6 +195,24 @@ public class SettingsSliceProviderTest {
|
|||||||
assertThat(newThreadPolicy.toString()).isEqualTo(oldThreadPolicy.toString());
|
assertThat(newThreadPolicy.toString()).isEqualTo(oldThreadPolicy.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onBindSlice_requestsBlockedSlice_retunsNull() {
|
||||||
|
final String blockedKey = "blocked_key";
|
||||||
|
final Set<String> blockedSet = new ArraySet<>();
|
||||||
|
blockedSet.add(blockedKey);
|
||||||
|
doReturn(blockedSet).when(mProvider).getBlockedKeys();
|
||||||
|
final Uri blockedUri = new Uri.Builder()
|
||||||
|
.scheme(ContentResolver.SCHEME_CONTENT)
|
||||||
|
.authority(SettingsSliceProvider.SLICE_AUTHORITY)
|
||||||
|
.appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
|
||||||
|
.appendPath(blockedKey)
|
||||||
|
.build();
|
||||||
|
|
||||||
|
final Slice slice = mProvider.onBindSlice(blockedUri);
|
||||||
|
|
||||||
|
assertThat(slice).isNull();
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testLoadSlice_cachedEntryRemovedOnUnpin() {
|
public void testLoadSlice_cachedEntryRemovedOnUnpin() {
|
||||||
SliceData data = getDummyData();
|
SliceData data = getDummyData();
|
||||||
|
Reference in New Issue
Block a user