
Fix a heisenleak by making QueueFragment a navigation destination instead of being directly instantiated.
128 lines
No EOL
5.5 KiB
XML
128 lines
No EOL
5.5 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
android:id="@+id/nav_main"
|
|
app:startDestination="@id/loading_fragment">
|
|
<fragment
|
|
android:id="@+id/loading_fragment"
|
|
android:name="org.oxycblt.auxio.loading.LoadingFragment"
|
|
android:label="LoadingFragment"
|
|
tools:layout="@layout/fragment_loading">
|
|
<action
|
|
android:id="@+id/action_to_main"
|
|
app:destination="@id/main_fragment"
|
|
app:enterAnim="@anim/nav_default_enter_anim"
|
|
app:exitAnim="@anim/nav_default_exit_anim"
|
|
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
|
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
|
app:popUpTo="@id/loading_fragment"
|
|
app:popUpToInclusive="true"
|
|
app:launchSingleTop="true" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/main_fragment"
|
|
android:name="org.oxycblt.auxio.MainFragment"
|
|
android:label="MainFragment"
|
|
tools:layout="@layout/fragment_main">
|
|
<action
|
|
android:id="@+id/action_show_artist"
|
|
app:enterAnim="@anim/nav_default_enter_anim"
|
|
app:exitAnim="@anim/nav_default_exit_anim"
|
|
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
|
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
|
app:destination="@id/artist_detail_fragment" />
|
|
<action
|
|
android:id="@+id/action_show_album"
|
|
app:enterAnim="@anim/nav_default_enter_anim"
|
|
app:exitAnim="@anim/nav_default_exit_anim"
|
|
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
|
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
|
app:destination="@id/album_detail_fragment" />
|
|
<action
|
|
android:id="@+id/action_show_genre"
|
|
app:enterAnim="@anim/nav_default_enter_anim"
|
|
app:exitAnim="@anim/nav_default_exit_anim"
|
|
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
|
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
|
app:destination="@id/genre_detail_fragment" />
|
|
<action
|
|
android:id="@+id/action_return_to_loading"
|
|
app:destination="@id/loading_fragment"
|
|
app:popUpTo="@id/main_fragment"
|
|
app:popUpToInclusive="true" />
|
|
<action
|
|
android:id="@+id/action_go_to_playback"
|
|
app:destination="@id/playback_fragment"
|
|
app:enterAnim="@anim/anim_nav_slide_up"
|
|
app:exitAnim="@anim/anim_stationary"
|
|
app:popEnterAnim="@anim/anim_stationary"
|
|
app:popExitAnim="@anim/anim_nav_slide_down" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/artist_detail_fragment"
|
|
android:name="org.oxycblt.auxio.detail.ArtistDetailFragment"
|
|
android:label="ArtistDetailFragment"
|
|
tools:layout="@layout/fragment_artist_detail">
|
|
<argument
|
|
android:name="artistId"
|
|
app:argType="long" />
|
|
<action
|
|
android:id="@+id/action_show_album"
|
|
app:enterAnim="@anim/nav_default_enter_anim"
|
|
app:exitAnim="@anim/nav_default_exit_anim"
|
|
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
|
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
|
app:destination="@id/album_detail_fragment"
|
|
app:launchSingleTop="true" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/album_detail_fragment"
|
|
android:name="org.oxycblt.auxio.detail.AlbumDetailFragment"
|
|
android:label="AlbumDetailFragment"
|
|
tools:layout="@layout/fragment_album_detail">
|
|
<argument
|
|
android:name="albumId"
|
|
app:argType="long" />
|
|
<argument
|
|
android:name="enableParentNav"
|
|
app:argType="boolean" />
|
|
<action
|
|
android:id="@+id/action_show_parent_artist"
|
|
app:enterAnim="@anim/nav_default_enter_anim"
|
|
app:exitAnim="@anim/nav_default_exit_anim"
|
|
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
|
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
|
app:destination="@id/artist_detail_fragment" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/genre_detail_fragment"
|
|
android:name="org.oxycblt.auxio.detail.GenreDetailFragment"
|
|
android:label="GenreDetailFragment"
|
|
tools:layout="@layout/fragment_genre_detail">
|
|
<action
|
|
android:id="@+id/action_show_artist"
|
|
app:enterAnim="@anim/nav_default_enter_anim"
|
|
app:exitAnim="@anim/nav_default_exit_anim"
|
|
app:popEnterAnim="@anim/nav_default_pop_enter_anim"
|
|
app:popExitAnim="@anim/nav_default_pop_exit_anim"
|
|
app:destination="@id/artist_detail_fragment" />
|
|
<argument
|
|
android:name="genreId"
|
|
app:argType="long" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/playback_fragment"
|
|
android:name="org.oxycblt.auxio.playback.PlaybackFragment"
|
|
android:label="PlaybackFragment"
|
|
tools:layout="@layout/fragment_playback" >
|
|
<action
|
|
android:id="@+id/action_show_queue"
|
|
app:destination="@id/queue_fragment" />
|
|
</fragment>
|
|
<dialog
|
|
android:id="@+id/queue_fragment"
|
|
android:name="org.oxycblt.auxio.playback.queue.QueueFragment"
|
|
android:label="QueueFragment"
|
|
tools:layout="@layout/fragment_queue"/>
|
|
</navigation> |