Как правильно переключатся на темную тему?

Мне в приложении надо переключатся на тёмную тему, делаю это так:

    private fun onOffDarkTheme() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            when (requireActivity().resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
                Configuration.UI_MODE_NIGHT_YES -> {
                    prefs!!.edit().putBoolean(MODE_NIGHT, false).apply()
                    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
                    startActivity(Intent(requireActivity(), MainActivity::class.java))
                }
                Configuration.UI_MODE_NIGHT_NO -> {
                    prefs!!.edit().putBoolean(MODE_NIGHT, true).apply()
                    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
                    startActivity(Intent(requireActivity(), MainActivity::class.java))
                }
            }
        } else {
            val uiModeManager: UiModeManager = requireActivity().getSystemService(UI_MODE_SERVICE) as UiModeManager
            when (requireActivity().resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) {
                Configuration.UI_MODE_NIGHT_YES -> {
                    prefs!!.edit().putBoolean(MODE_NIGHT, false).apply()
                    uiModeManager.nightMode = UiModeManager.MODE_NIGHT_NO
                    startActivity(Intent(requireActivity(), MainActivity::class.java))
                }
                Configuration.UI_MODE_NIGHT_NO -> {
                    prefs!!.edit().putBoolean(MODE_NIGHT, true).apply()
                    uiModeManager.nightMode = UiModeManager.MODE_NIGHT_YES
                    startActivity(Intent(requireActivity(), MainActivity::class.java))
                }
            }
        }
    }

И в Application, проверяю

    private fun isDarkThemeOn() {
        val uiModeManager: UiModeManager = this.getSystemService(UI_MODE_SERVICE) as UiModeManager
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            if (prefs!!.getBoolean(Constants.MODE_NIGHT, false)) {
                AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
            } else {
                AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
            }
        } else {
            if (prefs!!.getBoolean(Constants.MODE_NIGHT, false)) {
                uiModeManager.nightMode = UiModeManager.MODE_NIGHT_YES
            } else {
                uiModeManager.nightMode = UiModeManager.MODE_NIGHT_NO
            }
        }
    }

Проблема в том что из папки raw-night не подтягиваются ресурсы(.mp4), остаются те же что и были но если переключаю через настройки, то всё работает правильно. Я так понимаю, что я путаю Dark Theme и Dark Mode, но не могу понять как поправить. Моя основная тема, наследуется от

parent="Theme.AppCompat.DayNight"

Ответы (0 шт):