VancedManager/app/src/main/java/com/vanced/manager/ui/dialogs/VancedPreferencesDialog.kt

78 lines
3.2 KiB
Kotlin
Raw Normal View History

2020-10-31 19:45:39 +00:00
package com.vanced.manager.ui.dialogs
import android.content.Context
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.vanced.manager.R
2020-11-08 12:46:17 +00:00
import com.vanced.manager.databinding.DialogVancedPreferencesBinding
import com.vanced.manager.utils.Extensions.convertToAppTheme
2020-11-10 12:34:14 +00:00
import com.vanced.manager.utils.Extensions.convertToAppVersions
import com.vanced.manager.utils.Extensions.getDefaultPrefs
import com.vanced.manager.utils.Extensions.show
import com.vanced.manager.utils.InternetTools.vancedVersions
2020-10-31 19:45:39 +00:00
import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages
import java.util.*
class VancedPreferencesDialog : BottomSheetDialogFragment() {
2020-11-08 12:46:17 +00:00
private lateinit var binding: DialogVancedPreferencesBinding
2020-11-10 12:34:14 +00:00
private val defPrefs by lazy { requireActivity().getDefaultPrefs() }
private val installPrefs by lazy { requireActivity().getSharedPreferences("installPrefs", Context.MODE_PRIVATE) }
2020-10-31 19:45:39 +00:00
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
2020-11-08 12:46:17 +00:00
binding = DataBindingUtil.inflate(inflater, R.layout.dialog_vanced_preferences, container, false)
2020-10-31 19:45:39 +00:00
return binding.root
}
@ExperimentalStdlibApi
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val showLang = mutableListOf<String>()
2020-11-10 12:34:14 +00:00
installPrefs.getString("lang", getDefaultVancedLanguages())?.split(", ")?.toTypedArray()?.forEach { lang ->
val loc = Locale(lang)
showLang.add(loc.getDisplayLanguage(loc).capitalize(Locale.ROOT))
2020-10-31 19:45:39 +00:00
}
2020-11-10 12:34:14 +00:00
val vancedVersionsConv = vancedVersions.get()?.value?.reversed()?.convertToAppVersions()
2020-11-08 12:46:17 +00:00
binding.vancedInstallTitle.text = requireActivity().getString(R.string.app_installation_preferences, requireActivity().getString(R.string.vanced))
2020-11-10 12:34:14 +00:00
binding.vancedTheme.text = requireActivity().getString(R.string.chosen_theme, installPrefs.getString("theme", "dark")?.convertToAppTheme(requireActivity()))
binding.vancedVersion.text = requireActivity().getString(R.string.chosen_version, defPrefs.getString("vanced_version", "latest"))
2020-11-08 12:46:17 +00:00
binding.vancedLang.text = requireActivity().getString(R.string.chosen_lang, showLang)
2020-10-31 19:45:39 +00:00
binding.openThemeSelector.setOnClickListener {
2020-10-31 19:45:39 +00:00
dismiss()
2020-11-08 12:46:17 +00:00
VancedThemeSelectorDialog().show(requireActivity())
2020-10-31 19:45:39 +00:00
}
binding.openVersionSelector.setOnClickListener {
dismiss()
AppVersionSelectorDialog.newInstance(
versions = vancedVersionsConv,
app = "vanced"
).show(requireActivity())
}
2020-10-31 19:45:39 +00:00
binding.openLanguageSelector.setOnClickListener {
dismiss()
VancedLanguageSelectionDialog().show(requireActivity())
2020-10-31 19:45:39 +00:00
}
2020-11-08 12:46:17 +00:00
binding.vancedInstall.setOnClickListener {
2020-10-31 19:45:39 +00:00
dismiss()
AppDownloadDialog.newInstance(
app = getString(R.string.vanced)
).show(requireActivity())
2020-10-31 19:45:39 +00:00
}
}
}