diff --git a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt index d1214f6b2..8c4cb4d2f 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt @@ -127,7 +127,7 @@ class PlaylistDetailFragment : true } R.id.action_delete -> { - musicModel.deletePlaylist(currentPlaylist) + musicModel.createPlaylist() true } else -> false diff --git a/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt b/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt index ef17f395d..4de6f3c37 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/device/DeviceMusicImpl.kt @@ -36,6 +36,7 @@ import org.oxycblt.auxio.util.update // TODO: Entirely rework music equality such that it's not completely UID-focused and actually // takes metadata into account +// TODO: Reduce need for raw objects to save some memory /** * Library-backed implementation of [Song]. diff --git a/app/src/main/java/org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt index 03cb0e597..e1058d1b5 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/picker/AddToPlaylistDialog.kt @@ -22,6 +22,7 @@ import android.os.Bundle import android.view.LayoutInflater import androidx.appcompat.app.AlertDialog import androidx.fragment.app.activityViewModels +import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs import androidx.recyclerview.widget.ConcatAdapter @@ -47,7 +48,7 @@ class AddToPlaylistDialog : ClickableListListener, NewPlaylistFooterAdapter.Listener { private val musicModel: MusicViewModel by activityViewModels() - private val pickerModel: PlaylistPickerViewModel by activityViewModels() + private val pickerModel: PlaylistPickerViewModel by viewModels() // Information about what playlist to name for is initially within the navigation arguments // as UIDs, as that is the only safe way to parcel playlist information. private val args: AddToPlaylistDialogArgs by navArgs() diff --git a/app/src/main/java/org/oxycblt/auxio/music/picker/NewPlaylistDialog.kt b/app/src/main/java/org/oxycblt/auxio/music/picker/NewPlaylistDialog.kt index d4b4d02ea..6c14b6d04 100644 --- a/app/src/main/java/org/oxycblt/auxio/music/picker/NewPlaylistDialog.kt +++ b/app/src/main/java/org/oxycblt/auxio/music/picker/NewPlaylistDialog.kt @@ -23,6 +23,7 @@ import android.view.LayoutInflater import androidx.appcompat.app.AlertDialog import androidx.core.widget.addTextChangedListener import androidx.fragment.app.activityViewModels +import androidx.fragment.app.viewModels import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs import dagger.hilt.android.AndroidEntryPoint @@ -42,7 +43,7 @@ import org.oxycblt.auxio.util.unlikelyToBeNull @AndroidEntryPoint class NewPlaylistDialog : ViewBindingDialogFragment() { private val musicModel: MusicViewModel by activityViewModels() - private val pickerModel: PlaylistPickerViewModel by activityViewModels() + private val pickerModel: PlaylistPickerViewModel by viewModels() // Information about what playlist to name for is initially within the navigation arguments // as UIDs, as that is the only safe way to parcel playlist information. private val args: NewPlaylistDialogArgs by navArgs() @@ -62,6 +63,12 @@ class NewPlaylistDialog : ViewBindingDialogFragment() musicModel.createPlaylist(name, pendingPlaylist.songs) pickerModel.dropPendingAddition() requireContext().showToast(R.string.lng_playlist_created) + findNavController().apply { + navigateUp() + // Do an additional navigation away from the playlist addition dialog, if + // needed. If that dialog isn't present, this should be a no-op. Hopefully. + navigateUp() + } } .setNegativeButton(R.string.lbl_cancel, null) } diff --git a/app/src/main/res/layout/fragment_main.xml b/app/src/main/res/layout/fragment_main.xml index 6c22299d1..abc7469ee 100644 --- a/app/src/main/res/layout/fragment_main.xml +++ b/app/src/main/res/layout/fragment_main.xml @@ -8,8 +8,6 @@ android:background="?attr/colorSurface" android:transitionGroup="true"> - -