From aed77c09cdf572334fe6fa847761e1c8204f9ab4 Mon Sep 17 00:00:00 2001 From: X1nto Date: Fri, 19 Jun 2020 22:57:20 +0400 Subject: [PATCH] livedata test --- .../vanced/manager/core/installer/MicrogInstaller.kt | 10 ++-------- .../com/vanced/manager/ui/fragments/HomeFragment.kt | 10 +++++++--- .../com/vanced/manager/ui/viewmodels/HomeViewModel.kt | 9 ++++++++- .../java/com/vanced/manager/utils/PackageHelper.kt | 5 ++--- 4 files changed, 19 insertions(+), 15 deletions(-) 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 545d6a03..ef8e6eae 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,14 +1,13 @@ 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 -import androidx.core.app.ActivityCompat.startActivityForResult import androidx.core.content.FileProvider import com.dezlum.codelabs.getjson.GetJson import com.vanced.manager.core.base.BaseFragment -import com.vanced.manager.ui.MainActivity import zlc.season.rxdownload4.file import zlc.season.rxdownload4.task.Task import zlc.season.rxdownload4.utils.getFileNameFromUrl @@ -37,12 +36,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) - startActivityForResult( - MainActivity(), - mIntent, - BaseFragment.MICROG_INSTALL, - null - ) + 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 db808c6f..5a7f96c2 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 @@ -179,7 +179,7 @@ class HomeFragment : Home() { } - if (variant == "Root" && viewModel.signatureStatusTxt != getString(R.string.signature_disabled)) { + if (variant == "Root" && viewModel.signatureStatusTxt.value != getString(R.string.signature_disabled)) { disableVancedButton(getString(R.string.signature_not_checked)) } @@ -240,14 +240,18 @@ class HomeFragment : Home() { val viewModel: HomeViewModel by viewModels() when (intent.action) { SIGNATURE_DISABLED -> { - viewModel.signatureStatusTxt = getString(R.string.signature_disabled) + activity?.runOnUiThread { + viewModel.signatureStatusTxt.value = getString(R.string.signature_disabled) + } val mIntent = Intent(activity, RootAppUninstaller::class.java) mIntent.putExtra("Data", "com.vanced.stub") activity?.startService(mIntent) //activity?.recreate() } SIGNATURE_ENABLED -> { - viewModel.signatureStatusTxt = getString(R.string.signature_enabled) + activity?.runOnUiThread { + viewModel.signatureStatusTxt.value = getString(R.string.signature_enabled) + } //activity?.recreate() } MICROG_DOWNLOADING -> { 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 3ada6f13..841488c9 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,6 +10,8 @@ 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 import com.vanced.manager.R @@ -61,7 +63,8 @@ open class HomeViewModel(application: Application): AndroidViewModel(application val isNonrootModeSelected: Boolean = getDefaultSharedPreferences(application).getString("vanced_variant", "Nonroot") == "Nonroot" - var signatureStatusTxt: String = application.getString(R.string.unavailable) + val signatureString = application.getString(R.string.unavailable) + val signatureStatusTxt: MutableLiveData = MutableLiveData() fun openMicrogSettings() { try { @@ -96,4 +99,8 @@ open class HomeViewModel(application: Application): AndroidViewModel(application customTabsIntent.launchUrl(getApplication(), Uri.parse(Url)) } + init { + signatureStatusTxt.value = signatureString + } + } \ No newline at end of file diff --git a/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt b/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt index 47083707..d109b80a 100644 --- a/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt +++ b/app/src/main/java/com/vanced/manager/utils/PackageHelper.kt @@ -1,14 +1,13 @@ package com.vanced.manager.utils +import android.app.Activity import android.content.ActivityNotFoundException import android.content.Context import android.content.Intent import android.content.pm.PackageManager import android.net.Uri import android.widget.Toast -import androidx.core.app.ActivityCompat.startActivityForResult import com.vanced.manager.core.base.BaseFragment -import com.vanced.manager.ui.MainActivity object PackageHelper { @@ -27,7 +26,7 @@ object PackageHelper { val uninstall = Intent(Intent.ACTION_DELETE, uri) uninstall.flags = Intent.FLAG_ACTIVITY_NEW_TASK uninstall.putExtra(Intent.EXTRA_RETURN_RESULT, true) - startActivityForResult(MainActivity(), uninstall, BaseFragment.APP_UNINSTALL, null) + Activity().startActivityForResult(uninstall, BaseFragment.APP_UNINSTALL) } catch (e: ActivityNotFoundException) { Toast.makeText(context, "Failed to uninstall", Toast.LENGTH_SHORT).show() }