<?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"
    android:id="@+id/nav_tv"
    app:startDestination="@+id/splash">
    <fragment
        android:name="com.martsnew.tv.ui.splash.TvSplashFragment"
        android:id="@+id/splash">
        <action
            android:id="@+id/goToWelcome"
            app:destination="@+id/welcome"
            app:popUpTo="@+id/nav_tv"
            app:popUpToInclusive="true"/>
    </fragment>
    <fragment
        android:name="com.martsnew.tv.ui.welcome.TvWelcomeFragment"
        android:id="@+id/welcome"/>
    <fragment
        android:name="com.martsnew.tv.ui.login.email.TvLoginFragment"
        android:id="@+id/login">
        <action
            android:id="@+id/goToRegister"
            app:destination="@+id/register"/>
        <action
            android:id="@+id/gotoForgotPassword"
            app:destination="@+id/forgotPassword"/>
    </fragment>
    <fragment
        android:name="com.martsnew.tv.ui.login.code.TvCodeLoginFragment"
        android:id="@+id/codeLogin"/>
    <fragment
        android:name="com.martsnew.tv.ui.movie_list.TvMovieListFragment"
        android:id="@+id/movieList">
        <argument
            android:name="listId"
            app:argType="string"
            app:nullable="false"/>
        <argument
            android:name="title"
            app:argType="string"
            app:nullable="false"/>
        <argument
            android:name="movieType"
            android:defaultValue="MOVIE"
            app:argType="com.martsnew.domain.type.MediaType"
            app:nullable="false"/>
    </fragment>
    <fragment
        android:name="com.martsnew.tv.ui.movie_detail.TvMovieDetailFragment"
        android:id="@+id/movieDetail">
        <argument
            android:name="movie"
            app:argType="com.martsnew.domain.model.Movie"
            app:nullable="false"/>
        <action
            android:id="@+id/goToEpisodeList"
            app:destination="@+id/episodeList"/>
    </fragment>
    <fragment
        android:name="com.martsnew.tv.ui.register.TvRegisterFragment"
        android:id="@+id/register"/>
    <fragment
        android:name="com.martsnew.tv.ui.myboard.TvMyBoardFragment"
        android:id="@+id/myBoard">
        <action
            android:id="@+id/goToHistory"
            app:destination="@+id/history"/>
        <action
            android:id="@+id/goToManageProfile"
            app:destination="@+id/profile"/>
        <action
            android:id="@+id/goToSettings"
            app:destination="@+id/settings"/>
        <action
            android:id="@+id/goToContinueWatch"
            app:destination="@+id/continueWatch"/>
    </fragment>
    <fragment
        android:name="com.martsnew.tv.ui.episodelist.TvEpisodeListFragment"
        android:id="@+id/episodeList">
        <argument
            android:name="movie"
            app:argType="com.martsnew.domain.model.Movie"
            app:nullable="false"/>
    </fragment>
    <fragment
        android:name="com.martsnew.tv.ui.main.TvMainFragment"
        android:id="@+id/main"/>
    <fragment
        android:name="com.martsnew.tv.ui.forgot_password.TvForgotPasswordFragment"
        android:id="@+id/forgotPassword"/>
    <fragment
        android:name="com.martsnew.tv.ui.history.TvHistoryFragment"
        android:id="@+id/history"/>
    <fragment
        android:name="com.martsnew.tv.ui.profile.TvProfileFragment"
        android:id="@+id/profile"/>
    <fragment
        android:name="com.martsnew.tv.ui.settings.TvSettingsFragment"
        android:id="@+id/settings"/>
    <fragment
        android:name="com.martsnew.tv.ui.continuewatch.TvContinueWatchFragment"
        android:id="@+id/continueWatch"/>
    <fragment
        android:name="com.martsnew.tv.ui.update.TVUpdateFragment"
        android:id="@+id/updateFragment">
        <argument
            android:name="version"
            app:argType="com.martsnew.domain.model.LatestVersion"
            app:nullable="false"/>
    </fragment>
    <action
        android:id="@+id/goToUpdate"
        app:destination="@+id/updateFragment"
        app:popUpTo="@+id/nav_tv"
        app:popUpToInclusive="true"/>
    <action
        android:id="@+id/goToLogin"
        app:destination="@+id/login"/>
    <action
        android:id="@+id/goToCodeLogin"
        app:destination="@+id/codeLogin"/>
    <action
        android:id="@+id/goToMovieDetail"
        app:destination="@+id/movieDetail"/>
    <action
        android:id="@+id/goToHome"
        app:destination="@+id/home"
        app:popUpTo="@+id/nav_tv"
        app:popUpToInclusive="true"/>
    <action
        android:id="@+id/goToMain"
        app:destination="@+id/main"
        app:popUpTo="@+id/nav_tv"
        app:popUpToInclusive="true"/>
    <action
        android:id="@+id/goToPlayer"
        app:destination="@+id/player"/>
    <action
        android:id="@+id/goToMyBoard"
        app:destination="@+id/myBoard"/>
    <action
        android:id="@+id/goToMovieList"
        app:destination="@+id/movieList"/>
    <activity
        android:name="com.martsnew.tv.ui.player.TvPlayerActivity"
        android:id="@+id/player">
        <argument
            android:name="movie"
            app:argType="com.martsnew.domain.model.Movie"
            app:nullable="false"/>
        <argument
            android:name="episode"
            app:argType="com.martsnew.domain.model.Episode"
            app:nullable="true"/>
        <argument
            android:name="continueWatch"
            app:argType="boolean"
            app:nullable="false"/>
    </activity>
</navigation>
