Skip to content

Commit

Permalink
detail: fix up navigation
Browse files Browse the repository at this point in the history
No clue why this is happening, but I assume another classic android
moment has occurred and now I can't navigate away when objects are
invalidated unless I navigate away twice. Because reasons. Amazingly
designed platform.

Resolves #989.
  • Loading branch information
OxygenCobalt committed Feb 21, 2025
1 parent 357c7cc commit bfdccd3
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ class AlbumDetailFragment : DetailFragment<Album, Song>() {
private fun updateAlbum(album: Album?) {
if (album == null) {
L.d("No album to show, navigating away")
findNavController().navigateUp()
exit()
return
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ class ArtistDetailFragment : DetailFragment<Artist, Music>() {
private fun updateArtist(artist: Artist?) {
if (artist == null) {
L.d("No artist to show, navigating away")
findNavController().navigateUp()
exit()
return
}
val binding = requireBinding()
Expand Down
8 changes: 8 additions & 0 deletions app/src/main/java/org/oxycblt/auxio/detail/DetailFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.navigation.fragment.findNavController
import androidx.recyclerview.widget.GridLayoutManager
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.transition.MaterialSharedAxis
Expand Down Expand Up @@ -129,4 +130,11 @@ abstract class DetailFragment<P : MusicParent, C : Music> :
}

abstract fun onOpenParentMenu()

protected fun exit() {
// For some insane and absurd reason we wont actually navigate away in detail views
// until this is called twice.
findNavController().navigateUp()
findNavController().navigateUp()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ class GenreDetailFragment : DetailFragment<Genre, Music>() {
private fun updateGenre(genre: Genre?) {
if (genre == null) {
L.d("No genre to show, navigating away")
findNavController().navigateUp()
exit()
return
}
val binding = requireBinding()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,7 @@ class PlaylistDetailFragment :

private fun updatePlaylist(playlist: Playlist?, editedPlaylist: List<Song>?) {
if (playlist == null) {
// Playlist we were showing no longer exists.
findNavController().navigateUp()
exit()
return
}
val binding = requireBinding()
Expand Down

0 comments on commit bfdccd3

Please sign in to comment.