Hook up blocked keys

Block any slice in onBind that is the in the blacklist

Change-Id: I9687d07cbfef5fcb94842046bc5dc3296eed4252
Fixes: 80195653
Test: robotests
This commit is contained in:
Matthew Fritze
2018-05-23 12:25:23 -07:00
parent 28dc3917a9
commit 4242ed2171
2 changed files with 29 additions and 0 deletions

View File

@@ -22,18 +22,21 @@ 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;
import static org.mockito.Mockito.when;
import android.app.slice.SliceManager;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
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.wifi.WifiSliceBuilder;
import com.android.settings.bluetooth.BluetoothSliceBuilder;
@@ -54,6 +57,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;
@@ -189,6 +193,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();