Fixed Playlist save

This commit is contained in:
Prathamesh More 2022-01-28 11:10:16 +05:30
parent 7b85fce485
commit 84295eda82
3 changed files with 15 additions and 14 deletions

View file

@ -21,9 +21,10 @@ fun Fragment.createNewFile(
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) registerForActivityResult(ActivityResultContracts.StartActivityForResult())
{ result: ActivityResult -> { result: ActivityResult ->
if (result.resultCode == Activity.RESULT_OK) { if (result.resultCode == Activity.RESULT_OK) {
context?.contentResolver?.openOutputStream(result.data?.data!!)?.use { os-> write(
write(os, result.data?.data) context?.contentResolver?.openOutputStream(result.data?.data!!),
} result.data?.data
)
} }
} }

View file

@ -40,12 +40,12 @@ class PlaylistsFragment :
override fun onViewCreated(view: View, savedInstanceState: Bundle?) { override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
libraryViewModel.getPlaylists().observe(viewLifecycleOwner, { libraryViewModel.getPlaylists().observe(viewLifecycleOwner) {
if (it.isNotEmpty()) if (it.isNotEmpty())
adapter?.swapDataSet(it) adapter?.swapDataSet(it)
else else
adapter?.swapDataSet(listOf()) adapter?.swapDataSet(listOf())
}) }
requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) { requireActivity().onBackPressedDispatcher.addCallback(viewLifecycleOwner) {
remove() remove()
requireActivity().onBackPressed() requireActivity().onBackPressed()

View file

@ -72,7 +72,8 @@ object M3UWriter : M3UConstants {
it.songPrimaryKey it.songPrimaryKey
}.toSongs() }.toSongs()
if (songs.isNotEmpty()) { if (songs.isNotEmpty()) {
outputStream.bufferedWriter().use{ bw-> outputStream.use { os ->
os.bufferedWriter().use { bw->
bw.write(M3UConstants.HEADER) bw.write(M3UConstants.HEADER)
songs.forEach { songs.forEach {
bw.newLine() bw.newLine()
@ -82,7 +83,6 @@ object M3UWriter : M3UConstants {
} }
} }
} }
outputStream.flush() }
outputStream.close()
} }
} }