Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42aac328 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Log ACTION_CONTEXTUAL_CARD_SHOW in different place" into qt-dev

parents 806c65ca 3d2655c1
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -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));
+10 −2
Original line number Diff line number Diff line
@@ -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,
+3 −5
Original line number Diff line number Diff line
@@ -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() {