<?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/home_navigation"
    app:startDestination="@id/gamesFragment">

    <fragment
        android:id="@+id/gamesFragment"
        android:name="org.suyu.suyu_emu.ui.GamesFragment"
        android:label="PlatformGamesFragment" />

    <fragment
        android:id="@+id/homeSettingsFragment"
        android:name="org.suyu.suyu_emu.fragments.HomeSettingsFragment"
        android:label="HomeSettingsFragment" >
        <action
            android:id="@+id/action_homeSettingsFragment_to_aboutFragment"
            app:destination="@id/aboutFragment" />
       <!-- <action
            android:id="@+id/action_homeSettingsFragment_to_earlyAccessFragment"
            app:destination="@id/earlyAccessFragment" /> -->
        <action
            android:id="@+id/action_homeSettingsFragment_to_installableFragment"
            app:destination="@id/installableFragment" />
        <action
            android:id="@+id/action_homeSettingsFragment_to_driverManagerFragment"
            app:destination="@id/driverManagerFragment" />
        <action
            android:id="@+id/action_homeSettingsFragment_to_appletLauncherFragment"
            app:destination="@id/appletLauncherFragment" />
        <action
            android:id="@+id/action_homeSettingsFragment_to_gameFoldersFragment"
            app:destination="@id/gameFoldersFragment" />
    </fragment>

    <fragment
        android:id="@+id/firstTimeSetupFragment"
        android:name="org.suyu.suyu_emu.fragments.SetupFragment"
        android:label="FirstTimeSetupFragment" >
        <action
            android:id="@+id/action_firstTimeSetupFragment_to_gamesFragment"
            app:destination="@id/gamesFragment"
            app:popUpTo="@id/firstTimeSetupFragment"
            app:popUpToInclusive="true" />
    </fragment>

    <fragment
        android:id="@+id/searchFragment"
        android:name="org.suyu.suyu_emu.fragments.SearchFragment"
        android:label="SearchFragment" />

    <fragment
        android:id="@+id/aboutFragment"
        android:name="org.suyu.suyu_emu.fragments.AboutFragment"
        android:label="AboutFragment" >
        <action
            android:id="@+id/action_aboutFragment_to_licensesFragment"
            app:destination="@id/licensesFragment" />
    </fragment>

    <!-- Temporarily commented out for testing remove the code later. -->
   <!-- <fragment
        android:id="@+id/earlyAccessFragment"
        android:name="org.suyu.suyu_emu.fragments.EarlyAccessFragment"
        android:label="EarlyAccessFragment" /> -->

    <fragment
        android:id="@+id/licensesFragment"
        android:name="org.suyu.suyu_emu.fragments.LicensesFragment"
        android:label="LicensesFragment" />

    <activity
        android:id="@+id/emulationActivity"
        android:name="org.suyu.suyu_emu.activities.EmulationActivity"
        android:label="EmulationActivity">
        <argument
            android:name="game"
            app:argType="org.suyu.suyu_emu.model.Game"
            app:nullable="true"
            android:defaultValue="@null" />
        <argument
            android:name="custom"
            android:defaultValue="false"
            app:argType="boolean" />
    </activity>

    <action
        android:id="@+id/action_global_emulationActivity"
        app:destination="@id/emulationActivity"
        app:launchSingleTop="true" />

    <activity
        android:id="@+id/settingsActivity"
        android:name="org.suyu.suyu_emu.features.settings.ui.SettingsActivity"
        android:label="SettingsActivity">
        <argument
            android:name="game"
            app:argType="org.suyu.suyu_emu.model.Game"
            app:nullable="true" />
        <argument
            android:name="menuTag"
            app:argType="org.suyu.suyu_emu.features.settings.model.Settings$MenuTag" />
    </activity>

    <action
        android:id="@+id/action_global_settingsActivity"
        app:destination="@id/settingsActivity" />
    <fragment
        android:id="@+id/installableFragment"
        android:name="org.suyu.suyu_emu.fragments.InstallableFragment"
        android:label="InstallableFragment" />
    <fragment
        android:id="@+id/driverManagerFragment"
        android:name="org.suyu.suyu_emu.fragments.DriverManagerFragment"
        android:label="DriverManagerFragment" >
        <argument
            android:name="game"
            app:argType="org.suyu.suyu_emu.model.Game"
            app:nullable="true"
            android:defaultValue="@null" />
    </fragment>
    <fragment
        android:id="@+id/appletLauncherFragment"
        android:name="org.suyu.suyu_emu.fragments.AppletLauncherFragment"
        android:label="AppletLauncherFragment" >
        <action
            android:id="@+id/action_appletLauncherFragment_to_cabinetLauncherDialogFragment"
            app:destination="@id/cabinetLauncherDialogFragment" />
    </fragment>
    <dialog
        android:id="@+id/cabinetLauncherDialogFragment"
        android:name="org.suyu.suyu_emu.fragments.CabinetLauncherDialogFragment"
        android:label="CabinetLauncherDialogFragment" />
    <fragment
        android:id="@+id/gameFoldersFragment"
        android:name="org.suyu.suyu_emu.fragments.GameFoldersFragment"
        android:label="GameFoldersFragment" />
    <fragment
        android:id="@+id/perGamePropertiesFragment"
        android:name="org.suyu.suyu_emu.fragments.GamePropertiesFragment"
        android:label="PerGamePropertiesFragment" >
        <argument
            android:name="game"
            app:argType="org.suyu.suyu_emu.model.Game" />
        <action
            android:id="@+id/action_perGamePropertiesFragment_to_gameInfoFragment"
            app:destination="@id/gameInfoFragment" />
        <action
            android:id="@+id/action_perGamePropertiesFragment_to_addonsFragment"
            app:destination="@id/addonsFragment" />
        <action
            android:id="@+id/action_perGamePropertiesFragment_to_driverManagerFragment"
            app:destination="@id/driverManagerFragment" />
    </fragment>
    <action
        android:id="@+id/action_global_perGamePropertiesFragment"
        app:destination="@id/perGamePropertiesFragment" />
    <fragment
        android:id="@+id/gameInfoFragment"
        android:name="org.suyu.suyu_emu.fragments.GameInfoFragment"
        android:label="GameInfoFragment" >
        <argument
            android:name="game"
            app:argType="org.suyu.suyu_emu.model.Game" />
    </fragment>
    <fragment
        android:id="@+id/addonsFragment"
        android:name="org.suyu.suyu_emu.fragments.AddonsFragment"
        android:label="AddonsFragment" >
        <argument
            android:name="game"
            app:argType="org.suyu.suyu_emu.model.Game" />
    </fragment>

</navigation>
