А можно ли как-то в DummyFragment точно так же добавить  NoConnectionView и LoaderWithBackground? <?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:theme="@style/ThemeOverlay.Achievements"
    tools:background="@drawable/bg_achievements">

    <FrameLayout
        android:id="@+id/toolbar_blur_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:foreground="@color/achievements_toolbar_tint"
        tools:layout_height="?attr/actionBarSize" />

    <LinearLayout
        android:id="@+id/content_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:layout_marginTop="?attr/actionBarSize">

        <ru.maxi.mobile.uikit.components.toggleGroup.ButtonToggleGroup
            android:id="@+id/tabs_button_container"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginHorizontal="@dimen/std_margin"
            android:layout_marginTop="@dimen/std_margin"
            android:layout_marginBottom="@dimen/std_half_margin"
            tools:checkedButton="@id/received_tab">

            <Button
                android:id="@+id/in_progress_tab"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/achievements_in_progress_tab_title" />

            <Button
                android:id="@+id/received_tab"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="@string/achievements_received_tab_title" />

        </ru.maxi.mobile.uikit.components.toggleGroup.ButtonToggleGroup>

        <androidx.viewpager2.widget.ViewPager2
            android:id="@+id/tabs_container"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1" />
        

    </LinearLayout>

    <ru.maxi.mobile.uikit.components.noConnectionView.NoConnectionView
        android:id="@+id/no_connection_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:theme="@style/ThemeOverlay.Achievements.NoConnectionView" />

    <ru.maxi.mobile.uikit.components.loaderWithBackground.LoaderWithBackground
        android:id="@+id/loader_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:theme="@style/ThemeOverlay.Achievements.LoaderWithBackground" />

</FrameLayout>package ru.maxi.mobile.feature.achievements

import android.os.Bundle
import android.util.Log
import android.util.TypedValue
import android.view.Gravity
import android.view.View
import android.widget.FrameLayout
import android.widget.TextView
import androidx.fragment.app.Fragment
import com.github.terrakok.cicerone.androidx.FragmentScreen
import ru.maxi.mobile.R
import ru.maxi.mobile.base.ui.MvvmBaseFragment
import ru.maxi.mobile.core.navigation.FragmentScreenWithArgs
import ru.maxi.mobile.feature.achievements.ui.main.AchievementsMainArgs
import ru.maxi.mobile.feature.achievements.ui.main.AchievementsMainFragment
import ru.maxi.mobile.feature.achievements.ui.intro.AchievementsIntroFragment

/**
 * Экраны функционала достижений
 */
@Suppress("FunctionName")
object AchievementsScreens {

    /**
     * Табы экрана-контейнера функционала
     */
    enum class AchievementsTab { IN_PROGRESS_TAB, RECEIVED_TAB }

    /**
     * Контейнер экранов
     *
     * @param initialTab стартовый таб экрана
     * @param achievementId идентификатор достижения
     */
    fun MainScreen(
        initialTab: AchievementsTab = AchievementsTab.entries.first(),
        achievementId: Long? = null,
    ) = FragmentScreenWithArgs(
        args = AchievementsMainArgs(initialTab = initialTab, achievementId = achievementId),
    ) {
        AchievementsMainFragment()
    }

    /**
     * Экран "Не полученные" достижений
     */
    fun AchievementsInProgressScreen() = FragmentScreen {
        DummyFragment("AchievementsInProgress")
    }

    /**
     * Экран "Полученные" достижений
     */
    fun AchievementsReceivedScreen() = FragmentScreen {
        DummyFragment("AchievementsReceived")
    }

    class DummyFragment(val text: String) : MvvmBaseFragment(R.layout.fragment_advent_calendar_container) {

        override val analyticsName: String? = null

        override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
            super.onViewCreated(view, savedInstanceState)

            val textView = TextView(requireContext()).apply {
                text = this@DummyFragment.text
                textSize = 18f
                gravity = Gravity.CENTER_HORIZONTAL
            }
            val frameLayout = view.findViewById<FrameLayout>(R.id.fragment_advent_calendar_container)
            val layoutParams = FrameLayout.LayoutParams(
                FrameLayout.LayoutParams.WRAP_CONTENT,
                FrameLayout.LayoutParams.WRAP_CONTENT
            ).apply {
                gravity = Gravity.CENTER_HORIZONTAL or Gravity.TOP
            }
            frameLayout.addView(textView, layoutParams)
        }
    }

    /**
     * Экран обучения
     */
    fun IntroScreen() = FragmentScreen {
        AchievementsIntroFragment()
    }

    /**
     * Главный экран
     */
    fun MainScreen() = FragmentScreen {
        Fragment()
    }
}