361 lines
No EOL
15 KiB
XML
361 lines
No EOL
15 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/app_navigation"
|
|
app:startDestination="@+id/homeFragment">
|
|
|
|
<fragment
|
|
android:id="@+id/homeFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.HomeFragment"
|
|
android:label="@string/title_home"
|
|
tools:layout="@layout/fragment_home">
|
|
<action
|
|
android:id="@+id/action_navigation_home_to_libraryFragment"
|
|
app:destination="@id/libraryFragment"
|
|
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" />
|
|
<action
|
|
android:id="@+id/action_navigation_home_to_mediaInfoFragment"
|
|
app:destination="@id/mediaInfoFragment"
|
|
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" />
|
|
<action
|
|
android:id="@+id/action_navigation_home_to_episodeBottomSheetFragment"
|
|
app:destination="@id/episodeBottomSheetFragment" />
|
|
<action
|
|
android:id="@+id/action_homeFragment_to_settingsFragment"
|
|
app:destination="@id/twoPaneSettingsFragment"
|
|
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" />
|
|
<action
|
|
android:id="@+id/action_homeFragment_to_addServerFragment"
|
|
app:destination="@id/addServerFragment"
|
|
app:popUpTo="@id/homeFragment"
|
|
app:popUpToInclusive="true" />
|
|
<action
|
|
android:id="@+id/action_homeFragment_to_searchResultFragment"
|
|
app:destination="@id/searchResultFragment" />
|
|
</fragment>
|
|
|
|
<fragment
|
|
android:id="@+id/mediaFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.MediaFragment"
|
|
android:label="@string/title_media"
|
|
tools:layout="@layout/fragment_media">
|
|
<action
|
|
android:id="@+id/action_navigation_media_to_libraryFragment"
|
|
app:destination="@id/libraryFragment"
|
|
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" />
|
|
<action
|
|
android:id="@+id/action_navigation_media_to_searchResultFragment"
|
|
app:destination="@id/searchResultFragment" />
|
|
</fragment>
|
|
|
|
<fragment
|
|
android:id="@+id/twoPaneSettingsFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.TwoPaneSettingsFragment"
|
|
android:label="@string/title_settings">
|
|
<action
|
|
android:id="@+id/action_navigation_settings_to_serverSelectFragment"
|
|
app:destination="@id/serverSelectFragment" />
|
|
<action
|
|
android:id="@+id/action_navigation_settings_to_usersFragment"
|
|
app:destination="@id/usersFragment" />
|
|
<action
|
|
android:id="@+id/action_navigation_settings_to_serverAddressesFragment"
|
|
app:destination="@id/serverAddressesFragment" />
|
|
<action
|
|
android:id="@+id/action_settingsFragment_to_about_libraries"
|
|
app:destination="@id/about_libraries" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/settingsFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.SettingsFragment">
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/libraryFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.LibraryFragment"
|
|
android:label="{libraryName}"
|
|
tools:layout="@layout/fragment_library">
|
|
<argument
|
|
android:name="libraryId"
|
|
app:argType="java.util.UUID" />
|
|
<argument
|
|
android:name="libraryName"
|
|
android:defaultValue="Library"
|
|
app:argType="string"
|
|
app:nullable="true" />
|
|
<action
|
|
android:id="@+id/action_libraryFragment_to_mediaInfoFragment"
|
|
app:destination="@id/mediaInfoFragment"
|
|
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" />
|
|
<argument
|
|
android:name="libraryType"
|
|
android:defaultValue="unknown"
|
|
app:argType="string"
|
|
app:nullable="true" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/mediaInfoFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.MediaInfoFragment"
|
|
android:label="{itemName}"
|
|
tools:layout="@layout/fragment_media_info">
|
|
<argument
|
|
android:name="itemId"
|
|
app:argType="java.util.UUID" />
|
|
<argument
|
|
android:name="itemName"
|
|
android:defaultValue="Media Info"
|
|
app:argType="string"
|
|
app:nullable="true" />
|
|
<argument
|
|
android:name="itemType"
|
|
app:argType="org.jellyfin.sdk.model.api.BaseItemKind"
|
|
android:defaultValue="MOVIE" />
|
|
<argument
|
|
android:name="playerItem"
|
|
android:defaultValue="@null"
|
|
app:argType="dev.jdtech.jellyfin.models.PlayerItem"
|
|
app:nullable="true" />
|
|
<action
|
|
android:id="@+id/action_mediaInfoFragment_to_seasonFragment"
|
|
app:destination="@id/seasonFragment" />
|
|
<action
|
|
android:id="@+id/action_mediaInfoFragment_to_episodeBottomSheetFragment"
|
|
app:destination="@id/episodeBottomSheetFragment" />
|
|
<action
|
|
android:id="@+id/action_mediaInfoFragment_to_playerActivity"
|
|
app:destination="@id/playerActivity" />
|
|
<action
|
|
android:id="@+id/action_mediaInfoFragment_to_personDetailFragment"
|
|
app:destination="@id/personDetailFragment" />
|
|
<argument
|
|
android:name="isOffline"
|
|
app:argType="boolean"
|
|
android:defaultValue="false" />
|
|
</fragment>
|
|
|
|
<fragment
|
|
android:id="@+id/seasonFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.SeasonFragment"
|
|
android:label="{seasonName}"
|
|
tools:layout="@layout/fragment_season">
|
|
<argument
|
|
android:name="seriesId"
|
|
app:argType="java.util.UUID" />
|
|
<argument
|
|
android:name="seasonId"
|
|
app:argType="java.util.UUID" />
|
|
<argument
|
|
android:name="seriesName"
|
|
android:defaultValue="Series"
|
|
app:argType="string"
|
|
app:nullable="true" />
|
|
<argument
|
|
android:name="seasonName"
|
|
android:defaultValue="Season"
|
|
app:argType="string"
|
|
app:nullable="true" />
|
|
<action
|
|
android:id="@+id/action_seasonFragment_to_episodeBottomSheetFragment"
|
|
app:destination="@id/episodeBottomSheetFragment" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/downloadSeriesFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.DownloadSeriesFragment"
|
|
android:label="{seriesName}"
|
|
tools:layout="@layout/fragment_season">
|
|
<argument
|
|
android:name="seriesMetadata"
|
|
app:argType="dev.jdtech.jellyfin.models.DownloadSeriesMetadata"/>
|
|
<argument
|
|
android:name="seriesName"
|
|
android:defaultValue="Series"
|
|
app:argType="string"
|
|
app:nullable="true" />
|
|
<action
|
|
android:id="@+id/action_downloadSeriesFragment_to_episodeBottomSheetFragment"
|
|
app:destination="@id/episodeBottomSheetFragment" />
|
|
</fragment>
|
|
<dialog
|
|
android:id="@+id/episodeBottomSheetFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.EpisodeBottomSheetFragment"
|
|
android:label="EpisodeBottomSheetFragment"
|
|
tools:layout="@layout/episode_bottom_sheet">
|
|
<argument
|
|
android:name="episodeId"
|
|
app:argType="java.util.UUID" />
|
|
<argument
|
|
android:name="playerItem"
|
|
android:defaultValue="@null"
|
|
app:argType="dev.jdtech.jellyfin.models.PlayerItem"
|
|
app:nullable="true" />
|
|
<action
|
|
android:id="@+id/action_episodeBottomSheetFragment_to_playerActivity"
|
|
app:destination="@id/playerActivity" />
|
|
<argument
|
|
android:name="isOffline"
|
|
app:argType="boolean"
|
|
android:defaultValue="false" />
|
|
<action
|
|
android:id="@+id/action_episodeBottomSheetFragment_to_mediaInfoFragment"
|
|
app:destination="@id/mediaInfoFragment" />
|
|
</dialog>
|
|
<fragment
|
|
android:id="@+id/favoriteFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.FavoriteFragment"
|
|
android:label="@string/title_favorite"
|
|
tools:layout="@layout/fragment_favorite">
|
|
<action
|
|
android:id="@+id/action_favoriteFragment_to_episodeBottomSheetFragment"
|
|
app:destination="@id/episodeBottomSheetFragment" />
|
|
<action
|
|
android:id="@+id/action_favoriteFragment_to_mediaInfoFragment"
|
|
app:destination="@id/mediaInfoFragment" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/downloadFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.DownloadFragment"
|
|
android:label="@string/title_download"
|
|
tools:layout="@layout/fragment_download">
|
|
<action
|
|
android:id="@+id/action_downloadFragment_to_episodeBottomSheetFragment"
|
|
app:destination="@id/episodeBottomSheetFragment" />
|
|
<action
|
|
android:id="@+id/action_downloadFragment_to_mediaInfoFragment"
|
|
app:destination="@id/mediaInfoFragment" />
|
|
<action
|
|
android:id="@+id/action_downloadFragment_to_downloadSeriesFragment"
|
|
app:destination="@id/downloadSeriesFragment" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/searchResultFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.SearchResultFragment"
|
|
android:label="{query}"
|
|
tools:layout="@layout/fragment_search_result">
|
|
<action
|
|
android:id="@+id/action_favoriteFragment_to_episodeBottomSheetFragment"
|
|
app:destination="@id/episodeBottomSheetFragment" />
|
|
<action
|
|
android:id="@+id/action_favoriteFragment_to_mediaInfoFragment"
|
|
app:destination="@id/mediaInfoFragment" />
|
|
<argument
|
|
android:name="query"
|
|
app:argType="string" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/addServerFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.AddServerFragment"
|
|
android:label="@string/add_server"
|
|
tools:layout="@layout/fragment_add_server">
|
|
<action
|
|
android:id="@+id/action_addServerFragment_to_loginFragment"
|
|
app:destination="@id/loginFragment" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/serverSelectFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.ServerSelectFragment"
|
|
android:label="@string/select_server"
|
|
tools:layout="@layout/fragment_server_select">
|
|
<action
|
|
android:id="@+id/action_serverSelectFragment_to_addServerFragment"
|
|
app:destination="@id/addServerFragment" />
|
|
<action
|
|
android:id="@+id/action_serverSelectFragment_to_homeFragment"
|
|
app:destination="@id/homeFragment"
|
|
app:popUpTo="@id/homeFragment"
|
|
app:popUpToInclusive="true" />
|
|
</fragment>
|
|
<fragment
|
|
android:id="@+id/loginFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.LoginFragment"
|
|
android:label="@string/login"
|
|
tools:layout="@layout/fragment_login">
|
|
<action
|
|
android:id="@+id/action_loginFragment_to_homeFragment"
|
|
app:destination="@id/homeFragment"
|
|
app:popUpTo="@id/homeFragment"
|
|
app:popUpToInclusive="true" />
|
|
<argument
|
|
android:name="reLogin"
|
|
app:argType="boolean"
|
|
android:defaultValue="false" />
|
|
</fragment>
|
|
|
|
<fragment
|
|
android:id="@+id/personDetailFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.PersonDetailFragment"
|
|
android:label="@string/person_detail_title"
|
|
tools:layout="@layout/fragment_person_detail">
|
|
|
|
<argument
|
|
android:name="personId"
|
|
app:argType="java.util.UUID" />
|
|
|
|
<action
|
|
android:id="@+id/action_personDetailFragment_to_mediaInfoFragment"
|
|
app:destination="@id/mediaInfoFragment" />
|
|
</fragment>
|
|
|
|
<activity
|
|
android:id="@+id/playerActivity"
|
|
android:name="dev.jdtech.jellyfin.PlayerActivity"
|
|
android:label="activity_player"
|
|
tools:layout="@layout/activity_player">
|
|
<argument
|
|
android:name="items"
|
|
app:argType="dev.jdtech.jellyfin.models.PlayerItem[]" />
|
|
</activity>
|
|
|
|
<include app:graph="@navigation/aboutlibs_navigation" />
|
|
<action
|
|
android:id="@+id/action_global_loginFragment"
|
|
app:destination="@id/loginFragment" />
|
|
|
|
<fragment
|
|
android:id="@+id/usersFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.UsersFragment"
|
|
android:label="@string/users"
|
|
tools:layout="@layout/fragment_users">
|
|
<action
|
|
android:id="@+id/action_usersFragment_to_loginFragment"
|
|
app:destination="@id/loginFragment" />
|
|
<action
|
|
android:id="@+id/action_usersFragment_to_homeFragment"
|
|
app:destination="@id/homeFragment"
|
|
app:popUpTo="@id/homeFragment"
|
|
app:popUpToInclusive="true" />
|
|
<argument
|
|
android:name="serverId"
|
|
app:argType="string" />
|
|
</fragment>
|
|
|
|
<fragment
|
|
android:id="@+id/serverAddressesFragment"
|
|
android:name="dev.jdtech.jellyfin.fragments.ServerAddressesFragment"
|
|
android:label="@string/addresses"
|
|
tools:layout="@layout/fragment_server_addresses">
|
|
<action
|
|
android:id="@+id/action_usersFragment_to_homeFragment"
|
|
app:destination="@id/homeFragment"
|
|
app:popUpTo="@id/homeFragment"
|
|
app:popUpToInclusive="true" />
|
|
<argument
|
|
android:name="serverId"
|
|
app:argType="string" />
|
|
</fragment>
|
|
|
|
</navigation> |