Merge "Remove intent-filters from SettingsSliceProvider"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 829425c..bac0f60 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3021,16 +3021,7 @@
         <provider android:name=".slices.SettingsSliceProvider"
                   android:authorities="com.android.settings.slices;android.settings.slices"
                   android:exported="true"
-                  android:grantUriPermissions="true">
-            <intent-filter>
-                <action android:name="android.intent.action.VIEW" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <category android:name="android.intent.category.BROWSABLE" />
-                <category android:name="android.app.slice.category.SLICE" />
-                <data android:scheme="settings"
-                      android:host="com.android.settings.slices" />
-            </intent-filter>
-        </provider>
+                  android:grantUriPermissions="true" />
 
         <receiver
             android:name=".slices.SliceBroadcastReceiver"
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index 7b9acee..d1648e0 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -21,7 +21,6 @@
 import android.app.slice.SliceManager;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.Intent;
 import android.content.IntentFilter;
 import android.net.Uri;
 import android.os.StrictMode;
@@ -46,7 +45,6 @@
 import com.android.settingslib.SliceBroadcastRelay;
 import com.android.settingslib.utils.ThreadUtils;
 
-import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -150,18 +148,6 @@
     }
 
     @Override
-    public Uri onMapIntentToUri(Intent intent) {
-        try {
-            return getContext().getSystemService(SliceManager.class).mapIntentToUri(
-                    SliceDeepLinkSpringBoard.parse(
-                            intent.getData(), getContext().getPackageName()));
-        } catch (URISyntaxException e) {
-            Log.e(TAG, "Uri syntax error, can't map intent to uri.", e);
-            return null;
-        }
-    }
-
-    @Override
     public void onSlicePinned(Uri sliceUri) {
         if (mCustomSliceManager.isValidUri(sliceUri)) {
             final CustomSliceable sliceable = mCustomSliceManager.getSliceableFromUri(sliceUri);
diff --git a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
index d633b7a..8d7f44f 100644
--- a/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
+++ b/src/com/android/settings/slices/SliceDeepLinkSpringBoard.java
@@ -21,8 +21,6 @@
 import android.provider.Settings;
 import android.util.Log;
 
-import androidx.annotation.Keep;
-
 import com.android.settings.bluetooth.BluetoothSliceBuilder;
 import com.android.settings.notification.ZenModeSliceBuilder;
 import com.android.settings.overlay.FeatureFactory;
@@ -89,14 +87,6 @@
         }
     }
 
-    @Keep
-    public static Uri createDeepLink(String s) {
-        return new Uri.Builder().scheme(SETTINGS)
-                .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-                .appendQueryParameter(INTENT, s)
-                .build();
-    }
-
     public static Intent parse(Uri uri, String pkg) throws URISyntaxException {
         Intent intent = Intent.parseUri(uri.getQueryParameter(INTENT),
                 Intent.URI_ANDROID_APP_SCHEME);
diff --git a/tests/unit/src/com/android/settings/slices/SliceDeepLinkSpringBoardTest.java b/tests/unit/src/com/android/settings/slices/SliceDeepLinkSpringBoardTest.java
deleted file mode 100644
index 0c5f501..0000000
--- a/tests/unit/src/com/android/settings/slices/SliceDeepLinkSpringBoardTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.slices;
-
-import static com.android.settings.slices.SliceDeepLinkSpringBoard.createDeepLink;
-
-import android.content.Context;
-import android.content.Intent;
-import android.net.Uri;
-import android.platform.test.annotations.Presubmit;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-@MediumTest
-public class SliceDeepLinkSpringBoardTest {
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = InstrumentationRegistry.getTargetContext();
-    }
-
-    @Test
-    @Presubmit
-    public void launchesDeepLinkIntent_shouldNotCrash() {
-        final Intent deepLinkIntent = getSpringboardIntent(
-                "content://com.android.settings.slices/action/test_slice");
-
-        mContext.startActivity(deepLinkIntent);
-    }
-
-    @Test
-    @Presubmit
-    public void launchesDeepLinkIntent_wifiSlice_shouldNotCrash() {
-        final Intent deepLinkIntent = getSpringboardIntent(
-                CustomSliceRegistry.WIFI_SLICE_URI.toString());
-
-        mContext.startActivity(deepLinkIntent);
-    }
-
-    @Test
-    @Presubmit
-    public void launchesDeepLinkIntent_bluetoothSlice_shouldNotCrash() {
-        final Intent deepLinkIntent = getSpringboardIntent(
-                CustomSliceRegistry.BLUETOOTH_URI.toString());
-
-        mContext.startActivity(deepLinkIntent);
-    }
-
-    @Test
-    @Presubmit
-    public void launchesDeepLinkIntent_dndSlice_shouldNotCrash() {
-        final Intent deepLinkIntent = getSpringboardIntent(
-                CustomSliceRegistry.ZEN_MODE_SLICE_URI.toString());
-
-        mContext.startActivity(deepLinkIntent);
-    }
-
-    @Test
-    @Presubmit
-    public void launchesDeepLinkIntent_locationSlice_shouldNotCrash() {
-        final Intent deepLinkIntent = getSpringboardIntent(
-                CustomSliceRegistry.LOCATION_SLICE_URI.toString());
-
-        mContext.startActivity(deepLinkIntent);
-    }
-
-    private Intent getSpringboardIntent(String uriString) {
-        final Uri uri = createDeepLink(new Intent(SliceDeepLinkSpringBoard.ACTION_VIEW_SLICE)
-                .setPackage(mContext.getPackageName())
-                .putExtra(SliceDeepLinkSpringBoard.EXTRA_SLICE, uriString)
-                .toUri(Intent.URI_ANDROID_APP_SCHEME));
-
-        return new Intent(Intent.ACTION_VIEW)
-                .setData(uri)
-                .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-    }
-}