Loading packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java +35 −10 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading @@ -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; Loading @@ -141,6 +144,7 @@ public class MediaControlPanel { mKeyguardDismissUtil = keyguardDismissUtil; mMediaOutputDialogFactory = mediaOutputDialogFactory; mMediaCarouselController = mediaCarouselController; mFalsingManager = falsingManager; loadDimens(); mSeekBarViewModel.setLogSmartspaceClick(() -> { Loading Loading @@ -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 */); } }); } Loading @@ -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 */); } }); } Loading Loading @@ -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 Loading Loading @@ -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(); Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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(); Loading Loading @@ -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, Loading packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt +4 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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. Loading Loading
packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java +35 −10 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading @@ -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; Loading @@ -141,6 +144,7 @@ public class MediaControlPanel { mKeyguardDismissUtil = keyguardDismissUtil; mMediaOutputDialogFactory = mediaOutputDialogFactory; mMediaCarouselController = mediaCarouselController; mFalsingManager = falsingManager; loadDimens(); mSeekBarViewModel.setLogSmartspaceClick(() -> { Loading Loading @@ -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 */); } }); } Loading @@ -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 */); } }); } Loading Loading @@ -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 Loading Loading @@ -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(); Loading Loading @@ -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); Loading Loading @@ -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); Loading Loading @@ -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(); Loading Loading @@ -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, Loading
packages/SystemUI/tests/src/com/android/systemui/media/MediaControlPanelTest.kt +4 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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 Loading Loading @@ -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. Loading