Merge "Hook up blocked keys" into pi-dev
am: a60ea38f67
Change-Id: I464e3068051471f05512068bc020866f8d8d8f85
This commit is contained in:
@@ -176,6 +176,13 @@ public class SettingsSliceProvider extends SliceProvider {
|
||||
|
||||
@Override
|
||||
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.
|
||||
// Use {@link SlicesDatabaseAccessor}.
|
||||
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 org.mockito.ArgumentMatchers.eq;
|
||||
import static org.mockito.Mockito.doReturn;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.verify;
|
||||
@@ -35,6 +36,7 @@ import android.database.sqlite.SQLiteDatabase;
|
||||
import android.net.Uri;
|
||||
import android.os.StrictMode;
|
||||
import android.provider.SettingsSlicesContract;
|
||||
import android.util.ArraySet;
|
||||
|
||||
import com.android.settings.location.LocationSliceBuilder;
|
||||
import com.android.settings.wifi.WifiSliceBuilder;
|
||||
@@ -56,6 +58,7 @@ import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import androidx.slice.Slice;
|
||||
|
||||
@@ -192,6 +195,24 @@ public class SettingsSliceProviderTest {
|
||||
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
|
||||
public void testLoadSlice_cachedEntryRemovedOnUnpin() {
|
||||
SliceData data = getDummyData();
|
||||
|
Reference in New Issue
Block a user