some improvements

This commit is contained in:
Xinto 2020-11-09 22:26:11 +04:00
parent 0d7d19ac2b
commit 6d883e3fd7
19 changed files with 86 additions and 86 deletions

View File

@ -8,9 +8,11 @@ import com.downloader.PRDownloader
import com.vanced.manager.R
import com.vanced.manager.utils.DeviceUtils.getArch
import com.vanced.manager.utils.DownloadHelper.downloadProgress
import com.vanced.manager.utils.Extensions.getLatestAppVersion
import com.vanced.manager.utils.InternetTools.baseUrl
import com.vanced.manager.utils.InternetTools.getFileNameFromUrl
import com.vanced.manager.utils.InternetTools.music
import com.vanced.manager.utils.InternetTools.musicVersions
import com.vanced.manager.utils.PackageHelper.install
import com.vanced.manager.utils.PackageHelper.installMusicRoot
import kotlinx.coroutines.CoroutineScope
@ -25,18 +27,20 @@ object MusicDownloader {
fun downloadMusic(context: Context) {
val prefs = getDefaultSharedPreferences(context)
version = prefs.getString("music_version", music.get()?.string("version"))
version = prefs.getString("music_version", "latest")?.getLatestAppVersion(musicVersions.get()?.value ?: listOf(""))
variant = prefs.getString("vanced_variant", "nonroot")
baseurl = "${prefs.getString("install_url", baseUrl)}/music/"
baseurl = "${prefs.getString("install_url", baseUrl)}/music/v$version"
downloadApk(context)
}
fun downloadMusic(context: Context, apk: String = "music") {
private fun downloadApk(context: Context, apk: String = "music") {
CoroutineScope(Dispatchers.IO).launch {
val url =
if (apk == "stock")
"$baseurl/stock/v${version}/${getArch()}.apk"
"$baseurl/stock/${getArch()}.apk"
else
"$baseurl/$variant/v${version}.apk"
"$baseurl/$variant.apk"
downloadProgress.get()?.currentDownload = PRDownloader.download(url, context.getExternalFilesDir("music/$variant")?.path, "music.apk")
.build()
@ -49,7 +53,7 @@ object MusicDownloader {
.start(object : OnDownloadListener {
override fun onDownloadComplete() {
if (variant == "root" && apk != "stock") {
downloadMusic(context, "stock")
downloadApk(context, "stock")
return
}

View File

@ -2,7 +2,6 @@ package com.vanced.manager.core.downloader
import android.content.Context
import android.content.SharedPreferences
import android.os.Build
import androidx.preference.PreferenceManager.getDefaultSharedPreferences
import com.downloader.Error
import com.downloader.OnDownloadListener
@ -13,7 +12,7 @@ import com.vanced.manager.R
import com.vanced.manager.utils.AppUtils.vancedRootPkg
import com.vanced.manager.utils.DeviceUtils.getArch
import com.vanced.manager.utils.DownloadHelper.downloadProgress
import com.vanced.manager.utils.Extensions.convertToAppVersions
import com.vanced.manager.utils.Extensions.getLatestAppVersion
import com.vanced.manager.utils.InternetTools
import com.vanced.manager.utils.InternetTools.baseUrl
import com.vanced.manager.utils.InternetTools.getFileNameFromUrl
@ -56,15 +55,15 @@ object VancedDownloader {
private var downloadPath: String? = null
fun downloadVanced(context: Context) {
defPrefs = getDefaultSharedPreferences(context)
installUrl = defPrefs.getString("install_url", baseUrl)
prefs = context.getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
variant = defPrefs.getString("vanced_variant", "nonroot")
downloadPath = context.getExternalFilesDir("vanced/$variant")?.path
File(downloadPath.toString()).deleteRecursively()
defPrefs = getDefaultSharedPreferences(context)
installUrl = defPrefs.getString("install_url", baseUrl)
prefs = context.getSharedPreferences("installPrefs", Context.MODE_PRIVATE)
lang = prefs.getString("lang", getDefaultVancedLanguages())?.split(", ")?.toMutableList()
theme = prefs.getString("theme", "dark")
vancedVersion = defPrefs.getString("vanced_version", vancedVersions.get()?.value?.convertToAppVersions()?.get(0)?.value)
vancedVersion = defPrefs.getString("vanced_version", "latest")?.getLatestAppVersion(vancedVersions.get()?.value ?: listOf(""))
themePath = "$installUrl/apks/v$vancedVersion/$variant/Theme"
hashUrl = "apks/v$vancedVersion/$variant/Theme/hash.json"
//newInstaller = defPrefs.getBoolean("new_installer", false)

View File

@ -41,7 +41,7 @@ class AppInstallerService: Service() {
return null
}
companion object{
companion object {
const val TAG = "VMInstall"
}

View File

@ -11,13 +11,12 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.google.android.material.radiobutton.MaterialRadioButton
import com.vanced.manager.R
import com.vanced.manager.databinding.DialogBottomRadioButtonBinding
import com.vanced.manager.model.AppVersionsModel
import com.vanced.manager.utils.Extensions.getCheckedButtonTag
import com.vanced.manager.utils.Extensions.getCheckedButtonText
import com.vanced.manager.utils.Extensions.getDefaultPrefs
import com.vanced.manager.utils.Extensions.show
class AppVersionSelectorDialog(
private val versions: Array<AppVersionsModel>,
private val versions: List<String>,
private val app: String
) : BottomSheetDialogFragment() {
@ -36,14 +35,13 @@ class AppVersionSelectorDialog(
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
loadBoxes()
view.findViewWithTag<MaterialRadioButton>(prefs.getString("${app}_version", versions[0].value)).isChecked = true
view.findViewWithTag<MaterialRadioButton>(prefs.getString("${app}_version", "latest")).isChecked = true
binding.dialogTitle.text = requireActivity().getString(R.string.version)
binding.dialogSave.setOnClickListener {
prefs.edit {
putString("${app}_version", binding.dialogRadiogroup.getCheckedButtonTag())
putString("${app}_version", binding.dialogRadiogroup.getCheckedButtonText())
}
dismiss()
VancedPreferencesDialog().show(requireActivity())
}
}
@ -51,8 +49,7 @@ class AppVersionSelectorDialog(
requireActivity().runOnUiThread {
for (i in versions.indices) {
val rb = MaterialRadioButton(requireActivity()).apply {
text = versions[i].version
tag = versions[i].value
text = versions[i]
textSize = 18f
}
binding.dialogRadiogroup.addView(rb, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
@ -62,7 +59,10 @@ class AppVersionSelectorDialog(
override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog)
VancedPreferencesDialog().show(requireActivity())
if (app == "vanced")
VancedPreferencesDialog().show(requireActivity())
else
MusicPreferencesDialog().show(requireActivity())
}
}

View File

@ -33,7 +33,7 @@ class MusicPreferencesDialog : BottomSheetDialogFragment() {
val musicVersionsConv = musicVersions.get()?.value?.reversed()?.convertToAppVersions()
binding.musicInstallTitle.text = requireActivity().getString(R.string.app_installation_preferences, requireActivity().getString(R.string.music))
binding.musicVersion.text = requireActivity().getString(R.string.chosen_version, prefs.getString("music_version", musicVersionsConv?.get(0)?.value ?: ""))
binding.musicVersion.text = requireActivity().getString(R.string.chosen_version, prefs.getString("music_version", musicVersionsConv?.get(0) ?: ""))
binding.openVersionSelector.setOnClickListener {
dismiss()
@ -41,6 +41,10 @@ class MusicPreferencesDialog : BottomSheetDialogFragment() {
AppVersionSelectorDialog(musicVersionsConv, "music").show(requireActivity())
}
}
binding.musicInstall.setOnClickListener {
dismiss()
AppDownloadDialog(requireActivity().getString(R.string.music)).show(requireActivity())
}
}
}

View File

@ -10,7 +10,6 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment
import com.vanced.manager.R
import com.vanced.manager.databinding.DialogVancedPreferencesBinding
import com.vanced.manager.utils.Extensions.convertToAppTheme
import com.vanced.manager.utils.Extensions.convertToAppVersions
import com.vanced.manager.utils.Extensions.show
import com.vanced.manager.utils.InternetTools.vancedVersions
import com.vanced.manager.utils.LanguageHelper.getDefaultVancedLanguages
@ -42,12 +41,12 @@ class VancedPreferencesDialog : BottomSheetDialogFragment() {
}
}
val vancedVersionsConv = vancedVersions.get()?.value?.reversed()?.convertToAppVersions()
val vancedVersionsConv = vancedVersions.get()?.value?.reversed()
binding.vancedInstallTitle.text = requireActivity().getString(R.string.app_installation_preferences, requireActivity().getString(R.string.vanced))
binding.vancedTheme.text = requireActivity().getString(R.string.chosen_theme, prefs.getString("theme", "dark")?.convertToAppTheme(requireActivity()))
binding.vancedVersion.text = requireActivity().getString(R.string.chosen_version, prefs.getString("vanced_version", vancedVersionsConv?.get(0)?.value ?: ""))
binding.vancedVersion.text = requireActivity().getString(R.string.chosen_version, prefs.getString("vanced_version", "latest"))
binding.vancedLang.text = requireActivity().getString(R.string.chosen_lang, showLang)
binding.openThemeSelector.setOnClickListener {
@ -69,7 +68,7 @@ class VancedPreferencesDialog : BottomSheetDialogFragment() {
binding.vancedInstall.setOnClickListener {
dismiss()
AppDownloadDialog(requireActivity().getString(R.string.vanced)).show(requireActivity().supportFragmentManager, "InstallVanced")
AppDownloadDialog(requireActivity().getString(R.string.vanced)).show(requireActivity())
}
}
}

View File

@ -38,7 +38,6 @@ class VancedThemeSelectorDialog : BottomSheetDialogFragment() {
binding.dialogSave.setOnClickListener {
prefs.edit { putString("theme", binding.dialogRadiogroup.getCheckedButtonTag()) }
dismiss()
VancedPreferencesDialog().show(requireActivity())
}
}

View File

@ -25,16 +25,16 @@ object AppUtils {
fun sendRefresh(context: Context) {
CoroutineScope(Dispatchers.IO).launch {
delay(500)
delay(700)
LocalBroadcastManager.getInstance(context).sendBroadcast(Intent(HomeFragment.REFRESH_HOME))
}
}
fun sendCloseDialog(context: Context) {
downloadProgress.get()?.installing?.set(false)
CoroutineScope(Dispatchers.IO).launch {
delay(500)
delay(700)
LocalBroadcastManager.getInstance(context).sendBroadcast(Intent(AppDownloadDialog.CLOSE_DIALOG))
downloadProgress.get()?.installing?.set(false)
}
}
@ -42,7 +42,7 @@ object AppUtils {
downloadProgress.get()?.installing?.set(false)
//Delay error broadcast until activity (and fragment) get back to the screen
CoroutineScope(Dispatchers.IO).launch {
delay(500)
delay(700)
val intent = Intent(HomeFragment.INSTALL_FAILED)
intent.putExtra("errorMsg", getErrorMessage(status, context))
LocalBroadcastManager.getInstance(context).sendBroadcast(intent)

View File

@ -20,6 +20,10 @@ object Extensions {
return findViewById<MaterialRadioButton>(checkedRadioButtonId).tag.toString()
}
fun RadioGroup.getCheckedButtonText(): String {
return findViewById<MaterialRadioButton>(checkedRadioButtonId).text.toString()
}
fun DialogFragment.show(activity: FragmentActivity) {
show(activity.supportFragmentManager, "")
}
@ -49,16 +53,20 @@ object Extensions {
//Not sure how much this can affect performance
//but if anyone can improve this even slightly,
//feel free to open a PR
fun List<String>.convertToAppVersions(): Array<AppVersionsModel> {
val versionsModel = arrayListOf(AppVersionsModel("latest", this[0]))
fun List<String>.convertToAppVersions(): List<String> {
val versionsModel = arrayListOf("latest")
for (i in reversed().indices) {
versionsModel.add(AppVersionsModel(this[i], this[i]))
versionsModel.add(this[i])
}
return versionsModel.toTypedArray()
return versionsModel
}
fun String.convertToAppTheme(context: Context): String {
return context.getString(R.string.light_plus_other, this.capitalize(Locale.ROOT))
}
fun String.getLatestAppVersion(versions: List<String>): String {
return if (this == "latest") versions.reversed()[0] else this
}
}

View File

@ -49,8 +49,8 @@ object InternetTools {
fun loadJson(context: Context) = CoroutineScope(Dispatchers.IO).launch {
val installUrl = context.getDefaultPrefs().getString("install_url", baseUrl)
val latest = JsonHelper.getJson("$installUrl/latest.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.getDefault())}")
val versions = JsonHelper.getJson("$installUrl/versions.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.getDefault())}")
val latest = JsonHelper.getJson("$installUrl/latest.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}")
val versions = JsonHelper.getJson("$installUrl/versions.json?fetchTime=${SimpleDateFormat("HHmmss", Locale.ROOT)}")
// braveTiers.apply {
// set(getJson("$installUrl/sponsor.json"))
// notifyChange()

View File

@ -19,6 +19,7 @@ class LanguageContextWrapper(base: Context?) : ContextWrapper(base) {
return LanguageContextWrapper(context)
}
@Suppress("DEPRECATION")
private fun setLocale(config: Configuration, context: Context): Configuration {
val pref = PreferenceManager.getDefaultSharedPreferences(context).getString("manager_lang", "System Default")
val sysLocale = Resources.getSystem().configuration.locale

View File

@ -33,6 +33,8 @@ import kotlin.collections.HashMap
object PackageHelper {
private const val apkInstallPath = "/data/adb/Vanced/"
private val vancedThemes = arrayOf("black", "dark", "pink", "blue")
fun isPackageInstalled(packageName: String, packageManager: PackageManager): Boolean {
return try {
packageManager.getPackageInfo(packageName, 0)
@ -84,7 +86,7 @@ object PackageHelper {
for (file in files) {
when {
(file.name == "black.apk" || file.name == "dark.apk") && !splitFiles.contains("base") -> splitFiles.add("base")
vancedThemes.any { file.name == "$it.apk" } && !splitFiles.contains("base") -> splitFiles.add("base")
file.name.matches(Regex("split_config\\.(..)\\.apk")) && !splitFiles.contains("lang") -> splitFiles.add("lang")
(file.name.startsWith("split_config.arm") || file.name.startsWith("split_config.x86")) && !splitFiles.contains("arch") -> splitFiles.add("arch")
}
@ -292,8 +294,8 @@ object PackageHelper {
val apkFilesPath = context.getExternalFilesDir("vanced/root")?.path
val fileInfoList = apkFilesPath?.let { it1 -> getFileInfoList(it1) }
if (fileInfoList != null) {
val modApk: FileInfo? = fileInfoList.lastOrNull {
it.name == "dark.apk" || it.name == "black.apk"
val modApk: FileInfo? = fileInfoList.lastOrNull { file ->
vancedThemes.any { file.name == "$it.apk" }
}
if (modApk != null) {
if (overwriteBase(modApk, fileInfoList, vancedVersionCode!!, vancedRootPkg, context)) {

View File

@ -1,14 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="29.605dp"
android:height="34.271dp"
android:viewportWidth="29.605"
android:viewportHeight="34.271">
<path
android:strokeWidth="1"
android:pathData="M25.766,0.5h-21.9a3.352,3.352 0,0 0,-3.361 3.361v22.087a3.373,3.373 0,0 0,3.361 3.361h18.522l-0.859,-3.028 2.1,1.954 1.954,1.825 3.522,3.1v-29.3A3.334,3.334 0,0 0,25.766 0.5Z"
android:fillColor="#00000000"
android:strokeColor="#000000"/>
<path
android:pathData="M22.055,9.782a7.865,7.865 0,0 0,-4.56 -1.737l-0.235,0.26a10.6,10.6 0,0 1,4.037 2.106,13.138 13.138,0 0,0 -4.87,-1.607 13.679,13.679 0,0 0,-3.289 0.054,1.292 1.292,0 0,0 -0.288,0.022 12.15,12.15 0,0 0,-3.674 1.031,6.119 6.119,0 0,0 -0.908,0.478 10.878,10.878 0,0 1,4.218 -2.16l-0.182,-0.185a7.864,7.864 0,0 0,-4.56 1.737,22.555 22.555,0 0,0 -2.328,9.64 5.871,5.871 0,0 0,4.944 2.5s0.6,-0.738 1.089,-1.368a5.13,5.13 0,0 1,-2.819 -1.921,2.3 2.3,0 0,1 0.438,0.239c0.021,0.022 0.021,0.054 0.053,0.054a0.361,0.361 0,0 0,0.16 0.076,8.514 8.514,0 0,0 1.2,0.575 13.145,13.145 0,0 0,2.381 0.706,10.773 10.773,0 0,0 4.218,0 10.444,10.444 0,0 0,2.36 -0.706,9.122 9.122,0 0,0 1.869,-0.977 5.206,5.206 0,0 1,-2.958 1.976c0.491,0.63 1.089,1.346 1.089,1.346a6.013,6.013 0,0 0,4.976 -2.5A22.319,22.319 0,0 0,22.055 9.782ZM11.878,17.869a1.838,1.838 0,1 1,1.655 -1.813A1.745,1.745 0,0 1,11.878 17.866ZM17.805,17.869a1.838,1.838 0,1 1,1.655 -1.813A1.718,1.718 0,0 1,17.805 17.866Z"
android:fillColor="#000000"/>
<vector android:height="40.516296dp" android:viewportHeight="34.271"
android:viewportWidth="29.605" android:width="35dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#00000000"
android:pathData="M25.766,0.5h-21.9a3.352,3.352 0,0 0,-3.361 3.361v22.087a3.373,3.373 0,0 0,3.361 3.361h18.522l-0.859,-3.028 2.1,1.954 1.954,1.825 3.522,3.1v-29.3A3.334,3.334 0,0 0,25.766 0.5Z"
android:strokeColor="#000000" android:strokeWidth="1"/>
<path android:fillColor="#000000" android:pathData="M22.055,9.782a7.865,7.865 0,0 0,-4.56 -1.737l-0.235,0.26a10.6,10.6 0,0 1,4.037 2.106,13.138 13.138,0 0,0 -4.87,-1.607 13.679,13.679 0,0 0,-3.289 0.054,1.292 1.292,0 0,0 -0.288,0.022 12.15,12.15 0,0 0,-3.674 1.031,6.119 6.119,0 0,0 -0.908,0.478 10.878,10.878 0,0 1,4.218 -2.16l-0.182,-0.185a7.864,7.864 0,0 0,-4.56 1.737,22.555 22.555,0 0,0 -2.328,9.64 5.871,5.871 0,0 0,4.944 2.5s0.6,-0.738 1.089,-1.368a5.13,5.13 0,0 1,-2.819 -1.921,2.3 2.3,0 0,1 0.438,0.239c0.021,0.022 0.021,0.054 0.053,0.054a0.361,0.361 0,0 0,0.16 0.076,8.514 8.514,0 0,0 1.2,0.575 13.145,13.145 0,0 0,2.381 0.706,10.773 10.773,0 0,0 4.218,0 10.444,10.444 0,0 0,2.36 -0.706,9.122 9.122,0 0,0 1.869,-0.977 5.206,5.206 0,0 1,-2.958 1.976c0.491,0.63 1.089,1.346 1.089,1.346a6.013,6.013 0,0 0,4.976 -2.5A22.319,22.319 0,0 0,22.055 9.782ZM11.878,17.869a1.838,1.838 0,1 1,1.655 -1.813A1.745,1.745 0,0 1,11.878 17.866ZM17.805,17.869a1.838,1.838 0,1 1,1.655 -1.813A1.718,1.718 0,0 1,17.805 17.866Z"/>
</vector>

View File

@ -1,12 +1,6 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="36.367dp"
android:height="35.5dp"
android:viewportWidth="36.367"
android:viewportHeight="35.5">
<path
android:strokeWidth="1"
android:pathData="M18.183,0.5a17.687,17.687 0,0 0,-5.59 34.466c0.879,0.163 1.2,-0.38 1.2,-0.858 0,-0.423 -0.011,-1.531 -0.022,-3.007 -4.917,1.064 -5.96,-2.366 -5.96,-2.366a4.67,4.67 0,0 0,-1.965 -2.584c-1.607,-1.1 0.119,-1.075 0.119,-1.075a3.758,3.758 0,0 1,2.714 1.824,3.758 3.758,0 0,0 5.145,1.465 3.843,3.843 0,0 1,1.118 -2.366c-3.93,-0.445 -8.055,-1.965 -8.055,-8.739a6.8,6.8 0,0 1,1.824 -4.744,6.321 6.321,0 0,1 0.174,-4.679s1.487,-0.478 4.863,1.813a16.727,16.727 0,0 1,8.858 0c3.376,-2.29 4.863,-1.813 4.863,-1.813a6.321,6.321 0,0 1,0.174 4.679,6.836 6.836,0 0,1 1.813,4.744c0,6.8 -4.136,8.283 -8.076,8.728a4.243,4.243 0,0 1,1.2 3.278c0,2.366 -0.022,4.266 -0.022,4.852 0,0.478 0.315,1.02 1.216,0.847a17.689,17.689 0,0 0,-5.6 -34.466Z"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#000000"/>
<vector android:height="36.508373dp" android:viewportHeight="35.5"
android:viewportWidth="36.367" android:width="37.4dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#00000000" android:fillType="evenOdd"
android:pathData="M18.183,0.5a17.687,17.687 0,0 0,-5.59 34.466c0.879,0.163 1.2,-0.38 1.2,-0.858 0,-0.423 -0.011,-1.531 -0.022,-3.007 -4.917,1.064 -5.96,-2.366 -5.96,-2.366a4.67,4.67 0,0 0,-1.965 -2.584c-1.607,-1.1 0.119,-1.075 0.119,-1.075a3.758,3.758 0,0 1,2.714 1.824,3.758 3.758,0 0,0 5.145,1.465 3.843,3.843 0,0 1,1.118 -2.366c-3.93,-0.445 -8.055,-1.965 -8.055,-8.739a6.8,6.8 0,0 1,1.824 -4.744,6.321 6.321,0 0,1 0.174,-4.679s1.487,-0.478 4.863,1.813a16.727,16.727 0,0 1,8.858 0c3.376,-2.29 4.863,-1.813 4.863,-1.813a6.321,6.321 0,0 1,0.174 4.679,6.836 6.836,0 0,1 1.813,4.744c0,6.8 -4.136,8.283 -8.076,8.728a4.243,4.243 0,0 1,1.2 3.278c0,2.366 -0.022,4.266 -0.022,4.852 0,0.478 0.315,1.02 1.216,0.847a17.689,17.689 0,0 0,-5.6 -34.466Z"
android:strokeColor="#000000" android:strokeWidth="1"/>
</vector>

View File

@ -51,7 +51,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="4dp"
android:layout_marginEnd="8dp"
android:nestedScrollingEnabled="false"
tools:itemCount="2"

View File

@ -98,20 +98,14 @@
app:layout_constraintTop_toBottomOf="@id/app_name">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:letterSpacing="0.02"
android:text="@string/latest"
android:textSize="14sp" />
style="@style/AppVersionText"
android:text="@string/latest" />
<TextView
android:id="@+id/app_remote_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AppVersionText"
android:layout_marginStart="4dp"
android:letterSpacing="0.02"
android:text="@{dataModel.versionName}"
android:textSize="14sp" />
android:text="@{dataModel.versionName}" />
</com.google.android.flexbox.FlexboxLayout>
@ -127,18 +121,13 @@
app:layout_constraintTop_toBottomOf="@id/app_remote_version_container">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:letterSpacing="0.02"
android:text="@string/version_installed"
android:textSize="14sp" />
style="@style/AppVersionText"
android:text="@string/version_installed" />
<TextView
android:id="@+id/app_installed_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/AppVersionText"
android:layout_marginStart="4dp"
android:letterSpacing="0.02"
android:text="@{dataModel.installedVersionName}" />
</com.google.android.flexbox.FlexboxLayout>

View File

@ -23,7 +23,7 @@
app:cardBackgroundColor="?colorLinkBG"
app:cardCornerRadius="12dp"
app:cardElevation="0dp"
app:contentPaddingTop="8dp">
app:contentPaddingTop="12dp">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
@ -45,6 +45,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{sponsor.name}"
android:textColor="?colorLinkImage"
app:layout_constraintBottom_toTopOf="@id/sponsor_description"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@ -55,6 +56,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/support_us"
android:textColor="?colorLinkImage"
android:textAlignment="center"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"

View File

@ -122,6 +122,13 @@
<item name="android:layout_marginTop">@dimen/top_header_margin</item>
</style>
<style name="AppVersionText" parent="Widget.AppCompat.TextView">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:letterSpacing">0.02</item>
<item name="android:textColor">?colorLinkImage</item>
</style>
<style name="AboutDevNames" parent="Widget.AppCompat.TextView">
<item name="android:textSize">15sp</item>
<item name="android:textColor">?colorWelcomeHeaderSubtitle</item>

View File

@ -103,7 +103,7 @@
<item name="iconColor">?colorPrimaryVariant</item>
<item name="toolbarIconColor">?colorOnPrimary</item>
<item name="DialogBG">#111111</item>
<item name="colorLinkImage">#74FFFFFF</item>
<item name="colorLinkImage">#FFFFFF</item>
<item name="colorLinkBG">#161616</item>
<item name="colorSettingsTitle">#ffffff</item>
<item name="colorSecondaryText">#B3FFFFFF</item>