Merge "Log ACTION_CONTEXTUAL_CARD_SHOW in different place" into qt-dev
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
index a50cf41..6d3649d 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
@@ -146,10 +146,6 @@
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
metricsFeatureProvider.action(mContext,
- SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW,
- ContextualCardLogUtils.buildCardListLog(visibleCards));
-
- metricsFeatureProvider.action(mContext,
SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW,
ContextualCardLogUtils.buildCardListLog(hiddenCards));
}
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
index b39058b..a941fdb 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
@@ -38,6 +38,7 @@
import androidx.loader.content.Loader;
import com.android.settings.homepage.contextualcards.conditional.ConditionalCardController;
+import com.android.settings.homepage.contextualcards.logging.ContextualCardLogUtils;
import com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -208,19 +209,26 @@
final List<ContextualCard> cardsToKeep = getCardsToKeep(cards);
+ final MetricsFeatureProvider metricsFeatureProvider =
+ FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+
//navigate back to the homepage, screen rotate or after card dismissal
if (!mIsFirstLaunch) {
onContextualCardUpdated(cardsToKeep.stream()
.collect(groupingBy(ContextualCard::getCardType)));
+ metricsFeatureProvider.action(mContext,
+ SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW,
+ ContextualCardLogUtils.buildCardListLog(cardsToKeep));
return;
}
- final MetricsFeatureProvider metricsFeatureProvider =
- FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
final long timeoutLimit = getCardLoaderTimeout();
if (loadTime <= timeoutLimit) {
onContextualCardUpdated(cards.stream()
.collect(groupingBy(ContextualCard::getCardType)));
+ metricsFeatureProvider.action(mContext,
+ SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW,
+ ContextualCardLogUtils.buildCardListLog(cards));
} else {
// log timeout occurrence
metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
index b7c21b8..e8d7713 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
@@ -91,25 +91,23 @@
}
@Test
- public void getDisplayableCards_refreshCardUri_shouldLogContextualCardDisplay() {
+ public void getDisplayableCards_refreshCardUri_shouldLogContextualCard() {
mContextualCardLoader.mNotifyUri = CardContentProvider.REFRESH_CARD_URI;
mContextualCardLoader.getDisplayableCards(new ArrayList<>());
verify(mFakeFeatureFactory.metricsFeatureProvider).action(any(),
- eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW), any(String.class));
- verify(mFakeFeatureFactory.metricsFeatureProvider).action(any(),
eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW), any(String.class));
}
@Test
- public void getDisplayableCards_deleteCardUri_shouldNotLogContextualCardDisplay() {
+ public void getDisplayableCards_deleteCardUri_shouldNotLogContextualCard() {
mContextualCardLoader.mNotifyUri = CardContentProvider.DELETE_CARD_URI;
mContextualCardLoader.getDisplayableCards(new ArrayList<>());
verify(mFakeFeatureFactory.metricsFeatureProvider, never()).action(any(),
- eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_SHOW), any(String.class));
+ eq(SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW), any(String.class));
}
private List<ContextualCard> getContextualCardList() {