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

    <fragment
        android:id="@+id/conversationSettingsFragment"
        android:name="org.thoughtcrime.securesms.components.settings.conversation.ConversationSettingsFragment"
        android:label="app_settings_fragment"
        tools:layout="@layout/dsl_settings_fragment">

        <action
            android:id="@+id/action_conversationSettingsFragment_to_app_settings_expire_timer"
            app:destination="@id/app_settings_expire_timer"
            app:enterAnim="@anim/fragment_open_enter"
            app:exitAnim="@anim/fragment_open_exit"
            app:popEnterAnim="@anim/fragment_close_enter"
            app:popExitAnim="@anim/fragment_close_exit">

            <argument
                android:name="recipient_id"
                android:defaultValue="@null"
                app:argType="org.thoughtcrime.securesms.recipients.RecipientId"
                app:nullable="true" />

            <argument
                android:name="for_result_mode"
                android:defaultValue="false"
                app:argType="boolean" />

            <argument
                android:name="initial_value"
                android:defaultValue="@null"
                app:nullable="true"
                app:argType="java.lang.Integer" />
        </action>

        <argument
            android:name="recipient_id"
            app:argType="org.thoughtcrime.securesms.recipients.RecipientId"
            app:nullable="true" />

        <argument
            android:name="group_id"
            app:argType="android.os.Parcelable"
            app:nullable="true" />

        <action
            android:id="@+id/action_conversationSettingsFragment_to_soundsAndNotificationsSettingsFragment"
            app:destination="@id/soundsAndNotificationsSettingsFragment"
            app:enterAnim="@anim/fragment_open_enter"
            app:exitAnim="@anim/fragment_open_exit"
            app:popEnterAnim="@anim/fragment_close_enter"
            app:popExitAnim="@anim/fragment_close_exit">

            <argument
                android:name="recipient_id"
                app:argType="org.thoughtcrime.securesms.recipients.RecipientId" />

        </action>

        <action
            android:id="@+id/action_conversationSettingsFragment_to_permissionsSettingsFragment"
            app:destination="@id/permissionsSettingsFragment"
            app:enterAnim="@anim/fragment_open_enter"
            app:exitAnim="@anim/fragment_open_exit"
            app:popEnterAnim="@anim/fragment_close_enter"
            app:popExitAnim="@anim/fragment_close_exit">

            <argument
                android:name="group_id"
                app:argType="android.os.Parcelable"
                app:nullable="true" />
        </action>

        <action
            android:id="@+id/action_conversationSettingsFragment_to_internalDetailsSettingsFragment"
            app:destination="@id/internalDetailsSettingsFragment"
            app:enterAnim="@anim/fragment_open_enter"
            app:exitAnim="@anim/fragment_open_exit"
            app:popEnterAnim="@anim/fragment_close_enter"
            app:popExitAnim="@anim/fragment_close_exit">

            <argument
                android:name="recipient_id"
                app:argType="org.thoughtcrime.securesms.recipients.RecipientId" />

        </action>

    </fragment>

    <fragment
        android:id="@+id/soundsAndNotificationsSettingsFragment"
        android:name="org.thoughtcrime.securesms.components.settings.conversation.sounds.SoundsAndNotificationsSettingsFragment">

        <argument
            android:name="recipient_id"
            app:argType="org.thoughtcrime.securesms.recipients.RecipientId" />

        <action
            android:id="@+id/action_soundsAndNotificationsSettingsFragment_to_customNotificationsSettingsFragment"
            app:destination="@id/customNotificationsSettingsFragment"
            app:enterAnim="@anim/fragment_open_enter"
            app:exitAnim="@anim/fragment_open_exit"
            app:popEnterAnim="@anim/fragment_close_enter"
            app:popExitAnim="@anim/fragment_close_exit" />

    </fragment>

    <fragment
        android:id="@+id/internalDetailsSettingsFragment"
        android:name="org.thoughtcrime.securesms.components.settings.conversation.InternalConversationSettingsFragment">

        <argument
            android:name="recipient_id"
            app:argType="org.thoughtcrime.securesms.recipients.RecipientId" />

    </fragment>

    <fragment
        android:id="@+id/permissionsSettingsFragment"
        android:name="org.thoughtcrime.securesms.components.settings.conversation.permissions.PermissionsSettingsFragment">

        <argument
            android:name="group_id"
            app:argType="android.os.Parcelable"
            app:nullable="true" />
    </fragment>

    <fragment
        android:id="@+id/customNotificationsSettingsFragment"
        android:name="org.thoughtcrime.securesms.components.settings.conversation.sounds.custom.CustomNotificationsSettingsFragment">

        <argument
            android:name="recipient_id"
            app:argType="org.thoughtcrime.securesms.recipients.RecipientId" />

    </fragment>

    <include app:graph="@navigation/app_settings_expire_timer" />

</navigation>