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

Commit 287e72fd authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Prevent IAE caused by empty media ids" into tm-dev

parents 43a5816a 0ea3c8ae
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -385,14 +385,23 @@ public class MediaPlayerList {
        }

        int playerIndex = Integer.parseInt(mediaId.substring(0, 2));
        String itemId = mediaId.substring(2);

        if (!haveMediaBrowser(playerIndex)) {
            e("playFolderItem: Do not have the a browsable player with ID " + playerIndex);
            return;
        }

        mBrowsablePlayers.get(playerIndex).playItem(itemId);
        BrowsedPlayerWrapper wrapper = mBrowsablePlayers.get(playerIndex);
        String itemId = mediaId.substring(2);
        if (TextUtils.isEmpty(itemId)) {
            itemId = wrapper.getRootId();
            if (TextUtils.isEmpty(itemId)) {
                e("playFolderItem: Failed to start playback with an empty media id.");
                return;
            }
            Log.i(TAG, "playFolderItem: Empty media id, trying with the root id for "
                    + wrapper.getPackageName());
        }
        wrapper.playItem(itemId);
    }

    void getFolderItemsMediaPlayerList(GetFolderItemsCallback cb) {
+1 −1
Original line number Diff line number Diff line
@@ -196,7 +196,7 @@ public class AvrcpNativeInterface {
    }

    void playItem(int playerId, boolean nowPlaying, String mediaId) {
        d("playItem: playerId=" + playerId + " nowPlaying=" + nowPlaying + " mediaId" + mediaId);
        d("playItem: playerId=" + playerId + " nowPlaying=" + nowPlaying + " mediaId=" + mediaId);
        if (mAvrcpService == null) {
            Log.d(TAG, "playItem: AvrcpTargetService is null");
            return;