diff --git a/README.md b/README.md index 6a48b1b3..61fd2158 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ Pull requests should be made to the Dev branch as that is the working branch, ma ====== For anyone who wants to provide translations please submit them to https://crowdin.com/project/vanced-manager as we also use it for YouTube Vanced. Any issues with translations should be posted there too. ====== +Vanced FAQ (from the faq branch) now available on the playstore! https://play.google.com/store/apps/details?id=com.vanced.faq +## The FAQ app has just been suspended due to "Impersonating Vanced", an appeal has been filed, reporting other apps which impersonate Vanced on the play store is appreciated. + [![Github All Releases](https://img.shields.io/github/downloads/YTVanced/VancedManager/total.svg)](https://github.com/YTVanced/VancedManager/releases/latest) [![Github All Releases](https://img.shields.io/github/release/YTVanced/VancedManager.svg)](https://github.com/YTVanced/VancedManager/releases/latest) # Vanced Manager Hi, when we released Vanced 15.05.54, people were upset because it used the .apks format, which was way harder to install than a traditional .apk file. Even though we wrote clear instructions on how to install the new Vanced build, people still couldn't figure it out. diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5970e66b..3e5c057c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -15,8 +15,8 @@ android { applicationId = "com.vanced.manager" minSdkVersion(21) targetSdkVersion(30) - versionCode = 221 - versionName = "2.2.1 (RootedFirebase)" + versionCode = 230 + versionName = "2.3.0 (MicroShitMoment)" vectorDrawables.useSupportLibrary = true diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 620ade3f..f83e411e 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,6 +21,7 @@ + - - () { @@ -18,14 +20,14 @@ class SelectAppsAdapter(private val context: Context) : context.getString(R.string.vanced), context.getString(R.string.select_apps_vanced), "vanced", - prefs.getBoolean("enable_vanced", true) + prefs.enableVanced ) private val music = SelectAppModel( context.getString(R.string.music), context.getString(R.string.select_apps_music), "music", - prefs.getBoolean("enable_music", true) + prefs.enableMusic ) val apps = arrayOf(vanced, music) diff --git a/app/src/main/java/com/vanced/manager/adapter/SponsorAdapter.kt b/app/src/main/java/com/vanced/manager/adapter/SponsorAdapter.kt index d69baa9c..b7c7d8a0 100644 --- a/app/src/main/java/com/vanced/manager/adapter/SponsorAdapter.kt +++ b/app/src/main/java/com/vanced/manager/adapter/SponsorAdapter.kt @@ -56,26 +56,6 @@ class SponsorAdapter( override fun getItemCount(): Int = 2 -// fun getCountryFromIP(ipAddress: String?): String? { -// val db = context.assets.open("GeoLite2-Country.mmdb") -// val reader = DatabaseReader.Builder(db).build() -// val inetIp = InetAddress.getByName(ipAddress) -// return reader.country(inetIp).country.isoCode -// } -// -// init { -// json.addOnPropertyChangedCallback(object : Observable.OnPropertyChangedCallback() { -// override fun onPropertyChanged(sender: Observable?, propertyId: Int) { -// val wm = context.applicationContext.getSystemService(WIFI_SERVICE) as WifiManager? -// val ip: String = formatIpAddress(wm!!.connectionInfo.ipAddress) -// val promotedTiers = json.get()?.array("tier2")?.value!! + json.get()?.array("tier3")?.value!! -// if (promotedTiers.any { getCountryFromIP(ip)?.contains(it)!! }) -// sponsors.removeAt(1) -// } -// -// }) -// } - companion object { const val BRAVE = "https://vancedapp.com/brave" const val ADGUARD = "https://adguard.com/?aid=31141&source=manager" 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 eef1caff..70eeedb1 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 @@ -5,8 +5,7 @@ import com.vanced.manager.R import com.vanced.manager.utils.DownloadHelper.download import com.vanced.manager.utils.DownloadHelper.downloadProgress import com.vanced.manager.utils.PackageHelper.install -import com.vanced.manager.utils.getDefaultPrefs -import com.vanced.manager.utils.getInstallUrl +import com.vanced.manager.utils.baseInstallUrl import com.vanced.manager.utils.microg object MicrogDownloader { @@ -16,13 +15,11 @@ object MicrogDownloader { fun downloadMicrog(context: Context) { val url = microg.value?.string("url") ?: "" - context.getDefaultPrefs().getInstallUrl()?.let { - download(url, "$it/", folderName, fileName, context, onDownloadComplete = { - startMicrogInstall(context) - }, onError = { - downloadProgress.value?.downloadingFile?.postValue(context.getString(R.string.error_downloading, fileName)) - }) - } + download(url, "$baseInstallUrl/", folderName, fileName, context, onDownloadComplete = { + startMicrogInstall(context) + }, onError = { + downloadProgress.value?.downloadingFile?.postValue(context.getString(R.string.error_downloading, fileName)) + }) } 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 4ce7393a..cafc2041 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 @@ -1,7 +1,6 @@ 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 @@ -23,11 +22,11 @@ object MusicDownloader { private var hashUrl: String? = null fun downloadMusic(context: Context) { - val prefs = getDefaultSharedPreferences(context) - version = prefs.getString("music_version", "latest")?.getLatestAppVersion(musicVersions.value?.value ?: listOf("")) + val prefs = context.defPrefs + version = prefs.musicVersion?.getLatestAppVersion(musicVersions.value?.value ?: listOf("")) versionCode = music.value?.int("versionCode") - variant = prefs.getString("vanced_variant", "nonroot") - baseurl = "${prefs.getInstallUrl()}/music/v$version" + variant = prefs.managerVariant + baseurl = "$baseInstallUrl/music/v$version" folderName = "music/$variant" downloadPath = context.getExternalFilesDir(folderName)?.path hashUrl = "$baseurl/hash.json" @@ -37,7 +36,7 @@ object MusicDownloader { private fun downloadApk(context: Context, apk: String = "music") { val url = if (apk == "stock") "$baseurl/stock/${getArch()}.apk" else "$baseurl/$variant.apk" - download(url, baseurl + "/", folderName!!, getFileNameFromUrl(url), context, onDownloadComplete = { + download(url, "$baseurl/", folderName!!, getFileNameFromUrl(url), context, onDownloadComplete = { if (variant == "root" && apk != "stock") { downloadApk(context, "stock") return@download 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 0defd939..5481348a 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 @@ -3,7 +3,6 @@ package com.vanced.manager.core.downloader import android.content.Context import android.content.SharedPreferences import android.util.Log -import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.google.firebase.analytics.FirebaseAnalytics import com.google.firebase.analytics.ktx.logEvent import com.vanced.manager.R @@ -16,14 +15,12 @@ import com.vanced.manager.utils.PackageHelper.downloadStockCheck import com.vanced.manager.utils.PackageHelper.installVanced import com.vanced.manager.utils.PackageHelper.installVancedRoot import java.io.File -import java.lang.Exception object VancedDownloader { private lateinit var prefs: SharedPreferences private lateinit var defPrefs: SharedPreferences private lateinit var arch: String - private var installUrl: String? = null private var variant: String? = null private var theme: String? = null private var lang = mutableListOf() @@ -40,22 +37,20 @@ object VancedDownloader { private var downloadPath: String? = null private var folderName: String? = null - fun downloadVanced(context: Context) { - defPrefs = getDefaultSharedPreferences(context) - prefs = context.getSharedPreferences("installPrefs", Context.MODE_PRIVATE) - variant = defPrefs.getString("vanced_variant", "nonroot") + fun downloadVanced(context: Context, version: String?) { + defPrefs = context.defPrefs + prefs = context.installPrefs + variant = defPrefs.managerVariant folderName = "vanced/$variant" downloadPath = context.getExternalFilesDir(folderName)?.path File(downloadPath.toString()).deleteRecursively() - installUrl = defPrefs.getInstallUrl() - prefs.getString("lang", getDefaultVancedLanguages())?.let { + prefs.lang?.let { lang = it.split(", ").toMutableList() } - theme = prefs.getString("theme", "dark") - vancedVersion = defPrefs.getString("vanced_version", "latest")?.getLatestAppVersion(vancedVersions.value?.value ?: listOf("")) - themePath = "$installUrl/apks/v$vancedVersion/$variant/Theme" + theme = prefs.theme + vancedVersion = version ?: defPrefs.vancedVersion?.getLatestAppVersion(vancedVersions.value?.value ?: listOf("")) + themePath = "$baseInstallUrl/apks/v$vancedVersion/$variant/Theme" hashUrl = "apks/v$vancedVersion/$variant/Theme/hash.json" - //newInstaller = defPrefs.getBoolean("new_installer", false) arch = getArch() count = 0 @@ -72,57 +67,55 @@ object VancedDownloader { private fun downloadSplits(context: Context, type: String = "theme") { val url = when (type) { "theme" -> "$themePath/$theme.apk" - "arch" -> "$installUrl/apks/v$vancedVersion/$variant/Arch/split_config.$arch.apk" + "arch" -> "$baseInstallUrl/apks/v$vancedVersion/$variant/Arch/split_config.$arch.apk" "stock" -> "$themePath/stock.apk" "dpi" -> "$themePath/dpi.apk" - "lang" -> "$installUrl/apks/v$vancedVersion/$variant/Language/split_config.${lang[count]}.apk" + "lang" -> "$baseInstallUrl/apks/v$vancedVersion/$variant/Language/split_config.${lang[count]}.apk" else -> throw NotImplementedError("This type of APK is NOT valid. What the hell did you even do?") } - installUrl?.let { - download(url, "$it/", folderName!!, getFileNameFromUrl(url), context, onDownloadComplete = { - when (type) { - "theme" -> - if (variant == "root") { - if (validateTheme(downloadPath!!, theme!!, hashUrl, context)) { - if (downloadStockCheck(vancedRootPkg, vancedVersionCode, context)) - downloadSplits(context, "arch") - else - startVancedInstall(context) - } else - downloadSplits(context, "theme") + download(url, "$baseInstallUrl/", folderName!!, getFileNameFromUrl(url), context, onDownloadComplete = { + when (type) { + "theme" -> + if (variant == "root") { + if (validateTheme(downloadPath!!, theme!!, hashUrl, context)) { + if (downloadStockCheck(vancedRootPkg, vancedVersionCode, context)) + downloadSplits(context, "arch") + else + startVancedInstall(context) } else - downloadSplits(context, "arch") - "arch" -> if (variant == "root") downloadSplits(context, "stock") else downloadSplits(context, "lang") - "stock" -> downloadSplits(context, "dpi") - "dpi" -> downloadSplits(context, "lang") - "lang" -> { - count++ - succesfulLangCount++ - if (count < lang.size) - downloadSplits(context, "lang") - else - startVancedInstall(context) - } - - } - }, onError = { - if (type == "lang") { + downloadSplits(context, "theme") + } else + downloadSplits(context, "arch") + "arch" -> if (variant == "root") downloadSplits(context, "stock") else downloadSplits(context, "lang") + "stock" -> downloadSplits(context, "dpi") + "dpi" -> downloadSplits(context, "lang") + "lang" -> { count++ - when { - count < lang.size -> downloadSplits(context, "lang") - succesfulLangCount == 0 -> { - lang.add("en") - downloadSplits(context, "lang") - } - else -> startVancedInstall(context) - } - - } else { - downloadProgress.value?.downloadingFile?.postValue(context.getString(R.string.error_downloading, getFileNameFromUrl(url))) + succesfulLangCount++ + if (count < lang.size) + downloadSplits(context, "lang") + else + startVancedInstall(context) } - }) - } + + } + }, onError = { + if (type == "lang") { + count++ + when { + count < lang.size -> downloadSplits(context, "lang") + succesfulLangCount == 0 -> { + lang.add("en") + downloadSplits(context, "lang") + } + else -> startVancedInstall(context) + } + + } else { + downloadProgress.value?.downloadingFile?.postValue(context.getString(R.string.error_downloading, getFileNameFromUrl(url))) + } + }) } fun startVancedInstall(context: Context, variant: String? = this.variant) { 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 0b91d637..b580d163 100644 --- a/app/src/main/java/com/vanced/manager/model/DataModel.kt +++ b/app/src/main/java/com/vanced/manager/model/DataModel.kt @@ -3,19 +3,17 @@ package com.vanced.manager.model import android.content.Context import android.graphics.drawable.Drawable import android.os.Build +import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.beust.klaxon.JsonObject import com.vanced.manager.R 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 open class DataModel( private val jsonObject: LiveData, private val context: Context, + lifecycleOwner: LifecycleOwner, val appPkg: String, val appName: String, val appIcon: Drawable?, @@ -30,33 +28,27 @@ open class DataModel( val buttonTxt = MutableLiveData() val changelog = MutableLiveData() - private fun fetch() = CoroutineScope(Dispatchers.IO).launch { + private fun fetch() { val jobj = jsonObject.value - isAppInstalled.postValue(isAppInstalled(appPkg)) - versionCode.postValue(jobj?.int("versionCode") ?: 0) - versionName.postValue(jobj?.string("version")?.removeSuffix("-vanced") ?: context.getString(R.string.unavailable)) - changelog.postValue(jobj?.string("changelog") ?: context.getString(R.string.unavailable)) + isAppInstalled.value = isAppInstalled(appPkg) + versionCode.value = jobj?.int("versionCode") ?: 0 + versionName.value = jobj?.string("version")?.removeSuffix("-vanced") ?: context.getString(R.string.unavailable) + changelog.value = jobj?.string("changelog") ?: context.getString(R.string.unavailable) } init { fetch() - with(context.lifecycleOwner()) { - this?.let { - jsonObject.observe(it) { - fetch() - } + with(lifecycleOwner) { + jsonObject.observe(this) { + fetch() } - this?.let { - isAppInstalled.observe(it) { - installedVersionCode.value = getPkgVersionCode(appPkg) - installedVersionName.value = getPkgVersionName(appPkg) - } + isAppInstalled.observe(this) { + installedVersionCode.value = getPkgVersionCode(appPkg) + installedVersionName.value = getPkgVersionName(appPkg) } - this?.let { - versionCode.observe(it) { versionCode -> - installedVersionCode.observe(it) { installedVersionCode -> - buttonTxt.value = compareInt(installedVersionCode, versionCode) - } + versionCode.observe(this) { versionCode -> + installedVersionCode.observe(this) { installedVersionCode -> + buttonTxt.value = compareInt(installedVersionCode, versionCode) } } } diff --git a/app/src/main/java/com/vanced/manager/model/RootDataModel.kt b/app/src/main/java/com/vanced/manager/model/RootDataModel.kt index bf80ac83..952056d0 100644 --- a/app/src/main/java/com/vanced/manager/model/RootDataModel.kt +++ b/app/src/main/java/com/vanced/manager/model/RootDataModel.kt @@ -2,6 +2,7 @@ package com.vanced.manager.model import android.content.Context import android.graphics.drawable.Drawable +import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.LiveData import com.beust.klaxon.JsonObject import com.vanced.manager.utils.PackageHelper @@ -9,6 +10,7 @@ import com.vanced.manager.utils.PackageHelper class RootDataModel( jsonObject: LiveData, context: Context, + lifecycleOwner: LifecycleOwner, appPkg: String, appName: String, appIcon: Drawable?, @@ -19,7 +21,7 @@ class RootDataModel( //Ironic, isn't it? private val scriptName: String? ): DataModel( - jsonObject, context, appPkg, appName, appIcon + jsonObject, context, lifecycleOwner, appPkg, appName, appIcon ) { override fun isAppInstalled(pkg: String): Boolean { 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 e1e2e062..d10e161e 100644 --- a/app/src/main/java/com/vanced/manager/ui/MainActivity.kt +++ b/app/src/main/java/com/vanced/manager/ui/MainActivity.kt @@ -142,7 +142,7 @@ class MainActivity : AppCompatActivity() { private fun initDialogs(firstLaunch: Boolean) { val prefs = getDefaultSharedPreferences(this) - val variant = prefs.getString("vanced_variant", "nonroot") + val variant = prefs.managerVariant prefs.getBoolean("show_root_dialog", true) if (intent?.data != null && intent.dataString?.startsWith("https") == true) { diff --git a/app/src/main/java/com/vanced/manager/ui/core/PreferenceSwitch.kt b/app/src/main/java/com/vanced/manager/ui/core/PreferenceSwitch.kt index 8f5c2bff..1155e0ab 100644 --- a/app/src/main/java/com/vanced/manager/ui/core/PreferenceSwitch.kt +++ b/app/src/main/java/com/vanced/manager/ui/core/PreferenceSwitch.kt @@ -6,9 +6,9 @@ import android.view.LayoutInflater import android.widget.CompoundButton import android.widget.FrameLayout import androidx.core.content.edit -import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.vanced.manager.R import com.vanced.manager.databinding.ViewPreferenceSwitchBinding +import com.vanced.manager.utils.defPrefs class PreferenceSwitch @JvmOverloads constructor( context: Context, @@ -17,11 +17,11 @@ class PreferenceSwitch @JvmOverloads constructor( defStyleRes: Int = 0 ) : FrameLayout(context, attrs, defStyle, defStyleRes) { - interface OnCheckedListener { + fun interface OnCheckedListener { fun onChecked(buttonView: CompoundButton, isChecked: Boolean) } - private val prefs by lazy { getDefaultSharedPreferences(context) } + private val prefs by lazy { context.defPrefs } var prefKey: String = "" private set @@ -64,15 +64,7 @@ class PreferenceSwitch @JvmOverloads constructor( } } - fun setOnCheckedListener(method: (buttonView: CompoundButton, isChecked: Boolean) -> Unit) { - mListener = object : OnCheckedListener { - override fun onChecked(buttonView: CompoundButton, isChecked: Boolean) { - method(buttonView, isChecked) - } - } - } - - fun setOnCheckedListener(listener: OnCheckedListener?) { + fun setOnCheckedListener(listener: OnCheckedListener) { mListener = listener } 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 65010dec..511eed07 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 @@ -7,9 +7,9 @@ import androidx.core.graphics.ColorUtils import com.google.android.material.button.MaterialButton import com.vanced.manager.R import com.vanced.manager.utils.accentColor -import com.vanced.manager.utils.defAccentColor -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs import com.vanced.manager.utils.lifecycleOwner +import com.vanced.manager.utils.managerAccent class ThemedMaterialButton @JvmOverloads constructor( context: Context, @@ -18,7 +18,7 @@ class ThemedMaterialButton @JvmOverloads constructor( ) : MaterialButton(context, attributeSet, defStyleAttr) { init { - setBgColor(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) + setBgColor(context.defPrefs.managerAccent) context.lifecycleOwner()?.let { owner -> accentColor.observe(owner) { color -> setBgColor(color.toInt()) 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 a243abc8..eea3ee3d 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,14 +5,14 @@ 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.defAccentColor -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs +import com.vanced.manager.utils.managerAccent class ThemedMaterialCheckbox @JvmOverloads constructor( context: Context, attributeSet: AttributeSet? = null, ) : MaterialCheckBox(context, attributeSet, R.attr.checkboxStyle) { init { - buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) + buttonTintList = ColorStateList.valueOf(context.defPrefs.managerAccent) } } \ No newline at end of file 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 fd0c302f..6022a426 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,14 +5,14 @@ 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.defAccentColor -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs +import com.vanced.manager.utils.managerAccent class ThemedMaterialRadioButton @JvmOverloads constructor( context: Context, attributeSet: AttributeSet? = null, ) : MaterialRadioButton(context, attributeSet, R.attr.radioButtonStyle) { init { - buttonTintList = ColorStateList.valueOf(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) + buttonTintList = ColorStateList.valueOf(context.defPrefs.managerAccent) } } \ No newline at end of file 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 b3a63a1d..ed89b9b5 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.defAccentColor -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs +import com.vanced.manager.utils.managerAccent 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", defAccentColor)) + thumbStrokeColor = ColorStateList.valueOf(context.defPrefs.managerAccent) } } \ 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 99c83daa..a1dd5bb5 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 @@ -6,9 +6,9 @@ import android.util.AttributeSet import androidx.core.graphics.ColorUtils import com.google.android.material.button.MaterialButton import com.vanced.manager.utils.accentColor -import com.vanced.manager.utils.defAccentColor -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs import com.vanced.manager.utils.lifecycleOwner +import com.vanced.manager.utils.managerAccent class ThemedOutlinedMaterialButton @JvmOverloads constructor( @@ -17,7 +17,7 @@ class ThemedOutlinedMaterialButton @JvmOverloads constructor( defStyleAttr: Int = 0 ) : MaterialButton(context, attributeSet, defStyleAttr) { init { - applyAccent(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) + applyAccent(context.defPrefs.managerAccent) context.lifecycleOwner()?.let { owner -> accentColor.observe(owner) { color -> applyAccent(color.toInt()) 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 2e731349..0cd37b7d 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,15 +4,15 @@ import android.content.Context import android.util.AttributeSet import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import com.vanced.manager.R -import com.vanced.manager.utils.defAccentColor -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs +import com.vanced.manager.utils.managerAccent class ThemedSwipeRefreshlayout @JvmOverloads constructor( context: Context, attributeSet: AttributeSet? = null ) : SwipeRefreshLayout(context, attributeSet) { init { - setColorSchemeColors(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) + setColorSchemeColors(context.defPrefs.managerAccent) initAttrs(context, attributeSet) } private fun initAttrs(context: Context, attributeSet: AttributeSet?) { 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 7ad3f77b..7d51ef62 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 @@ -9,9 +9,9 @@ import androidx.core.graphics.ColorUtils import androidx.core.graphics.drawable.DrawableCompat import com.vanced.manager.R import com.vanced.manager.utils.accentColor -import com.vanced.manager.utils.defAccentColor -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs import com.vanced.manager.utils.lifecycleOwner +import com.vanced.manager.utils.managerAccent class ThemedSwitchCompat @JvmOverloads constructor( context: Context, @@ -21,7 +21,7 @@ class ThemedSwitchCompat @JvmOverloads constructor( private val states = arrayOf(intArrayOf(-android.R.attr.state_checked), intArrayOf(android.R.attr.state_checked)) init { - setSwitchColors(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) + setSwitchColors(context.defPrefs.managerAccent) context.lifecycleOwner()?.let { owner -> accentColor.observe(owner) { color -> setSwitchColors(color.toInt()) 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 e79ab851..6ec2189f 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 @@ -4,9 +4,9 @@ import android.content.Context import android.util.AttributeSet import androidx.appcompat.widget.AppCompatTextView import com.vanced.manager.utils.accentColor -import com.vanced.manager.utils.defAccentColor -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs import com.vanced.manager.utils.lifecycleOwner +import com.vanced.manager.utils.managerAccent class ThemedTextView @JvmOverloads constructor( context: Context, @@ -14,7 +14,7 @@ class ThemedTextView @JvmOverloads constructor( defStyleAttr: Int = 0 ) : AppCompatTextView(context, attributeSet, defStyleAttr) { init { - setTextColor(context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) + setTextColor(context.defPrefs.managerAccent) context.lifecycleOwner()?.let { owner -> accentColor.observe(owner) { color -> setTextColor(color.toInt()) 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 94a7734d..f4f4d0c3 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 @@ -26,14 +26,17 @@ class AppDownloadDialog : BindingDialogFragment() { const val CLOSE_DIALOG = "close_dialog" private const val TAG_APP = "TAG_APP" + private const val TAG_VERSION = "TAG_VERSION" private const val TAG_INSTALLING = "TAG_INSTALLING" fun newInstance( app: String, + version: String? = null, installing: Boolean = false ): AppDownloadDialog = AppDownloadDialog().apply { arguments = Bundle().apply { putString(TAG_APP, app) + putString(TAG_VERSION, version) putBoolean(TAG_INSTALLING, installing) } } @@ -70,7 +73,7 @@ class AppDownloadDialog : BindingDialogFragment() { appDownloadHeader.text = app if (arguments?.getBoolean(TAG_INSTALLING) == false) { when (app) { - getString(R.string.vanced) -> downloadVanced(requireContext()) + getString(R.string.vanced) -> downloadVanced(requireContext(), arguments?.getString(TAG_VERSION)) getString(R.string.music) -> downloadMusic(requireContext()) getString(R.string.microg) -> downloadMicrog(requireContext()) } 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 bc08491c..90dc1b45 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,12 +11,12 @@ 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.defPrefs import com.vanced.manager.utils.getCheckedButtonTag -import com.vanced.manager.utils.getDefaultPrefs class AppVersionSelectorDialog : BindingBottomSheetDialogFragment() { - private val prefs by lazy { requireActivity().getDefaultPrefs() } + private val prefs by lazy { requireActivity().defPrefs } companion object { diff --git a/app/src/main/java/com/vanced/manager/ui/dialogs/InstallationFilesDetectedDialog.kt b/app/src/main/java/com/vanced/manager/ui/dialogs/InstallationFilesDetectedDialog.kt index c2b7b9a3..2174f676 100644 --- a/app/src/main/java/com/vanced/manager/ui/dialogs/InstallationFilesDetectedDialog.kt +++ b/app/src/main/java/com/vanced/manager/ui/dialogs/InstallationFilesDetectedDialog.kt @@ -3,7 +3,6 @@ package com.vanced.manager.ui.dialogs import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup -import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.vanced.manager.R import com.vanced.manager.core.downloader.MicrogDownloader.startMicrogInstall import com.vanced.manager.core.downloader.MusicDownloader.startMusicInstall @@ -11,6 +10,8 @@ import com.vanced.manager.core.downloader.VancedDownloader.startVancedInstall import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.core.ui.ext.showDialog import com.vanced.manager.databinding.DialogInstallationFilesDetectedBinding +import com.vanced.manager.utils.defPrefs +import com.vanced.manager.utils.managerVariant class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment() { @@ -55,10 +56,7 @@ class InstallationFilesDetectedDialog : BindingBottomSheetDialogFragment startVancedInstall( requireContext(), - getDefaultSharedPreferences(requireContext()).getString( - "vanced_variant", - "nonroot" - ) + context?.defPrefs?.managerVariant ) getString(R.string.music) -> startMusicInstall(requireContext()) getString(R.string.microg) -> startMicrogInstall(requireContext()) 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 46469c37..6a805fef 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 @@ -10,16 +10,12 @@ import android.view.LayoutInflater import android.view.ViewGroup import android.widget.TextView import android.widget.Toast -import androidx.core.content.edit import androidx.preference.PreferenceManager.getDefaultSharedPreferences 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.accentColor -import com.vanced.manager.utils.defAccentColor -import com.vanced.manager.utils.mutableAccentColor -import com.vanced.manager.utils.toHex +import com.vanced.manager.utils.* class ManagerAccentColorDialog : BindingDialogFragment() { @@ -95,7 +91,7 @@ class ManagerAccentColorDialog : BindingDialogFragment() { @@ -40,12 +40,12 @@ class ManagerLanguageDialog : BindingBottomSheetDialogFragment languageRadiogroup.addView(mrb, MATCH_PARENT, WRAP_CONTENT) } - val language = prefs.getString("manager_lang", "System Default") + val language = prefs.managerLang root.findViewWithTag(language)?.isChecked = true languageSave.setOnClickListener { val newPref = binding.languageRadiogroup.getCheckedButtonTag() if (language != newPref) { - prefs.edit { putString("manager_lang", newPref) } + prefs.managerLang = newPref dismiss() requireActivity().recreate() } else { 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 75b3d548..72db5d50 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 @@ -3,12 +3,12 @@ package com.vanced.manager.ui.dialogs import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup -import androidx.core.content.edit 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.getCheckedButtonTag +import com.vanced.manager.utils.managerTheme class ManagerThemeDialog : BindingBottomSheetDialogFragment() { @@ -33,12 +33,12 @@ class ManagerThemeDialog : BindingBottomSheetDialogFragment(theme).isChecked = true themeSave.setOnClickListener { val newPref = themeRadiogroup.getCheckedButtonTag() if (theme != newPref) { - prefs.edit { putString("manager_theme", newPref) } + prefs.managerTheme = newPref dismiss() requireActivity().recreate() } else { 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 ecf26d3a..79dd203e 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 @@ -3,13 +3,13 @@ package com.vanced.manager.ui.dialogs import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup -import androidx.core.content.edit import androidx.preference.PreferenceManager.getDefaultSharedPreferences 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.getCheckedButtonTag +import com.vanced.manager.utils.managerVariant class ManagerVariantDialog : BindingBottomSheetDialogFragment() { @@ -34,18 +34,17 @@ class ManagerVariantDialog : BindingBottomSheetDialogFragment(variant).isChecked = true variantSave.setOnClickListener { val newPref = variantRadiogroup.getCheckedButtonTag() if (variant != newPref) { - prefs.edit { + prefs.managerVariant = if (newPref == "root" && Shell.rootAccess()) { - putString("vanced_variant", "root") + "root" } else { - putString("vanced_variant", "nonroot") + "nonroot" } - } dismiss() requireActivity().recreate() } else { 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 dbb4b51a..49f68e0d 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 @@ -8,7 +8,7 @@ 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.convertToAppVersions -import com.vanced.manager.utils.getDefaultPrefs +import com.vanced.manager.utils.defPrefs import com.vanced.manager.utils.musicVersions class MusicPreferencesDialog : BindingBottomSheetDialogFragment() { @@ -20,7 +20,7 @@ class MusicPreferencesDialog : BindingBottomSheetDialogFragment() { - private val prefs by lazy { requireActivity().getDefaultPrefs() } + private val prefs by lazy { requireActivity().defPrefs } override fun binding( inflater: LayoutInflater, 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 f277d3f1..20ed0784 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 @@ -6,17 +6,16 @@ import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup import android.widget.TextView -import androidx.core.content.edit 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.baseUrl -import com.vanced.manager.utils.loadJson +import com.vanced.manager.utils.* import kotlinx.coroutines.launch class URLChangeDialog : BindingDialogFragment() { + private val prefs by lazy { requireActivity().defPrefs } + companion object { fun newInstance(): URLChangeDialog = URLChangeDialog().apply { @@ -41,7 +40,7 @@ class URLChangeDialog : BindingDialogFragment() { if (arguments != null) { arguments?.getString("url") } else { - getDefaultSharedPreferences(requireActivity()).getString("install_url", baseUrl) + prefs.installUrl }, TextView.BufferType.EDITABLE ) @@ -59,7 +58,8 @@ class URLChangeDialog : BindingDialogFragment() { private fun saveUrl(url: String) { lifecycleScope.launch { - getDefaultSharedPreferences(requireActivity()).edit { putString("install_url", url) } + prefs.installUrl = url + baseInstallUrl = url loadJson(requireActivity()) dismiss() } 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 04ff5c1f..28f50f56 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 @@ -1,6 +1,5 @@ package com.vanced.manager.ui.dialogs -import android.content.Context import android.content.DialogInterface import android.os.Bundle import android.view.LayoutInflater @@ -9,14 +8,14 @@ import android.view.ViewGroup.LayoutParams.MATCH_PARENT import android.view.ViewGroup.LayoutParams.WRAP_CONTENT import android.widget.LinearLayout import android.widget.Toast -import androidx.core.content.edit import com.google.android.material.checkbox.MaterialCheckBox 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.DialogVancedLanguageSelectionBinding import com.vanced.manager.ui.core.ThemedMaterialCheckbox -import com.vanced.manager.utils.getDefaultVancedLanguages +import com.vanced.manager.utils.installPrefs +import com.vanced.manager.utils.lang import com.vanced.manager.utils.vanced import java.util.* @@ -30,7 +29,7 @@ class VancedLanguageSelectionDialog : BindingBottomSheetDialogFragment("langs")?.value - private val prefs by lazy { requireActivity().getSharedPreferences("installPrefs", Context.MODE_PRIVATE) } + private val prefs by lazy { requireActivity().installPrefs } override fun binding( inflater: LayoutInflater, @@ -56,14 +55,14 @@ class VancedLanguageSelectionDialog : BindingBottomSheetDialogFragment val loc = Locale(lang) val box = ThemedMaterialCheckbox(requireActivity()).apply { 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 9e3a4b86..3c53c3c1 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 @@ -1,15 +1,16 @@ package com.vanced.manager.ui.dialogs -import android.content.Context import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup -import androidx.core.content.edit +import com.google.android.material.dialog.MaterialAlertDialogBuilder 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.* +import com.vanced.manager.utils.AppUtils.vancedPkg +import com.vanced.manager.utils.PackageHelper.isPackageInstalled import java.util.* class VancedPreferencesDialog : BindingBottomSheetDialogFragment() { @@ -21,8 +22,8 @@ class VancedPreferencesDialog : BindingBottomSheetDialogFragment() - installPrefs.getString("lang", getDefaultVancedLanguages())?.split(", ")?.toTypedArray()?.forEach { lang -> + installPrefs.lang?.split(", ")?.toTypedArray()?.forEach { lang -> val loc = Locale(lang) showLang.add(loc.getDisplayLanguage(loc).capitalize(Locale.ROOT)) } - val vancedVersionsConv = vancedVersions.value?.value?.reversed()?.convertToAppVersions() + val vancedVersionsConv = vancedVersions.value?.value?.convertToAppVersions() vancedInstallTitle.text = getString(R.string.app_installation_preferences, getString(R.string.vanced)) vancedTheme.text = getString(R.string.chosen_theme, installPrefs.getString("theme", "dark")?.convertToAppTheme(requireActivity())) vancedVersion.text = getString(R.string.chosen_version, defPrefs.getString("vanced_version", "latest")) @@ -65,16 +66,35 @@ class VancedPreferencesDialog : BindingBottomSheetDialogFragment + downloadVanced("15.43.32") + } + setNeutralButton(R.string.cancel) { _, _ -> + dismiss() + } + create() + }.applyAccent() + return@setOnClickListener + } + + downloadVanced() } } } 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 08dac240..18688cb7 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 @@ -5,7 +5,6 @@ import android.content.DialogInterface import android.os.Bundle import android.view.LayoutInflater import android.view.ViewGroup -import androidx.core.content.edit import com.vanced.manager.R import com.vanced.manager.core.ui.base.BindingBottomSheetDialogFragment import com.vanced.manager.core.ui.ext.showDialog @@ -13,6 +12,7 @@ import com.vanced.manager.databinding.DialogBottomRadioButtonBinding import com.vanced.manager.ui.core.ThemedMaterialRadioButton import com.vanced.manager.utils.convertToAppTheme import com.vanced.manager.utils.getCheckedButtonTag +import com.vanced.manager.utils.theme import com.vanced.manager.utils.vanced class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment() { @@ -46,14 +46,14 @@ class VancedThemeSelectorDialog : BindingBottomSheetDialogFragment(prefs.getString("theme", "dark")) + val tag = root.findViewWithTag(prefs.theme) if (tag != null) { tag.isChecked = true } dialogSave.setOnClickListener { val checkedTag = binding.dialogRadiogroup.getCheckedButtonTag() if (checkedTag != null) { - prefs.edit { putString("theme", checkedTag) } + prefs.theme = checkedTag } dismiss() } 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 cd2516b6..0e07a108 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 @@ -155,14 +155,16 @@ open class HomeViewModel(private val activity: FragmentActivity): ViewModel() { } init { - if (variant == "root") { - vancedRootModel.value = RootDataModel(vanced, activity, vancedRootPkg, activity.getString(R.string.vanced), AppCompatResources.getDrawable(activity, R.drawable.ic_vanced), "vanced") - musicRootModel.value = RootDataModel(music, activity, musicRootPkg, activity.getString(R.string.music), AppCompatResources.getDrawable(activity, R.drawable.ic_music), "music") - } else { - vancedModel.value = DataModel(vanced, activity, vancedPkg, activity.getString(R.string.vanced), AppCompatResources.getDrawable(activity, R.drawable.ic_vanced)) - musicModel.value = DataModel(music, activity, musicPkg, activity.getString(R.string.music), AppCompatResources.getDrawable(activity, R.drawable.ic_music)) - microgModel.value = DataModel(microg, activity, microgPkg, activity.getString(R.string.microg), AppCompatResources.getDrawable(activity, R.drawable.ic_microg)) + with (activity) { + if (variant == "root") { + vancedRootModel.value = RootDataModel(vanced, this, this, vancedRootPkg, this.getString(R.string.vanced), AppCompatResources.getDrawable(this, R.drawable.ic_vanced), "vanced") + musicRootModel.value = RootDataModel(music, this, this, musicRootPkg, this.getString(R.string.music), AppCompatResources.getDrawable(this, R.drawable.ic_music), "music") + } else { + vancedModel.value = DataModel(vanced, this, this, vancedPkg, this.getString(R.string.vanced), AppCompatResources.getDrawable(this, R.drawable.ic_vanced)) + musicModel.value = DataModel(music, this, this, musicPkg, this.getString(R.string.music), AppCompatResources.getDrawable(this, R.drawable.ic_music)) + microgModel.value = DataModel(microg, this, this, microgPkg, this.getString(R.string.microg), AppCompatResources.getDrawable(this, R.drawable.ic_microg)) + } + managerModel.value = DataModel(manager, this, this, managerPkg, this.getString(R.string.app_name), AppCompatResources.getDrawable(this, R.mipmap.ic_launcher)) } - 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 0e1665b3..683b8778 100644 --- a/app/src/main/java/com/vanced/manager/utils/AppUtils.kt +++ b/app/src/main/java/com/vanced/manager/utils/AppUtils.kt @@ -22,6 +22,7 @@ object AppUtils: CoroutineScope by CoroutineScope(Dispatchers.IO) { const val musicRootPkg = "com.google.android.apps.youtube.music" const val microgPkg = "com.mgoogle.android.gms" const val managerPkg = APPLICATION_ID + const val playStorePkg = "com.android.vending" fun sendRefresh(context: Context): Job { return launch { 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 3df2bf68..f3dbafc4 100644 --- a/app/src/main/java/com/vanced/manager/utils/Extensions.kt +++ b/app/src/main/java/com/vanced/manager/utils/Extensions.kt @@ -3,14 +3,12 @@ package com.vanced.manager.utils import android.content.Context import android.content.ContextWrapper import android.content.DialogInterface -import android.content.SharedPreferences import android.util.Log import android.widget.RadioGroup import androidx.core.graphics.ColorUtils import androidx.fragment.app.DialogFragment import androidx.fragment.app.FragmentActivity import androidx.lifecycle.LifecycleOwner -import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.progressindicator.LinearProgressIndicator import com.google.android.material.radiobutton.MaterialRadioButton @@ -32,28 +30,13 @@ fun DialogFragment.show(activity: FragmentActivity) { } -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 List.convertToAppVersions(): List = listOf("latest") + reversed() fun String.convertToAppTheme(context: Context): String { return context.getString(R.string.light_plus_other, this.capitalize(Locale.ROOT)) } -fun String.getLatestAppVersion(versions: List): String { - return if (this == "latest") versions.reversed()[0] else this -} - -fun SharedPreferences.getInstallUrl() = getString("install_url", baseUrl) +fun String.getLatestAppVersion(versions: List): String = if (this == "latest") versions.reversed()[0] else this fun Context.lifecycleOwner(): LifecycleOwner? { var curContext = this @@ -73,14 +56,14 @@ 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)) { + with(accentColor.value ?: context.defPrefs.managerAccent) { setIndicatorColor(this) trackColor = ColorUtils.setAlphaComponent(this, 70) } } fun MaterialAlertDialogBuilder.applyAccent() { - with(accentColor.value ?: context.getDefaultPrefs().getInt("manager_accent_color", defAccentColor)) { + with(accentColor.value ?: context.defPrefs.managerAccent) { show().apply { getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(this@with) getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(this@with) @@ -92,6 +75,6 @@ fun MaterialAlertDialogBuilder.applyAccent() { 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""" + val code = """#!/system/bin/sh${"\n"}while [ "`getprop sys.boot_completed | tr -d '\r' `" != "1" ]; do sleep ${defPrefs.serviceDSleepTimer}; 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/InstallPrefs.kt b/app/src/main/java/com/vanced/manager/utils/InstallPrefs.kt new file mode 100644 index 00000000..a3efc2b6 --- /dev/null +++ b/app/src/main/java/com/vanced/manager/utils/InstallPrefs.kt @@ -0,0 +1,16 @@ +package com.vanced.manager.utils + +import android.content.Context +import android.content.SharedPreferences +import androidx.core.content.edit + +val Context.installPrefs: SharedPreferences get() = getSharedPreferences("installPrefs", Context.MODE_PRIVATE) + +var SharedPreferences.lang + get() = getString("lang", getDefaultVancedLanguages()) + set(value) = edit { putString("lang", value) } + + +var SharedPreferences.theme + get() = getString("theme", "dark") + set(value) = edit { putString("theme", value) } \ No newline at end of file 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 82d7d45e..65818f0f 100644 --- a/app/src/main/java/com/vanced/manager/utils/InternetTools.kt +++ b/app/src/main/java/com/vanced/manager/utils/InternetTools.kt @@ -18,6 +18,10 @@ import com.vanced.manager.utils.AppUtils.generateChecksum import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.io.File +import java.io.IOException +import java.net.HttpURLConnection +import java.net.SocketTimeoutException +import java.net.URL import java.util.* private const val TAG = "VMNetTools" @@ -32,7 +36,9 @@ val musicVersions = MutableLiveData>() val isFetching = MutableLiveData() -//var braveTiers = MutableLiveData() +var isMicrogBroken: Boolean = false + +var baseInstallUrl = "" fun openUrl(url: String, color: Int, context: Context) { try { @@ -54,21 +60,45 @@ fun openUrl(url: String, color: Int, context: Context) { fun getFileNameFromUrl(url: String) = url.substring(url.lastIndexOf('/') + 1, url.length) +//TODO: Use a better connection method that doesn't cause inappropriate blocks +@Suppress("BlockingMethodInNonBlockingContext") suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) { isFetching.postValue(true) - val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl) + val installUrl = context.defPrefs.installUrl + if (baseInstallUrl == "" && installUrl != null) { + baseInstallUrl = installUrl + } + + try { + val latestbaseUrl = "$baseInstallUrl/latest.json" + val connection = URL(latestbaseUrl).openConnection() as HttpURLConnection + connection.apply { + connectTimeout = 5000 + readTimeout = 5000 + connect() + } + if (connection.responseCode != 200) { + Log.d(TAG, latestbaseUrl + ": " + connection.responseCode.toString()) + baseInstallUrl = "https://mirror.codebucket.de/vanced/api/v1" + } + } catch (e: IOException) { + baseInstallUrl = "https://mirror.codebucket.de/vanced/api/v1" + } catch (e: SocketTimeoutException) { + Log.d(TAG, "connection timed out") + baseInstallUrl = "https://mirror.codebucket.de/vanced/api/v1" + } + + Log.d(TAG, "Fetching using URL: $baseInstallUrl") + 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() -// } + val latest = getJson("$baseInstallUrl/latest.json?$fetchTime") + val versions = getJson("$baseInstallUrl/versions.json?$fetchTime") + isMicrogBroken = latest?.boolean("is_microg_broken") ?: false vanced.postValue(latest?.obj("vanced")) vancedVersions.postValue(versions?.array("vanced") ) music.postValue(latest?.obj("music")) @@ -79,9 +109,8 @@ suspend fun loadJson(context: Context) = withContext(Dispatchers.IO) { } 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) + getJson("$baseInstallUrl/$file")?.string(obj) ?: context.getString(R.string.unavailable) } catch (e: Exception) { Log.e(TAG, "Error: ", e) context.getString(R.string.unavailable) 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 be032d82..a24331a7 100644 --- a/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt @@ -14,6 +14,7 @@ import com.vanced.manager.BuildConfig import com.vanced.manager.core.installer.AppInstallerService import com.vanced.manager.core.installer.AppUninstallerService import com.vanced.manager.utils.AppUtils.musicRootPkg +import com.vanced.manager.utils.AppUtils.playStorePkg import com.vanced.manager.utils.AppUtils.sendCloseDialog import com.vanced.manager.utils.AppUtils.sendFailure import com.vanced.manager.utils.AppUtils.sendRefresh @@ -32,7 +33,7 @@ object PackageHelper { const val apkInstallPath = "/data/adb" private const val INSTALLER_TAG = "VMInstall" - private val vancedThemes = arrayOf("black", "dark", "pink", "blue") + private val vancedThemes = vanced.value?.array("themes")?.value ?: listOf("black", "dark", "pink", "blue") init { Shell.enableVerboseLogging = BuildConfig.DEBUG @@ -188,13 +189,19 @@ object PackageHelper { private fun installRootMusic(files: ArrayList, context: Context): Boolean { files.forEach { apk -> if (apk.name != "root.apk") { - val command = Shell.su("cat ${apk.file?.path} | pm install -S ${apk.fileSize}").exec() - if (command.isSuccess) + val newPath = "/data/local/tmp/${apk.file?.name}" + + //moving apk to tmp folder in order to avoid permission denials + Shell.su("mv ${apk.file?.path} $newPath").exec() + val command = Shell.su("pm install $newPath").exec() + Shell.su("rm $newPath").exec() + if (command.isSuccess) { return true - else { + } else { sendFailure(command.out, context) sendCloseDialog(context) } + } } return false @@ -208,6 +215,7 @@ object PackageHelper { val modApk: FileInfo? = fileInfoList.lastOrNull { modApkBool(it.name) } if (modApk != null) { if (overwriteBase(modApk, fileInfoList, appVerCode, pkg, app, context)) { + setInstallerPackage(context, pkg, playStorePkg) Log.d(INSTALLER_TAG, "Finished installation") sendRefresh(context) sendCloseDialog(context) @@ -643,4 +651,20 @@ object PackageHelper { null } } + + private fun setInstallerPackage(context: Context, target: String, installer: String) { + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) return + try { + Log.d(INSTALLER_TAG, "Setting installer package to $installer for $target") + val installerUid = context.packageManager.getPackageUid(installer, 0) + val res = Shell.su("""su $installerUid -c 'pm set-installer $target $installer'""").exec() + if (res.out.any { line -> line.contains("Success") }) { + Log.d(INSTALLER_TAG, "Installer package successfully set") + return + } + Log.d(INSTALLER_TAG, "Failed setting installer package") + } catch (e: PackageManager.NameNotFoundException) { + Log.d(INSTALLER_TAG, "Installer package $installer not found. Skipping setting installer") + } + } } diff --git a/app/src/main/java/com/vanced/manager/utils/Preferences.kt b/app/src/main/java/com/vanced/manager/utils/Preferences.kt new file mode 100644 index 00000000..b4b527f9 --- /dev/null +++ b/app/src/main/java/com/vanced/manager/utils/Preferences.kt @@ -0,0 +1,49 @@ +package com.vanced.manager.utils + +import android.content.Context +import android.content.SharedPreferences +import androidx.core.content.edit +import androidx.preference.PreferenceManager.getDefaultSharedPreferences + +val Context.defPrefs: SharedPreferences get() = getDefaultSharedPreferences(this) + +var SharedPreferences.managerTheme + get() = getString("manager_theme", "System Default") + set(value) = edit { putString("manager_theme", value) } + +var SharedPreferences.managerAccent + get() = getInt("manager_accent_color", defAccentColor) + set(value) = edit { putInt("manager_accent_color", value) } + +var SharedPreferences.managerVariant + get() = getString("vanced_variant", "nonroot") + set(value) = edit { putString("vanced_variant", value) } + +var SharedPreferences.managerLang + get() = getString("manager_lang", "System Default") + set(value) = edit { putString("manager_lang", value) } + +var SharedPreferences.installUrl + get() = getString("install_url", baseUrl) + set(value) = edit { putString("install_url", value) } + +var SharedPreferences.vancedVersion + get() = getString("vanced_version", "latest") + set(value) = edit { putString("vanced_version", value) } + +var SharedPreferences.musicVersion + get() = getString("music_version", "latest") + set(value) = edit { putString("music_version", value) } + +var SharedPreferences.serviceDSleepTimer + get() = getInt("serviced_sleep_timer", 1) + set(value) = edit { putInt("serviced_sleep_timer", value) } + +var SharedPreferences.enableVanced + get() = getBoolean("enable_vanced", true) + set(value) = edit { putBoolean("enable_vanced", value) } + +var SharedPreferences.enableMusic + get() = getBoolean("enable_music", true) + set(value) = edit { putBoolean("enable_music", value) } + 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 75b844bf..427c4e2c 100644 --- a/app/src/main/java/com/vanced/manager/utils/ThemeHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/ThemeHelper.kt @@ -12,7 +12,7 @@ val mutableAccentColor = MutableLiveData() val accentColor: LiveData = mutableAccentColor fun Activity.setFinalTheme() { - when (getDefaultPrefs().getString("manager_theme", "System Default")) { + when (defPrefs.managerTheme) { "Light" -> setTheme(R.style.LightTheme) "Dark" -> setTheme(R.style.DarkTheme) "System Default" -> { diff --git a/app/src/main/res/font/exo.xml b/app/src/main/res/font/exo.xml deleted file mode 100644 index b9ebbb9a..00000000 --- a/app/src/main/res/font/exo.xml +++ /dev/null @@ -1,6 +0,0 @@ - - diff --git a/app/src/main/res/font/exo_2.xml b/app/src/main/res/font/exo_2.xml deleted file mode 100644 index fd70fdca..00000000 --- a/app/src/main/res/font/exo_2.xml +++ /dev/null @@ -1,6 +0,0 @@ - - diff --git a/app/src/main/res/font/exo_2_bold.xml b/app/src/main/res/font/exo_2_bold.xml deleted file mode 100644 index a6ba0dcd..00000000 --- a/app/src/main/res/font/exo_2_bold.xml +++ /dev/null @@ -1,6 +0,0 @@ - - diff --git a/app/src/main/res/font/exo_bold.ttf b/app/src/main/res/font/exo_bold.ttf deleted file mode 100644 index 97249ef0..00000000 Binary files a/app/src/main/res/font/exo_bold.ttf and /dev/null differ diff --git a/app/src/main/res/font/exo_semibold.xml b/app/src/main/res/font/exo_semibold.xml deleted file mode 100644 index f56212bb..00000000 --- a/app/src/main/res/font/exo_semibold.xml +++ /dev/null @@ -1,6 +0,0 @@ - - diff --git a/app/src/main/res/font/roboto_medium.xml b/app/src/main/res/font/roboto_medium.xml deleted file mode 100644 index 59df90bc..00000000 --- a/app/src/main/res/font/roboto_medium.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - diff --git a/app/src/main/res/layout/include_about_sources.xml b/app/src/main/res/layout/include_about_sources.xml index ae4e4266..f4efc679 100644 --- a/app/src/main/res/layout/include_about_sources.xml +++ b/app/src/main/res/layout/include_about_sources.xml @@ -41,7 +41,6 @@ Support us Accent Color - Blue - Green - Purple - Red - Yellow Appearance Behavior Clear downloaded files @@ -78,13 +73,11 @@ Error Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - Success! %1$s Installation Preferences - Vanced has successfully been installed! Open now? Version - Vanced Music has successfully been installed! Open now? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Please be patient… - Open Welcome Choose your preferred language(s) for Vanced diff --git a/app/src/main/res/values-ar-rSA/strings.xml b/app/src/main/res/values-ar-rSA/strings.xml index 903c0c70..451d2e13 100644 --- a/app/src/main/res/values-ar-rSA/strings.xml +++ b/app/src/main/res/values-ar-rSA/strings.xml @@ -36,11 +36,6 @@ ادعمنا الألوان - أزرق - أخضر - أرجواني - أحمر - أصفر المظهر السلوك مسح الملفات التي تم تنزيلها @@ -51,7 +46,7 @@ استخدم علامات تبويب مخصصة لمتصفح كروم سيتم فتح الروابط في علامات تبويب مخصصة لمتصفح كروم الوضع الافتراضي - فشل حفظ قيمة الوقت الجديد + فشل في حفظ القيمة الزمنية الجديدة Script sleep time للروت ضبط القيمة الزمنية للنوم المستخدمة في /data/adb/service.d/app.sh script، مفيد لإصلاح مشاكل التركيب السمة @@ -78,13 +73,11 @@ خطأ إعادة التنزيل تأكد من أنك قمت بتنزيل التطبيق من موقع vancedapp.com، أو خادم الديسكورد لڤانسد أو Vanced GitHub - نجاح! تفضيلات تثبيت %1$s - تم تثبيت ڤانسد بنجاح! افتح الآن؟ الإصدار - تم تثبيت موسيقى ڤانسد بنجاح! افتح الآن؟ + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? الرجاء الانتظار… - فتح مرحباً بك اختر لغتك(لغاتك) المفضلة لڤانسد diff --git a/app/src/main/res/values-az-rAZ/strings.xml b/app/src/main/res/values-az-rAZ/strings.xml index 3fb7e5fd..846a6021 100644 --- a/app/src/main/res/values-az-rAZ/strings.xml +++ b/app/src/main/res/values-az-rAZ/strings.xml @@ -36,11 +36,6 @@ Bizi dəstəklə Tema rəngi - Göy - Yaşıl - Bənövşəyi - Qırmızı - Sarı Görünüş Davranış Endirilmiş faylları təmizlə @@ -78,13 +73,11 @@ Xəta Yenidən endir Tətbiqi vancedapp.com, Vanced Discord server və ya Vanced GitHub\'dan endirdiyinizə əmin olun - Uğurlu! %1$s Qurma Seçimləri - Vanced uğurla quraşdırıldı! İndi açılsın? Versiya - Vanced Music uğurla quraşdırıldı! İndi açılsın? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Zəhmət olmasa səbrli olun… - Xoş gəldiniz Vanced üçün tərcih etdiyiniz dili seçin diff --git a/app/src/main/res/values-bn-rBD/strings.xml b/app/src/main/res/values-bn-rBD/strings.xml index 22642aea..6f54d559 100644 --- a/app/src/main/res/values-bn-rBD/strings.xml +++ b/app/src/main/res/values-bn-rBD/strings.xml @@ -36,11 +36,6 @@ Support us অ্যাকসেন্ট রঙ - Blue - Green - Purple - Red - Yellow চেহারা আচরণ ডাউনলোড করা ফাইলগুলি সাফ করুন @@ -78,13 +73,11 @@ ত্রুটি Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - সফলতা! %1$s Installation Preferences - ভ্যান্সড সফলভাবে ইনস্টল করা হয়েছে! এখন খোল? Version - ভ্যান্সড মিউজিক সফলভাবে ইনস্টল করা হয়েছে! এখন খোল? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Please be patient… - খোলা স্বাগতম ভ্যানসডের জন্য আপনার পছন্দসই ভাষা (গুলি) চয়ন করুন diff --git a/app/src/main/res/values-bn-rIN/strings.xml b/app/src/main/res/values-bn-rIN/strings.xml index 54ec1014..64f90664 100644 --- a/app/src/main/res/values-bn-rIN/strings.xml +++ b/app/src/main/res/values-bn-rIN/strings.xml @@ -36,11 +36,6 @@ আমাদের সমর্থন অ্যাকসেন্ট রঙ - নীল - সবুজ - বেগুনি - লাল - হলুদ রূপ আচরণ ডাউনলোড করা ফাইলগুলি মুছে ফেলুন @@ -78,13 +73,11 @@ ত্রুটি পুনরায় ডাউনলোড করুন নিশ্চিত করুন যে আপনি অ্যাপটি vancedapp.com, ভ্যান্সড ডিসকার্ড সার্ভার বা ভ্যান্সড গিটহাব থেকে ডাউনলোড করেছেন - সফল! %1$s ইনস্টল করার পছন্দগুলি - ভ্যান্সড সফলভাবে ইনস্টল করা হয়েছে! এখন চালু করুন? সংস্করণ - ভ্যান্সড মিউজিক সফলভাবে ইনস্টল করা হয়েছে! এখন খুলুন? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? দয়া করে ধৈর্য ধরুন… - খুলুন স্বাগত ভ্যান্সডের জন্য আপনার পছন্দসই ভাষা(গুলি) চয়ন করুন diff --git a/app/src/main/res/values-ca-rES/strings.xml b/app/src/main/res/values-ca-rES/strings.xml index 4218bcff..d61200ff 100644 --- a/app/src/main/res/values-ca-rES/strings.xml +++ b/app/src/main/res/values-ca-rES/strings.xml @@ -36,11 +36,6 @@ Support us Color d\'èmfasi - Blue - Green - Purple - Red - Yellow Appearance Behavior Esborrar fitxers descarregats @@ -78,13 +73,11 @@ Error Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - Èxit! %1$s Installation Preferences - Vanced s\'ha instal·lat correctament. Obert ara? Version - Vanced Music s\'ha instal·lat correctament. Obert ara? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Please be patient… - Obert Benvingut Trieu els vostres idiomes preferits per a Vanced diff --git a/app/src/main/res/values-ckb-rIR/strings.xml b/app/src/main/res/values-ckb-rIR/strings.xml index c7dee0ea..ba32e0f4 100644 --- a/app/src/main/res/values-ckb-rIR/strings.xml +++ b/app/src/main/res/values-ckb-rIR/strings.xml @@ -36,11 +36,6 @@ پشتگیریکردن ڕەنگی سەرەکی - شین - سەوز - مۆر - سوور - زەرد ڕووکار ڕێکخستن سڕینەوەی فایلە داگیراوەکان @@ -78,13 +73,11 @@ هەڵەیەک ڕوویدا داگرتنەوە دڵنیابە کە بەرنامەکەت لە سایتی vancedapp.com، سێرڤەری دیسکۆرد یان Vanced GitHub داگرتووە - سەرکەوتو بوو! %1$s ڕێکخستنەکانی دامەزراندن - بەرنامەکە بەسەرکەوتوویی دابەزێنرا! کردنەوە ئێستا؟ وەشان - بەرنامەکە بەسەرکەوتوویی دابەزێنرا! کردنەوە ئێستا؟ + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? تکایە چاوەڕوانبە… - کردنه‌وه‌ بەخێربێیت زمانێک هەڵبژێرە بۆ بەکارهێنانی بەرنامەکە diff --git a/app/src/main/res/values-cs-rCZ/strings.xml b/app/src/main/res/values-cs-rCZ/strings.xml index 82d2f4c2..c6b02d17 100644 --- a/app/src/main/res/values-cs-rCZ/strings.xml +++ b/app/src/main/res/values-cs-rCZ/strings.xml @@ -36,11 +36,6 @@ Podpořte nás Doplňková barva - Modrá - Zelená - Fialová - Červená - Žlutá Vzhled Chování Vymazat stažené soubory @@ -78,13 +73,11 @@ Chyba Stáhnout znovu Ujistěte se, že jste si aplikaci stáhli z našeho webu vancedapp.com, z našeho Discord serveru nebo našeho GitHubu - Hotovo! Předvolby instalace %1$s - Aplikace Vanced byla úspěšně nainstalována! Chcete ji otevřít? Verze - Aplikace Vanced Music byla úspěšně nainstalována! Chcete ji otevřít? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Chvilku strpení… - Otevřít Vítejte Vyberte preferovaný jazyk pro Vanced diff --git a/app/src/main/res/values-da-rDK/strings.xml b/app/src/main/res/values-da-rDK/strings.xml index 02cdb118..93d107fb 100644 --- a/app/src/main/res/values-da-rDK/strings.xml +++ b/app/src/main/res/values-da-rDK/strings.xml @@ -36,11 +36,6 @@ Støt os Sekundær farve - Blå - Grøn - Lilla - Rød - Gul Udseende Adfærd Ryd hentede filer @@ -78,13 +73,11 @@ Fejl Hent igen Venligst sørg for kun at have downloaded appen fra vancedapp.com, Vanced Discord serveren eller Vanced GitHub siden - Succes! %1$s Installationsindstillinger - Vanced er nu installeret! Åben appen? Version - Vanced Music er nu installeret! Åben appen? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Vær tålmodig… - Åbn Velkommen Vælg dit fortrukne sprog til Vanced diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 9fe7f718..7237d692 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -36,11 +36,6 @@ Unterstütze uns Akzentfarbe - Blau - Grün - Lila - Rot - Gelb Darstellung Verhalten Heruntergeladene Dateien löschen @@ -52,7 +47,7 @@ Links werden in Chrome Custom Tabs geöffnet Systemstandard Speichern des neuen Zeitwertes fehlgeschlagen - Haupt Skript Wartezeit + Wartezeit des Root-Skriptes Anpassen des Wertes für die Ruhezeit, der im Skript /data/adb/service.d/app.sh verwendet wird, nützlich zur Behebung von Problemen beim Einbinden Theme Dunkles Theme @@ -71,20 +66,18 @@ Theme: %1$s Version: %1$s Erklärung - Stop! + Stopp! Du benutzt die Magisk/TWRP-Version von Vanced, die nicht mehr unterstützt wird und mit dieser App nicht aktualisiert werden kann. Bitte entferne siie indem du das Magisk-Modul mit dem TWRP Vanced Uninstaller entfernst. MIUI erkannt! Um Vanced zu installieren, musst du die MIUI Optimierungen in den Entwicklereinstellungen deaktivieren. (Du kannst diese Warnung ignorieren, wenn du 20.2.20 oder höher auf xiaomi.eu basierenden ROM verwendest) Fehler Erneut herunterladen Stelle sicher, dass du die App von vancedapp.com, dem Vanced Discord Server oder dem Vanced GitHub heruntergeladen hast - Erfolg! %1$s Installationsoptionen - Vanced wurde erfolgreich installiert. Jetzt öffnen? Version - Vanced Musik wurde erfolgreich installiert. Jetzt starten? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Bitte warten… - Öffnen Willkommen Wählen Sie ihre bevorzugte Sprache(n) für Vanced diff --git a/app/src/main/res/values-el-rGR/strings.xml b/app/src/main/res/values-el-rGR/strings.xml index d7e4b160..a3c094da 100644 --- a/app/src/main/res/values-el-rGR/strings.xml +++ b/app/src/main/res/values-el-rGR/strings.xml @@ -36,11 +36,6 @@ Υποστηρίξτε μας Χρώμα Διεπαφής - Μπλε - Πράσινο - Μωβ - Κόκκινο - Κίτρινο Εμφάνιση Συμπεριφορά Εκκαθάριση ληφθέντων αρχείων @@ -78,13 +73,11 @@ Σφάλμα Επανάληψη λήψης Βεβαιωθείτε ότι κάνατε λήψη της εφαρμογής από το vancedapp.com, τον διακομιστή Discord του Vanced ή το GitHub του Vanced - Επιτυχία! Προτιμήσεις Εγκατάστασης του %1$s - Το Vanced έχει εγκατασταθεί επιτυχώς! Εκκίνηση τώρα; Έκδοση - Η εγκατάσταση του Vanced Music ολοκληρώθηκε επιτυχώς! Εκκίνηση τώρα; + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Παρακαλώ να είστε υπομονετικοί… - Εκκίνηση Καλώς ορίσατε Επιλέξτε την(/ις) γλώσσα(/ες) που επιθυμείτε για το Vanced diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 6c7b88c8..6461be88 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -36,11 +36,6 @@ Apóyanos Color de Acento - Azul - Verde - Morado - Rojo - Amarillo Apariencia Comportamiento Limpiar archivos descargados @@ -52,8 +47,8 @@ Links serán abiertos en Chrome Custom Tabs Predeterminado del sistema Error al guardar el nuevo valor de tiempo - Script Root de Tiempo para Dormir - Ajustar el valor de tiempo para dormir en el script /data/adb/service.d/app.sh, útil para arreglar problemas de montaje + Tiempo de reposo de script root + Ajustar el valor de tiempo de reposo en el script /data/adb/service.d/app.sh, útil para arreglar problemas de montado Tema Tema Oscuro Tema Claro @@ -78,13 +73,11 @@ Error Volver a descargar Asegúrate de haber descargado la app desde vancedapp.com, el grupo de Discord de Vanced, o el GitHub de Vanced - Éxito! %1$s Preferencias de instalación - ¡Vanced se ha instalado correctamente! ¿Abrir ahora? Versión - ¡Vanced Music se ha instalado correctamente! ¿Abrir ahora? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Por favor, sé paciente… - Abrir Bienvenido Elige tu(s) idioma(s) preferido(s) para Vanced diff --git a/app/src/main/res/values-et-rEE/strings.xml b/app/src/main/res/values-et-rEE/strings.xml index 2e9ce4f3..ac8860f4 100644 --- a/app/src/main/res/values-et-rEE/strings.xml +++ b/app/src/main/res/values-et-rEE/strings.xml @@ -36,11 +36,6 @@ Toetage meid Rõhuvärv - Sinine - Roheline - Lilla - Punane - Kollane Välimus Käitumine Tühjenda allalaaditud failid @@ -78,13 +73,11 @@ Viga Lae uuesti alla Veenduge, et laadisite rakenduse alla vancedapp.com, Vanced Discordi serverist või Vanced GitHubist - Õnnestus! %1$s Paigalduseelistused - Vanced on edukalt paigaldatud! Soovite avada kohe? Versioon - Vanced Music on edukalt paigaldatud! Soovite avada kohe? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Palun olge kannatlik… - Ava Tere tulemast Valige eelistatud keel(ed) Vanced jaoks diff --git a/app/src/main/res/values-fi-rFI/strings.xml b/app/src/main/res/values-fi-rFI/strings.xml index dbed36a2..49daec35 100644 --- a/app/src/main/res/values-fi-rFI/strings.xml +++ b/app/src/main/res/values-fi-rFI/strings.xml @@ -32,15 +32,10 @@ Pääkäyttäjän oikeuksia ei ole annettu Ei saatavilla Päivitä - Social Media - Support us + Sosiaalinen media + Tue meitä Aksenttiväri - Blue - Green - Purple - Red - Yellow Ulkoasu Käyttäytyminen Tyhjennä ladatut tiedostot @@ -78,13 +73,11 @@ Virhe Uudelleenlataa Varmista, että latasit sovelluksen osoitteesta vancedapp.com, Vanced Discord-palvelin tai Vanced GitHub - Onnistui! %1$s asennusasetukset - Vanced on asennettu onnistuneesti! Avaa nyt? Versio - Vanced Music on asennettu onnistuneesti! Avoinna nyt? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Ole kärsivällinen… - Avaa Tervetuloa Valitse Vancedille haluamasi kieli tai kielet @@ -98,13 +91,13 @@ Ei voitu `chown` APK järjestelmän omistajalle, yritä uudelleen. %1$s lataus epäonnistui Paketin %1$s asennus epäonnistui - Failed to apply new accent color + Uuden aksenttivärin käyttöönotto epäonnistui Asennukseen vaadittavien tiedostojen paikannus epäonnistui. Yritä ladata asennustiedostot uudelleen. APK-tiedostoa mustalle/tummalle teemalle ei voitu paikantaa tallennustilasta, yritä uudelleen. Asennus epäonnistui, koska käyttäjä keskeytti asennuksen. Asennus epäonnistui, koska käyttäjä on estänyt asennuksen. Asennus epäonnistui, koska käyttäjä yritti heikentää pakettia. Poista päivitykset YouTube-sovelluksesta ja yritä sitten uudelleen. - Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again. + Asennus epäonnistui, koska sovellus on ristiriidassa jo asennetun sovelluksen kanssa. Poista sovelluksen nykyinen versio ja yritä uudelleen. Asennus epäonnistui tuntemattomista syistä, liity Telegramiin tai Discordiin saadaksesi lisätukea. Asennus epäonnistui, koska asennustiedosto ei ole yhteensopiva laitteesi kanssa. Tyhjennä ladatut tiedostot asetuksista ja yritä uudelleen. Asennus epäonnistui, koska APK-tiedostot ovat vioittuneet, yritä uudelleen. diff --git a/app/src/main/res/values-fil-rPH/strings.xml b/app/src/main/res/values-fil-rPH/strings.xml index f6aee0c7..7b371855 100644 --- a/app/src/main/res/values-fil-rPH/strings.xml +++ b/app/src/main/res/values-fil-rPH/strings.xml @@ -36,11 +36,6 @@ Support us Kulay ng font - Blue - Green - Purple - Red - Yellow Hitsura Kilos Tanggalin ang naka-download na files @@ -78,13 +73,11 @@ May pagkamali I-download ulit Siguraduhin mo na nai-download mo ang app galing sa vancedapp.com, o sa Discord server ng Vanced, o sa Github ng Vanced - Tagumpay! %1$s Kagustuhan sa Pag-install - Na-install na ang Vanced! Buksan na? Bersyon - Na-install na ang Vanced Music! Buksan na? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Konting pasensya lang po… - Buksan Maligayang Pagdating Piliin ang ikinagugustong (mga) wika sa Vanced diff --git a/app/src/main/res/values-fr-rFR/strings.xml b/app/src/main/res/values-fr-rFR/strings.xml index 93e48a6e..293b215e 100644 --- a/app/src/main/res/values-fr-rFR/strings.xml +++ b/app/src/main/res/values-fr-rFR/strings.xml @@ -36,11 +36,6 @@ Soutenez-nous Couleur d\'accentuation - Bleu - Vert - Violet - Rouge - Jaune Apparence Comportement Effacer les fichiers téléchargés @@ -78,13 +73,11 @@ Erreur Re-télécharger Assurez-vous d\'avoir téléchargé l\'application depuis vancedapp.com, le serveur Discord Vanced ou sur le Github Vanced - Succès! %1$s Préférences d\'installation - Vanced a été installé avec succès ! Ouvrir maintenant ? Version - Vanced Music a été installé avec succès ! Ouvrir maintenant ? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Veuillez patienter… - Ouvrir Bienvenue Choisir votre langage(s) préféré(s) pour Vanced diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index b11fa709..da1963ac 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -36,11 +36,6 @@ हमें सहयोग दीजिये ऊपरी रंग - नीला - हरा - बैंगनी - लाल - पीला दिखावट व्यवहार डाउनलोड की गई फ़ाइलें साफ़ करें @@ -78,13 +73,11 @@ त्रुटि फिर से डाउनलोड करें सुनिश्चित करें कि आपने vancedapp.com, Vanced Discord सर्वर, या Vanced GitHub से ऐप डाउनलोड किया है - सफलता! %1$s इंस्टालेशन प्राथमिकताएँ - सफलतापूर्वक स्थापित किया गया है! अब खोलो? संस्करण - वेंसड संगीत सफलतापूर्वक स्थापित किया गया है! अब खोले? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? कृपया धैर्य रखें… - खोले स्वागत है! Vanced के लिए अपनी पसंदीदा भाषा (ए) चुनें diff --git a/app/src/main/res/values-hr-rHR/strings.xml b/app/src/main/res/values-hr-rHR/strings.xml index 4e3cc237..86a972b8 100644 --- a/app/src/main/res/values-hr-rHR/strings.xml +++ b/app/src/main/res/values-hr-rHR/strings.xml @@ -36,11 +36,6 @@ Podržite nas Boja naglašavanja - Plava - Zelena - Ljubičasta - Crvena - Žuta Izgled Ponašanje Ukloni preuzete datoteke @@ -51,9 +46,9 @@ Koristi prilagođene kartice Chroma Poveznice će se otvarati u prilagođenim karticama Chroma Zadano sustavom - Failed to save new time value - Root Script Sleep Time - Adjust sleep time value used in /data/adb/service.d/app.sh script, useful for fixing mounting issues + Neuspjelo spremanje nove vrijednosti vremena + Vrijeme spavanja root skripte + Prilagodite vrijeme spavanja korišteno u /data/adb/service.d/app.sh skripti, korisno za ispravak problema s montiranjem Tema Tamna tema Svjetla tema @@ -78,13 +73,11 @@ Greška Ponovno preuzmi Aplikaciju obavezno preuzmite s vancedapp.com, Vanced Discord poslužitelja ili Vanced GitHuba - Uspješno! %1$s postavke instalacije - Vanced je uspješno instaliran! Otvorite ga odmah? Inačica - Vanced Glazba je uspješno instalirana! Otvorite ju odmah? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Malo pričekajte… - Otvori Dobrodošli Odaberite željeni jezika za Vanced diff --git a/app/src/main/res/values-hu-rHU/strings.xml b/app/src/main/res/values-hu-rHU/strings.xml index f5614535..312b0c50 100644 --- a/app/src/main/res/values-hu-rHU/strings.xml +++ b/app/src/main/res/values-hu-rHU/strings.xml @@ -36,11 +36,6 @@ Támogass minket Kiemelés színe - Kék - Zöld - Lila - Vörös - Sárga Megjelenítés Viselkedés Letöltött fájlok törlése @@ -79,13 +74,11 @@ Akarod telepíteni? Hiba Újra letölt Arra kérünk, győződj meg róla, hogy ezt az alkalmazást a vancedapp.com oldalról, a Vanced Discord szerveréről vagy a Vanced GitHub-ról töltötted le - Kész! %1$s Telepítés személyreszabása - Vanced sikeresen telepítve! Elindítod most? Verzió - Vanced Music sikeresen települt! Megnyitja most? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Kérjük legyen türelmes... - Megnyitás Üdvözöljük Vanced nyelvének kiválasztása diff --git a/app/src/main/res/values-in-rID/strings.xml b/app/src/main/res/values-in-rID/strings.xml index 72bafd7f..83d7ae13 100644 --- a/app/src/main/res/values-in-rID/strings.xml +++ b/app/src/main/res/values-in-rID/strings.xml @@ -36,11 +36,6 @@ Dukung kami Aksen Warna - Biru - Hijau - Ungu - Merah - Kuning Penampilan Perilaku Hapus file yang diunduh @@ -78,13 +73,11 @@ Terjadi kesalahan Unduh ulang Pastikan anda mengunduh aplikasi ini dari vancedapp.com, server Discord Vanced, atau Vanced Github - Berhasil! Preferensi Instalasi %1$s - Vanced berhasil dipasang! Buka sekarang? Versi - Vanced Musik berhasil dipasang! Buka sekarang? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Harap bersabar… - Buka Selamat datang Pilih bahasa yang anda inginkan untuk Vanced diff --git a/app/src/main/res/values-it-rIT/strings.xml b/app/src/main/res/values-it-rIT/strings.xml index ef332a59..2bbfae02 100644 --- a/app/src/main/res/values-it-rIT/strings.xml +++ b/app/src/main/res/values-it-rIT/strings.xml @@ -36,11 +36,6 @@ Sostienici Colore in Evidenza - Blu - Verde - Viola - Rosso - Giallo Aspetto Comportamento Cancella i file scaricati @@ -78,13 +73,11 @@ Errore Scarica nuovamente Assicurati di aver scaricato l\'app da vancedapp.com, dal server Discord di Vanced o dalla pagina GitHub di Vanced - Riuscito! Preferenze Installazione di %1$s - Vanced è stato correttamente installato. Desideri avviarlo ora? Versione - Vanced Music è stato correttamente installato! Vuoi eseguirlo ora? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Si prega di attendere… - Avvia Benvenuto Scegli le tue lingue preferite per Vanced diff --git a/app/src/main/res/values-iw-rIL/strings.xml b/app/src/main/res/values-iw-rIL/strings.xml index 54500b8e..6795abbc 100644 --- a/app/src/main/res/values-iw-rIL/strings.xml +++ b/app/src/main/res/values-iw-rIL/strings.xml @@ -36,11 +36,6 @@ תמכו בנו צבע הדגשה - כחול - ירוק - סגול - אדום - צהוב מראה התנהגות מחק קבצים שהורדו @@ -78,13 +73,11 @@ שגיאה הורד מחדש ודא שהורדת את האפליקציה מהאתר vancedapp.com, שרת הדיסקורד של Vanced או מהעמוד של Vanced ב־GitHub - הצלחה! %1$s העדפות התקנה - Vanced הותקן בהצלחה! לפתוח עכשיו? גרסא - Vanced Music הותקן בהצלחה! לפתוח עכשיו? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? אנא התאזר בסבלנות… - פתח ברוכים הבאים בחר את השפה המועדפת עליך ל־Vanced diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 5d172139..6f25eca4 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -36,11 +36,6 @@ サポート アクセントカラー - ブルー - グリーン - パープル - レッド - イエロー 表示設定 動作 ダウンロード済みファイルを消去 @@ -78,13 +73,11 @@ エラー 再ダウンロード Vancedapp.com、Vanced の Discord サーバーまたは GitHub からアプリをダウンロードしたことを確認してください - 成功! %1$s のインストール設定 - Vanced のインストールに成功しました。今すぐ開きますか? バージョン - Vanced Music のインストールに成功しました。今すぐ開きますか? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? しばらくお待ちください… - 開く ようこそ Vanced で使用する言語を選択 diff --git a/app/src/main/res/values-ka-rGE/strings.xml b/app/src/main/res/values-ka-rGE/strings.xml index 182c7727..80fc1011 100644 --- a/app/src/main/res/values-ka-rGE/strings.xml +++ b/app/src/main/res/values-ka-rGE/strings.xml @@ -36,11 +36,6 @@ დაგვიჭირეთ მხარი აქცენტის ფერი - Blue - Green - Purple - Red - Yellow შესახედაობა ფუნქციები გადმოწერილი ფაილების გაწმენდა @@ -78,13 +73,11 @@ შეცდომა თავიდან გადმოწერა დარწმუნდით, რომ აპი გადმოწერეთ vancedapp.com-იდან, Vanced Discord სერვერიდან ან GitHub-იდან - წარმატება! %1$s-ის ინსტალაციის პარამეტრები - Vanced-ი წარმატებით დაყენდა, გსურთ მისი გახსნა? ვერსია - Vanced Music-ი წარმატებით დაყენდა, გსურთ მისი გახსნა? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? გთხოვთ დაელოდოთ… - გახსნა მოგესალმებით აირჩიეთ სასურველი ენა(ები) Vanced-ისთვის diff --git a/app/src/main/res/values-kmr-rTR/strings.xml b/app/src/main/res/values-kmr-rTR/strings.xml index d45d10c6..d2fed0c7 100644 --- a/app/src/main/res/values-kmr-rTR/strings.xml +++ b/app/src/main/res/values-kmr-rTR/strings.xml @@ -36,11 +36,6 @@ Support us Accent Color - Blue - Green - Purple - Red - Yellow Appearance Behavior Clear downloaded files @@ -78,13 +73,11 @@ Error Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - Success! %1$s Installation Preferences - Vanced has successfully been installed! Open now? Version - Vanced Music has successfully been installed! Open now? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Please be patient… - Open Welcome Choose your preferred language(s) for Vanced diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml index e18a4d54..532a391a 100644 --- a/app/src/main/res/values-ko-rKR/strings.xml +++ b/app/src/main/res/values-ko-rKR/strings.xml @@ -36,11 +36,6 @@ 지원하기 강조 색상 - 파란색 - 초록색 - 보라색 - 빨간색 - 노란색 모양 동작 다운로드된 파일 모두 지우기 @@ -51,9 +46,9 @@ Chrome 커스텀 탭으로 열기 링크가 Chrome 커스텀 탭으로 열립니다 시스템 기본값 - Failed to save new time value - Root Script Sleep Time - Adjust sleep time value used in /data/adb/service.d/app.sh script, useful for fixing mounting issues + 새 시간 값을 저장할 수 없습니다 + 루트 스크립트 지연 시간 + /data/adb/service.d/app.sh 스크립트에 쓰이는 지연 시간을 조정하십시오, 마운트 관련 문제를 해결할 때 유용합니다. 테마 다크 테마 라이트 테마 @@ -78,13 +73,11 @@ 오류 다시 다운로드 항상 vancedapp.com, 공식 Vanced 디스코드 서버 또는 공식 GitHub 저장소에서 Vanced Manager 앱을 다운로드해주세요. - 성공! %1$s 설치 설정 - Vanced가 성공적으로 설치되었습니다. 지금 실행하시겠어요? 버전 - Vanced 뮤직이 성공적으로 설치되었습니다. 지금 실행하시겠어요? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? 잠시만 기다려 주세요... - 열기 환영합니다 Vanced에서 선호하는 언어를 선택해주세요 @@ -104,7 +97,7 @@ 사용자가 설치를 중단했기 때문에 앱을 설치하지 못했습니다. 사용자가 설치를 차단했기 때문에 앱을 설치하지 못했습니다. 사용자가 패키지를 이전 버전으로 변경하려고 하여 앱을 설치하지 못했습니다. 기본 YouTube 앱을 초기 버전으로 변경한 다음, 설치를 다시 진행해주세요. - Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again. + 설치하려는 앱이 이미 설치된 앱과 충돌하여 앱을 설치하지 못했습니다. 현재 설치된 앱을 제거한 다음 다시 설치하십시오. 알 수 없는 이유가 발생하여 앱을 설치하지 못했습니다. 저희 텔레그램 또는 디스코드에 문제를 제보해주시면 도와드리겠습니다. 설치 파일이 기기와 호환되지 않아 앱을 설치하지 못했습니다. Manager 설정에서 다운로드된 파일을 모두 삭제한 다음, 설치를 다시 진행해주세요. APK 파일이 손상되어 앱을 설치하지 못했습니다. 설치를 다시 진행해주세요. diff --git a/app/src/main/res/values-ku-rTR/strings.xml b/app/src/main/res/values-ku-rTR/strings.xml index 9c564fb6..01f5e3e4 100644 --- a/app/src/main/res/values-ku-rTR/strings.xml +++ b/app/src/main/res/values-ku-rTR/strings.xml @@ -36,11 +36,6 @@ Support us Rengê devokê - Blue - Green - Purple - Red - Yellow Xuyang Behavior Dosiyayên daxistî paqij bike @@ -78,13 +73,11 @@ Çewtî Ji nû ve daxîne Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - Bi Ser Ket! %1$s sazkariyên bijarde yên sazkirinê - Vanced biserketî saz bû! Gelo niha vebe? Guherto - Vanced Mûzîk biserketî saz bû! Gelo niha vebe? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Jkx tebata xwe bînin... - Veke Bi xêr hatî Ziman(ên) xwe yën dilxwaz ji bo Vanced\'ê hilbijêre diff --git a/app/src/main/res/values-ml-rIN/strings.xml b/app/src/main/res/values-ml-rIN/strings.xml index 063bbc6e..0ba5ba66 100644 --- a/app/src/main/res/values-ml-rIN/strings.xml +++ b/app/src/main/res/values-ml-rIN/strings.xml @@ -36,11 +36,6 @@ ഞങ്ങളെ പിന്തുണയ്ക്കുക ആക്‌സന്റ് വർണ്ണം - നീല - പച്ച - പർപ്പിൾ - ചുവപ്പ് - മഞ്ഞ രൂപം പെരുമാറ്റം ഡൗൺലോഡുചെയ്‌ത ഫയലുകൾ മായ്‌ക്കുക @@ -78,13 +73,11 @@ തെറ്റ് വീണ്ടും ഡൗൺലോഡുചെയ്യുക നിങ്ങൾ vancedapp.com, Vanced Discord സെർവർ, അല്ലെങ്കിൽ Vanced GitHub എന്നിവയിൽ നിന്ന് അപ്ലിക്കേഷൻ download ൺലോഡ് ചെയ്തുവെന്ന് ഉറപ്പാക്കുക - വിജയം! %1$s ഇൻസ്റ്റാളേഷൻ മുൻഗണനകൾ - വാൻ‌സ്ഡ് വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്തു! ഇപ്പോൾ തുറക്കണോ? പതിപ്പ് - വാൻസഡ് മ്യൂസിക്ക് വിജയകരമായി ഇൻസ്റ്റാൾ ചെയ്തു! ഇപ്പോൾ തുറക്കണോ? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? ദയവായി ക്ഷമിക്കുക… - തുറക്കുക സ്വാഗതം വാൻസിനായി നിങ്ങൾ ഭാഷ (കൾ) തിരഞ്ഞെടുക്കുക diff --git a/app/src/main/res/values-mr-rIN/strings.xml b/app/src/main/res/values-mr-rIN/strings.xml index c52ae274..cb76b874 100644 --- a/app/src/main/res/values-mr-rIN/strings.xml +++ b/app/src/main/res/values-mr-rIN/strings.xml @@ -36,11 +36,6 @@ Support us Accent Color - Blue - Green - Purple - Red - Yellow Appearance Behavior Clear downloaded files @@ -78,13 +73,11 @@ Error Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - Success! %1$s Installation Preferences - Vanced has successfully been installed! Open now? Version - Vanced Music has successfully been installed! Open now? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Please be patient… - Open Welcome Choose your preferred language(s) for Vanced diff --git a/app/src/main/res/values-nl-rNL/strings.xml b/app/src/main/res/values-nl-rNL/strings.xml index 015999a8..a582b330 100644 --- a/app/src/main/res/values-nl-rNL/strings.xml +++ b/app/src/main/res/values-nl-rNL/strings.xml @@ -36,11 +36,6 @@ Steun ons Accentkleur - Blauw - Groen - Paars - Rood - Geel Weergave Gedrag Gedownloade bestanden verwijderen @@ -78,20 +73,18 @@ Fout Opnieuw downloaden Zorg ervoor dat je de app hebt gedownload van vancedapp.com, de Vanced Discord-server of Vanced GitHub - Gelukt! installatievoorkeuren voor %1$s - Vanced is succesvol geïnstalleerd! Nu starten? Versie - Vanced Music is succesvol geïnstalleerd! Nu starten? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Even geduld… - Openen Welkom Kies je gewenste taal/talen voor Vanced Licht + %1$s Selecteer minstens één taal! - Manager Ontwikkelaars + Manager Dev Bronnen Vanced Team diff --git a/app/src/main/res/values-no-rNO/strings.xml b/app/src/main/res/values-no-rNO/strings.xml index 9f418f24..172ee52d 100644 --- a/app/src/main/res/values-no-rNO/strings.xml +++ b/app/src/main/res/values-no-rNO/strings.xml @@ -36,11 +36,6 @@ Support us Aksentfarge - Blue - Green - Purple - Red - Yellow Utseende Oppførsel Fjern nedlastede filer @@ -78,13 +73,11 @@ Feil Last ned på nytt Sørg for at du lastet ned appen fra vancedapp.com, Vanced Discord server, eller Vanced GitHub - Suksess! %1$s Installasjonsinnstillinger - Vanced har blitt installert! Åpne nå? Versjon - Vanced Music har blitt installert! Åpne nå? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Vær tålmodig… - Åpne Velkommen Velg dine foretrukne språk for Vanced diff --git a/app/src/main/res/values-pa-rIN/strings.xml b/app/src/main/res/values-pa-rIN/strings.xml index 863a0fc0..6bc0a893 100644 --- a/app/src/main/res/values-pa-rIN/strings.xml +++ b/app/src/main/res/values-pa-rIN/strings.xml @@ -36,11 +36,6 @@ ਸਾਡਾ ਸਮਰਥਨ ਕਰੋ ਐੱਕਸੈਂਟ ਰੰਗ - ਨੀਲਾ - ਹਰਾ - ਜਾਮਨੀ - ਲਾਲ - ਪੀਲਾ ਦਿੱਖ ਵਿਹਾਰ ਡਾਉਨਲੋਡ ਕੀਤੀਆਂ ਫਾਇਲਾਂ ਸਾਫ਼ ਕਰੋ @@ -78,13 +73,11 @@ ਗਲਤੀ ਮੁੜ ਡਾਉਨਲੋਡ ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ vancedapp.com, Vanced Discord ਸਰਵਰ ਜਾਂ Vanced GitHub ਤੋਂ ਐਪ ਡਾਉਨਲੋਡ ਕੀਤਾ ਹੈ - ਸਫਲਤਾ! %1$s ਸਥਾਪਨਾ ਚੁਣੋ - ਵੈਨਸਡ ਸਫਲਤਾਪੂਰਵਕ ਸਥਾਪਤ ਹੋ ਗਿਆ ਹੈ! ਹੁਣ ਖੋਲੋ? ਵਰਜਨ - ਵੇਂਸਡ ਮਿਊਜ਼ਿਕ ਸਫਲਤਾਪੂਰਵਕ ਸਥਾਪਤ ਕੀਤਾ ਗਿਆ ਹੈ! ਹੁਣ ਖੋਲੋ? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? ਕਿਰਪਾ ਕਰਕੇ ਸਬਰ ਰੱਖੋ… - ਖੋਲੋ ਜੀ ਆਇਆਂ ਨੂੰ Vanced ਦੇ ਲਈ ਆਪਣੀ ਪਸੰਦੀਦਾ ਭਾਸ਼ਾ (ਏ) ਚੁਣੋ diff --git a/app/src/main/res/values-pa-rPK/strings.xml b/app/src/main/res/values-pa-rPK/strings.xml index d45d10c6..d2fed0c7 100644 --- a/app/src/main/res/values-pa-rPK/strings.xml +++ b/app/src/main/res/values-pa-rPK/strings.xml @@ -36,11 +36,6 @@ Support us Accent Color - Blue - Green - Purple - Red - Yellow Appearance Behavior Clear downloaded files @@ -78,13 +73,11 @@ Error Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - Success! %1$s Installation Preferences - Vanced has successfully been installed! Open now? Version - Vanced Music has successfully been installed! Open now? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Please be patient… - Open Welcome Choose your preferred language(s) for Vanced diff --git a/app/src/main/res/values-pl-rPL/strings.xml b/app/src/main/res/values-pl-rPL/strings.xml index 7290d98d..20208fe7 100644 --- a/app/src/main/res/values-pl-rPL/strings.xml +++ b/app/src/main/res/values-pl-rPL/strings.xml @@ -36,11 +36,6 @@ Wesprzyj nas Kolor Akcentu - Niebieski - Zielony - Fioletowy - Czerwony - Żółty Wygląd Zachowanie Wyczyść pobrane pliki @@ -78,13 +73,11 @@ Błąd Pobierz ponownie Upewnij się, że pobrałeś aplikację z vancedapp.com, serwera Vanced Discord lub Vanced GitHub - Sukces! Preferencje instalacji %1$s - Vanced został pomyślnie zainstalowany! Uruchomić teraz? Wersja - Vanced Music został pomyślnie zainstalowany! Uruchomić teraz? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Prosimy o cierpliwość… - Uruchom Witaj Wybierz preferowany język(i) dla Vanced diff --git a/app/src/main/res/values-ps-rAF/strings.xml b/app/src/main/res/values-ps-rAF/strings.xml index d45d10c6..d2fed0c7 100644 --- a/app/src/main/res/values-ps-rAF/strings.xml +++ b/app/src/main/res/values-ps-rAF/strings.xml @@ -36,11 +36,6 @@ Support us Accent Color - Blue - Green - Purple - Red - Yellow Appearance Behavior Clear downloaded files @@ -78,13 +73,11 @@ Error Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - Success! %1$s Installation Preferences - Vanced has successfully been installed! Open now? Version - Vanced Music has successfully been installed! Open now? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Please be patient… - Open Welcome Choose your preferred language(s) for Vanced diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 21f76068..8b10368d 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -36,11 +36,6 @@ Apoie-nos Cor de destaque - Azul - Verde - Roxo - Vermelho - Amarelo Aparência Comportamento Limpar arquivos baixados @@ -78,13 +73,11 @@ Erro Baixar novamente Certifique-se de fazer o download do aplicativo em vancedapp.com, no servidor Vanced Discord ou no Vanced GitHub - Sucesso! %1$s Preferências de Instalação - O Vanced foi instalado com sucesso. Deseja iniciá-lo agora? Versão - O Vanced Music foi instalado com sucesso! Abrir agora? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Por favor, seja paciente… - Abrir Bem-vindo Escolha o seu idioma preferido para o Vanced diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 2095b126..769790df 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -36,11 +36,6 @@ Suporte-nos Cor de Destaque - Azul - Verde - Roxo - Vermelho - Amarelo Aparência Comportamento Limpar ficheiros descarregados @@ -78,13 +73,11 @@ Erro Voltar a descarregar Certifique-se de que você baixou o aplicativo do vancedapp.com, o servidor Vanced Discord ou o Vanced GitHub - Sucesso! Preferências de instalação %1$s - O Vanced foi instalado com sucesso! Abrir agora? Versão - O Vanced Music foi instalado com sucesso! Pretende abri-lo? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Por favor, sejas paciente… - Abrir Bem-Vindo Escolha a(s) sua(s) língua(s) de preferência para o Vanced diff --git a/app/src/main/res/values-ro-rRO/strings.xml b/app/src/main/res/values-ro-rRO/strings.xml index a154ec0a..9843f0d0 100644 --- a/app/src/main/res/values-ro-rRO/strings.xml +++ b/app/src/main/res/values-ro-rRO/strings.xml @@ -36,11 +36,6 @@ Ajutați-ne Nuanță culoare - Albastru - Verde - Mov - Roșu - Galben Aspect Comportament Ştergeţi fişierele descărcate @@ -52,8 +47,8 @@ Link-uri se vor deschide în filele personalizate Chrome Setarea implicită a sistemului Salvarea noii valori de timp a eșuat - Dupa cât timp se activează script-ul root - Reglaţi dupa cât timp este activat script-ul root folosit în /data/adb/service.d/app.sh script, util pentru remedierea problemelor de montare + După cât timp se activează script-ul root + Reglați după cât timp este activat script-ul root folosit în /data/adb/service.d/app.sh script, util pentru remedierea problemelor de montare Temă Temă întunecată Temă deschisă @@ -78,13 +73,11 @@ Eroare Redescărcare Asigurați-vă că ați descărcat aplicația de pe vancedapp.com, de pe serverul Discord Vanced sau de pe GitHub Vanced - Succes! %1$s Preferințe de instalare - Vanced a fost instalat cu succes! Deschideți acum? Versiune - Vanced Music a fost instalat cu succes! Deschizi acum? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Vă rugăm să aveți răbdare… - Deschideți Bun venit Alegeți limba preferată pentru Vanced diff --git a/app/src/main/res/values-ru-rRU/strings.xml b/app/src/main/res/values-ru-rRU/strings.xml index 6f3a4f5d..ab73d1af 100644 --- a/app/src/main/res/values-ru-rRU/strings.xml +++ b/app/src/main/res/values-ru-rRU/strings.xml @@ -36,11 +36,6 @@ Поддержите нас Второстепенный цвет - Синий - Зелёный - Фиолетовый - Красный - Жёлтый Оформление Поведение Удалить загруженные файлы @@ -78,13 +73,11 @@ Ошибка Скачать заново Пожалуйста, убедитесь, что вы скачали это приложение с vancedapp.com, сервера Vanced в Discord или с официального GitHub - Успешно! Параметры установки %1$s - Vanced успешно установлен! Хотите запустить его сейчас? Версия - Vanced Music успешно установлен! Хотите запустить его сейчас? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Пожалуйста, подождите… - Открыть Добро пожаловать Выберите предпочитаемый язык для Vanced diff --git a/app/src/main/res/values-si-rLK/strings.xml b/app/src/main/res/values-si-rLK/strings.xml index 8fc71f61..d44e6cf3 100644 --- a/app/src/main/res/values-si-rLK/strings.xml +++ b/app/src/main/res/values-si-rLK/strings.xml @@ -36,11 +36,6 @@ Support us අනෙක් වර්ණය - Blue - Green - Purple - Red - Yellow Appearance Behavior Clear downloaded files @@ -78,13 +73,11 @@ දෝෂය Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - සාර්ථකයි! %1$s Installation Preferences - Vanced has successfully been installed! Open now? අනුවාදය - Vanced Music has successfully been installed! Open now? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Please be patient… - විවෘත කරන්න ආයුබෝවන් Choose your preferred language(s) for Vanced diff --git a/app/src/main/res/values-so-rSO/strings.xml b/app/src/main/res/values-so-rSO/strings.xml index a0469965..c69e53da 100644 --- a/app/src/main/res/values-so-rSO/strings.xml +++ b/app/src/main/res/values-so-rSO/strings.xml @@ -36,11 +36,6 @@ Na taageer Midabka - Buluug - Cagaar - Baarbal - Guduud - Jaalle Muuqaalka Dabeecada Nadiifi waxyaabaha lasoo dajiyay @@ -57,7 +52,7 @@ Nashqada Nashqad Madow Nashqad Cad - %1$s Ogaysiisyadisa soodhaca + %1$s Ogaysiisyadiisa Ha kuu soo dhacaan ogaysiisyo marka mid cusub oo %1$s ah lasoo saaro Xarunta Cusboonaysiinta Manager-ka Majiro wax cusub @@ -78,13 +73,11 @@ Khalad Dib udaji Iska hubi inaad app-ka kaso dajisatay vancedapp.com, xaga martigaliyaha Discord, ama meesha Vanced ee GitHub - Waa la fuliyay! Fadhiga Kushubida %1$s - Vanced waa lagu shubay! Fur hadda? Tirsiga - Vanced Music waa lagu shubay! Fur hadda? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Fadlan dulqaado… - Fur Soo dhawoow Dooro luuqada(ha) aad rabto ee app-ka Vanced diff --git a/app/src/main/res/values-sr-rSP/strings.xml b/app/src/main/res/values-sr-rSP/strings.xml index 48dadba2..546a1386 100644 --- a/app/src/main/res/values-sr-rSP/strings.xml +++ b/app/src/main/res/values-sr-rSP/strings.xml @@ -36,11 +36,6 @@ Support us Боја наглашавања - Blue - Green - Purple - Red - Yellow Изглед Понашање Обриши преузете датотеке @@ -78,13 +73,11 @@ Грешка Поново преузми Преузмите апликацију само са официјелног Vanced сајта vancedapp.com, Vanced Discord сервера или Vanced GitHub-а - Успешно! %1$s Инсталациона подешавања - Vanced је успешно инсталиран! Желите да га одмах отворите? Верзија - Vanced Music је успешно инсталиран! Желите да га одмах отворите? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Молимо Вас да будете стрпљиви… - Отвори Добро дошли Одаберите језик за коришћење Vanced апликације diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index e6f22b77..dd43904f 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -36,11 +36,6 @@ Support us Accentfärg - Blue - Green - Purple - Red - Yellow Utseende Beteende Rensa nedladdade filer @@ -78,13 +73,11 @@ Fel Ladda ner igen Se till att du laddade ner appen från vancedapp.com, den Vanced Discord-servern eller den Vanced GitHub - Framgång! %1$s Valda installationsinställningar - Vanced har installerats! Starta nu? Version - Vanced Music har installerats! Öppna nu? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Vänligen ha tålamod… - Öppna Välkommen Välj önskade språk för Vanced diff --git a/app/src/main/res/values-ta-rIN/strings.xml b/app/src/main/res/values-ta-rIN/strings.xml index c20d3e4e..216d8d55 100644 --- a/app/src/main/res/values-ta-rIN/strings.xml +++ b/app/src/main/res/values-ta-rIN/strings.xml @@ -36,11 +36,6 @@ எங்களை ஆதரியுங்கள் கவனங்கவர் நிறம் - நீலம் - பச்சை - ஊதா - சிவப்பு - மஞ்சள் தோற்றம் செயல்பாடு பதிவிறக்கிய கோப்புகளை அழிக்கவும் @@ -78,13 +73,11 @@ பிழை மீண்டும் பதிவிறக்கு பயன்பாட்டை vancedapp.com, Vanced Discord சேவையகம் அல்லது Vanced GitHub இலிருந்து பதிவிறக்கம் செய்துள்ளீர்கள் என்பதை உறுதிப்படுத்திக் கொள்ளுங்கள் - வெற்றி! %1$s நிறுவல் விருப்பத்தேர்வுகள் - வேன்ட் வெற்றிகரமாக நிறுவப்பட்டது! இப்போது திற? பதிப்பு - வேன்ஸ்ட் மியூசிக் வெற்றிகரமாக நிறுவப்பட்டுள்ளது! இப்போது திற? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? தயவுசெய்து பொருமைையாயிறு… - திற வரவேற்பு வேன்ஸ்டுக்காக உங்களுக்கு விருப்பமான மொழியைத் தேர்வுசெய்க diff --git a/app/src/main/res/values-th-rTH/strings.xml b/app/src/main/res/values-th-rTH/strings.xml index 42090e74..50fb7055 100644 --- a/app/src/main/res/values-th-rTH/strings.xml +++ b/app/src/main/res/values-th-rTH/strings.xml @@ -32,15 +32,10 @@ ไม่ได้รับสิทธิ์ของรูท ไม่สามารถใช้ได้ อัพเดท - เหมาะสมกับโซเชียลมีเดีย + สื่อสังคมออนไลน์ สนับสนุนพวกเรา สีหลัก - สีน้ำเงิน - สีเขียว - สีม่วง - สีแดง - สีเหลือง ลักษณะที่ปรากฏ ลักษณะการทำงาน ล้างไฟล์ที่ดาวน์โหลดไว้ @@ -78,13 +73,11 @@ ผิดพลาด ดาวน์โหลดอีกครั้ง ตรวจสอบให้แน่ใจว่าคุณดาวน์โหลดแอพจากช่องทางที่ถูกต้อง vancedapp.com, เซิร์ฟเวอร์ Vanced Discord หรือ Vanced GitHub - สำเร็จ! %1$s กำหนดค่าการติดตั้ง - ติดตั้ง Vanced เรียบร้อยแล้ว! เปิดเดี๋ยวนี้? รุ่น - ติดตั้ง Vanced Music เรียบร้อยแล้ว! เปิดเดี๋ยวนี้? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? โปรดรอสักครู่… - เปิด ยินดีต้อนรับ เลือกภาษาที่คุณต้องการใช้สำหรับ Vanced diff --git a/app/src/main/res/values-tr-rTR/strings.xml b/app/src/main/res/values-tr-rTR/strings.xml index e859fafa..b57f6a83 100644 --- a/app/src/main/res/values-tr-rTR/strings.xml +++ b/app/src/main/res/values-tr-rTR/strings.xml @@ -36,11 +36,6 @@ Tıkla, destek ol Tema Rengi - Mavi - Yeşil - Mor - Kırmızı - Sarı Görünüm Davranış İndirilen dosyaları temizle @@ -52,8 +47,8 @@ Bağlantılar Chrome Özel Sekmelerinde açılacaktır Sistem varsayılanı Yeni zaman değeri kaydedilemedi - Root Script Sleep Time - /data/adb/service.d/app.sh komut dosyasında kullanılan uyku süresi değerini ayarlayın, montaj sorunlarını düzeltmek için yararlıdır + Root kurulumu, bekletme süresi + [Gelişmiş] Kurulum sırasında çalıştırılan /data/adb/service.d/app.sh dosyasında ki bekletme süresinin değer ayarı. Kurulum sırasında oluşan hatalarda çözüm olabilir Tema Koyu Tema Açık Tema @@ -78,13 +73,11 @@ Hata Tekrar İndir Uygulamayı vancedapp.com, Vanced Discord sunucusu, veya Vanced GitHub\'dan indirdiğinizden emin olun - Başarılı! %1$s Kurulum Tercihleri - Vanced Başarıyla kuruldu! Başlatılsın mı? Sürüm - Vanced Music başarıyla kuruldu! Başlatılsın mı? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Biraz zaman alabilir… - Hoş Geldiniz Vanced için tercih ettiğiniz dil(ler)i seçin @@ -104,7 +97,7 @@ Kullanıcı kurulumu iptal ettiği için kurulum başarısız oldu. Kullanıcı kurulumu engellediği için kurulum başarısız oldu. Kullanıcı eski sürümü yüklemeye çalıştığı için kurulum tamamlanamadı. Orijinal YouTube uygulamasının güncellemelerini kaldırdıktan sonra yeniden deneyin. - Uygulama önceden yüklenmiş bir uygulamayla çakıştığından yükleme başarısız oldu. Uygulamanın mevcut sürümünü kaldırın ve ardından tekrar deneyin. + Uygulama önceden yüklenmiş bir uygulamayla çakıştığından yükleme başarısız oldu. Uygulamanın mevcut sürümünü kaldırın ve ardından tekrar deneyin. Kurulum bilinmeyen nedenlerden dolayı başarısız oldu. Telegram veya Discord\'a katılarak destek alabilirsin. Kurulum dosyası cihazınız ile uyumsuz olduğu için kurulum işlemi başarısız oldu. Ayarlar\'da indirilen dosyaları temizleyip, tekrar deneyin. APK dosyaları çözümlenemediğinden, kurulum başarısız oldu. Lütfen yeniden deneyin. diff --git a/app/src/main/res/values-uk-rUA/strings.xml b/app/src/main/res/values-uk-rUA/strings.xml index 814e796e..d73c40d0 100644 --- a/app/src/main/res/values-uk-rUA/strings.xml +++ b/app/src/main/res/values-uk-rUA/strings.xml @@ -36,11 +36,6 @@ Підтримайте нас Вторинний колір - Синій - Зелений - Фіолетовий - Червоний - Жовтий Вигляд Поведінка Очистити завантажені файли @@ -78,13 +73,11 @@ Помилка Завантажити заново Переконайтеся, що ви завантажили додаток з vancedapp.com, Vanced Discord сервер або Vanced GitHub - Успіх! Параметри встановлення %1$s - Vanced був успішно встановлений! Відкрити зараз? Версія - Vanced Music успішно встановлено! Відкрити зараз? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Будь ласка, зачекайте… - Відкрити Привіт! Виберіть бажану мову(и) для Vanced diff --git a/app/src/main/res/values-vi-rVN/strings.xml b/app/src/main/res/values-vi-rVN/strings.xml index 5d00d099..ff92c234 100644 --- a/app/src/main/res/values-vi-rVN/strings.xml +++ b/app/src/main/res/values-vi-rVN/strings.xml @@ -36,11 +36,6 @@ Hỗ trợ chúng tôi Màu chủ đạo - Xanh dương - Xanh lá - Tím - Đỏ - Vàng Giao diện Hành vi Xóa các tệp tin đã tải về @@ -51,7 +46,7 @@ Sử dụng Chrome Custom Tabs Các liên kết sẽ mở trong Chrome Custom Tabs Mặc định hệ thống - Failed to save new time value + Không thể lưu giá trị thời gian mới Root Script Sleep Time Adjust sleep time value used in /data/adb/service.d/app.sh script, useful for fixing mounting issues Nền @@ -78,13 +73,11 @@ Lỗi Tải lại Chắc chắn rằng bạn đã tải ứng dụng này từ vancedapp.com, server Discord của Vanced hoặc GitHub của Vanced - Thành công! %1$s Tùy biến Cài đặt - Vanced đã được cài đặt thành công! Mở ứng dụng? Phiên bản - Vanced Music đã được cài đặt thành công! Mở ứng dụng? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? Hãy kiên nhẫn… - Mở Chào mừng Chọn ngôn ngữ mong muốn cho Vanced @@ -104,7 +97,7 @@ Cài đặt không thành công vì người dùng đã hủy cài đặt. Cài đặt không thành công vì người dùng đã chặn cài đặt. Cài đặt không thành công do người dùng đã cố gắng hạ cấp gói. Gỡ cài đặt các bản cập nhật khỏi ứng dụng YouTube có sẵn, sau đó thử lại. - Installation failed because the app conflicts with an already installed app. Uninstall the current version of the app, then try again. + Cài đặt thất bại do có xung đột của ứng dụng với ứng dụng đã cài sẵn. Gỡ bỏ phiên bản hiện tại của ứng dụng và thử lại. Cài đặt thất bại do lỗi không xác định, tham gia Telegram hoặc Discord của chúng tôi để được hỗ trợ thêm. Cài đặt thất bại do tệp tin cài đặt không tương thích với thiết bị của bạn. Xóa các tệp tin đã tải về trong Cài đặt rồi thử lại. Cài đặt thất bại do các tệp tin apk bị lỗi, xin hãy thử lại. diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index ff339d1f..0f9291b1 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -36,11 +36,6 @@ 支持我们 强调色 - 蓝色 - 绿色 - 紫色 - 红色 - 黄色 外观 行为 清除已下载文件 @@ -78,13 +73,11 @@ 错误 重新下载 请确保您是从 vancedapp.com 、 Vanced Discord 服务器或 Vanced Github 下载本应用 - 成功! %1$s 安装首选设定 - 已成功安装 Vanced,现在打开吗? 版本 - 已成功安装 Vanced 音乐! 现在打开吗? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? 请耐心等候… - 打开 欢迎 为 Vanced 选择您的首选语言 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 30f2ecf2..831f3fc5 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -36,11 +36,6 @@ 支持我們 輔色 - 藍色 - 綠色 - 紫色 - 紅色 - 黃色 外觀 行為 清除已下載的檔案 @@ -78,13 +73,11 @@ 錯誤 重新下載 請確保您從 vancedapp.com、Vanced Discord 伺服器或 Vanced GitHub 下載本程式 - 成功! %1$s 安裝偏好設定 - 成功安裝 Vanced ,要開啟它嗎? 版本 - 成功安裝 Vanced Music !要開啟它嗎? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open, login and then manually select and install version 16. Do you want to proceed installing v15.43.32? 請耐心等候… - 啟動 歡迎 為 Vanced 選擇您偏好的語言 diff --git a/app/src/main/res/values/font_certs.xml b/app/src/main/res/values/font_certs.xml deleted file mode 100644 index d2226ac0..00000000 --- a/app/src/main/res/values/font_certs.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - @array/com_google_android_gms_fonts_certs_dev - @array/com_google_android_gms_fonts_certs_prod - - - - MIIEqDCCA5CgAwIBAgIJANWFuGx90071MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAeFw0wODA0MTUyMzM2NTZaFw0zNTA5MDEyMzM2NTZaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBANbOLggKv+IxTdGNs8/TGFy0PTP6DHThvbbR24kT9ixcOd9W+EaBPWW+wPPKQmsHxajtWjmQwWfna8mZuSeJS48LIgAZlKkpFeVyxW0qMBujb8X8ETrWy550NaFtI6t9+u7hZeTfHwqNvacKhp1RbE6dBRGWynwMVX8XW8N1+UjFaq6GCJukT4qmpN2afb8sCjUigq0GuMwYXrFVee74bQgLHWGJwPmvmLHC69EH6kWr22ijx4OKXlSIx2xT1AsSHee70w5iDBiK4aph27yH3TxkXy9V89TDdexAcKk/cVHYNnDBapcavl7y0RiQ4biu8ymM8Ga/nmzhRKya6G0cGw8CAQOjgfwwgfkwHQYDVR0OBBYEFI0cxb6VTEM8YYY6FbBMvAPyT+CyMIHJBgNVHSMEgcEwgb6AFI0cxb6VTEM8YYY6FbBMvAPyT+CyoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJANWFuGx90071MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBABnTDPEF+3iSP0wNfdIjIz1AlnrPzgAIHVvXxunW7SBrDhEglQZBbKJEk5kT0mtKoOD1JMrSu1xuTKEBahWRbqHsXclaXjoBADb0kkjVEJu/Lh5hgYZnOjvlba8Ld7HCKePCVePoTJBdI4fvugnL8TsgK05aIskyY0hKI9L8KfqfGTl1lzOv2KoWD0KWwtAWPoGChZxmQ+nBli+gwYMzM1vAkP+aayLe0a1EQimlOalO762r0GXO0ks+UeXde2Z4e+8S/pf7pITEI/tP+MxJTALw9QUWEv9lKTk+jkbqxbsh8nfBUapfKqYn0eidpwq2AzVp3juYl7//fKnaPhJD9gs= - - - - - MIIEQzCCAyugAwIBAgIJAMLgh0ZkSjCNMA0GCSqGSIb3DQEBBAUAMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAeFw0wODA4MjEyMzEzMzRaFw0zNjAxMDcyMzEzMzRaMHQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYDVQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDCCASAwDQYJKoZIhvcNAQEBBQADggENADCCAQgCggEBAKtWLgDYO6IIrgqWbxJOKdoR8qtW0I9Y4sypEwPpt1TTcvZApxsdyxMJZ2JORland2qSGT2y5b+3JKkedxiLDmpHpDsz2WCbdxgxRczfey5YZnTJ4VZbH0xqWVW/8lGmPav5xVwnIiJS6HXk+BVKZF+JcWjAsb/GEuq/eFdpuzSqeYTcfi6idkyugwfYwXFU1+5fZKUaRKYCwkkFQVfcAs1fXA5V+++FGfvjJ/CxURaSxaBvGdGDhfXE28LWuT9ozCl5xw4Yq5OGazvV24mZVSoOO0yZ31j7kYvtwYK6NeADwbSxDdJEqO4k//0zOHKrUiGYXtqw/A0LFFtqoZKFjnkCAQOjgdkwgdYwHQYDVR0OBBYEFMd9jMIhF1Ylmn/Tgt9r45jk14alMIGmBgNVHSMEgZ4wgZuAFMd9jMIhF1Ylmn/Tgt9r45jk14aloXikdjB0MQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEUMBIGA1UEChMLR29vZ2xlIEluYy4xEDAOBgNVBAsTB0FuZHJvaWQxEDAOBgNVBAMTB0FuZHJvaWSCCQDC4IdGZEowjTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBAUAA4IBAQBt0lLO74UwLDYKqs6Tm8/yzKkEu116FmH4rkaymUIE0P9KaMftGlMexFlaYjzmB2OxZyl6euNXEsQH8gjwyxCUKRJNexBiGcCEyj6z+a1fuHHvkiaai+KL8W1EyNmgjmyy8AW7P+LLlkR+ho5zEHatRbM/YAnqGcFh5iZBqpknHf1SKMXFh4dd239FJ1jWYfbMDMy3NS5CTMQ2XFI1MvcyUTdZPErjQfTbQe3aDQsQcafEQPD+nqActifKZ0Np0IS9L9kR/wbNvyz6ENwPiTrjV2KRkEjH78ZMcUQXg0L3BYHJ3lc69Vs5Ddf9uUGGMYldX3WfMBEmh/9iFBDAaTCK - - - diff --git a/app/src/main/res/values/preloaded_fonts.xml b/app/src/main/res/values/preloaded_fonts.xml deleted file mode 100644 index 62e425af..00000000 --- a/app/src/main/res/values/preloaded_fonts.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - @font/exo - @font/exo_2 - @font/exo_2_bold - @font/exo_semibold - @font/roboto_medium - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 25d66ded..3b31138e 100755 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,11 +41,6 @@ Accent Color - Blue - Green - Purple - Red - Yellow Appearance Behavior Clear downloaded files @@ -85,13 +80,11 @@ Error Redownload Make sure that you downloaded the app from vancedapp.com, the Vanced Discord server, or the Vanced GitHub - Success! %1$s Installation Preferences - Vanced has successfully been installed! Open now? Version - Vanced Music has successfully been installed! Open now? + Bug in microG + Due to a bug in microG, installing Vanced 16+ first requires you to install v15.43.32, open it, then login and only then can you install v16 and higher. Do you want proceed with the installation of v15.43.32? Please be patient… - Open Welcome diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5c92c633..1a929c6a 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -167,10 +167,6 @@ bold - -