Log ACTION_CONTEXTUAL_CARD_SHOW in different place

Fixes: 132396134
Test: robolectric
Change-Id: I7d46df15fbc42838da0fa53f4db7e1aa026c3174
This commit is contained in:
Raff Tsai
2019-05-10 12:46:56 +08:00
parent 30a9392b21
commit 3d2655c100
3 changed files with 13 additions and 11 deletions

View File

@@ -145,10 +145,6 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
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));

View 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,

View 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() {