From f6a267bd3605a7a42a90263e37a8a237cc656177 Mon Sep 17 00:00:00 2001 From: Peter Zhang Date: Wed, 10 May 2023 16:01:58 +0200 Subject: [PATCH] Add logging when a group tile with PreferenceCategory widget is added to the screen Test: robotest, manual Bug: 281517110 Change-Id: I4de1938bdeea003c70e5c554e988a97b762f7f81 --- .../settings/dashboard/DashboardFragment.java | 6 ++++++ .../settings/dashboard/DashboardFragmentTest.java | 12 +++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java index dc4d5992b86..f8a5d76b6fa 100644 --- a/src/com/android/settings/dashboard/DashboardFragment.java +++ b/src/com/android/settings/dashboard/DashboardFragment.java @@ -592,6 +592,12 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment case SWITCH_WITH_ACTION: return new PrimarySwitchPreference(getPrefContext()); case GROUP: + mMetricsFeatureProvider.action( + mMetricsFeatureProvider.getAttribution(getActivity()), + SettingsEnums.ACTION_SETTINGS_GROUP_TILE_ADDED_TO_SCREEN, + getMetricsCategory(), + tile.getKey(getContext()), + /* value= */ 0); return new PreferenceCategory((getPrefContext())); case ACTION: default: diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java index febc865136c..ecaf36fa161 100644 --- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java @@ -447,7 +447,7 @@ public class DashboardFragmentTest { } @Test - public void createPreference_isGroupTile_returnPreferenceCategory() { + public void createPreference_isGroupTile_returnPreferenceCategory_logTileAdded() { final ProviderInfo providerInfo = new ProviderInfo(); providerInfo.packageName = "pkg"; providerInfo.name = "provider"; @@ -456,10 +456,20 @@ public class DashboardFragmentTest { metaData.putString(META_DATA_PREFERENCE_KEYHINT, "injected_tile_key2"); ProviderTile providerTile = new ProviderTile(providerInfo, mDashboardCategory.key, metaData); + MetricsFeatureProvider metricsFeatureProvider = + mFakeFeatureFactory.getMetricsFeatureProvider(); + when(metricsFeatureProvider.getAttribution(any())).thenReturn(123); final Preference pref = mTestFragment.createPreference(providerTile); assertThat(pref).isInstanceOf(PreferenceCategory.class); + verify(metricsFeatureProvider) + .action( + 123, + SettingsEnums.ACTION_SETTINGS_GROUP_TILE_ADDED_TO_SCREEN, + mTestFragment.getMetricsCategory(), + "injected_tile_key2", + 0); } @Test