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

Commit a275da1e authored by Sungsoo Lim's avatar Sungsoo Lim Committed by Gerrit Code Review
Browse files

Merge "Prevent IAE caused by empty media ids"

parents 0976a358 29ffcbdc
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;