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

    <fragment
        android:id="@+id/hideFragment"
        android:name="com.topjohnwu.magisk.ui.hide.HideFragment"
        android:label="HideFragment"
        tools:layout="@layout/fragment_hide_md2" />

    <fragment
        android:id="@+id/homeFragment"
        android:name="com.topjohnwu.magisk.ui.home.HomeFragment"
        android:label="HomeFragment"
        tools:layout="@layout/fragment_home_md2">

        <action
            android:id="@+id/action_homeFragment_to_settingsFragment"
            app:destination="@id/settingsFragment"
            app:enterAnim="@anim/fragment_enter"
            app:exitAnim="@anim/fragment_exit"
            app:popEnterAnim="@anim/fragment_enter_pop"
            app:popExitAnim="@anim/fragment_exit_pop" />

        <action
            android:id="@+id/action_homeFragment_to_installFragment"
            app:destination="@id/installFragment"
            app:enterAnim="@anim/fragment_enter"
            app:exitAnim="@anim/fragment_exit"
            app:popEnterAnim="@anim/fragment_enter_pop"
            app:popExitAnim="@anim/fragment_exit_pop" />

        <action
            android:id="@+id/action_homeFragment_to_safetynetFragment"
            app:destination="@id/safetynetFragment"
            app:enterAnim="@anim/fragment_enter"
            app:exitAnim="@anim/fragment_exit"
            app:popEnterAnim="@anim/fragment_enter_pop"
            app:popExitAnim="@anim/fragment_exit_pop" />

    </fragment>

    <fragment
        android:id="@+id/flashFragment"
        android:name="com.topjohnwu.magisk.ui.flash.FlashFragment"
        android:label="FlashFragment"
        tools:layout="@layout/fragment_flash_md2">

        <argument
            android:name="action"
            app:argType="string" />

        <argument
            android:name="additional_data"
            android:defaultValue="@null"
            app:argType="android.net.Uri"
            app:nullable="true" />

        <argument
            android:name="dismiss_id"
            android:defaultValue="-1"
            app:argType="integer" />

    </fragment>

    <fragment
        android:id="@+id/installFragment"
        android:name="com.topjohnwu.magisk.ui.install.InstallFragment"
        android:label="InstallFragment"
        tools:layout="@layout/fragment_install_md2" />

    <fragment
        android:id="@+id/logFragment"
        android:name="com.topjohnwu.magisk.ui.log.LogFragment"
        android:label="LogFragment"
        tools:layout="@layout/fragment_log_md2" />

    <fragment
        android:id="@+id/modulesFragment"
        android:name="com.topjohnwu.magisk.ui.module.ModuleFragment"
        android:label="ModuleFragment"
        tools:layout="@layout/fragment_module_md2" />

    <fragment
        android:id="@+id/safetynetFragment"
        android:name="com.topjohnwu.magisk.ui.safetynet.SafetynetFragment"
        android:label="SafetynetFragment"
        tools:layout="@layout/fragment_safetynet_md2" />

    <fragment
        android:id="@+id/settingsFragment"
        android:name="com.topjohnwu.magisk.ui.settings.SettingsFragment"
        android:label="SettingsFragment"
        tools:layout="@layout/fragment_settings_md2">

        <action
            android:id="@+id/action_settingsFragment_to_themeFragment"
            app:destination="@id/themeFragment"
            app:enterAnim="@anim/fragment_enter"
            app:exitAnim="@anim/fragment_exit"
            app:popEnterAnim="@anim/fragment_enter_pop"
            app:popExitAnim="@anim/fragment_exit_pop" />

    </fragment>

    <fragment
        android:id="@+id/superuserFragment"
        android:name="com.topjohnwu.magisk.ui.superuser.SuperuserFragment"
        android:label="SuperuserFragment"
        tools:layout="@layout/fragment_superuser_md2">

        <action
            android:id="@+id/action_superuserFragment_to_hideFragment"
            app:destination="@id/hideFragment"
            app:enterAnim="@anim/fragment_enter"
            app:exitAnim="@anim/fragment_exit"
            app:popEnterAnim="@anim/fragment_enter_pop"
            app:popExitAnim="@anim/fragment_exit_pop" />

    </fragment>

    <fragment
        android:id="@+id/themeFragment"
        android:name="com.topjohnwu.magisk.ui.theme.ThemeFragment"
        android:label="ThemeFragment"
        tools:layout="@layout/fragment_theme_md2" />

    <action
        android:id="@+id/action_homeFragment"
        app:destination="@id/homeFragment"
        app:enterAnim="@anim/fragment_enter"
        app:exitAnim="@anim/fragment_exit"
        app:popEnterAnim="@anim/fragment_enter_pop"
        app:popExitAnim="@anim/fragment_exit_pop"
        app:popUpTo="@id/homeFragment"
        app:popUpToInclusive="true" />

    <action
        android:id="@+id/action_superuserFragment"
        app:destination="@id/superuserFragment"
        app:enterAnim="@anim/fragment_enter"
        app:exitAnim="@anim/fragment_exit"
        app:popEnterAnim="@anim/fragment_enter_pop"
        app:popExitAnim="@anim/fragment_exit_pop"
        app:popUpTo="@id/homeFragment" />

    <action
        android:id="@+id/action_logFragment"
        app:destination="@id/logFragment"
        app:enterAnim="@anim/fragment_enter"
        app:exitAnim="@anim/fragment_exit"
        app:popEnterAnim="@anim/fragment_enter_pop"
        app:popExitAnim="@anim/fragment_exit_pop"
        app:popUpTo="@id/homeFragment" />

    <action
        android:id="@+id/action_moduleFragment"
        app:destination="@id/modulesFragment"
        app:enterAnim="@anim/fragment_enter"
        app:exitAnim="@anim/fragment_exit"
        app:popEnterAnim="@anim/fragment_enter_pop"
        app:popExitAnim="@anim/fragment_exit_pop"
        app:popUpTo="@id/homeFragment" />

    <action
        android:id="@+id/action_flashFragment"
        app:destination="@id/flashFragment"
        app:enterAnim="@anim/fragment_enter"
        app:exitAnim="@anim/fragment_exit"
        app:popEnterAnim="@anim/fragment_enter_pop"
        app:popExitAnim="@anim/fragment_exit_pop"
        app:popUpTo="@id/homeFragment" />

    <action
        android:id="@+id/action_hideFragment"
        app:destination="@id/hideFragment"
        app:enterAnim="@anim/fragment_enter"
        app:exitAnim="@anim/fragment_exit"
        app:popEnterAnim="@anim/fragment_enter_pop"
        app:popExitAnim="@anim/fragment_exit_pop" />

</navigation>
