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

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

Merge "Add sliceUri in broadcast intent"

parents abcfa26b f7a6d948
Loading
Loading
Loading
Loading
+4 −7
Original line number Diff line number Diff line
@@ -16,24 +16,21 @@

package com.android.settings.homepage.contextualcards;

import android.content.Context;

import java.util.List;

/** Feature provider for the contextual card feature. */
public interface ContextualCardFeatureProvider {

    /** Homepage displays. */
    void logHomepageDisplay(Context context, long latency);
    void logHomepageDisplay(long latency);

    /** When user clicks dismiss in contextual card */
    void logContextualCardDismiss(Context context, ContextualCard card);
    void logContextualCardDismiss(ContextualCard card);

    /** After ContextualCardManager decides which cards will be displayed/hidden */
    void logContextualCardDisplay(Context context, List<ContextualCard> showedCards,
    void logContextualCardDisplay(List<ContextualCard> showedCards,
            List<ContextualCard> hiddenCards);

    /** When user clicks toggle/title area of a contextual card. */
    void logContextualCardClick(Context context, ContextualCard card, int row,
            int tapTarget);
    void logContextualCardClick(ContextualCard card, int row, int tapTarget);
}
+23 −12
Original line number Diff line number Diff line
@@ -51,6 +51,9 @@ public class ContextualCardFeatureProviderImpl implements ContextualCardFeatureP
    // contextual card name
    private static final String EXTRA_CONTEXTUALCARD_NAME = "name";

    // contextual card uri
    private static final String EXTRA_CONTEXTUALCARD_URI = "uri";

    // contextual card score
    private static final String EXTRA_CONTEXTUALCARD_SCORE = "score";

@@ -84,51 +87,59 @@ public class ContextualCardFeatureProviderImpl implements ContextualCardFeatureP
    // Click slider
    private static final int TARGET_SLIDER = 3;

    private final Context mContext;

    public ContextualCardFeatureProviderImpl(Context context) {
        mContext = context;
    }

    @Override
    public void logHomepageDisplay(Context context, long latency) {
        sendBroadcast(context, new Intent()
    public void logHomepageDisplay(long latency) {
        sendBroadcast(new Intent()
                .putExtra(EXTRA_CONTEXTUALCARD_ACTION_TYPE, CONTEXTUAL_HOME_SHOW)
                .putExtra(EXTRA_LATENCY, latency));
    }

    @Override
    public void logContextualCardDismiss(Context context, ContextualCard card) {
    public void logContextualCardDismiss(ContextualCard card) {
        final Intent intent = new Intent();
        intent.putExtra(EXTRA_CONTEXTUALCARD_ACTION_TYPE, CONTEXTUAL_CARD_DISMISS);
        intent.putExtra(EXTRA_CONTEXTUALCARD_NAME, card.getName());
        intent.putExtra(EXTRA_CONTEXTUALCARD_URI, card.getSliceUri().toString());
        intent.putExtra(EXTRA_CONTEXTUALCARD_SCORE, card.getRankingScore());
        sendBroadcast(context, intent);
        sendBroadcast(intent);
    }

    @Override
    public void logContextualCardDisplay(Context context, List<ContextualCard> visibleCards,
    public void logContextualCardDisplay(List<ContextualCard> visibleCards,
            List<ContextualCard> hiddenCards) {
        final Intent intent = new Intent();
        intent.putExtra(EXTRA_CONTEXTUALCARD_ACTION_TYPE, CONTEXTUAL_CARD_SHOW);
        intent.putExtra(EXTRA_CONTEXTUALCARD_VISIBLE, serialize(visibleCards));
        intent.putExtra(EXTRA_CONTEXTUALCARD_HIDDEN, serialize(hiddenCards));
        sendBroadcast(context, intent);
        sendBroadcast(intent);
    }

    @Override
    public void logContextualCardClick(Context context, ContextualCard card, int row,
    public void logContextualCardClick(ContextualCard card, int row,
            int actionType) {
        final Intent intent = new Intent();
        intent.putExtra(EXTRA_CONTEXTUALCARD_ACTION_TYPE, CONTEXTUAL_CARD_CLICK);
        intent.putExtra(EXTRA_CONTEXTUALCARD_NAME, card.getName());
        intent.putExtra(EXTRA_CONTEXTUALCARD_URI, card.getSliceUri().toString());
        intent.putExtra(EXTRA_CONTEXTUALCARD_SCORE, card.getRankingScore());
        intent.putExtra(EXTRA_CONTEXTUALCARD_ROW, row);
        intent.putExtra(EXTRA_CONTEXTUALCARD_TAP_TARGET, actionTypeToTapTarget(actionType));
        sendBroadcast(context, intent);
        sendBroadcast(intent);
    }

    @VisibleForTesting
    void sendBroadcast(final Context context, final Intent intent) {
        intent.setPackage(context.getString(R.string.config_settingsintelligence_package_name));
        final String action = context.getString(R.string.config_settingsintelligence_log_action);
    void sendBroadcast(final Intent intent) {
        intent.setPackage(mContext.getString(R.string.config_settingsintelligence_package_name));
        final String action = mContext.getString(R.string.config_settingsintelligence_log_action);
        if (!TextUtils.isEmpty(action)) {
            intent.setAction(action);
            context.sendBroadcastAsUser(intent, UserHandle.ALL);
            mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
        }
    }

+3 −3
Original line number Diff line number Diff line
@@ -149,10 +149,10 @@ public class ContextualCardLoader extends AsyncLoaderCompat<List<ContextualCard>
            // Two large cards
            return visibleCards;
        } finally {
            //TODO(b/121196921): Should not call this if user click dismiss
            final ContextualCardFeatureProvider contextualCardFeatureProvider =
                    FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider();
            contextualCardFeatureProvider.logContextualCardDisplay(mContext, visibleCards,
                    hiddenCards);
                    FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext);
            contextualCardFeatureProvider.logContextualCardDisplay(visibleCards, hiddenCards);
        }
    }

+2 −2
Original line number Diff line number Diff line
@@ -201,8 +201,8 @@ public class ContextualCardManager implements ContextualCardLoader.CardContentLo
                    .collect(groupingBy(ContextualCard::getCardType)));
        }
        final long totalTime = System.currentTimeMillis() - mStartTime;
        FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider()
                .logHomepageDisplay(mContext, totalTime);
        FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext)
                .logHomepageDisplay(totalTime);

        mIsFirstLaunch = false;
    }
+2 −2
Original line number Diff line number Diff line
@@ -70,8 +70,8 @@ public class SliceContextualCardController implements ContextualCardController {
        });
        showFeedbackDialog(card);
        final ContextualCardFeatureProvider contextualCardFeatureProvider =
                FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider();
        contextualCardFeatureProvider.logContextualCardDismiss(mContext, card);
                FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext);
        contextualCardFeatureProvider.logContextualCardDismiss(card);
    }

    @Override
Loading