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

Commit 4e69f4ce authored by Beth Thibodeau's avatar Beth Thibodeau
Browse files

Collapse carousel if no media active, null checks

Bug: 143245284
Test: manual

Change-Id: I6a61c532592edef4cd8e534af39adc8335fae24c
parent cabc32d2
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import android.media.MediaMetadata;
import android.media.session.MediaController;
import android.media.session.MediaSession;
import android.media.session.PlaybackState;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -50,7 +51,6 @@ import com.android.settingslib.media.MediaOutputSliceConstants;
import com.android.systemui.Dependency;
import com.android.systemui.R;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.statusbar.MediaTransferManager;

/**
 * Single media player for carousel in QSPanel
@@ -101,6 +101,12 @@ public class QSMediaPlayer {
        mToken = token;
        mController = new MediaController(mContext, token);
        MediaMetadata mMediaMetadata = mController.getMetadata();

        if (mMediaMetadata == null) {
            Log.e(TAG, "Media metadata was null");
            return;
        }

        Notification.Builder builder = Notification.Builder.recoverBuilder(mContext, notif);

        // Album art
@@ -151,18 +157,17 @@ public class QSMediaPlayer {
        // Album name
        TextView albumName = headerView.findViewById(com.android.internal.R.id.header_text);
        String albumString = mMediaMetadata.getString(MediaMetadata.METADATA_KEY_ALBUM);
        if (!albumString.isEmpty()) {
        if (TextUtils.isEmpty(albumString)) {
            albumName.setVisibility(View.GONE);
            separator.setVisibility(View.GONE);
        } else {
            albumName.setText(albumString);
            albumName.setTextColor(iconColor);
            albumName.setVisibility(View.VISIBLE);
            separator.setVisibility(View.VISIBLE);
        } else {
            albumName.setVisibility(View.GONE);
            separator.setVisibility(View.GONE);
        }

        // Transfer chip
        MediaTransferManager mediaTransferManager = new MediaTransferManager(mContext);
        View transferBackgroundView = headerView.findViewById(
                com.android.internal.R.id.media_seamless);
        LinearLayout viewLayout = (LinearLayout) transferBackgroundView;
+6 −1
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
            mMediaCarousel = new LinearLayout(mContext);
            mMediaCarousel.setOrientation(LinearLayout.HORIZONTAL);
            mediaScrollView.addView(mMediaCarousel, lpCarousel);
            mediaScrollView.setVisibility(View.GONE);
        } else {
            mMediaCarousel = null;
        }
@@ -239,6 +240,7 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
            } else {
                mMediaCarousel.addView(player.getView(), lp); // add at end
            }
            mMediaPlayers.add(player);
        } else if (player.isPlaying()) {
            // move it to the front
            mMediaCarousel.removeView(player.getView());
@@ -248,7 +250,10 @@ public class QSPanel extends LinearLayout implements Tunable, Callback, Brightne
        Log.d(TAG, "setting player session");
        player.setMediaSession(token, icon, iconColor, bgColor, actionsContainer,
                notif.getNotification());
        mMediaPlayers.add(player);

        if (mMediaPlayers.size() > 0) {
            ((View) mMediaCarousel.getParent()).setVisibility(View.VISIBLE);
        }
    }

    protected View getMediaPanel() {
+5 −0
Original line number Diff line number Diff line
@@ -84,6 +84,11 @@ public class QuickQSMediaPlayer {
        mController = new MediaController(mContext, token);
        MediaMetadata mMediaMetadata = mController.getMetadata();

        if (mMediaMetadata == null) {
            Log.e(TAG, "Media metadata was null");
            return;
        }

        // Album art
        addAlbumArtBackground(mMediaMetadata, bgColor);