From f47dd376b2414010f86b517c23264e4da27afbc7 Mon Sep 17 00:00:00 2001 From: X1nto Date: Sat, 16 Jan 2021 21:00:38 +0400 Subject: [PATCH] moved methods out of singletones --- .../vanced/manager/adapter/AppListAdapter.kt | 10 +- .../main/java/com/vanced/manager/core/App.kt | 2 +- .../core/downloader/MicrogDownloader.kt | 6 +- .../core/downloader/MusicDownloader.kt | 7 +- .../core/downloader/VancedDownloader.kt | 8 +- .../com/vanced/manager/model/DataModel.kt | 2 +- .../com/vanced/manager/model/ProgressModel.kt | 1 - .../com/vanced/manager/ui/MainActivity.kt | 8 +- .../manager/ui/core/ThemedMaterialButton.kt | 8 +- .../manager/ui/core/ThemedMaterialCheckbox.kt | 6 +- .../ui/core/ThemedMaterialRadioButton.kt | 6 +- .../manager/ui/core/ThemedMaterialSlider.kt | 6 +- .../ui/core/ThemedOutlinedMaterialButton.kt | 8 +- .../ui/core/ThemedSwipeRefreshlayout.kt | 4 +- .../manager/ui/core/ThemedSwitchCompat.kt | 8 +- .../vanced/manager/ui/core/ThemedTextView.kt | 8 +- .../manager/ui/dialogs/AppDownloadDialog.kt | 2 +- .../ui/dialogs/AppVersionSelectorDialog.kt | 4 +- .../manager/ui/dialogs/DialogContainer.kt | 10 +- .../ui/dialogs/ManagerAccentColorDialog.kt | 8 +- .../ui/dialogs/ManagerLanguageDialog.kt | 4 +- .../manager/ui/dialogs/ManagerThemeDialog.kt | 2 +- .../manager/ui/dialogs/ManagerUpdateDialog.kt | 4 +- .../ui/dialogs/ManagerVariantDialog.kt | 2 +- .../ui/dialogs/MusicPreferencesDialog.kt | 6 +- .../manager/ui/dialogs/ServiceDTimerDialog.kt | 4 +- .../manager/ui/dialogs/URLChangeDialog.kt | 4 +- .../dialogs/VancedLanguageSelectionDialog.kt | 4 +- .../ui/dialogs/VancedPreferencesDialog.kt | 6 +- .../ui/dialogs/VancedThemeSelectorDialog.kt | 6 +- .../manager/ui/fragments/AboutFragment.kt | 2 +- .../ui/fragments/DevSettingsFragment.kt | 2 +- .../manager/ui/fragments/HomeFragment.kt | 2 +- .../manager/ui/fragments/SettingsFragment.kt | 8 +- .../manager/ui/viewmodels/AboutViewModel.kt | 4 +- .../manager/ui/viewmodels/HomeViewModel.kt | 32 ++-- .../java/com/vanced/manager/utils/AppUtils.kt | 7 +- .../com/vanced/manager/utils/DeviceUtils.kt | 12 +- .../com/vanced/manager/utils/Extensions.kt | 129 ++++++++-------- .../com/vanced/manager/utils/InternetTools.kt | 142 +++++++++--------- .../com/vanced/manager/utils/JsonHelper.kt | 44 +++--- .../vanced/manager/utils/LanguageHelper.kt | 109 +++++++------- .../com/vanced/manager/utils/MiuiHelper.kt | 27 ++-- .../com/vanced/manager/utils/PackageHelper.kt | 3 - .../com/vanced/manager/utils/ThemeHelper.kt | 29 ++-- 45 files changed, 325 insertions(+), 391 deletions(-) diff --git a/app/src/main/java/com/vanced/manager/adapter/AppListAdapter.kt b/app/src/main/java/com/vanced/manager/adapter/AppListAdapter.kt index 19bc0c74..29f241ad 100644 --- a/app/src/main/java/com/vanced/manager/adapter/AppListAdapter.kt +++ b/app/src/main/java/com/vanced/manager/adapter/AppListAdapter.kt @@ -92,21 +92,21 @@ class AppListAdapter( init { if (prefs.getBoolean("enable_vanced", true)) { - dataModels.add(viewModel.vanced.value) - rootDataModels.add(viewModel.vancedRoot.value) + dataModels.add(viewModel.vancedModel.value) + rootDataModels.add(viewModel.vancedRootModel.value) apps.add(context.getString(R.string.vanced)) itemCount++ } if (prefs.getBoolean("enable_music", true)) { - dataModels.add(viewModel.music.value) - rootDataModels.add(viewModel.musicRoot.value) + dataModels.add(viewModel.musicModel.value) + rootDataModels.add(viewModel.musicRootModel.value) apps.add(context.getString(R.string.music)) itemCount++ } if (!isRoot) { - dataModels.add(viewModel.microg.value) + dataModels.add(viewModel.microgModel.value) apps.add(context.getString(R.string.microg)) itemCount++ } diff --git a/app/src/main/java/com/vanced/manager/core/App.kt b/app/src/main/java/com/vanced/manager/core/App.kt index 7762fc46..e20ca44d 100644 --- a/app/src/main/java/com/vanced/manager/core/App.kt +++ b/app/src/main/java/com/vanced/manager/core/App.kt @@ -9,7 +9,7 @@ import com.crowdin.platform.CrowdinConfig import com.crowdin.platform.data.model.AuthConfig import com.crowdin.platform.data.remote.NetworkType import com.vanced.manager.BuildConfig.* -import com.vanced.manager.utils.InternetTools.loadJson +import com.vanced.manager.utils.loadJson import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.SupervisorJob diff --git a/app/src/main/java/com/vanced/manager/core/downloader/MicrogDownloader.kt b/app/src/main/java/com/vanced/manager/core/downloader/MicrogDownloader.kt index d7b911e6..eef1caff 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/MicrogDownloader.kt +++ b/app/src/main/java/com/vanced/manager/core/downloader/MicrogDownloader.kt @@ -4,10 +4,10 @@ import android.content.Context import com.vanced.manager.R import com.vanced.manager.utils.DownloadHelper.download import com.vanced.manager.utils.DownloadHelper.downloadProgress -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.Extensions.getInstallUrl -import com.vanced.manager.utils.InternetTools.microg import com.vanced.manager.utils.PackageHelper.install +import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.getInstallUrl +import com.vanced.manager.utils.microg object MicrogDownloader { diff --git a/app/src/main/java/com/vanced/manager/core/downloader/MusicDownloader.kt b/app/src/main/java/com/vanced/manager/core/downloader/MusicDownloader.kt index 512d5b32..4ce7393a 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/MusicDownloader.kt +++ b/app/src/main/java/com/vanced/manager/core/downloader/MusicDownloader.kt @@ -3,16 +3,11 @@ package com.vanced.manager.core.downloader import android.content.Context import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.vanced.manager.R +import com.vanced.manager.utils.* import com.vanced.manager.utils.AppUtils.musicRootPkg import com.vanced.manager.utils.AppUtils.validateTheme -import com.vanced.manager.utils.DeviceUtils.getArch import com.vanced.manager.utils.DownloadHelper.download import com.vanced.manager.utils.DownloadHelper.downloadProgress -import com.vanced.manager.utils.Extensions.getInstallUrl -import com.vanced.manager.utils.Extensions.getLatestAppVersion -import com.vanced.manager.utils.InternetTools.getFileNameFromUrl -import com.vanced.manager.utils.InternetTools.music -import com.vanced.manager.utils.InternetTools.musicVersions import com.vanced.manager.utils.PackageHelper.downloadStockCheck import com.vanced.manager.utils.PackageHelper.install import com.vanced.manager.utils.PackageHelper.installMusicRoot diff --git a/app/src/main/java/com/vanced/manager/core/downloader/VancedDownloader.kt b/app/src/main/java/com/vanced/manager/core/downloader/VancedDownloader.kt index 9e2b2221..2661e7d4 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/VancedDownloader.kt +++ b/app/src/main/java/com/vanced/manager/core/downloader/VancedDownloader.kt @@ -6,17 +6,11 @@ import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.google.firebase.analytics.FirebaseAnalytics import com.google.firebase.analytics.ktx.logEvent import com.vanced.manager.R +import com.vanced.manager.utils.* import com.vanced.manager.utils.AppUtils.validateTheme import com.vanced.manager.utils.AppUtils.vancedRootPkg -import com.vanced.manager.utils.DeviceUtils.getArch import com.vanced.manager.utils.DownloadHelper.download import com.vanced.manager.utils.DownloadHelper.downloadProgress -import com.vanced.manager.utils.Extensions.getInstallUrl -import com.vanced.manager.utils.Extensions.getLatestAppVersion -import com.vanced.manager.utils.InternetTools.getFileNameFromUrl -import com.vanced.manager.utils.InternetTools.vanced -import com.vanced.manager.utils.InternetTools.vancedVersions -import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages import com.vanced.manager.utils.PackageHelper.downloadStockCheck import com.vanced.manager.utils.PackageHelper.installVanced import com.vanced.manager.utils.PackageHelper.installVancedRoot diff --git a/app/src/main/java/com/vanced/manager/model/DataModel.kt b/app/src/main/java/com/vanced/manager/model/DataModel.kt index d752cbe8..0d9b617a 100644 --- a/app/src/main/java/com/vanced/manager/model/DataModel.kt +++ b/app/src/main/java/com/vanced/manager/model/DataModel.kt @@ -7,8 +7,8 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.beust.klaxon.JsonObject import com.vanced.manager.R -import com.vanced.manager.utils.Extensions.lifecycleOwner import com.vanced.manager.utils.PackageHelper.isPackageInstalled +import com.vanced.manager.utils.lifecycleOwner import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/vanced/manager/model/ProgressModel.kt b/app/src/main/java/com/vanced/manager/model/ProgressModel.kt index 6aa723e9..c0014803 100644 --- a/app/src/main/java/com/vanced/manager/model/ProgressModel.kt +++ b/app/src/main/java/com/vanced/manager/model/ProgressModel.kt @@ -1,7 +1,6 @@ package com.vanced.manager.model import androidx.lifecycle.MutableLiveData -import com.github.kittinunf.fuel.core.requests.CancellableRequest import okhttp3.ResponseBody import retrofit2.Call diff --git a/app/src/main/java/com/vanced/manager/ui/MainActivity.kt b/app/src/main/java/com/vanced/manager/ui/MainActivity.kt index 0c2aa96a..e1e2e062 100644 --- a/app/src/main/java/com/vanced/manager/ui/MainActivity.kt +++ b/app/src/main/java/com/vanced/manager/ui/MainActivity.kt @@ -25,13 +25,7 @@ import com.vanced.manager.ui.dialogs.ManagerUpdateDialog import com.vanced.manager.ui.dialogs.URLChangeDialog import com.vanced.manager.ui.fragments.HomeFragmentDirections import com.vanced.manager.ui.fragments.SettingsFragmentDirections -import com.vanced.manager.utils.Extensions.show -import com.vanced.manager.utils.InternetTools.manager -import com.vanced.manager.utils.LanguageContextWrapper -import com.vanced.manager.utils.LanguageHelper.authCrowdin -import com.vanced.manager.utils.LanguageHelper.onActivityResult -import com.vanced.manager.utils.PackageHelper -import com.vanced.manager.utils.ThemeHelper.setFinalTheme +import com.vanced.manager.utils.* class MainActivity : AppCompatActivity() { diff --git a/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialButton.kt b/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialButton.kt index ffd0227b..65010dec 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialButton.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialButton.kt @@ -6,10 +6,10 @@ import androidx.core.content.res.ResourcesCompat import androidx.core.graphics.ColorUtils import com.google.android.material.button.MaterialButton import com.vanced.manager.R -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.Extensions.lifecycleOwner -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor +import com.vanced.manager.utils.accentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.lifecycleOwner class ThemedMaterialButton @JvmOverloads constructor( context: Context, diff --git a/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialCheckbox.kt b/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialCheckbox.kt index b9dbfcb6..a243abc8 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialCheckbox.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialCheckbox.kt @@ -5,10 +5,8 @@ import android.content.res.ColorStateList import android.util.AttributeSet import com.google.android.material.checkbox.MaterialCheckBox import com.vanced.manager.R -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.Extensions.lifecycleOwner -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getDefaultPrefs class ThemedMaterialCheckbox @JvmOverloads constructor( context: Context, diff --git a/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialRadioButton.kt b/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialRadioButton.kt index 67314265..fd0c302f 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialRadioButton.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialRadioButton.kt @@ -5,10 +5,8 @@ import android.content.res.ColorStateList import android.util.AttributeSet import com.google.android.material.radiobutton.MaterialRadioButton import com.vanced.manager.R -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.Extensions.lifecycleOwner -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getDefaultPrefs class ThemedMaterialRadioButton @JvmOverloads constructor( context: Context, diff --git a/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialSlider.kt b/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialSlider.kt index 279069d5..b3a63a1d 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialSlider.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/ThemedMaterialSlider.kt @@ -4,8 +4,8 @@ import android.content.Context import android.content.res.ColorStateList import android.util.AttributeSet import com.google.android.material.slider.Slider -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.ThemeHelper +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getDefaultPrefs class ThemedMaterialSlider@JvmOverloads constructor( context: Context, @@ -14,7 +14,7 @@ class ThemedMaterialSlider@JvmOverloads constructor( ) : Slider(context, attributeSet, defStyleAttr) { init { - thumbStrokeColor = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent_color", ThemeHelper.defAccentColor)) + thumbStrokeColor = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) } } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/ui/core/ThemedOutlinedMaterialButton.kt b/app/src/main/java/com/vanced/manager/ui/core/ThemedOutlinedMaterialButton.kt index c66fa180..99c83daa 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/ThemedOutlinedMaterialButton.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/ThemedOutlinedMaterialButton.kt @@ -5,10 +5,10 @@ import android.content.res.ColorStateList import android.util.AttributeSet import androidx.core.graphics.ColorUtils import com.google.android.material.button.MaterialButton -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.Extensions.lifecycleOwner -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor +import com.vanced.manager.utils.accentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.lifecycleOwner class ThemedOutlinedMaterialButton @JvmOverloads constructor( diff --git a/app/src/main/java/com/vanced/manager/ui/core/ThemedSwipeRefreshlayout.kt b/app/src/main/java/com/vanced/manager/ui/core/ThemedSwipeRefreshlayout.kt index 5e7e9d97..2e731349 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/ThemedSwipeRefreshlayout.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/ThemedSwipeRefreshlayout.kt @@ -4,8 +4,8 @@ import android.content.Context import android.util.AttributeSet import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.vanced.manager.R -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.ThemeHelper.defAccentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getDefaultPrefs class ThemedSwipeRefreshlayout @JvmOverloads constructor( context: Context, diff --git a/app/src/main/java/com/vanced/manager/ui/core/ThemedSwitchCompat.kt b/app/src/main/java/com/vanced/manager/ui/core/ThemedSwitchCompat.kt index b5a93111..7ad3f77b 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/ThemedSwitchCompat.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/ThemedSwitchCompat.kt @@ -8,10 +8,10 @@ import androidx.appcompat.widget.SwitchCompat import androidx.core.graphics.ColorUtils import androidx.core.graphics.drawable.DrawableCompat import com.vanced.manager.R -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.Extensions.lifecycleOwner -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor +import com.vanced.manager.utils.accentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.lifecycleOwner class ThemedSwitchCompat @JvmOverloads constructor( context: Context, diff --git a/app/src/main/java/com/vanced/manager/ui/core/ThemedTextView.kt b/app/src/main/java/com/vanced/manager/ui/core/ThemedTextView.kt index f28bac5d..e79ab851 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/ThemedTextView.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/ThemedTextView.kt @@ -3,10 +3,10 @@ package com.vanced.manager.ui.core import android.content.Context import android.util.AttributeSet import androidx.appcompat.widget.AppCompatTextView -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.Extensions.lifecycleOwner -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor +import com.vanced.manager.utils.accentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.lifecycleOwner class ThemedTextView @JvmOverloads constructor( context: Context, diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/AppDownloadDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/AppDownloadDialog.kt index f09861b5..94a7734d 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/AppDownloadDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/AppDownloadDialog.kt @@ -18,7 +18,7 @@ import com.vanced.manager.core.downloader.VancedDownloader.downloadVanced import com.vanced.manager.core.ui.base.BindingDialogFragment import com.vanced.manager.databinding.DialogAppDownloadBinding import com.vanced.manager.utils.DownloadHelper.downloadProgress -import com.vanced.manager.utils.Extensions.applyAccent +import com.vanced.manager.utils.applyAccent class AppDownloadDialog : BindingDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/AppVersionSelectorDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/AppVersionSelectorDialog.kt index f1de4c20..bc08491c 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/AppVersionSelectorDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/AppVersionSelectorDialog.kt @@ -11,8 +11,8 @@ import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.DialogBottomRadioButtonBinding import com.vanced.manager.ui.core.ThemedMaterialRadioButton -import com.vanced.manager.utils.Extensions.getCheckedButtonTag -import com.vanced.manager.utils.Extensions.getDefaultPrefs +import com.vanced.manager.utils.getCheckedButtonTag +import com.vanced.manager.utils.getDefaultPrefs class AppVersionSelectorDialog : BindingBottomSheetDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/DialogContainer.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/DialogContainer.kt index 5fbdc1aa..ae8f76a5 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/DialogContainer.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/DialogContainer.kt @@ -5,9 +5,9 @@ import androidx.core.content.edit import androidx.preference.PreferenceManager import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.vanced.manager.R -import com.vanced.manager.utils.Extensions.applyAccent -import com.vanced.manager.utils.InternetTools.openUrl -import com.vanced.manager.utils.MiuiHelper +import com.vanced.manager.utils.applyAccent +import com.vanced.manager.utils.isMiui +import com.vanced.manager.utils.openUrl object DialogContainer { @@ -19,12 +19,12 @@ object DialogContainer { dialog.dismiss() } setOnDismissListener { - if (MiuiHelper.isMiui()) { + if (isMiui()) { applyAccentMiuiDialog(context) } } setOnCancelListener { - if (MiuiHelper.isMiui()) { + if (isMiui()) { applyAccentMiuiDialog(context) } } diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerAccentColorDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerAccentColorDialog.kt index 72c33b4b..46469c37 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerAccentColorDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerAccentColorDialog.kt @@ -16,10 +16,10 @@ import com.madrapps.pikolo.listeners.OnColorSelectionListener import com.vanced.manager.R import com.vanced.manager.core.ui.base.BindingDialogFragment import com.vanced.manager.databinding.DialogManagerAccentColorBinding -import com.vanced.manager.utils.Extensions.toHex -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor -import com.vanced.manager.utils.ThemeHelper.mutableAccentColor +import com.vanced.manager.utils.accentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.mutableAccentColor +import com.vanced.manager.utils.toHex class ManagerAccentColorDialog : BindingDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerLanguageDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerLanguageDialog.kt index 3e981ce5..86d4e347 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerLanguageDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerLanguageDialog.kt @@ -11,8 +11,8 @@ import com.vanced.manager.BuildConfig.MANAGER_LANGUAGES import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.databinding.DialogManagerLanguageBinding import com.vanced.manager.ui.core.ThemedMaterialRadioButton -import com.vanced.manager.utils.Extensions.getCheckedButtonTag -import com.vanced.manager.utils.LanguageHelper.getLanguageFormat +import com.vanced.manager.utils.getCheckedButtonTag +import com.vanced.manager.utils.getLanguageFormat class ManagerLanguageDialog : BindingBottomSheetDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerThemeDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerThemeDialog.kt index 57cef02a..75b3d548 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerThemeDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerThemeDialog.kt @@ -8,7 +8,7 @@ import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.google.android.material.radiobutton.MaterialRadioButton import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.databinding.DialogManagerThemeBinding -import com.vanced.manager.utils.Extensions.getCheckedButtonTag +import com.vanced.manager.utils.getCheckedButtonTag class ManagerThemeDialog : BindingBottomSheetDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerUpdateDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerUpdateDialog.kt index 78edb7d8..d7127844 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerUpdateDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerUpdateDialog.kt @@ -17,8 +17,8 @@ import com.vanced.manager.core.ui.base.BindingDialogFragment import com.vanced.manager.databinding.DialogManagerUpdateBinding import com.vanced.manager.utils.DownloadHelper.downloadManager import com.vanced.manager.utils.DownloadHelper.downloadProgress -import com.vanced.manager.utils.Extensions.applyAccent -import com.vanced.manager.utils.InternetTools.manager +import com.vanced.manager.utils.applyAccent +import com.vanced.manager.utils.manager class ManagerUpdateDialog : BindingDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerVariantDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerVariantDialog.kt index 94849e14..ecf26d3a 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerVariantDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/ManagerVariantDialog.kt @@ -9,7 +9,7 @@ import com.google.android.material.radiobutton.MaterialRadioButton import com.topjohnwu.superuser.Shell import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.databinding.DialogManagerVariantBinding -import com.vanced.manager.utils.Extensions.getCheckedButtonTag +import com.vanced.manager.utils.getCheckedButtonTag class ManagerVariantDialog : BindingBottomSheetDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/MusicPreferencesDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/MusicPreferencesDialog.kt index 5152c4cd..dbb4b51a 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/MusicPreferencesDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/MusicPreferencesDialog.kt @@ -7,9 +7,9 @@ import com.vanced.manager.R import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.DialogMusicPreferencesBinding -import com.vanced.manager.utils.Extensions.convertToAppVersions -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.InternetTools.musicVersions +import com.vanced.manager.utils.convertToAppVersions +import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.musicVersions class MusicPreferencesDialog : BindingBottomSheetDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/ServiceDTimerDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/ServiceDTimerDialog.kt index 3fb91473..3c45c9a0 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/ServiceDTimerDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/ServiceDTimerDialog.kt @@ -8,12 +8,12 @@ import androidx.core.content.edit import com.vanced.manager.R import com.vanced.manager.core.ui.base.BindingDialogFragment import com.vanced.manager.databinding.DialogServicedTimerBinding -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.Extensions.writeServiceDScript import com.vanced.manager.utils.PackageHelper import com.vanced.manager.utils.PackageHelper.getPackageDir import com.vanced.manager.utils.PackageHelper.getPkgNameRoot import com.vanced.manager.utils.PackageHelper.scriptExists +import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.writeServiceDScript import java.io.IOException import java.util.* diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/URLChangeDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/URLChangeDialog.kt index 12d774b8..f277d3f1 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/URLChangeDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/URLChangeDialog.kt @@ -11,8 +11,8 @@ import androidx.lifecycle.lifecycleScope import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.vanced.manager.core.ui.base.BindingDialogFragment import com.vanced.manager.databinding.DialogCustomUrlBinding -import com.vanced.manager.utils.InternetTools.baseUrl -import com.vanced.manager.utils.InternetTools.loadJson +import com.vanced.manager.utils.baseUrl +import com.vanced.manager.utils.loadJson import kotlinx.coroutines.launch class URLChangeDialog : BindingDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/VancedLanguageSelectionDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/VancedLanguageSelectionDialog.kt index f3318fc9..c9913af8 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/VancedLanguageSelectionDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/VancedLanguageSelectionDialog.kt @@ -17,8 +17,8 @@ import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.DialogVancedLanguageSelectionBinding import com.vanced.manager.ui.core.ThemedMaterialCheckbox -import com.vanced.manager.utils.InternetTools.vanced -import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages +import com.vanced.manager.utils.getDefaultVancedLanguages +import com.vanced.manager.utils.vanced import java.util.* class VancedLanguageSelectionDialog : BindingBottomSheetDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/VancedPreferencesDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/VancedPreferencesDialog.kt index 94b1e755..9e3a4b86 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/VancedPreferencesDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/VancedPreferencesDialog.kt @@ -9,11 +9,7 @@ import com.vanced.manager.R import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.DialogVancedPreferencesBinding -import com.vanced.manager.utils.Extensions.convertToAppTheme -import com.vanced.manager.utils.Extensions.convertToAppVersions -import com.vanced.manager.utils.Extensions.getDefaultPrefs -import com.vanced.manager.utils.InternetTools.vancedVersions -import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages +import com.vanced.manager.utils.* import java.util.* class VancedPreferencesDialog : BindingBottomSheetDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/VancedThemeSelectorDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/VancedThemeSelectorDialog.kt index 2e5e03c5..08dac240 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/VancedThemeSelectorDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/VancedThemeSelectorDialog.kt @@ -11,9 +11,9 @@ import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.DialogBottomRadioButtonBinding import com.vanced.manager.ui.core.ThemedMaterialRadioButton -import com.vanced.manager.utils.Extensions.convertToAppTheme -import com.vanced.manager.utils.Extensions.getCheckedButtonTag -import com.vanced.manager.utils.InternetTools.vanced +import com.vanced.manager.utils.convertToAppTheme +import com.vanced.manager.utils.getCheckedButtonTag +import com.vanced.manager.utils.vanced class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/AboutFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/AboutFragment.kt index 9aeb90c2..23b9493e 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/AboutFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/AboutFragment.kt @@ -16,7 +16,7 @@ import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.FragmentAboutBinding import com.vanced.manager.ui.dialogs.AppInfoDialog import com.vanced.manager.ui.viewmodels.AboutViewModel -import com.vanced.manager.utils.InternetTools.manager +import com.vanced.manager.utils.manager class AboutFragment : BindingFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/DevSettingsFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/DevSettingsFragment.kt index 691f9928..ef271d6a 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/DevSettingsFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/DevSettingsFragment.kt @@ -18,7 +18,7 @@ import com.vanced.manager.databinding.FragmentDevSettingsBinding import com.vanced.manager.ui.WelcomeActivity import com.vanced.manager.ui.dialogs.ManagerUpdateDialog import com.vanced.manager.ui.dialogs.URLChangeDialog -import com.vanced.manager.utils.LanguageHelper.authCrowdin +import com.vanced.manager.utils.authCrowdin class DevSettingsFragment : BindingFragment() { 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 2adc0776..88c9a546 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 @@ -28,7 +28,7 @@ import com.vanced.manager.databinding.FragmentHomeBinding import com.vanced.manager.ui.dialogs.DialogContainer.installAlertBuilder import com.vanced.manager.ui.viewmodels.HomeViewModel import com.vanced.manager.ui.viewmodels.HomeViewModelFactory -import com.vanced.manager.utils.InternetTools.isFetching +import com.vanced.manager.utils.isFetching open class HomeFragment : BindingFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt index 217ac58b..3f74ccd6 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/SettingsFragment.kt @@ -18,10 +18,10 @@ import com.vanced.manager.core.ui.base.BindingFragment import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.FragmentSettingsBinding import com.vanced.manager.ui.dialogs.* -import com.vanced.manager.utils.Extensions.toHex -import com.vanced.manager.utils.LanguageHelper.getLanguageFormat -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor +import com.vanced.manager.utils.accentColor +import com.vanced.manager.utils.defAccentColor +import com.vanced.manager.utils.getLanguageFormat +import com.vanced.manager.utils.toHex import java.io.File class SettingsFragment : BindingFragment() { diff --git a/app/src/main/java/com/vanced/manager/ui/viewmodels/AboutViewModel.kt b/app/src/main/java/com/vanced/manager/ui/viewmodels/AboutViewModel.kt index 072133b4..3ffa9b16 100644 --- a/app/src/main/java/com/vanced/manager/ui/viewmodels/AboutViewModel.kt +++ b/app/src/main/java/com/vanced/manager/ui/viewmodels/AboutViewModel.kt @@ -3,12 +3,12 @@ package com.vanced.manager.ui.viewmodels import android.app.Application import androidx.lifecycle.AndroidViewModel import com.vanced.manager.R -import com.vanced.manager.utils.InternetTools +import com.vanced.manager.utils.openUrl class AboutViewModel(application: Application): AndroidViewModel(application) { fun openUrl(url: String) { - InternetTools.openUrl(url, R.color.GitHub, getApplication()) + openUrl(url, R.color.GitHub, getApplication()) } } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/ui/viewmodels/HomeViewModel.kt b/app/src/main/java/com/vanced/manager/ui/viewmodels/HomeViewModel.kt index 3f3e5ed0..613a3c5e 100644 --- a/app/src/main/java/com/vanced/manager/ui/viewmodels/HomeViewModel.kt +++ b/app/src/main/java/com/vanced/manager/ui/viewmodels/HomeViewModel.kt @@ -26,15 +26,13 @@ import com.vanced.manager.ui.dialogs.AppDownloadDialog import com.vanced.manager.ui.dialogs.InstallationFilesDetectedDialog import com.vanced.manager.ui.dialogs.MusicPreferencesDialog import com.vanced.manager.ui.dialogs.VancedPreferencesDialog +import com.vanced.manager.utils.* import com.vanced.manager.utils.AppUtils.managerPkg import com.vanced.manager.utils.AppUtils.microgPkg import com.vanced.manager.utils.AppUtils.musicPkg import com.vanced.manager.utils.AppUtils.musicRootPkg import com.vanced.manager.utils.AppUtils.vancedPkg import com.vanced.manager.utils.AppUtils.vancedRootPkg -import com.vanced.manager.utils.Extensions.show -import com.vanced.manager.utils.InternetTools -import com.vanced.manager.utils.InternetTools.loadJson import com.vanced.manager.utils.PackageHelper.apkExist import com.vanced.manager.utils.PackageHelper.musicApkExists import com.vanced.manager.utils.PackageHelper.uninstallApk @@ -46,12 +44,12 @@ open class HomeViewModel(private val activity: FragmentActivity): ViewModel() { private val prefs = getDefaultSharedPreferences(activity) - val vanced = MutableLiveData() - val vancedRoot = MutableLiveData() - val microg = MutableLiveData() - val music = MutableLiveData() - val musicRoot = MutableLiveData() - val manager = MutableLiveData() + val vancedModel = MutableLiveData() + val vancedRootModel = MutableLiveData() + val microgModel = MutableLiveData() + val musicModel = MutableLiveData() + val musicRootModel = MutableLiveData() + val managerModel = MutableLiveData() fun fetchData() { viewModelScope.launch { @@ -73,7 +71,7 @@ open class HomeViewModel(private val activity: FragmentActivity): ViewModel() { else -> R.color.Vanced } - InternetTools.openUrl(url, color, activity) + openUrl(url, color, activity) } fun launchApp(app: String, isRoot: Boolean) { @@ -93,7 +91,7 @@ open class HomeViewModel(private val activity: FragmentActivity): ViewModel() { fun openInstallDialog(view: View, app: String) { val variant = prefs.getString("vanced_variant", "nonroot") - if (variant == "nonroot" && app != activity.getString(R.string.microg) && !microg.value?.isAppInstalled?.value!!) { + if (variant == "nonroot" && app != activity.getString(R.string.microg) && !microgModel.value?.isAppInstalled?.value!!) { microgToast.show() return } @@ -157,11 +155,11 @@ open class HomeViewModel(private val activity: FragmentActivity): ViewModel() { } init { - vanced.value = DataModel(InternetTools.vanced, activity, vancedPkg, activity.getString(R.string.vanced), AppCompatResources.getDrawable(activity, R.drawable.ic_vanced)) - vancedRoot.value = RootDataModel(InternetTools.vanced, activity, vancedRootPkg, activity.getString(R.string.vanced), AppCompatResources.getDrawable(activity, R.drawable.ic_vanced), "vanced") - music.value = DataModel(InternetTools.music, activity, musicPkg, activity.getString(R.string.music), AppCompatResources.getDrawable(activity, R.drawable.ic_music)) - musicRoot.value = RootDataModel(InternetTools.music, activity, musicRootPkg, activity.getString(R.string.music), AppCompatResources.getDrawable(activity, R.drawable.ic_music), "music") - microg.value = DataModel(InternetTools.microg, activity, microgPkg, activity.getString(R.string.microg), AppCompatResources.getDrawable(activity, R.drawable.ic_microg)) - manager.value = DataModel(InternetTools.manager, activity, managerPkg, activity.getString(R.string.app_name), AppCompatResources.getDrawable(activity, R.mipmap.ic_launcher)) + vancedModel.value = DataModel(vanced, activity, vancedPkg, activity.getString(R.string.vanced), AppCompatResources.getDrawable(activity, R.drawable.ic_vanced)) + vancedRootModel.value = RootDataModel(vanced, activity, vancedRootPkg, activity.getString(R.string.vanced), AppCompatResources.getDrawable(activity, R.drawable.ic_vanced), "vanced") + musicModel.value = DataModel(music, activity, musicPkg, activity.getString(R.string.music), AppCompatResources.getDrawable(activity, R.drawable.ic_music)) + musicRootModel.value = RootDataModel(music, activity, musicRootPkg, activity.getString(R.string.music), AppCompatResources.getDrawable(activity, R.drawable.ic_music), "music") + microgModel.value = DataModel(microg, activity, microgPkg, activity.getString(R.string.microg), AppCompatResources.getDrawable(activity, R.drawable.ic_microg)) + managerModel.value = DataModel(manager, activity, managerPkg, activity.getString(R.string.app_name), AppCompatResources.getDrawable(activity, R.mipmap.ic_launcher)) } } diff --git a/app/src/main/java/com/vanced/manager/utils/AppUtils.kt b/app/src/main/java/com/vanced/manager/utils/AppUtils.kt index e59b9dfb..2ebbc562 100644 --- a/app/src/main/java/com/vanced/manager/utils/AppUtils.kt +++ b/app/src/main/java/com/vanced/manager/utils/AppUtils.kt @@ -9,7 +9,6 @@ import com.vanced.manager.R import com.vanced.manager.ui.dialogs.AppDownloadDialog import com.vanced.manager.ui.fragments.HomeFragment import com.vanced.manager.utils.DownloadHelper.downloadProgress -import com.vanced.manager.utils.InternetTools.getSha256 import kotlinx.coroutines.* import java.io.File import java.io.IOException @@ -92,7 +91,7 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) { context: Context, ): Boolean { val themeF = File(downloadPath, "$apk.apk") - return runBlocking { InternetTools.checkSHA256(getSha256(hashUrl, apk, context), themeF) } + return runBlocking { checkSHA256(getSha256(hashUrl, apk, context), themeF) } } private fun getErrorMessage(status: String, context: Context): String { @@ -111,7 +110,7 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) { status.contains("Files_Missing_VA") -> context.getString(R.string.files_missing_va) status.contains("Path_Missing") -> context.getString(R.string.path_missing) else -> - if (MiuiHelper.isMiui()) + if (isMiui()) context.getString(R.string.installation_miui) else context.getString(R.string.installation_failed) @@ -127,7 +126,7 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) { PackageInstaller.STATUS_FAILURE_INVALID -> context.getString(R.string.installation_invalid) PackageInstaller.STATUS_FAILURE_STORAGE -> context.getString(R.string.installation_storage) else -> - if (MiuiHelper.isMiui()) + if (isMiui()) context.getString(R.string.installation_miui) else context.getString(R.string.installation_failed) diff --git a/app/src/main/java/com/vanced/manager/utils/DeviceUtils.kt b/app/src/main/java/com/vanced/manager/utils/DeviceUtils.kt index 0d8ad73d..114f29a7 100644 --- a/app/src/main/java/com/vanced/manager/utils/DeviceUtils.kt +++ b/app/src/main/java/com/vanced/manager/utils/DeviceUtils.kt @@ -2,12 +2,8 @@ package com.vanced.manager.utils import android.os.Build -object DeviceUtils { - - fun getArch(): String = when { - Build.SUPPORTED_ABIS.contains("x86") -> "x86" - Build.SUPPORTED_ABIS.contains("arm64-v8a") -> "arm64_v8a" - else -> "armeabi_v7a" - } - +fun getArch(): String = when { + Build.SUPPORTED_ABIS.contains("x86") -> "x86" + Build.SUPPORTED_ABIS.contains("arm64-v8a") -> "arm64_v8a" + else -> "armeabi_v7a" } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/utils/Extensions.kt b/app/src/main/java/com/vanced/manager/utils/Extensions.kt index 8294c5b4..3df2bf68 100644 --- a/app/src/main/java/com/vanced/manager/utils/Extensions.kt +++ b/app/src/main/java/com/vanced/manager/utils/Extensions.kt @@ -17,88 +17,81 @@ import com.google.android.material.radiobutton.MaterialRadioButton import com.topjohnwu.superuser.io.SuFile import com.topjohnwu.superuser.io.SuFileOutputStream import com.vanced.manager.R -import com.vanced.manager.utils.InternetTools.baseUrl -import com.vanced.manager.utils.ThemeHelper.accentColor -import com.vanced.manager.utils.ThemeHelper.defAccentColor import java.util.* -object Extensions { +fun RadioGroup.getCheckedButtonTag(): String? { + return findViewById(checkedRadioButtonId)?.tag?.toString() +} - fun RadioGroup.getCheckedButtonTag(): String? { - return findViewById(checkedRadioButtonId)?.tag?.toString() +fun DialogFragment.show(activity: FragmentActivity) { + try { + show(activity.supportFragmentManager, "") + } catch (e: Exception) { + Log.d("VMUI", e.stackTraceToString()) } - fun DialogFragment.show(activity: FragmentActivity) { - try { - show(activity.supportFragmentManager, "") - } catch (e: Exception) { - Log.d("VMUI", e.stackTraceToString()) - } +} +fun Context.getDefaultPrefs(): SharedPreferences = getDefaultSharedPreferences(this) + +//Not sure how much this can affect performance +//but if anyone can improve this even slightly, +//feel free to open a PR +fun List.convertToAppVersions(): List { + val versionsModel = arrayListOf("latest") + for (i in reversed().indices) { + versionsModel.add(this[i]) } + return versionsModel +} - fun Context.getDefaultPrefs(): SharedPreferences = getDefaultSharedPreferences(this) +fun String.convertToAppTheme(context: Context): String { + return context.getString(R.string.light_plus_other, this.capitalize(Locale.ROOT)) +} - //Not sure how much this can affect performance - //but if anyone can improve this even slightly, - //feel free to open a PR - fun List.convertToAppVersions(): List { - val versionsModel = arrayListOf("latest") - for (i in reversed().indices) { - versionsModel.add(this[i]) - } - return versionsModel +fun String.getLatestAppVersion(versions: List): String { + return if (this == "latest") versions.reversed()[0] else this +} + +fun SharedPreferences.getInstallUrl() = getString("install_url", baseUrl) + +fun Context.lifecycleOwner(): LifecycleOwner? { + var curContext = this + var maxDepth = 20 + while (maxDepth-- > 0 && curContext !is LifecycleOwner) { + curContext = (curContext as ContextWrapper).baseContext } - - fun String.convertToAppTheme(context: Context): String { - return context.getString(R.string.light_plus_other, this.capitalize(Locale.ROOT)) + return if (curContext is LifecycleOwner) { + curContext + } else { + null } +} - fun String.getLatestAppVersion(versions: List): String { - return if (this == "latest") versions.reversed()[0] else this +fun Int.toHex(): String = java.lang.String.format("#%06X", 0xFFFFFF and this) + +//Material team decided to keep their LinearProgressIndicator final +//At least extension methods exist +fun LinearProgressIndicator.applyAccent() { + with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) { + setIndicatorColor(this) + trackColor = ColorUtils.setAlphaComponent(this, 70) } +} - fun SharedPreferences.getInstallUrl() = getString("install_url", baseUrl) - - fun Context.lifecycleOwner(): LifecycleOwner? { - var curContext = this - var maxDepth = 20 - while (maxDepth-- > 0 && curContext !is LifecycleOwner) { - curContext = (curContext as ContextWrapper).baseContext - } - return if (curContext is LifecycleOwner) { - curContext - } else { - null +fun MaterialAlertDialogBuilder.applyAccent() { + with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) { + show().apply { + getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(this@with) + getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(this@with) + getButton(DialogInterface.BUTTON_NEUTRAL).setTextColor(this@with) } } +} - fun Int.toHex(): String = java.lang.String.format("#%06X", 0xFFFFFF and this) - - //Material team decided to keep their LinearProgressIndicator final - //At least extension methods exist - fun LinearProgressIndicator.applyAccent() { - with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) { - setIndicatorColor(this) - trackColor = ColorUtils.setAlphaComponent(this, 70) - } - } - - fun MaterialAlertDialogBuilder.applyAccent() { - with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) { - show().apply { - getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(this@with) - getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(this@with) - getButton(DialogInterface.BUTTON_NEUTRAL).setTextColor(this@with) - } - } - } - - fun Context.writeServiceDScript(apkFPath: String, path: String, app: String) { - val shellFileZ = SuFile.open("/data/adb/service.d/$app.sh") - shellFileZ.createNewFile() - val code = """#!/system/bin/sh${"\n"}while [ "`getprop sys.boot_completed | tr -d '\r' `" != "1" ]; do sleep ${getDefaultPrefs().getInt("serviced_sleep_timer", 1)}; done${"\n"}chcon u:object_r:apk_data_file:s0 $apkFPath${"\n"}mount -o bind $apkFPath $path""" - SuFileOutputStream(shellFileZ).use { out -> out.write(code.toByteArray())} - } - -} \ No newline at end of file +fun Context.writeServiceDScript(apkFPath: String, path: String, app: String) { + val shellFileZ = SuFile.open("/data/adb/service.d/$app.sh") + shellFileZ.createNewFile() + val code = """#!/system/bin/sh${"\n"}while [ "`getprop sys.boot_completed | tr -d '\r' `" != "1" ]; do sleep ${getDefaultPrefs().getInt("serviced_sleep_timer", 1)}; done${"\n"}chcon u:object_r:apk_data_file:s0 $apkFPath${"\n"}mount -o bind $apkFPath $path""" + SuFileOutputStream(shellFileZ).use { out -> out.write(code.toByteArray())} +} diff --git a/app/src/main/java/com/vanced/manager/utils/InternetTools.kt b/app/src/main/java/com/vanced/manager/utils/InternetTools.kt index 5de3433c..82d7d45e 100644 --- a/app/src/main/java/com/vanced/manager/utils/InternetTools.kt +++ b/app/src/main/java/com/vanced/manager/utils/InternetTools.kt @@ -14,101 +14,95 @@ import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.beust.klaxon.JsonArray import com.beust.klaxon.JsonObject import com.vanced.manager.R -import com.vanced.manager.library.network.okhttp.interceptors.LOG_INTERCEPTOR import com.vanced.manager.utils.AppUtils.generateChecksum -import com.vanced.manager.utils.Extensions.getDefaultPrefs import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.io.File import java.util.* -object InternetTools { +private const val TAG = "VMNetTools" - private const val TAG = "VMNetTools" +val vanced = MutableLiveData() +val music = MutableLiveData() +val microg = MutableLiveData() +val manager = MutableLiveData() - val vanced = MutableLiveData() - val music = MutableLiveData() - val microg = MutableLiveData() - val manager = MutableLiveData() +val vancedVersions = MutableLiveData>() +val musicVersions = MutableLiveData>() - val vancedVersions = MutableLiveData>() - val musicVersions = MutableLiveData>() +val isFetching = MutableLiveData() - val isFetching = MutableLiveData() +//var braveTiers = MutableLiveData() - //var braveTiers = MutableLiveData() +fun openUrl(url: String, color: Int, context: Context) { + try { + val customTabPrefs = getDefaultSharedPreferences(context).getBoolean("use_custom_tabs", true) + if (customTabPrefs) { + val builder = CustomTabsIntent.Builder() + val params = CustomTabColorSchemeParams.Builder().setToolbarColor(ContextCompat.getColor(context, color)) + builder.setDefaultColorSchemeParams(params.build()) + val customTabsIntent = builder.build() + customTabsIntent.intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK + customTabsIntent.launchUrl(context, url.toUri()) + } else + context.startActivity(Intent(Intent.ACTION_VIEW, url.toUri()).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)) - fun openUrl(url: String, color: Int, context: Context) { - try { - val customTabPrefs = getDefaultSharedPreferences(context).getBoolean("use_custom_tabs", true) - if (customTabPrefs) { - val builder = CustomTabsIntent.Builder() - val params = CustomTabColorSchemeParams.Builder().setToolbarColor(ContextCompat.getColor(context, color)) - builder.setDefaultColorSchemeParams(params.build()) - val customTabsIntent = builder.build() - customTabsIntent.intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK - customTabsIntent.launchUrl(context, url.toUri()) - } else - context.startActivity(Intent(Intent.ACTION_VIEW, url.toUri()).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)) - - } catch (e: ActivityNotFoundException) { - Toast.makeText(context, R.string.error, Toast.LENGTH_SHORT).show() - } + } catch (e: ActivityNotFoundException) { + Toast.makeText(context, R.string.error, Toast.LENGTH_SHORT).show() } +} - fun getFileNameFromUrl(url: String) = url.substring(url.lastIndexOf('/') + 1, url.length) +fun getFileNameFromUrl(url: String) = url.substring(url.lastIndexOf('/') + 1, url.length) - suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) { - isFetching.postValue(true) - val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl) - val calendar = Calendar.getInstance() - val hour = calendar.get(Calendar.HOUR_OF_DAY) - val minute = calendar.get(Calendar.MINUTE) - val second = calendar.get(Calendar.SECOND) - val fetchTime = "fetchTime=$hour$minute$second" - val latest = JsonHelper.getJson("$installUrl/latest.json?$fetchTime") - val versions = JsonHelper.getJson("$installUrl/versions.json?$fetchTime") +suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) { + isFetching.postValue(true) + val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl) + val calendar = Calendar.getInstance() + val hour = calendar.get(Calendar.HOUR_OF_DAY) + val minute = calendar.get(Calendar.MINUTE) + val second = calendar.get(Calendar.SECOND) + val fetchTime = "fetchTime=$hour$minute$second" + val latest = getJson("$installUrl/latest.json?$fetchTime") + val versions = getJson("$installUrl/versions.json?$fetchTime") // braveTiers.apply { // set(getJson("$installUrl/sponsor.json")) // notifyChange() // } - vanced.postValue(latest?.obj("vanced")) - vancedVersions.postValue(versions?.array("vanced") ) - music.postValue(latest?.obj("music")) - musicVersions.postValue(versions?.array("music")) - microg.postValue(latest?.obj("microg")) - manager.postValue(latest?.obj("manager")) - isFetching.postValue(false) + vanced.postValue(latest?.obj("vanced")) + vancedVersions.postValue(versions?.array("vanced") ) + music.postValue(latest?.obj("music")) + musicVersions.postValue(versions?.array("music")) + microg.postValue(latest?.obj("microg")) + manager.postValue(latest?.obj("manager")) + isFetching.postValue(false) +} + +private suspend fun getJsonString(file: String, obj: String, context: Context): String { + val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl) + return try { + getJson("$installUrl/$file")?.string(obj) ?: context.getString(R.string.unavailable) + } catch (e: Exception) { + Log.e(TAG, "Error: ", e) + context.getString(R.string.unavailable) } +} - private suspend fun getJsonString(file: String, obj: String, context: Context): String { - val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl) - return try { - JsonHelper.getJson("$installUrl/$file")?.string(obj) ?: context.getString(R.string.unavailable) - } catch (e: Exception) { - Log.e(TAG, "Error: ", e) - context.getString(R.string.unavailable) - } +suspend fun getSha256(hashUrl: String, obj: String, context: Context): String { + return getJsonString(hashUrl, obj, context) +} + +fun checkSHA256(sha256: String, updateFile: File): Boolean { + return try { + val dataBuffer = updateFile.readBytes() + // Generate the checksum + val sum = generateChecksum(dataBuffer) + + sum.equals(sha256, ignoreCase = true) + } catch (e: Exception) { + e.printStackTrace() + false } +} - suspend fun getSha256(hashUrl: String, obj: String, context: Context): String { - return getJsonString(hashUrl, obj, context) - } - - fun checkSHA256(sha256: String, updateFile: File): Boolean { - return try { - val dataBuffer = updateFile.readBytes() - // Generate the checksum - val sum = generateChecksum(dataBuffer) - - sum.equals(sha256, ignoreCase = true) - } catch (e: Exception) { - e.printStackTrace() - false - } - } - - const val baseUrl = "https://vancedapp.com/api/v1" - -} \ No newline at end of file +const val baseUrl = "https://vancedapp.com/api/v1" \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/utils/JsonHelper.kt b/app/src/main/java/com/vanced/manager/utils/JsonHelper.kt index 40db24d9..d140f163 100644 --- a/app/src/main/java/com/vanced/manager/utils/JsonHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/JsonHelper.kt @@ -7,32 +7,28 @@ import com.beust.klaxon.Parser import com.github.kittinunf.fuel.coroutines.awaitString import com.github.kittinunf.fuel.httpGet -object JsonHelper { +private var dataMap: HashMap = HashMap() - private var dataMap: HashMap = HashMap() - - suspend fun getJson(url: String): JsonObject? { - return try { - if (dataMap.containsKey(url)) { - dataMap[url] - } else { - dataMap[url] = getSuspendJson(url) - dataMap[url] - } - } catch (e: Exception) { - //This null is NEEDED, do NOT try to "fix" NPE here!!! - null +suspend fun getJson(url: String): JsonObject? { + return try { + if (dataMap.containsKey(url)) { + dataMap[url] + } else { + dataMap[url] = getSuspendJson(url) + dataMap[url] } + } catch (e: Exception) { + //This null is NEEDED, do NOT try to "fix" NPE here!!! + null } +} - private suspend fun getSuspendJson(url: String): JsonObject = - Parser.default().parse( - StringBuilder(url.httpGet().awaitString()) - ) as JsonObject +private suspend fun getSuspendJson(url: String): JsonObject = + Parser.default().parse( + StringBuilder(url.httpGet().awaitString()) + ) as JsonObject - suspend fun getJsonArray(url: String): JsonArray = - Klaxon().parseArray( - url.httpGet().awaitString() - ) as JsonArray - -} \ No newline at end of file +suspend fun getJsonArray(url: String): JsonArray = + Klaxon().parseArray( + url.httpGet().awaitString() + ) as JsonArray diff --git a/app/src/main/java/com/vanced/manager/utils/LanguageHelper.kt b/app/src/main/java/com/vanced/manager/utils/LanguageHelper.kt index 498c348a..ce38b2f0 100644 --- a/app/src/main/java/com/vanced/manager/utils/LanguageHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/LanguageHelper.kt @@ -11,73 +11,68 @@ import android.provider.Settings import androidx.annotation.RequiresApi import com.crowdin.platform.Crowdin import com.vanced.manager.R -import com.vanced.manager.utils.InternetTools.vanced import java.util.* -object LanguageHelper { - - fun getLanguageFormat(context: Context, language: String): String { - return when { - language == "System Default" -> context.getString(R.string.system_default) - language.length > 2 -> { - val loc = Locale( - language.substring(0, language.length - 3), - language.substring(language.length - 2) - ) - loc.getDisplayName(loc).capitalize(Locale.ENGLISH) - } - else -> { - val loc = Locale(language) - loc.getDisplayName(loc).capitalize(Locale.ENGLISH) - } +fun getLanguageFormat(context: Context, language: String): String { + return when { + language == "System Default" -> context.getString(R.string.system_default) + language.length > 2 -> { + val loc = Locale( + language.substring(0, language.length - 3), + language.substring(language.length - 2) + ) + loc.getDisplayName(loc).capitalize(Locale.ENGLISH) + } + else -> { + val loc = Locale(language) + loc.getDisplayName(loc).capitalize(Locale.ENGLISH) } - } - @Suppress("DEPRECATION") - fun getDefaultVancedLanguages(): String { - val serverLangs = vanced.value?.array("langs") ?: mutableListOf("") - val sysLocales = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) Resources.getSystem().configuration.locales.toLangTags() else arrayOf(Resources.getSystem().configuration.locale.language) - val finalLangs = mutableListOf() - sysLocales.forEach { sysLocale -> - when { - sysLocale == "en" -> finalLangs.add(sysLocale) - serverLangs.contains(sysLocale) -> finalLangs.add(sysLocale) - } - } +} - return finalLangs.distinct().sorted().joinToString(", ") +@Suppress("DEPRECATION") +fun getDefaultVancedLanguages(): String { + val serverLangs = vanced.value?.array("langs") ?: mutableListOf("") + val sysLocales = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) Resources.getSystem().configuration.locales.toLangTags() else arrayOf(Resources.getSystem().configuration.locale.language) + val finalLangs = mutableListOf() + sysLocales.forEach { sysLocale -> + when { + sysLocale == "en" -> finalLangs.add(sysLocale) + serverLangs.contains(sysLocale) -> finalLangs.add(sysLocale) + } } - @RequiresApi(Build.VERSION_CODES.N) - fun LocaleList.toLangTags(): Array { - val langTags: Array = this.toLanguageTags().split(",").toTypedArray() - for (i in 0 until this.size()) { - langTags[i] = langTags[i].substring(0, 2) - } - return langTags - } + return finalLangs.distinct().sorted().joinToString(", ") +} - fun Activity.authCrowdin() { - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (!Settings.canDrawOverlays(this)) { - val intent = Intent( - Settings.ACTION_MANAGE_OVERLAY_PERMISSION, - Uri.parse("package:$packageName") - ) - startActivityForResult(intent, 69) - return - } +@RequiresApi(Build.VERSION_CODES.N) +fun LocaleList.toLangTags(): Array { + val langTags: Array = this.toLanguageTags().split(",").toTypedArray() + for (i in 0 until this.size()) { + langTags[i] = langTags[i].substring(0, 2) + } + return langTags +} + +fun Activity.authCrowdin() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (!Settings.canDrawOverlays(this)) { + val intent = Intent( + Settings.ACTION_MANAGE_OVERLAY_PERMISSION, + Uri.parse("package:$packageName") + ) + startActivityForResult(intent, 69) + return + } + Crowdin.authorize(this) + } +} + +fun Activity.onActivityResult(requestCode: Int) { + if (requestCode == 69 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + if (Settings.canDrawOverlays(this)) { Crowdin.authorize(this) } } - - fun Activity.onActivityResult(requestCode: Int) { - if (requestCode == 69 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - if (Settings.canDrawOverlays(this)) { - Crowdin.authorize(this) - } - } - } - } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/utils/MiuiHelper.kt b/app/src/main/java/com/vanced/manager/utils/MiuiHelper.kt index 07fe9624..5b02ab48 100644 --- a/app/src/main/java/com/vanced/manager/utils/MiuiHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/MiuiHelper.kt @@ -4,22 +4,19 @@ import java.io.BufferedReader import java.io.IOException import java.io.InputStreamReader -object MiuiHelper { +private const val MIUI_PROP_NAME = "ro.miui.ui.version.name" - private const val MIUI_PROP_NAME = "ro.miui.ui.version.name" +fun isMiui(): Boolean = !getSystemProps(MIUI_PROP_NAME).isNullOrEmpty() - fun isMiui(): Boolean = !getSystemProps(MIUI_PROP_NAME).isNullOrEmpty() - - private fun getSystemProps(propname: String): String? { - var input: BufferedReader? = null - return try { - val process = Runtime.getRuntime().exec("getprop $propname") - input = BufferedReader(InputStreamReader(process.inputStream), 1024) - input.readLine() - } catch (e: IOException) { - null - } finally { - input?.close() - } +private fun getSystemProps(propname: String): String? { + var input: BufferedReader? = null + return try { + val process = Runtime.getRuntime().exec("getprop $propname") + input = BufferedReader(InputStreamReader(process.inputStream), 1024) + input.readLine() + } catch (e: IOException) { + null + } finally { + input?.close() } } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt b/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt index aec3faaf..7315dc5f 100644 --- a/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt @@ -18,9 +18,6 @@ import com.vanced.manager.utils.AppUtils.sendCloseDialog import com.vanced.manager.utils.AppUtils.sendFailure import com.vanced.manager.utils.AppUtils.sendRefresh import com.vanced.manager.utils.AppUtils.vancedRootPkg -import com.vanced.manager.utils.Extensions.writeServiceDScript -import com.vanced.manager.utils.InternetTools.music -import com.vanced.manager.utils.InternetTools.vanced import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/vanced/manager/utils/ThemeHelper.kt b/app/src/main/java/com/vanced/manager/utils/ThemeHelper.kt index e53b769e..75b844bf 100644 --- a/app/src/main/java/com/vanced/manager/utils/ThemeHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/ThemeHelper.kt @@ -5,27 +5,22 @@ import android.content.res.Configuration import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.vanced.manager.R -import com.vanced.manager.utils.Extensions.getDefaultPrefs -object ThemeHelper { +const val defAccentColor: Int = -13732865 - const val defAccentColor: Int = -13732865 +val mutableAccentColor = MutableLiveData() +val accentColor: LiveData = mutableAccentColor - val mutableAccentColor = MutableLiveData() - val accentColor: LiveData = mutableAccentColor - - fun Activity.setFinalTheme() { - when (getDefaultPrefs().getString("manager_theme", "System Default")) { - "Light" -> setTheme(R.style.LightTheme) - "Dark" -> setTheme(R.style.DarkTheme) - "System Default" -> { - when (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) { - Configuration.UI_MODE_NIGHT_YES -> setTheme(R.style.DarkTheme) - Configuration.UI_MODE_NIGHT_NO -> setTheme(R.style.LightTheme) - } +fun Activity.setFinalTheme() { + when (getDefaultPrefs().getString("manager_theme", "System Default")) { + "Light" -> setTheme(R.style.LightTheme) + "Dark" -> setTheme(R.style.DarkTheme) + "System Default" -> { + when (resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) { + Configuration.UI_MODE_NIGHT_YES -> setTheme(R.style.DarkTheme) + Configuration.UI_MODE_NIGHT_NO -> setTheme(R.style.LightTheme) } - else -> setTheme(R.style.LightTheme) } + else -> setTheme(R.style.LightTheme) } - } \ No newline at end of file