From 4d60373c896fa6fa19a0741114f3a03b880133a9 Mon Sep 17 00:00:00 2001 From: X1nto Date: Sat, 20 Jun 2020 19:11:24 +0400 Subject: [PATCH] bug fixes --- app/app.iml | 10 ++-- app/src/main/AndroidManifest.xml | 3 ++ .../core/downloader/MicrogDownloadService.kt | 5 +- .../core/downloader/VancedDownloadService.kt | 11 +++-- .../manager/core/installer/MicrogInstaller.kt | 11 ++--- .../manager/ui/fragments/HomeFragment.kt | 49 ++++++++++++++++--- .../manager/ui/viewmodels/HomeViewModel.kt | 7 ++- .../com/vanced/manager/utils/PackageHelper.kt | 6 +-- app/src/main/res/values/arrays.xml | 6 +-- 9 files changed, 74 insertions(+), 34 deletions(-) diff --git a/app/app.iml b/app/app.iml index f8290bb8..fe5700de 100644 --- a/app/app.iml +++ b/app/app.iml @@ -72,15 +72,15 @@ - + - + - - - + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f369c458..307c07f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,11 +10,14 @@ val intent = Intent(HomeFragment.DOWNLOAD_ERROR) diff --git a/app/src/main/java/com/vanced/manager/core/downloader/VancedDownloadService.kt b/app/src/main/java/com/vanced/manager/core/downloader/VancedDownloadService.kt index 62c8b2ff..c635e611 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/VancedDownloadService.kt +++ b/app/src/main/java/com/vanced/manager/core/downloader/VancedDownloadService.kt @@ -24,17 +24,16 @@ class VancedDownloadService: Service() { private var disposable: Disposable? = null override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int { - downloadSplits("arch") + downloadSplits() return START_NOT_STICKY } private fun downloadSplits( - type: String + type: String = "arch" ) { val prefs = getSharedPreferences("installPrefs", Context.MODE_PRIVATE) prefs?.edit()?.putBoolean("isVancedDownloading", true)?.apply() - val variant = PreferenceManager.getDefaultSharedPreferences(this) - .getString("vanced_variant", "nonroot") + val variant = PreferenceManager.getDefaultSharedPreferences(this).getString("vanced_variant", "nonroot") val lang = prefs?.getString("lang", "en") val theme = prefs?.getString("theme", "dark") val arch = @@ -70,9 +69,13 @@ class VancedDownloadService: Service() { val intent = Intent(HomeFragment.VANCED_DOWNLOADING) intent.action = HomeFragment.VANCED_DOWNLOADING intent.putExtra("vancedProgress", progress.percent().toInt()) + intent.putExtra("fileName", "Downloading ${getFileNameFromUrl(url)}...") LocalBroadcastManager.getInstance(this).sendBroadcast(intent) }, onComplete = { + val intent = Intent(HomeFragment.MICROG_DOWNLOADED) + intent.action = HomeFragment.MICROG_DOWNLOADED + LocalBroadcastManager.getInstance(this).sendBroadcast(intent) when (type) { "arch" -> downloadSplits("theme") "theme" -> downloadSplits("lang") diff --git a/app/src/main/java/com/vanced/manager/core/installer/MicrogInstaller.kt b/app/src/main/java/com/vanced/manager/core/installer/MicrogInstaller.kt index ef8e6eae..66f881a1 100644 --- a/app/src/main/java/com/vanced/manager/core/installer/MicrogInstaller.kt +++ b/app/src/main/java/com/vanced/manager/core/installer/MicrogInstaller.kt @@ -1,7 +1,6 @@ package com.vanced.manager.core.installer import android.app.Activity -import android.content.Context import android.content.Intent import android.net.Uri import android.os.Build @@ -14,21 +13,21 @@ import zlc.season.rxdownload4.utils.getFileNameFromUrl object MicrogInstaller { - fun installMicrog(context: Context) { + fun installMicrog(activity: Activity) { val apkUrl = GetJson().AsJSONObject("https://x1nto.github.io/VancedFiles/microg.json") val dwnldUrl = apkUrl.get("url").asString - val task = context.filesDir?.path?.let { + val task = activity.filesDir?.path?.let { Task( url = dwnldUrl, saveName = getFileNameFromUrl(dwnldUrl), savePath = it ) } - val pn = context.packageName + val pn = activity.packageName val apk = task?.file() val uri = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - context.let { FileProvider.getUriForFile(it, "$pn.provider", apk!!) } + activity.let { FileProvider.getUriForFile(it, "$pn.provider", apk!!) } } else Uri.fromFile(apk) val mIntent = Intent(Intent.ACTION_VIEW) @@ -36,7 +35,7 @@ object MicrogInstaller { mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) mIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) mIntent.putExtra(Intent.EXTRA_RETURN_RESULT, true) - Activity().startActivityForResult(mIntent, BaseFragment.MICROG_INSTALL) + activity.startActivityForResult(mIntent, BaseFragment.MICROG_INSTALL) } } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt index 5a7f96c2..92de0cb6 100644 --- a/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt +++ b/app/src/main/java/com/vanced/manager/ui/fragments/HomeFragment.kt @@ -12,6 +12,7 @@ import android.os.Bundle import android.util.Log import android.view.* import android.widget.ProgressBar +import android.widget.TextView import android.widget.Toast import androidx.core.animation.addListener import androidx.databinding.DataBindingUtil @@ -29,6 +30,7 @@ import com.vanced.manager.R import com.vanced.manager.adapter.SectionPageAdapter import com.vanced.manager.adapter.SectionPageRootAdapter import com.vanced.manager.core.fragments.Home +import com.vanced.manager.core.installer.MicrogInstaller.installMicrog import com.vanced.manager.core.installer.RootAppUninstaller import com.vanced.manager.databinding.FragmentHomeBinding import com.vanced.manager.ui.MainActivity @@ -63,11 +65,11 @@ class HomeFragment : Home() { val viewModel: HomeViewModel by viewModels() binding.viewModel = viewModel - val variantPref = getDefaultSharedPreferences(activity).getString("vanced_variant", "Nonroot") + val variantPref = getDefaultSharedPreferences(activity).getString("vanced_variant", "nonroot") //val signatureStatus = getDefaultSharedPreferences(activity).getString("signature_status", "unavailable") registerReceivers() - if (variantPref == "Root") { + if (variantPref == "noot") { attachRootChangelog() } else attachNonrootChangelog() @@ -81,7 +83,7 @@ class HomeFragment : Home() { private fun initNetworkFun() { val pm = activity?.packageManager - val variant = getDefaultSharedPreferences(activity).getString("vanced_variant", "Nonroot") + val variant = getDefaultSharedPreferences(activity).getString("vanced_variant", "nonroot") val microgStatus = pm?.let { isPackageInstalled("com.mgoogle.android.gms", it) } val vancedStatus = if (variant == "Root") { @@ -108,7 +110,7 @@ class HomeFragment : Home() { GetJson().AsJSONObject("https://vanced.app/api/v1/microg.json") .get("versionCode").asInt - if (variant == "Nonroot") { + if (variant == "nonroot") { val microginstallbtn = view?.findViewById(R.id.microg_installbtn) microginstallbtn?.visibility = View.VISIBLE @@ -142,7 +144,7 @@ class HomeFragment : Home() { if (vancedStatus!!) { val vanPkgName = - if (variant == "Root") + if (variant == "root") "com.google.android.youtube" else "com.vanced.android.youtube" @@ -196,7 +198,7 @@ class HomeFragment : Home() { start() } } else { - if (variant == "Nonroot") { + if (variant == "nonroot") { view?.findViewById(R.id.microg_installbtn)?.visibility = View.INVISIBLE } @@ -246,26 +248,43 @@ class HomeFragment : Home() { val mIntent = Intent(activity, RootAppUninstaller::class.java) mIntent.putExtra("Data", "com.vanced.stub") activity?.startService(mIntent) - //activity?.recreate() + activity?.recreate() } SIGNATURE_ENABLED -> { activity?.runOnUiThread { viewModel.signatureStatusTxt.value = getString(R.string.signature_enabled) } - //activity?.recreate() + activity?.recreate() } MICROG_DOWNLOADING -> { val progress = intent.getIntExtra("microgProgress", 0) val progressbar = view?.findViewById(R.id.microg_progress) + val downloadTxt = intent.getStringExtra("fileName") + val txt = view?.findViewById(R.id.microg_downloading) + txt?.visibility = View.VISIBLE + txt?.text = downloadTxt progressbar?.visibility = View.VISIBLE progressbar?.progress = progress } VANCED_DOWNLOADING -> { val progress = intent.getIntExtra("vancedProgress", 0) val progressbar = view?.findViewById(R.id.vanced_progress) + val downloadTxt = intent.getStringExtra("fileName") + val txt = view?.findViewById(R.id.vanced_downloading) + txt?.visibility = View.VISIBLE + txt?.text = downloadTxt progressbar?.visibility = View.VISIBLE progressbar?.progress = progress } + MICROG_DOWNLOADED -> { + view?.findViewById(R.id.microg_downloading)?.visibility = View.GONE + view?.findViewById(R.id.microg_progress)?.visibility = View.GONE + activity?.let { installMicrog(it) } + } + VANCED_DOWNLOADED -> { + view?.findViewById(R.id.vanced_downloading)?.visibility = View.GONE + view?.findViewById(R.id.vanced_progress)?.visibility = View.GONE + } DOWNLOAD_ERROR -> { val error = intent.getStringExtra("DownloadError") as String Toast.makeText(activity, error, Toast.LENGTH_SHORT).show() @@ -299,6 +318,18 @@ class HomeFragment : Home() { ) ) } + activity?.let { + LocalBroadcastManager.getInstance(it).registerReceiver(broadcastReceiver, IntentFilter( + VANCED_DOWNLOADED + ) + ) + } + activity?.let { + LocalBroadcastManager.getInstance(it).registerReceiver(broadcastReceiver, IntentFilter( + MICROG_DOWNLOADED + ) + ) + } activity?.let { LocalBroadcastManager.getInstance(it).registerReceiver(broadcastReceiver, IntentFilter( DOWNLOAD_ERROR @@ -361,6 +392,8 @@ class HomeFragment : Home() { const val SIGNATURE_ENABLED = "Signature verification enabled" const val VANCED_DOWNLOADING = "Vanced downloading" const val MICROG_DOWNLOADING = "MicroG downloading" + const val VANCED_DOWNLOADED = "Vanced downloaded" + const val MICROG_DOWNLOADED = "MicroG downloaded" const val DOWNLOAD_ERROR = "Error occurred" } 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 841488c9..e9d95de6 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 @@ -10,7 +10,6 @@ import androidx.browser.customtabs.CustomTabsIntent import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat.startActivity import androidx.lifecycle.AndroidViewModel -import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.preference.PreferenceManager.getDefaultSharedPreferences import com.dezlum.codelabs.getjson.GetJson @@ -22,7 +21,7 @@ open class HomeViewModel(application: Application): AndroidViewModel(application private val connected: Boolean = GetJson().isConnected(application) private val vancedPkgName: String = - if (getDefaultSharedPreferences(application).getString("vanced_variant", "Nonroot") == "Root") { + if (getDefaultSharedPreferences(application).getString("vanced_variant", "nonroot") == "root") { "com.google.android.youtube" } else { "com.vanced.android.youtube" @@ -61,9 +60,9 @@ open class HomeViewModel(application: Application): AndroidViewModel(application else application.getString(R.string.unavailable) - val isNonrootModeSelected: Boolean = getDefaultSharedPreferences(application).getString("vanced_variant", "Nonroot") == "Nonroot" + val isNonrootModeSelected: Boolean = getDefaultSharedPreferences(application).getString("vanced_variant", "nonroot") == "nonroot" - val signatureString = application.getString(R.string.unavailable) + private val signatureString = application.getString(R.string.unavailable) val signatureStatusTxt: MutableLiveData = MutableLiveData() fun openMicrogSettings() { 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 d109b80a..f0b0a46c 100644 --- a/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt @@ -20,15 +20,15 @@ object PackageHelper { } } - fun uninstallApp(pkgName: String, context: Context) { + fun uninstallApp(pkgName: String, activity: Activity) { try { val uri = Uri.parse("package:$pkgName") val uninstall = Intent(Intent.ACTION_DELETE, uri) uninstall.flags = Intent.FLAG_ACTIVITY_NEW_TASK uninstall.putExtra(Intent.EXTRA_RETURN_RESULT, true) - Activity().startActivityForResult(uninstall, BaseFragment.APP_UNINSTALL) + activity.startActivityForResult(uninstall, BaseFragment.APP_UNINSTALL) } catch (e: ActivityNotFoundException) { - Toast.makeText(context, "Failed to uninstall", Toast.LENGTH_SHORT).show() + Toast.makeText(activity, "Failed to uninstall", Toast.LENGTH_SHORT).show() } } } \ No newline at end of file diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 916dbcb5..510ad9d7 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -30,13 +30,13 @@ - Non-root + Nonroot Root - Nonroot - Root + nonroot + root