Loading src/com/android/settings/slices/SettingsSliceProvider.java +8 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) Loading src/com/android/settings/slices/SliceBuilderUtils.java +0 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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. Loading tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java +2 −32 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading Loading @@ -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(), Loading @@ -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 Loading Loading
src/com/android/settings/slices/SettingsSliceProvider.java +8 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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) Loading
src/com/android/settings/slices/SliceBuilderUtils.java +0 −8 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading @@ -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. Loading
tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java +2 −32 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading @@ -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); } Loading @@ -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); } Loading @@ -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); } Loading Loading @@ -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(), Loading @@ -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 Loading