Merge "Reducing slice requesting logging" into udc-dev
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index 2672906..12272a7 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -20,6 +20,7 @@
 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 @@
             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 8d5a0b4..6b69540 100644
--- a/src/com/android/settings/slices/SliceBuilderUtils.java
+++ b/src/com/android/settings/slices/SliceBuilderUtils.java
@@ -24,7 +24,6 @@
 
 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.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 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 2941ca0..45fea57 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 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.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 @@
     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 @@
         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 @@
         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 @@
 
         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 @@
 
         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