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

Commit 6682053a authored by Beth Thibodeau's avatar Beth Thibodeau Committed by Android (Google) Code Review
Browse files

Merge "Collapse carousel if no media active, null checks"

parents bb128fb4 4e69f4ce
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);