Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8e1a02b authored by Matthew Fritze's avatar Matthew Fritze Committed by android-build-merger
Browse files

Merge "Hook up blocked keys" into pi-dev

am: a60ea38f

Change-Id: I464e3068051471f05512068bc020866f8d8d8f85
parents dc001563 a60ea38f
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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)) {
+21 −0
Original line number Diff line number Diff line
@@ -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();