diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java index 2672906d25e..12272a7523a 100644 --- a/src/com/android/settings/slices/SettingsSliceProvider.java +++ b/src/com/android/settings/slices/SettingsSliceProvider.java @@ -20,6 +20,7 @@ import static android.Manifest.permission.READ_SEARCH_INDEXABLES; import static android.app.slice.Slice.HINT_PARTIAL; import android.app.PendingIntent; +import android.app.settings.SettingsEnums; import android.app.slice.SliceManager; import android.content.ContentResolver; import android.content.Context; @@ -162,6 +163,13 @@ public class SettingsSliceProvider extends SliceProvider { Log.d(TAG, "onSlicePinned: " + sliceUri); mFirstSlicePinned = true; } + FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider() + .action(SettingsEnums.PAGE_UNKNOWN, + SettingsEnums.ACTION_SETTINGS_SLICE_REQUESTED, + SettingsEnums.PAGE_UNKNOWN, + sliceUri.getLastPathSegment(), + 0); + if (CustomSliceRegistry.isValidUri(sliceUri)) { final Context context = getContext(); final CustomSliceable sliceable = FeatureFactory.getFactory(context) diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java index 8d5a0b4d8c7..6b69540ace1 100644 --- a/src/com/android/settings/slices/SliceBuilderUtils.java +++ b/src/com/android/settings/slices/SliceBuilderUtils.java @@ -24,7 +24,6 @@ import static com.android.settings.slices.SettingsSliceProvider.EXTRA_SLICE_KEY; import android.annotation.ColorInt; import android.app.PendingIntent; -import android.app.settings.SettingsEnums; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -51,7 +50,6 @@ import com.android.settings.core.BasePreferenceController; import com.android.settings.core.SliderPreferenceController; import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.TogglePreferenceController; -import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.AbstractPreferenceController; import java.util.Arrays; @@ -78,12 +76,6 @@ public class SliceBuilderUtils { public static Slice buildSlice(Context context, SliceData sliceData) { Log.d(TAG, "Creating slice for: " + sliceData.getPreferenceController()); final BasePreferenceController controller = getPreferenceController(context, sliceData); - FeatureFactory.getFactory(context).getMetricsFeatureProvider() - .action(SettingsEnums.PAGE_UNKNOWN, - SettingsEnums.ACTION_SETTINGS_SLICE_REQUESTED, - SettingsEnums.PAGE_UNKNOWN, - sliceData.getKey(), - 0); if (!controller.isAvailable()) { // Cannot guarantee setting page is accessible, let the presenter handle error case. diff --git a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java index 2941ca0acd5..45fea570970 100644 --- a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java +++ b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java @@ -20,9 +20,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.verify; -import android.app.settings.SettingsEnums; import android.content.Context; import android.content.Intent; import android.net.Uri; @@ -37,10 +35,8 @@ import androidx.slice.SliceProvider; import androidx.slice.core.SliceAction; import androidx.slice.widget.SliceLiveData; -import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.settings.R; import com.android.settings.core.BasePreferenceController; -import com.android.settings.testutils.FakeFeatureFactory; import com.android.settings.testutils.FakeInvalidSliderController; import com.android.settings.testutils.FakeSliderController; import com.android.settings.testutils.FakeToggleController; @@ -70,12 +66,10 @@ public class SliceBuilderUtilsTest { private final Class CONTEXT_CONTROLLER = FakeContextOnlyPreferenceController.class; private Context mContext; - private FakeFeatureFactory mFeatureFactory; @Before public void setUp() { mContext = RuntimeEnvironment.application; - mFeatureFactory = FakeFeatureFactory.setupForTest(); // Set-up specs for SliceMetadata. SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS); } @@ -93,12 +87,6 @@ public class SliceBuilderUtilsTest { final SliceData mockData = getMockData(TOGGLE_CONTROLLER, SliceData.SliceType.SWITCH); final Slice slice = SliceBuilderUtils.buildSlice(mContext, mockData); - verify(mFeatureFactory.metricsFeatureProvider) - .action(SettingsEnums.PAGE_UNKNOWN, - MetricsEvent.ACTION_SETTINGS_SLICE_REQUESTED, - SettingsEnums.PAGE_UNKNOWN, - mockData.getKey(), - 0); SliceTester.testSettingsToggleSlice(mContext, slice, mockData); } @@ -107,12 +95,6 @@ public class SliceBuilderUtilsTest { final SliceData data = getMockData(SLIDER_CONTROLLER, SliceData.SliceType.SLIDER); final Slice slice = SliceBuilderUtils.buildSlice(mContext, data); - verify(mFeatureFactory.metricsFeatureProvider) - .action(SettingsEnums.PAGE_UNKNOWN, - MetricsEvent.ACTION_SETTINGS_SLICE_REQUESTED, - SettingsEnums.PAGE_UNKNOWN, - data.getKey(), - 0); SliceTester.testSettingsSliderSlice(mContext, slice, data); } @@ -298,18 +280,11 @@ public class SliceBuilderUtilsTest { final Slice slice = SliceBuilderUtils.buildSlice(mContext, data); - verify(mFeatureFactory.metricsFeatureProvider) - .action(SettingsEnums.PAGE_UNKNOWN, - MetricsEvent.ACTION_SETTINGS_SLICE_REQUESTED, - SettingsEnums.PAGE_UNKNOWN, - data.getKey(), - 0); - SliceTester.testSettingsUnavailableSlice(mContext, slice, data); } @Test - public void testConditionallyUnavailableSlice_validTitleSummary() { + public void testConditionallyUnavailableSlice_sliceShouldBeNull() { final SliceData data = getMockData(FakeUnavailablePreferenceController.class, SliceData.SliceType.SWITCH); Settings.Global.putInt(mContext.getContentResolver(), @@ -318,12 +293,7 @@ public class SliceBuilderUtilsTest { final Slice slice = SliceBuilderUtils.buildSlice(mContext, data); - verify(mFeatureFactory.metricsFeatureProvider) - .action(SettingsEnums.PAGE_UNKNOWN, - MetricsEvent.ACTION_SETTINGS_SLICE_REQUESTED, - SettingsEnums.PAGE_UNKNOWN, - data.getKey(), - 0); + assertThat(slice).isNull(); } @Test