diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt index c5f82349..262b2665 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt @@ -104,7 +104,17 @@ class HomeFragment : Fragment(), View.OnClickListener { when (v?.id) { R.id.vanced_installbtn -> { if (!isInstallationRunning(requireActivity())) { - if (viewModel.microgInstalled.get()!!) { + if (variant == "nonroot" && !viewModel.microgInstalled.get()!!) { + Snackbar.make(binding.homeRefresh, R.string.no_microg, Snackbar.LENGTH_LONG) + .setAction(R.string.install) { + requireActivity().startService( + Intent( + requireActivity(), + MicrogDownloadService::class.java + ) + ) + }.show() + } else { if (prefs?.getBoolean("valuesModified", false)!!) { requireActivity().startService( Intent( @@ -115,16 +125,8 @@ class HomeFragment : Fragment(), View.OnClickListener { } else { view?.findNavController()?.navigate(R.id.toInstallThemeFragment) } - } else - Snackbar.make(binding.homeRefresh, R.string.no_microg, Snackbar.LENGTH_LONG) - .setAction(R.string.install) { - requireActivity().startService( - Intent( - requireActivity(), - MicrogDownloadService::class.java - ) - ) - }.show() + } + } else Toast.makeText(requireActivity(), R.string.installation_wait, Toast.LENGTH_SHORT) diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/ManagerChangelogFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/ManagerChangelogFragment.kt index b7f002e2..644c8d7c 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/ManagerChangelogFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/ManagerChangelogFragment.kt @@ -23,7 +23,7 @@ class ManagerChangelogFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - CoroutineScope(Dispatchers.IO).launch { + CoroutineScope(Dispatchers.Main).launch { val changelog = InternetTools.getObjectFromJson("https://x1nto.github.io/VancedFiles/manager.json", "changelog") view.findViewById(R.id.manager_changelog).text = changelog } diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/MicrogChangelogFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/MicrogChangelogFragment.kt index d9428ad4..13dfb945 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/MicrogChangelogFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/MicrogChangelogFragment.kt @@ -24,7 +24,7 @@ class MicrogChangelogFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - CoroutineScope(Dispatchers.IO).launch { + CoroutineScope(Dispatchers.Main).launch { val baseUrl = PreferenceManager.getDefaultSharedPreferences(activity).getString("install_url", InternetTools.baseUrl) view.findViewById(R.id.microg_changelog).text = InternetTools.getObjectFromJson("$baseUrl/microg.json", "changelog") } diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/VancedChangelogFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/VancedChangelogFragment.kt index b1b65a1a..b132a1e7 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/VancedChangelogFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/VancedChangelogFragment.kt @@ -24,7 +24,7 @@ class VancedChangelogFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - CoroutineScope(Dispatchers.IO).launch { + CoroutineScope(Dispatchers.Main).launch { val vancedVersion = activity?.let { InternetTools.getJsonString("vanced.json", "version", it).replace('.', '_') } val baseUrl = PreferenceManager.getDefaultSharedPreferences(activity).getString("install_url", InternetTools.baseUrl) diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/VancedLanguageSelectionFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/VancedLanguageSelectionFragment.kt index 2246cbd8..f3132bea 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/VancedLanguageSelectionFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/VancedLanguageSelectionFragment.kt @@ -25,7 +25,6 @@ import java.util.* class VancedLanguageSelectionFragment : Fragment() { private lateinit var langs: MutableList - private lateinit var langcor: Deferred override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -38,10 +37,25 @@ class VancedLanguageSelectionFragment : Fragment() { @ExperimentalStdlibApi override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - langcor = CoroutineScope(Dispatchers.IO).async { - langs = getArrayFromJson("${PreferenceManager.getDefaultSharedPreferences(activity).getString("install_url", baseUrl)}/vanced.json", "langs") + val langcor = CoroutineScope(Dispatchers.IO).async { + langs = getArrayFromJson("${PreferenceManager.getDefaultSharedPreferences(requireActivity()).getString("install_url", baseUrl)}/vanced.json", "langs") + } + CoroutineScope(Dispatchers.Main).launch { + langcor.await() + if (!langs.contains("null")) { + langs.forEach { lang -> + val loc = Locale(lang) + val box: MaterialCheckBox = MaterialCheckBox(requireActivity()).apply { + tag = lang + text = loc.getDisplayLanguage(loc).capitalize(Locale.ROOT) + textSize = 18F + typeface = ResourcesCompat.getFont(requireActivity(), R.font.exo_bold) + } + view.findViewById(R.id.lang_button_ll) + .addView(box, MATCH_PARENT, WRAP_CONTENT) + } + } } - loadBoxes(view.findViewById(R.id.lang_button_ll)) view.findViewById(R.id.vanced_install_finish).setOnClickListener { val chosenLangs = mutableListOf("en") if (!langs.contains("null")) @@ -50,30 +64,15 @@ class VancedLanguageSelectionFragment : Fragment() { chosenLangs.add(lang) } } - activity?.getSharedPreferences("installPrefs", Context.MODE_PRIVATE)?.edit()?.apply { - putString("lang", chosenLangs.joinToString())?.apply() - putBoolean("valuesModified", true).apply() + with(requireActivity()) { + getSharedPreferences("installPrefs", Context.MODE_PRIVATE)?.edit()?.apply { + putString("lang", chosenLangs.joinToString())?.apply() + putBoolean("valuesModified", true).apply() + } + startService(Intent(this, VancedDownloadService::class.java)) } - activity?.startService(Intent(activity, VancedDownloadService::class.java)) view.findNavController().navigate(R.id.action_installTo_homeFragment) } } - @ExperimentalStdlibApi - private fun loadBoxes(ll: LinearLayout) = CoroutineScope(Dispatchers.Main).launch { - langcor.await() - if (!langs.contains("null")) { - langs.forEach { lang -> - val loc = Locale(lang) - val box: MaterialCheckBox = MaterialCheckBox(activity).apply { - tag = lang - text = loc.getDisplayLanguage(loc).capitalize(Locale.ROOT) - textSize = 18F - typeface = activity?.let { ResourcesCompat.getFont(it, R.font.exo_bold) } - } - ll.addView(box, MATCH_PARENT, WRAP_CONTENT) - } - } - } - }