OSDN Git Service

Log ACTION_CONTEXTUAL_CARD_SHOW in different place
authorRaff Tsai <rafftsai@google.com>
Fri, 10 May 2019 04:46:56 +0000 (12:46 +0800)
committerRaff Tsai <rafftsai@google.com>
Sat, 11 May 2019 00:28:08 +0000 (08:28 +0800)
Fixes: 132396134
Test: robolectric
Change-Id: I7d46df15fbc42838da0fa53f4db7e1aa026c3174

src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java

index a50cf41..6d3649d 100644 (file)
@@ -146,10 +146,6 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
                     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));
         }
index b39058b..a941fdb 100644 (file)
@@ -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<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,
index b7c21b8..e8d7713 100644 (file)
@@ -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<ContextualCard> getContextualCardList() {