fix: convert file paths in playlists to file: URIs
* this worked correctly in the 'v01' branch
because playlists were processed differently
* in 'v01':
- after media items were extracted from a playlist,
each item was added to exoplayer's media queue individually
- the workflow for adding a single playlist item
followed the same path as any other media item,
and this included normalizing file paths
* in 'v02':
- after media items are extracted from a playlist,
all items are added to exoplayer's media queue atomically
- this list of new playlist items needed normalization
* additionally:
- remove UTF-8 BOM when reading a file from storage
* particular case:
- Total Commander has a great feature to easily create playlists
- right-click context menu for media files includes: 'Add to Queue'
- Total Commander plays the media file in its own internal player
- additional media files can be added to its queue (same approach)
- Total Commander can save its queue of media files to a playlist
* file extension is: .m3u8
* file format is: UTF-8 with BOM
- to play this playlist in ExoAirPlayer:
* the .m3u8 file extension is treated as an HLS VOD manifest
- each video in the playlist will play in sequential order
- each video is NOT parsed out of the playlist,
nor individually added to the ExoPlayer media queue
* if the file extension is simply changed to: .m3u
- everything works as expected
* additionally:
- suddenly the "PlayerNotificationManager" PendingIntent
stopped working; maybe it's only under certain conditions.. idk
- error:
java.lang.SecurityException: Permission Denial: starting Intent {
cmp=.ui.VideoPlayerActivity
}
from null (...) not exported
- fix:
* in AndroidManifest.xml, add to VideoPlayerActivity:
android:exported="true"