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

Commit 89c1d943 authored by Beth Thibodeau's avatar Beth Thibodeau Committed by Automerger Merge Worker
Browse files

Merge "Prompt to unlock if player is tapped on lockscreen" into rvc-dev am: 7042dff5

Change-Id: I5db2352ef8a8dd18e50031ecf557bbf6c93a6d15
parents 24e69902 7042dff5
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ import com.android.settingslib.media.LocalMediaManager;
import com.android.settingslib.media.MediaDevice;
import com.android.settingslib.media.MediaOutputSliceConstants;
import com.android.settingslib.widget.AdaptiveIcon;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.qs.QSMediaBrowser;
@@ -75,6 +74,7 @@ public class MediaControlPanel {
    @Nullable private final LocalMediaManager mLocalMediaManager;
    private final Executor mForegroundExecutor;
    protected final Executor mBackgroundExecutor;
    private final ActivityStarter mActivityStarter;

    private Context mContext;
    protected LinearLayout mMediaNotifView;
@@ -178,10 +178,12 @@ public class MediaControlPanel {
     * @param actionIds resource IDs for action buttons in the layout
     * @param foregroundExecutor foreground executor
     * @param backgroundExecutor background executor, used for processing artwork
     * @param activityStarter activity starter
     */
    public MediaControlPanel(Context context, ViewGroup parent,
            @Nullable LocalMediaManager routeManager, @LayoutRes int layoutId, int[] actionIds,
            Executor foregroundExecutor, Executor backgroundExecutor) {
            Executor foregroundExecutor, Executor backgroundExecutor,
            ActivityStarter activityStarter) {
        mContext = context;
        LayoutInflater inflater = LayoutInflater.from(mContext);
        mMediaNotifView = (LinearLayout) inflater.inflate(layoutId, parent, false);
@@ -195,6 +197,7 @@ public class MediaControlPanel {
        mActionIds = actionIds;
        mForegroundExecutor = foregroundExecutor;
        mBackgroundExecutor = backgroundExecutor;
        mActivityStarter = activityStarter;
    }

    /**
@@ -267,13 +270,7 @@ public class MediaControlPanel {
        // Click action
        if (contentIntent != null) {
            mMediaNotifView.setOnClickListener(v -> {
                try {
                    contentIntent.send();
                    // Also close shade
                    mContext.sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
                } catch (PendingIntent.CanceledException e) {
                    Log.e(TAG, "Pending intent was canceled", e);
                }
                mActivityStarter.postStartActivityDismissingKeyguard(contentIntent);
            });
        }

@@ -287,7 +284,6 @@ public class MediaControlPanel {
        if (mSeamless != null && mLocalMediaManager != null) {
            mSeamless.setVisibility(View.VISIBLE);
            updateDevice(mLocalMediaManager.getCurrentConnectedDevice());
            ActivityStarter mActivityStarter = Dependency.get(ActivityStarter.class);
            mSeamless.setOnClickListener(v -> {
                final Intent intent = new Intent()
                        .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
+5 −2
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import com.android.systemui.R;
import com.android.systemui.media.MediaControlPanel;
import com.android.systemui.media.SeekBarObserver;
import com.android.systemui.media.SeekBarViewModel;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.util.concurrency.DelayableExecutor;

import java.util.concurrent.Executor;
@@ -75,11 +76,13 @@ public class QSMediaPlayer extends MediaControlPanel {
     * @param routeManager Provides information about device
     * @param foregroundExecutor
     * @param backgroundExecutor
     * @param activityStarter
     */
    public QSMediaPlayer(Context context, ViewGroup parent, LocalMediaManager routeManager,
            Executor foregroundExecutor, DelayableExecutor backgroundExecutor) {
            Executor foregroundExecutor, DelayableExecutor backgroundExecutor,
            ActivityStarter activityStarter) {
        super(context, parent, routeManager, R.layout.qs_media_panel, QS_ACTION_IDS,
                foregroundExecutor, backgroundExecutor);
                foregroundExecutor, backgroundExecutor, activityStarter);
        mParent = (QSPanel) parent;
        mForegroundExecutor = foregroundExecutor;
        mBackgroundExecutor = backgroundExecutor;
+7 −3
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.media.MediaControlPanel;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.qs.DetailAdapter;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.plugins.qs.QSTileView;
@@ -114,6 +115,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
    private final Executor mForegroundExecutor;
    private final DelayableExecutor mBackgroundExecutor;
    private boolean mUpdateCarousel = false;
    private ActivityStarter mActivityStarter;

    protected boolean mExpanded;
    protected boolean mListening;
@@ -158,7 +160,8 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
            QSLogger qsLogger,
            @Main Executor foregroundExecutor,
            @Background DelayableExecutor backgroundExecutor,
            @Nullable LocalBluetoothManager localBluetoothManager
            @Nullable LocalBluetoothManager localBluetoothManager,
            ActivityStarter activityStarter
    ) {
        super(context, attrs);
        mContext = context;
@@ -168,6 +171,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
        mBackgroundExecutor = backgroundExecutor;
        mLocalBluetoothManager = localBluetoothManager;
        mBroadcastDispatcher = broadcastDispatcher;
        mActivityStarter = activityStarter;

        setOrientation(VERTICAL);

@@ -284,7 +288,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
                    imm, notif.getPackageName());

            player = new QSMediaPlayer(mContext, this, routeManager, mForegroundExecutor,
                    mBackgroundExecutor);
                    mBackgroundExecutor, mActivityStarter);
            player.setListening(mListening);
            if (player.isPlaying()) {
                mMediaCarousel.addView(player.getView(), 0, lp); // add in front
@@ -341,7 +345,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne

            Log.d(TAG, "adding track from browser: " + desc + ", " + component);
            QSMediaPlayer player = new QSMediaPlayer(mContext, QSPanel.this,
                    null, mForegroundExecutor, mBackgroundExecutor);
                    null, mForegroundExecutor, mBackgroundExecutor, mActivityStarter);

            String pkgName = component.getPackageName();

+4 −2
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.widget.LinearLayout;

import com.android.systemui.R;
import com.android.systemui.media.MediaControlPanel;
import com.android.systemui.plugins.ActivityStarter;

import java.util.concurrent.Executor;

@@ -48,11 +49,12 @@ public class QuickQSMediaPlayer extends MediaControlPanel {
     * @param parent
     * @param foregroundExecutor
     * @param backgroundExecutor
     * @param activityStarter
     */
    public QuickQSMediaPlayer(Context context, ViewGroup parent, Executor foregroundExecutor,
            Executor backgroundExecutor) {
            Executor backgroundExecutor, ActivityStarter activityStarter) {
        super(context, parent, null, R.layout.qqs_media_panel, QQS_ACTION_IDS,
                foregroundExecutor, backgroundExecutor);
                foregroundExecutor, backgroundExecutor, activityStarter);
    }

    /**
+5 −3
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.plugins.qs.QSTile.SignalState;
import com.android.systemui.plugins.qs.QSTile.State;
@@ -84,10 +85,11 @@ public class QuickQSPanel extends QSPanel {
            QSLogger qsLogger,
            @Main Executor foregroundExecutor,
            @Background DelayableExecutor backgroundExecutor,
            @Nullable LocalBluetoothManager localBluetoothManager
            @Nullable LocalBluetoothManager localBluetoothManager,
            ActivityStarter activityStarter
    ) {
        super(context, attrs, dumpManager, broadcastDispatcher, qsLogger,
                foregroundExecutor, backgroundExecutor, localBluetoothManager);
                foregroundExecutor, backgroundExecutor, localBluetoothManager, activityStarter);
        if (mFooter != null) {
            removeView(mFooter.getView());
        }
@@ -107,7 +109,7 @@ public class QuickQSPanel extends QSPanel {

            int marginSize = (int) mContext.getResources().getDimension(R.dimen.qqs_media_spacing);
            mMediaPlayer = new QuickQSMediaPlayer(mContext, mHorizontalLinearLayout,
                    foregroundExecutor, backgroundExecutor);
                    foregroundExecutor, backgroundExecutor, activityStarter);
            LayoutParams lp2 = new LayoutParams(0, LayoutParams.MATCH_PARENT, 1);
            lp2.setMarginEnd(marginSize);
            lp2.setMarginStart(0);
Loading