From 3d2655c100b718391783b426bd89053e1a305d62 Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Fri, 10 May 2019 12:46:56 +0800 Subject: [PATCH] Log ACTION_CONTEXTUAL_CARD_SHOW in different place Fixes: 132396134 Test: robolectric Change-Id: I7d46df15fbc42838da0fa53f4db7e1aa026c3174 --- .../contextualcards/ContextualCardLoader.java | 4 ---- .../contextualcards/ContextualCardManager.java | 12 ++++++++++-- .../contextualcards/ContextualCardLoaderTest.java | 8 +++----- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java index a50cf41a385..6d3649d4058 100644 --- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java +++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java @@ -145,10 +145,6 @@ public class ContextualCardLoader extends AsyncLoaderCompat final MetricsFeatureProvider metricsFeatureProvider = 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 b39058bf098..a941fdbfdf3 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.app.LoaderManager; 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 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo final List 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 b7c21b8ae88..e8d7713f2a4 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 @@ public class ContextualCardLoaderTest { } @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 getContextualCardList() {