Loading packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java +10 −12 Original line number Original line Diff line number Diff line Loading @@ -55,8 +55,6 @@ import com.android.settingslib.widget.AdaptiveIcon; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationMediaManager.MediaListener; import com.android.systemui.util.Assert; import com.android.systemui.util.Assert; import java.util.List; import java.util.List; Loading @@ -67,7 +65,6 @@ import java.util.concurrent.Executor; */ */ public class MediaControlPanel { public class MediaControlPanel { private static final String TAG = "MediaControlPanel"; private static final String TAG = "MediaControlPanel"; private final NotificationMediaManager mMediaManager; @Nullable private final LocalMediaManager mLocalMediaManager; @Nullable private final LocalMediaManager mLocalMediaManager; private final Executor mForegroundExecutor; private final Executor mForegroundExecutor; private final Executor mBackgroundExecutor; private final Executor mBackgroundExecutor; Loading Loading @@ -103,12 +100,15 @@ public class MediaControlPanel { clearControls(); clearControls(); makeInactive(); makeInactive(); } } }; private final MediaListener mMediaListener = new MediaListener() { @Override @Override public void onMetadataOrStateChanged(MediaMetadata metadata, int state) { public void onPlaybackStateChanged(PlaybackState state) { if (state == PlaybackState.STATE_NONE) { final int s = state != null ? state.getState() : PlaybackState.STATE_NONE; // When the playback state is NONE or CONNECTING, transition the player to the // resumption state. State CONNECTING needs to be considered for Cast sessions. Ending // a cast session in YT results in the CONNECTING state, which makes sense if you // thinking of the session as waiting to connect to another cast device. if (s == PlaybackState.STATE_NONE || s == PlaybackState.STATE_CONNECTING) { Log.d(TAG, "playback state change will trigger resumption, state=" + state); clearControls(); clearControls(); makeInactive(); makeInactive(); } } Loading Loading @@ -161,7 +161,7 @@ public class MediaControlPanel { * @param foregroundExecutor foreground executor * @param foregroundExecutor foreground executor * @param backgroundExecutor background executor, used for processing artwork * @param backgroundExecutor background executor, used for processing artwork */ */ public MediaControlPanel(Context context, ViewGroup parent, NotificationMediaManager manager, public MediaControlPanel(Context context, ViewGroup parent, @Nullable LocalMediaManager routeManager, @LayoutRes int layoutId, int[] actionIds, @Nullable LocalMediaManager routeManager, @LayoutRes int layoutId, int[] actionIds, Executor foregroundExecutor, Executor backgroundExecutor) { Executor foregroundExecutor, Executor backgroundExecutor) { mContext = context; mContext = context; Loading @@ -173,7 +173,6 @@ public class MediaControlPanel { // attach/detach of views instead of inflating them in the constructor, which would allow // attach/detach of views instead of inflating them in the constructor, which would allow // mStateListener to be unregistered in detach. // mStateListener to be unregistered in detach. mMediaNotifView.addOnAttachStateChangeListener(mStateListener); mMediaNotifView.addOnAttachStateChangeListener(mStateListener); mMediaManager = manager; mLocalMediaManager = routeManager; mLocalMediaManager = routeManager; mActionIds = actionIds; mActionIds = actionIds; mForegroundExecutor = foregroundExecutor; mForegroundExecutor = foregroundExecutor; Loading Loading @@ -453,6 +452,7 @@ public class MediaControlPanel { * Put controls into a resumption state * Put controls into a resumption state */ */ public void clearControls() { public void clearControls() { Log.d(TAG, "clearControls to resumption state package=" + getMediaPlayerPackage()); // Hide all the old buttons // Hide all the old buttons for (int i = 0; i < mActionIds.length; i++) { for (int i = 0; i < mActionIds.length; i++) { ImageButton thisBtn = mMediaNotifView.findViewById(mActionIds[i]); ImageButton thisBtn = mMediaNotifView.findViewById(mActionIds[i]); Loading Loading @@ -495,7 +495,6 @@ public class MediaControlPanel { private void makeActive() { private void makeActive() { Assert.isMainThread(); Assert.isMainThread(); if (!mIsRegistered) { if (!mIsRegistered) { mMediaManager.addCallback(mMediaListener); if (mLocalMediaManager != null) { if (mLocalMediaManager != null) { mLocalMediaManager.registerCallback(mDeviceCallback); mLocalMediaManager.registerCallback(mDeviceCallback); mLocalMediaManager.startScan(); mLocalMediaManager.startScan(); Loading @@ -511,7 +510,6 @@ public class MediaControlPanel { mLocalMediaManager.stopScan(); mLocalMediaManager.stopScan(); mLocalMediaManager.unregisterCallback(mDeviceCallback); mLocalMediaManager.unregisterCallback(mDeviceCallback); } } mMediaManager.removeCallback(mMediaListener); mIsRegistered = false; mIsRegistered = false; } } } } Loading packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java +4 −6 Original line number Original line Diff line number Diff line Loading @@ -39,7 +39,6 @@ import com.android.systemui.R; import com.android.systemui.media.MediaControlPanel; import com.android.systemui.media.MediaControlPanel; import com.android.systemui.media.SeekBarObserver; import com.android.systemui.media.SeekBarObserver; import com.android.systemui.media.SeekBarViewModel; import com.android.systemui.media.SeekBarViewModel; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.concurrency.DelayableExecutor; import java.util.concurrent.Executor; import java.util.concurrent.Executor; Loading Loading @@ -69,14 +68,13 @@ public class QSMediaPlayer extends MediaControlPanel { * Initialize quick shade version of player * Initialize quick shade version of player * @param context * @param context * @param parent * @param parent * @param manager * @param routeManager Provides information about device * @param foregroundExecutor * @param foregroundExecutor * @param backgroundExecutor * @param backgroundExecutor */ */ public QSMediaPlayer(Context context, ViewGroup parent, NotificationMediaManager manager, public QSMediaPlayer(Context context, ViewGroup parent, LocalMediaManager routeManager, LocalMediaManager routeManager, Executor foregroundExecutor, Executor foregroundExecutor, DelayableExecutor backgroundExecutor) { DelayableExecutor backgroundExecutor) { super(context, parent, routeManager, R.layout.qs_media_panel, QS_ACTION_IDS, super(context, parent, manager, routeManager, R.layout.qs_media_panel, QS_ACTION_IDS, foregroundExecutor, backgroundExecutor); foregroundExecutor, backgroundExecutor); mParent = (QSPanel) parent; mParent = (QSPanel) parent; mBackgroundExecutor = backgroundExecutor; mBackgroundExecutor = backgroundExecutor; Loading packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +2 −6 Original line number Original line Diff line number Diff line Loading @@ -63,7 +63,6 @@ import com.android.systemui.qs.external.CustomTile; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.ToggleSliderView; import com.android.systemui.settings.ToggleSliderView; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.policy.BrightnessMirrorController; import com.android.systemui.statusbar.policy.BrightnessMirrorController; import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener; import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; Loading Loading @@ -99,7 +98,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne private final LinearLayout mMediaCarousel; private final LinearLayout mMediaCarousel; private final ArrayList<QSMediaPlayer> mMediaPlayers = new ArrayList<>(); private final ArrayList<QSMediaPlayer> mMediaPlayers = new ArrayList<>(); private final NotificationMediaManager mNotificationMediaManager; private final LocalBluetoothManager mLocalBluetoothManager; private final LocalBluetoothManager mLocalBluetoothManager; private final Executor mForegroundExecutor; private final Executor mForegroundExecutor; private final DelayableExecutor mBackgroundExecutor; private final DelayableExecutor mBackgroundExecutor; Loading Loading @@ -133,7 +131,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne DumpManager dumpManager, DumpManager dumpManager, BroadcastDispatcher broadcastDispatcher, BroadcastDispatcher broadcastDispatcher, QSLogger qsLogger, QSLogger qsLogger, NotificationMediaManager notificationMediaManager, @Main Executor foregroundExecutor, @Main Executor foregroundExecutor, @Background DelayableExecutor backgroundExecutor, @Background DelayableExecutor backgroundExecutor, @Nullable LocalBluetoothManager localBluetoothManager @Nullable LocalBluetoothManager localBluetoothManager Loading @@ -142,7 +139,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne mContext = context; mContext = context; mQSLogger = qsLogger; mQSLogger = qsLogger; mDumpManager = dumpManager; mDumpManager = dumpManager; mNotificationMediaManager = notificationMediaManager; mForegroundExecutor = foregroundExecutor; mForegroundExecutor = foregroundExecutor; mBackgroundExecutor = backgroundExecutor; mBackgroundExecutor = backgroundExecutor; mLocalBluetoothManager = localBluetoothManager; mLocalBluetoothManager = localBluetoothManager; Loading Loading @@ -252,8 +248,8 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne LocalMediaManager routeManager = new LocalMediaManager(mContext, mLocalBluetoothManager, LocalMediaManager routeManager = new LocalMediaManager(mContext, mLocalBluetoothManager, imm, notif.getPackageName()); imm, notif.getPackageName()); player = new QSMediaPlayer(mContext, this, mNotificationMediaManager, routeManager, player = new QSMediaPlayer(mContext, this, routeManager, mForegroundExecutor, mForegroundExecutor, mBackgroundExecutor); mBackgroundExecutor); player.setListening(mListening); player.setListening(mListening); if (player.isPlaying()) { if (player.isPlaying()) { mMediaCarousel.addView(player.getView(), 0, lp); // add in front mMediaCarousel.addView(player.getView(), 0, lp); // add in front Loading packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java +3 −5 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.widget.LinearLayout; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.media.MediaControlPanel; import com.android.systemui.media.MediaControlPanel; import com.android.systemui.statusbar.NotificationMediaManager; import java.util.concurrent.Executor; import java.util.concurrent.Executor; Loading @@ -47,13 +46,12 @@ public class QuickQSMediaPlayer extends MediaControlPanel { * Initialize mini media player for QQS * Initialize mini media player for QQS * @param context * @param context * @param parent * @param parent * @param manager * @param foregroundExecutor * @param foregroundExecutor * @param backgroundExecutor * @param backgroundExecutor */ */ public QuickQSMediaPlayer(Context context, ViewGroup parent, NotificationMediaManager manager, public QuickQSMediaPlayer(Context context, ViewGroup parent, Executor foregroundExecutor, Executor foregroundExecutor, Executor backgroundExecutor) { Executor backgroundExecutor) { super(context, parent, manager, null, R.layout.qqs_media_panel, QQS_ACTION_IDS, super(context, parent, null, R.layout.qqs_media_panel, QQS_ACTION_IDS, foregroundExecutor, backgroundExecutor); foregroundExecutor, backgroundExecutor); } } Loading packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +2 −4 Original line number Original line Diff line number Diff line Loading @@ -39,7 +39,6 @@ import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.util.Utils; import com.android.systemui.util.Utils; Loading Loading @@ -83,12 +82,11 @@ public class QuickQSPanel extends QSPanel { DumpManager dumpManager, DumpManager dumpManager, BroadcastDispatcher broadcastDispatcher, BroadcastDispatcher broadcastDispatcher, QSLogger qsLogger, QSLogger qsLogger, NotificationMediaManager notificationMediaManager, @Main Executor foregroundExecutor, @Main Executor foregroundExecutor, @Background DelayableExecutor backgroundExecutor, @Background DelayableExecutor backgroundExecutor, @Nullable LocalBluetoothManager localBluetoothManager @Nullable LocalBluetoothManager localBluetoothManager ) { ) { super(context, attrs, dumpManager, broadcastDispatcher, qsLogger, notificationMediaManager, super(context, attrs, dumpManager, broadcastDispatcher, qsLogger, foregroundExecutor, backgroundExecutor, localBluetoothManager); foregroundExecutor, backgroundExecutor, localBluetoothManager); if (mFooter != null) { if (mFooter != null) { removeView(mFooter.getView()); removeView(mFooter.getView()); Loading @@ -109,7 +107,7 @@ public class QuickQSPanel extends QSPanel { int marginSize = (int) mContext.getResources().getDimension(R.dimen.qqs_media_spacing); int marginSize = (int) mContext.getResources().getDimension(R.dimen.qqs_media_spacing); mMediaPlayer = new QuickQSMediaPlayer(mContext, mHorizontalLinearLayout, mMediaPlayer = new QuickQSMediaPlayer(mContext, mHorizontalLinearLayout, notificationMediaManager, foregroundExecutor, backgroundExecutor); foregroundExecutor, backgroundExecutor); LayoutParams lp2 = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1); LayoutParams lp2 = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1); lp2.setMarginEnd(marginSize); lp2.setMarginEnd(marginSize); lp2.setMarginStart(0); lp2.setMarginStart(0); Loading Loading
packages/SystemUI/src/com/android/systemui/media/MediaControlPanel.java +10 −12 Original line number Original line Diff line number Diff line Loading @@ -55,8 +55,6 @@ import com.android.settingslib.widget.AdaptiveIcon; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationMediaManager.MediaListener; import com.android.systemui.util.Assert; import com.android.systemui.util.Assert; import java.util.List; import java.util.List; Loading @@ -67,7 +65,6 @@ import java.util.concurrent.Executor; */ */ public class MediaControlPanel { public class MediaControlPanel { private static final String TAG = "MediaControlPanel"; private static final String TAG = "MediaControlPanel"; private final NotificationMediaManager mMediaManager; @Nullable private final LocalMediaManager mLocalMediaManager; @Nullable private final LocalMediaManager mLocalMediaManager; private final Executor mForegroundExecutor; private final Executor mForegroundExecutor; private final Executor mBackgroundExecutor; private final Executor mBackgroundExecutor; Loading Loading @@ -103,12 +100,15 @@ public class MediaControlPanel { clearControls(); clearControls(); makeInactive(); makeInactive(); } } }; private final MediaListener mMediaListener = new MediaListener() { @Override @Override public void onMetadataOrStateChanged(MediaMetadata metadata, int state) { public void onPlaybackStateChanged(PlaybackState state) { if (state == PlaybackState.STATE_NONE) { final int s = state != null ? state.getState() : PlaybackState.STATE_NONE; // When the playback state is NONE or CONNECTING, transition the player to the // resumption state. State CONNECTING needs to be considered for Cast sessions. Ending // a cast session in YT results in the CONNECTING state, which makes sense if you // thinking of the session as waiting to connect to another cast device. if (s == PlaybackState.STATE_NONE || s == PlaybackState.STATE_CONNECTING) { Log.d(TAG, "playback state change will trigger resumption, state=" + state); clearControls(); clearControls(); makeInactive(); makeInactive(); } } Loading Loading @@ -161,7 +161,7 @@ public class MediaControlPanel { * @param foregroundExecutor foreground executor * @param foregroundExecutor foreground executor * @param backgroundExecutor background executor, used for processing artwork * @param backgroundExecutor background executor, used for processing artwork */ */ public MediaControlPanel(Context context, ViewGroup parent, NotificationMediaManager manager, public MediaControlPanel(Context context, ViewGroup parent, @Nullable LocalMediaManager routeManager, @LayoutRes int layoutId, int[] actionIds, @Nullable LocalMediaManager routeManager, @LayoutRes int layoutId, int[] actionIds, Executor foregroundExecutor, Executor backgroundExecutor) { Executor foregroundExecutor, Executor backgroundExecutor) { mContext = context; mContext = context; Loading @@ -173,7 +173,6 @@ public class MediaControlPanel { // attach/detach of views instead of inflating them in the constructor, which would allow // attach/detach of views instead of inflating them in the constructor, which would allow // mStateListener to be unregistered in detach. // mStateListener to be unregistered in detach. mMediaNotifView.addOnAttachStateChangeListener(mStateListener); mMediaNotifView.addOnAttachStateChangeListener(mStateListener); mMediaManager = manager; mLocalMediaManager = routeManager; mLocalMediaManager = routeManager; mActionIds = actionIds; mActionIds = actionIds; mForegroundExecutor = foregroundExecutor; mForegroundExecutor = foregroundExecutor; Loading Loading @@ -453,6 +452,7 @@ public class MediaControlPanel { * Put controls into a resumption state * Put controls into a resumption state */ */ public void clearControls() { public void clearControls() { Log.d(TAG, "clearControls to resumption state package=" + getMediaPlayerPackage()); // Hide all the old buttons // Hide all the old buttons for (int i = 0; i < mActionIds.length; i++) { for (int i = 0; i < mActionIds.length; i++) { ImageButton thisBtn = mMediaNotifView.findViewById(mActionIds[i]); ImageButton thisBtn = mMediaNotifView.findViewById(mActionIds[i]); Loading Loading @@ -495,7 +495,6 @@ public class MediaControlPanel { private void makeActive() { private void makeActive() { Assert.isMainThread(); Assert.isMainThread(); if (!mIsRegistered) { if (!mIsRegistered) { mMediaManager.addCallback(mMediaListener); if (mLocalMediaManager != null) { if (mLocalMediaManager != null) { mLocalMediaManager.registerCallback(mDeviceCallback); mLocalMediaManager.registerCallback(mDeviceCallback); mLocalMediaManager.startScan(); mLocalMediaManager.startScan(); Loading @@ -511,7 +510,6 @@ public class MediaControlPanel { mLocalMediaManager.stopScan(); mLocalMediaManager.stopScan(); mLocalMediaManager.unregisterCallback(mDeviceCallback); mLocalMediaManager.unregisterCallback(mDeviceCallback); } } mMediaManager.removeCallback(mMediaListener); mIsRegistered = false; mIsRegistered = false; } } } } Loading
packages/SystemUI/src/com/android/systemui/qs/QSMediaPlayer.java +4 −6 Original line number Original line Diff line number Diff line Loading @@ -39,7 +39,6 @@ import com.android.systemui.R; import com.android.systemui.media.MediaControlPanel; import com.android.systemui.media.MediaControlPanel; import com.android.systemui.media.SeekBarObserver; import com.android.systemui.media.SeekBarObserver; import com.android.systemui.media.SeekBarViewModel; import com.android.systemui.media.SeekBarViewModel; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.util.concurrency.DelayableExecutor; import com.android.systemui.util.concurrency.DelayableExecutor; import java.util.concurrent.Executor; import java.util.concurrent.Executor; Loading Loading @@ -69,14 +68,13 @@ public class QSMediaPlayer extends MediaControlPanel { * Initialize quick shade version of player * Initialize quick shade version of player * @param context * @param context * @param parent * @param parent * @param manager * @param routeManager Provides information about device * @param foregroundExecutor * @param foregroundExecutor * @param backgroundExecutor * @param backgroundExecutor */ */ public QSMediaPlayer(Context context, ViewGroup parent, NotificationMediaManager manager, public QSMediaPlayer(Context context, ViewGroup parent, LocalMediaManager routeManager, LocalMediaManager routeManager, Executor foregroundExecutor, Executor foregroundExecutor, DelayableExecutor backgroundExecutor) { DelayableExecutor backgroundExecutor) { super(context, parent, routeManager, R.layout.qs_media_panel, QS_ACTION_IDS, super(context, parent, manager, routeManager, R.layout.qs_media_panel, QS_ACTION_IDS, foregroundExecutor, backgroundExecutor); foregroundExecutor, backgroundExecutor); mParent = (QSPanel) parent; mParent = (QSPanel) parent; mBackgroundExecutor = backgroundExecutor; mBackgroundExecutor = backgroundExecutor; Loading
packages/SystemUI/src/com/android/systemui/qs/QSPanel.java +2 −6 Original line number Original line Diff line number Diff line Loading @@ -63,7 +63,6 @@ import com.android.systemui.qs.external.CustomTile; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.BrightnessController; import com.android.systemui.settings.ToggleSliderView; import com.android.systemui.settings.ToggleSliderView; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.policy.BrightnessMirrorController; import com.android.systemui.statusbar.policy.BrightnessMirrorController; import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener; import com.android.systemui.statusbar.policy.BrightnessMirrorController.BrightnessMirrorListener; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; Loading Loading @@ -99,7 +98,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne private final LinearLayout mMediaCarousel; private final LinearLayout mMediaCarousel; private final ArrayList<QSMediaPlayer> mMediaPlayers = new ArrayList<>(); private final ArrayList<QSMediaPlayer> mMediaPlayers = new ArrayList<>(); private final NotificationMediaManager mNotificationMediaManager; private final LocalBluetoothManager mLocalBluetoothManager; private final LocalBluetoothManager mLocalBluetoothManager; private final Executor mForegroundExecutor; private final Executor mForegroundExecutor; private final DelayableExecutor mBackgroundExecutor; private final DelayableExecutor mBackgroundExecutor; Loading Loading @@ -133,7 +131,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne DumpManager dumpManager, DumpManager dumpManager, BroadcastDispatcher broadcastDispatcher, BroadcastDispatcher broadcastDispatcher, QSLogger qsLogger, QSLogger qsLogger, NotificationMediaManager notificationMediaManager, @Main Executor foregroundExecutor, @Main Executor foregroundExecutor, @Background DelayableExecutor backgroundExecutor, @Background DelayableExecutor backgroundExecutor, @Nullable LocalBluetoothManager localBluetoothManager @Nullable LocalBluetoothManager localBluetoothManager Loading @@ -142,7 +139,6 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne mContext = context; mContext = context; mQSLogger = qsLogger; mQSLogger = qsLogger; mDumpManager = dumpManager; mDumpManager = dumpManager; mNotificationMediaManager = notificationMediaManager; mForegroundExecutor = foregroundExecutor; mForegroundExecutor = foregroundExecutor; mBackgroundExecutor = backgroundExecutor; mBackgroundExecutor = backgroundExecutor; mLocalBluetoothManager = localBluetoothManager; mLocalBluetoothManager = localBluetoothManager; Loading Loading @@ -252,8 +248,8 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne LocalMediaManager routeManager = new LocalMediaManager(mContext, mLocalBluetoothManager, LocalMediaManager routeManager = new LocalMediaManager(mContext, mLocalBluetoothManager, imm, notif.getPackageName()); imm, notif.getPackageName()); player = new QSMediaPlayer(mContext, this, mNotificationMediaManager, routeManager, player = new QSMediaPlayer(mContext, this, routeManager, mForegroundExecutor, mForegroundExecutor, mBackgroundExecutor); mBackgroundExecutor); player.setListening(mListening); player.setListening(mListening); if (player.isPlaying()) { if (player.isPlaying()) { mMediaCarousel.addView(player.getView(), 0, lp); // add in front mMediaCarousel.addView(player.getView(), 0, lp); // add in front Loading
packages/SystemUI/src/com/android/systemui/qs/QuickQSMediaPlayer.java +3 −5 Original line number Original line Diff line number Diff line Loading @@ -29,7 +29,6 @@ import android.widget.LinearLayout; import com.android.systemui.R; import com.android.systemui.R; import com.android.systemui.media.MediaControlPanel; import com.android.systemui.media.MediaControlPanel; import com.android.systemui.statusbar.NotificationMediaManager; import java.util.concurrent.Executor; import java.util.concurrent.Executor; Loading @@ -47,13 +46,12 @@ public class QuickQSMediaPlayer extends MediaControlPanel { * Initialize mini media player for QQS * Initialize mini media player for QQS * @param context * @param context * @param parent * @param parent * @param manager * @param foregroundExecutor * @param foregroundExecutor * @param backgroundExecutor * @param backgroundExecutor */ */ public QuickQSMediaPlayer(Context context, ViewGroup parent, NotificationMediaManager manager, public QuickQSMediaPlayer(Context context, ViewGroup parent, Executor foregroundExecutor, Executor foregroundExecutor, Executor backgroundExecutor) { Executor backgroundExecutor) { super(context, parent, manager, null, R.layout.qqs_media_panel, QQS_ACTION_IDS, super(context, parent, null, R.layout.qqs_media_panel, QQS_ACTION_IDS, foregroundExecutor, backgroundExecutor); foregroundExecutor, backgroundExecutor); } } Loading
packages/SystemUI/src/com/android/systemui/qs/QuickQSPanel.java +2 −4 Original line number Original line Diff line number Diff line Loading @@ -39,7 +39,6 @@ import com.android.systemui.plugins.qs.QSTile.SignalState; import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.customize.QSCustomizer; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.qs.logging.QSLogger; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.tuner.TunerService.Tunable; import com.android.systemui.util.Utils; import com.android.systemui.util.Utils; Loading Loading @@ -83,12 +82,11 @@ public class QuickQSPanel extends QSPanel { DumpManager dumpManager, DumpManager dumpManager, BroadcastDispatcher broadcastDispatcher, BroadcastDispatcher broadcastDispatcher, QSLogger qsLogger, QSLogger qsLogger, NotificationMediaManager notificationMediaManager, @Main Executor foregroundExecutor, @Main Executor foregroundExecutor, @Background DelayableExecutor backgroundExecutor, @Background DelayableExecutor backgroundExecutor, @Nullable LocalBluetoothManager localBluetoothManager @Nullable LocalBluetoothManager localBluetoothManager ) { ) { super(context, attrs, dumpManager, broadcastDispatcher, qsLogger, notificationMediaManager, super(context, attrs, dumpManager, broadcastDispatcher, qsLogger, foregroundExecutor, backgroundExecutor, localBluetoothManager); foregroundExecutor, backgroundExecutor, localBluetoothManager); if (mFooter != null) { if (mFooter != null) { removeView(mFooter.getView()); removeView(mFooter.getView()); Loading @@ -109,7 +107,7 @@ public class QuickQSPanel extends QSPanel { int marginSize = (int) mContext.getResources().getDimension(R.dimen.qqs_media_spacing); int marginSize = (int) mContext.getResources().getDimension(R.dimen.qqs_media_spacing); mMediaPlayer = new QuickQSMediaPlayer(mContext, mHorizontalLinearLayout, mMediaPlayer = new QuickQSMediaPlayer(mContext, mHorizontalLinearLayout, notificationMediaManager, foregroundExecutor, backgroundExecutor); foregroundExecutor, backgroundExecutor); LayoutParams lp2 = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1); LayoutParams lp2 = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1); lp2.setMarginEnd(marginSize); lp2.setMarginEnd(marginSize); lp2.setMarginStart(0); lp2.setMarginStart(0); Loading