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

Commit 6076998b authored by Jordan Demeulenaere's avatar Jordan Demeulenaere Committed by Android (Google) Code Review
Browse files

Merge "Use Falsing Manager for media player taps" into sc-v2-dev

parents 2aa3d924 ea85ea19
Loading
Loading
Loading
Loading
+35 −10
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import com.android.systemui.animation.GhostedViewLaunchAnimatorController;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.media.dialog.MediaOutputDialogFactory;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.shared.system.SysUiStatsLog;
import com.android.systemui.statusbar.phone.KeyguardDismissUtil;
import com.android.systemui.util.animation.TransitionLayout;
@@ -119,6 +120,7 @@ public class MediaControlPanel {
    private int mSmartspaceMediaItemsCount;
    private MediaCarouselController mMediaCarouselController;
    private final MediaOutputDialogFactory mMediaOutputDialogFactory;
    private final FalsingManager mFalsingManager;

    /**
     * Initialize a new control panel
@@ -131,7 +133,8 @@ public class MediaControlPanel {
            ActivityStarter activityStarter, MediaViewController mediaViewController,
            SeekBarViewModel seekBarViewModel, Lazy<MediaDataManager> lazyMediaDataManager,
            KeyguardDismissUtil keyguardDismissUtil, MediaOutputDialogFactory
            mediaOutputDialogFactory, MediaCarouselController mediaCarouselController) {
            mediaOutputDialogFactory, MediaCarouselController mediaCarouselController,
            FalsingManager falsingManager) {
        mContext = context;
        mBackgroundExecutor = backgroundExecutor;
        mActivityStarter = activityStarter;
@@ -141,6 +144,7 @@ public class MediaControlPanel {
        mKeyguardDismissUtil = keyguardDismissUtil;
        mMediaOutputDialogFactory = mediaOutputDialogFactory;
        mMediaCarouselController = mediaCarouselController;
        mFalsingManager = falsingManager;
        loadDimens();

        mSeekBarViewModel.setLogSmartspaceClick(() -> {
@@ -235,10 +239,14 @@ public class MediaControlPanel {
            }
        });
        mPlayerViewHolder.getCancel().setOnClickListener(v -> {
            if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
                closeGuts();
            }
        });
        mPlayerViewHolder.getSettings().setOnClickListener(v -> {
            if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
                mActivityStarter.startActivity(SETTINGS_INTENT, true /* dismissShade */);
            }
        });
    }

@@ -259,10 +267,14 @@ public class MediaControlPanel {
            }
        });
        mRecommendationViewHolder.getCancel().setOnClickListener(v -> {
            if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
                closeGuts();
            }
        });
        mRecommendationViewHolder.getSettings().setOnClickListener(v -> {
            if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
                mActivityStarter.startActivity(SETTINGS_INTENT, true /* dismissShade */);
            }
        });
    }

@@ -299,6 +311,7 @@ public class MediaControlPanel {
        PendingIntent clickIntent = data.getClickIntent();
        if (clickIntent != null) {
            mPlayerViewHolder.getPlayer().setOnClickListener(v -> {
                if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;
                if (mMediaViewController.isGutsVisible()) return;

                logSmartspaceCardReported(760, // SMARTSPACE_CARD_CLICK
@@ -365,8 +378,12 @@ public class MediaControlPanel {
        setVisibleAndAlpha(collapsedSet, R.id.media_seamless, true /*visible */);
        setVisibleAndAlpha(expandedSet, R.id.media_seamless, true /*visible */);
        seamlessView.setOnClickListener(
                v -> mMediaOutputDialogFactory.create(data.getPackageName(), true,
                        mPlayerViewHolder.getSeamlessButton()));
                v -> {
                    if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
                        mMediaOutputDialogFactory.create(data.getPackageName(), true,
                                mPlayerViewHolder.getSeamlessButton());
                    }
                });

        ImageView iconView = mPlayerViewHolder.getSeamlessIcon();
        TextView deviceName = mPlayerViewHolder.getSeamlessText();
@@ -417,9 +434,11 @@ public class MediaControlPanel {
            } else {
                button.setEnabled(true);
                button.setOnClickListener(v -> {
                    if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
                        logSmartspaceCardReported(760, // SMARTSPACE_CARD_CLICK
                                /* isRecommendationCard */ false);
                        action.run();
                    }
                });
            }
            boolean visibleInCompat = actionsWhenCollapsed.contains(i);
@@ -451,6 +470,8 @@ public class MediaControlPanel {
        mPlayerViewHolder.getDismissLabel().setAlpha(isDismissible ? 1 : DISABLED_ALPHA);
        mPlayerViewHolder.getDismiss().setEnabled(isDismissible);
        mPlayerViewHolder.getDismiss().setOnClickListener(v -> {
            if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;

            logSmartspaceCardReported(761, // SMARTSPACE_CARD_DISMISS
                    /* isRecommendationCard */ false);

@@ -633,6 +654,8 @@ public class MediaControlPanel {
        mSmartspaceMediaItemsCount = uiComponentIndex;
        // Set up long press to show guts setting panel.
        mRecommendationViewHolder.getDismiss().setOnClickListener(v -> {
            if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;

            logSmartspaceCardReported(761, // SMARTSPACE_CARD_DISMISS
                    /* isRecommendationCard */ true);
            closeGuts();
@@ -788,6 +811,8 @@ public class MediaControlPanel {
        }

        view.setOnClickListener(v -> {
            if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;

            logSmartspaceCardReported(760, // SMARTSPACE_CARD_CLICK
                    /* isRecommendationCard */ true,
                    interactedSubcardRank,
+4 −2
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.media.dialog.MediaOutputDialogFactory
import com.android.systemui.plugins.ActivityStarter
import com.android.systemui.plugins.FalsingManager
import com.android.systemui.statusbar.phone.KeyguardDismissUtil
import com.android.systemui.util.animation.TransitionLayout
import com.android.systemui.util.concurrency.FakeExecutor
@@ -95,6 +96,7 @@ public class MediaControlPanelTest : SysuiTestCase() {
    @Mock private lateinit var collapsedSet: ConstraintSet
    @Mock private lateinit var mediaOutputDialogFactory: MediaOutputDialogFactory
    @Mock private lateinit var mediaCarouselController: MediaCarouselController
    @Mock private lateinit var falsingManager: FalsingManager
    private lateinit var appIcon: ImageView
    private lateinit var albumView: ImageView
    private lateinit var titleText: TextView
@@ -132,7 +134,7 @@ public class MediaControlPanelTest : SysuiTestCase() {

        player = MediaControlPanel(context, bgExecutor, activityStarter, mediaViewController,
            seekBarViewModel, Lazy { mediaDataManager }, keyguardDismissUtil,
                mediaOutputDialogFactory, mediaCarouselController)
            mediaOutputDialogFactory, mediaCarouselController, falsingManager)
        whenever(seekBarViewModel.progress).thenReturn(seekBarData)

        // Mock out a view holder for the player to attach to.