diff --git a/app/src/main/java/com/vanced/manager/core/downloader/MicrogDownloadService.kt b/app/src/main/java/com/vanced/manager/core/downloader/MicrogDownloadService.kt index dc9e8d0b..0cb4a564 100644 --- a/app/src/main/java/com/vanced/manager/core/downloader/MicrogDownloadService.kt +++ b/app/src/main/java/com/vanced/manager/core/downloader/MicrogDownloadService.kt @@ -4,7 +4,6 @@ import android.app.Service import android.content.Context import android.content.Intent import android.os.IBinder -import android.widget.Toast import androidx.localbroadcastmanager.content.LocalBroadcastManager import com.dezlum.codelabs.getjson.GetJson import com.vanced.manager.core.installer.MicrogInstaller.installMicrog @@ -50,7 +49,7 @@ class MicrogDownloadService: Service() { onNext = { progress -> val intent = Intent(HomeFragment.MICROG_DOWNLOADING) intent.action = HomeFragment.MICROG_DOWNLOADING - intent.putExtra("microgProgress", progress.percentStr().toInt()) + intent.putExtra("microgProgress", progress.percent().toInt()) LocalBroadcastManager.getInstance(this).sendBroadcast(intent) }, onComplete = { @@ -58,8 +57,10 @@ class MicrogDownloadService: Service() { installMicrog(this) }, onError = { throwable -> - Toast.makeText(this, throwable.toString(), Toast.LENGTH_SHORT) - .show() + val intent = Intent(HomeFragment.DOWNLOAD_ERROR) + intent.action = HomeFragment.DOWNLOAD_ERROR + intent.putExtra("DownloadError", throwable.toString()) + LocalBroadcastManager.getInstance(this).sendBroadcast(intent) } ) } 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 b7f103ab..62c8b2ff 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 @@ -5,7 +5,6 @@ import android.content.Context import android.content.Intent import android.os.Build import android.os.IBinder -import android.widget.Toast import androidx.localbroadcastmanager.content.LocalBroadcastManager import androidx.preference.PreferenceManager import com.vanced.manager.core.installer.RootSplitInstallerService @@ -65,12 +64,12 @@ class VancedDownloadService: Service() { task.delete() disposable = task.download() - .observeOn(Schedulers.single()) + .observeOn(Schedulers.newThread()) .subscribeBy( onNext = { progress -> val intent = Intent(HomeFragment.VANCED_DOWNLOADING) intent.action = HomeFragment.VANCED_DOWNLOADING - intent.putExtra("vancedProgress", progress.percentStr().toInt()) + intent.putExtra("vancedProgress", progress.percent().toInt()) LocalBroadcastManager.getInstance(this).sendBroadcast(intent) }, onComplete = { @@ -91,7 +90,10 @@ class VancedDownloadService: Service() { } }, onError = { throwable -> - Toast.makeText(this, throwable.toString(), Toast.LENGTH_SHORT).show() + val intent = Intent(HomeFragment.DOWNLOAD_ERROR) + intent.action = HomeFragment.DOWNLOAD_ERROR + intent.putExtra("DownloadError", throwable.toString()) + LocalBroadcastManager.getInstance(this).sendBroadcast(intent) } ) } 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 8f2390df..e17b12f8 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.Toast import androidx.core.animation.addListener import androidx.databinding.DataBindingUtil import androidx.fragment.app.viewModels @@ -28,7 +29,6 @@ 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 @@ -69,9 +69,6 @@ class HomeFragment : Home() { if (variantPref == "Root") { attachRootChangelog() - if (viewModel.signatureStatusTxt != getString(R.string.signature_disabled)) { - disableVancedButton(getString(R.string.signature_not_checked)) - } } else attachNonrootChangelog() @@ -94,6 +91,7 @@ class HomeFragment : Home() { } val vancedinstallbtn = view?.findViewById(R.id.vanced_installbtn) val networkErrorLayout = view?.findViewById(R.id.home_network_wrapper) + val viewModel: HomeViewModel by viewModels() disposable = ReactiveNetwork.observeInternetConnectivity() .subscribeOn(Schedulers.io()) @@ -110,7 +108,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 @@ -138,9 +136,7 @@ class HomeFragment : Home() { } } } else { - activity?.getString(R.string.no_microg)?.let { - disableVancedButton(it) - } + disableVancedButton(getString(R.string.no_microg)) } } @@ -183,6 +179,10 @@ class HomeFragment : Home() { } + if (variant == "Root" && viewModel.signatureStatusTxt != getString(R.string.signature_disabled)) { + disableVancedButton(getString(R.string.signature_not_checked)) + } + } val oa2 = ObjectAnimator.ofFloat(networkErrorLayout, "yFraction", 0f, 0.3f) @@ -237,17 +237,18 @@ class HomeFragment : Home() { private val broadcastReceiver: BroadcastReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { + val viewModel: HomeViewModel by viewModels() when (intent.action) { SIGNATURE_DISABLED -> { - activity?.application?.let { HomeViewModel(it).signatureStatusTxt = getString(R.string.signature_disabled)} + viewModel.signatureStatusTxt = getString(R.string.signature_disabled) val mIntent = Intent(activity, RootAppUninstaller::class.java) mIntent.putExtra("Data", "com.vanced.stub") activity?.startService(mIntent) - activity?.recreate() + //activity?.recreate() } SIGNATURE_ENABLED -> { - activity?.application?.let { HomeViewModel(it).signatureStatusTxt = getString(R.string.signature_enabled)} - activity?.recreate() + viewModel.signatureStatusTxt = getString(R.string.signature_enabled) + //activity?.recreate() } MICROG_DOWNLOADING -> { val progress = intent.getIntExtra("microgProgress", 0) @@ -261,6 +262,11 @@ class HomeFragment : Home() { progressbar?.visibility = View.VISIBLE progressbar?.progress = progress } + DOWNLOAD_ERROR -> { + val error = intent.getStringExtra("DownloadError") as String + Toast.makeText(activity, error, Toast.LENGTH_SHORT).show() + Log.d("VMDwnld", error) + } } } } @@ -345,6 +351,7 @@ class HomeFragment : Home() { const val SIGNATURE_ENABLED = "Signature verification enabled" const val VANCED_DOWNLOADING = "Vanced downloading" const val MICROG_DOWNLOADING = "MicroG downloading" + const val DOWNLOAD_ERROR = "Error occurred" } }