diff --git a/app/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt index 903cb3d28..a190502f6 100644 --- a/app/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/arch/BaseViewModel.kt @@ -15,11 +15,7 @@ import com.topjohnwu.magisk.BR import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.base.BaseActivity -import com.topjohnwu.magisk.events.BackPressEvent -import com.topjohnwu.magisk.events.PermissionEvent -import com.topjohnwu.magisk.events.SnackbarEvent -import com.topjohnwu.magisk.events.ViewActionEvent -import com.topjohnwu.magisk.model.navigation.NavigationWrapper +import com.topjohnwu.magisk.events.* import com.topjohnwu.magisk.utils.ObservableHost import com.topjohnwu.magisk.utils.set import kotlinx.coroutines.Job @@ -111,7 +107,7 @@ abstract class BaseViewModel( } fun NavDirections.publish() { - _viewEvents.postValue(NavigationWrapper(this)) + _viewEvents.postValue(NavigationEvent(this)) } } diff --git a/app/src/main/java/com/topjohnwu/magisk/core/Const.kt b/app/src/main/java/com/topjohnwu/magisk/core/Const.kt index 3585f738e..ea5df7f6c 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/Const.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/Const.kt @@ -82,4 +82,10 @@ object Const { const val UNINSTALL = "uninstall" } + object Nav { + const val SETTINGS = "settings" + const val HIDE = "hide" + const val MODULES = "modules" + const val SUPERUSER = "superuser" + } } diff --git a/app/src/main/java/com/topjohnwu/magisk/core/GeneralReceiver.kt b/app/src/main/java/com/topjohnwu/magisk/core/GeneralReceiver.kt index 0470fe8ef..dd81b365c 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/GeneralReceiver.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/GeneralReceiver.kt @@ -3,13 +3,13 @@ package com.topjohnwu.magisk.core import android.content.ContextWrapper import android.content.Intent import com.topjohnwu.magisk.core.base.BaseReceiver +import com.topjohnwu.magisk.core.download.Configuration import com.topjohnwu.magisk.core.download.DownloadService +import com.topjohnwu.magisk.core.download.DownloadSubject import com.topjohnwu.magisk.core.magiskdb.PolicyDao import com.topjohnwu.magisk.core.model.ManagerJson import com.topjohnwu.magisk.core.su.SuCallbackHandler import com.topjohnwu.magisk.ktx.reboot -import com.topjohnwu.magisk.model.internal.Configuration -import com.topjohnwu.magisk.model.internal.DownloadSubject import com.topjohnwu.magisk.view.Shortcuts import com.topjohnwu.superuser.Shell import kotlinx.coroutines.GlobalScope diff --git a/app/src/main/java/com/topjohnwu/magisk/core/SplashActivity.kt b/app/src/main/java/com/topjohnwu/magisk/core/SplashActivity.kt index a6f4f56b0..9421e447d 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/SplashActivity.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/SplashActivity.kt @@ -2,12 +2,14 @@ package com.topjohnwu.magisk.core import android.app.Activity import android.content.Context +import android.content.Intent +import android.os.Build import android.os.Bundle import com.topjohnwu.magisk.BuildConfig import com.topjohnwu.magisk.R import com.topjohnwu.magisk.data.network.GithubRawServices import com.topjohnwu.magisk.ktx.get -import com.topjohnwu.magisk.model.navigation.Navigation +import com.topjohnwu.magisk.ui.MainActivity import com.topjohnwu.magisk.view.Notifications import com.topjohnwu.magisk.view.Shortcuts import com.topjohnwu.superuser.Shell @@ -58,11 +60,21 @@ open class SplashActivity : Activity() { get() DONE = true - Navigation.start(intent, this) + + val section = if (intent.action == ACTION_APPLICATION_PREFERENCES) Const.Nav.SETTINGS + else intent.getStringExtra(Const.Key.OPEN_SECTION) + + intent() + .putExtra(Const.Key.OPEN_SECTION, section) + .also { startActivity(it) } + finish() } companion object { + private val ACTION_APPLICATION_PREFERENCES get() = + if (Build.VERSION.SDK_INT >= 24) Intent.ACTION_APPLICATION_PREFERENCES + else "???" var DONE = false } diff --git a/app/src/main/java/com/topjohnwu/magisk/model/internal/Configuration.kt b/app/src/main/java/com/topjohnwu/magisk/core/download/Configuration.kt similarity index 93% rename from app/src/main/java/com/topjohnwu/magisk/model/internal/Configuration.kt rename to app/src/main/java/com/topjohnwu/magisk/core/download/Configuration.kt index f3bf49eed..2536ded35 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/internal/Configuration.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/download/Configuration.kt @@ -1,4 +1,4 @@ -package com.topjohnwu.magisk.model.internal +package com.topjohnwu.magisk.core.download import android.net.Uri import android.os.Parcelable diff --git a/app/src/main/java/com/topjohnwu/magisk/core/download/DownloadService.kt b/app/src/main/java/com/topjohnwu/magisk/core/download/DownloadService.kt index 4f18b0f36..0bf730eaa 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/download/DownloadService.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/download/DownloadService.kt @@ -8,15 +8,14 @@ import android.content.Intent import android.os.Build import android.webkit.MimeTypeMap import com.topjohnwu.magisk.R +import com.topjohnwu.magisk.core.download.Configuration.* +import com.topjohnwu.magisk.core.download.Configuration.Flash.Secondary +import com.topjohnwu.magisk.core.download.DownloadSubject.* import com.topjohnwu.magisk.core.intent import com.topjohnwu.magisk.core.tasks.EnvFixTask import com.topjohnwu.magisk.ktx.chooser import com.topjohnwu.magisk.ktx.exists import com.topjohnwu.magisk.ktx.provide -import com.topjohnwu.magisk.model.internal.Configuration.* -import com.topjohnwu.magisk.model.internal.Configuration.Flash.Secondary -import com.topjohnwu.magisk.model.internal.DownloadSubject -import com.topjohnwu.magisk.model.internal.DownloadSubject.* import com.topjohnwu.magisk.ui.flash.FlashFragment import com.topjohnwu.magisk.utils.APKInstall import org.koin.core.get diff --git a/app/src/main/java/com/topjohnwu/magisk/model/internal/DownloadSubject.kt b/app/src/main/java/com/topjohnwu/magisk/core/download/DownloadSubject.kt similarity index 98% rename from app/src/main/java/com/topjohnwu/magisk/model/internal/DownloadSubject.kt rename to app/src/main/java/com/topjohnwu/magisk/core/download/DownloadSubject.kt index 07f088cef..ab319ff7e 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/internal/DownloadSubject.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/download/DownloadSubject.kt @@ -1,4 +1,4 @@ -package com.topjohnwu.magisk.model.internal +package com.topjohnwu.magisk.core.download import android.content.Context import android.os.Parcelable diff --git a/app/src/main/java/com/topjohnwu/magisk/core/download/ManagerUpgrade.kt b/app/src/main/java/com/topjohnwu/magisk/core/download/ManagerUpgrade.kt index 5373e5a79..206524dac 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/download/ManagerUpgrade.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/download/ManagerUpgrade.kt @@ -6,13 +6,12 @@ import com.topjohnwu.magisk.ProcessPhoenix import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.Info +import com.topjohnwu.magisk.core.download.Configuration.APK.Restore +import com.topjohnwu.magisk.core.download.Configuration.APK.Upgrade import com.topjohnwu.magisk.core.intent import com.topjohnwu.magisk.core.isRunningAsStub import com.topjohnwu.magisk.core.utils.PatchAPK import com.topjohnwu.magisk.ktx.writeTo -import com.topjohnwu.magisk.model.internal.Configuration.APK.Restore -import com.topjohnwu.magisk.model.internal.Configuration.APK.Upgrade -import com.topjohnwu.magisk.model.internal.DownloadSubject import com.topjohnwu.superuser.Shell import java.io.File diff --git a/app/src/main/java/com/topjohnwu/magisk/core/download/RemoteFileService.kt b/app/src/main/java/com/topjohnwu/magisk/core/download/RemoteFileService.kt index 5b6e408fa..6ceff246f 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/download/RemoteFileService.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/download/RemoteFileService.kt @@ -6,13 +6,12 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.ForegroundTracker +import com.topjohnwu.magisk.core.download.DownloadSubject.Magisk +import com.topjohnwu.magisk.core.download.DownloadSubject.Module import com.topjohnwu.magisk.core.utils.ProgressInputStream import com.topjohnwu.magisk.data.network.GithubRawServices import com.topjohnwu.magisk.ktx.checkSum import com.topjohnwu.magisk.ktx.writeTo -import com.topjohnwu.magisk.model.internal.DownloadSubject -import com.topjohnwu.magisk.model.internal.DownloadSubject.Magisk -import com.topjohnwu.magisk.model.internal.DownloadSubject.Module import com.topjohnwu.magisk.view.Notifications import kotlinx.coroutines.launch import okhttp3.ResponseBody diff --git a/app/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt b/app/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt index d0f0bc20e..0330e68c4 100644 --- a/app/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt +++ b/app/src/main/java/com/topjohnwu/magisk/events/ViewEvents.kt @@ -3,10 +3,8 @@ package com.topjohnwu.magisk.events import android.app.Activity import android.content.Context import android.content.Intent -import com.topjohnwu.magisk.arch.ActivityExecutor -import com.topjohnwu.magisk.arch.ContextExecutor -import com.topjohnwu.magisk.arch.ViewEvent -import com.topjohnwu.magisk.arch.ViewEventWithScope +import androidx.navigation.NavDirections +import com.topjohnwu.magisk.arch.* import com.topjohnwu.magisk.core.base.BaseActivity import com.topjohnwu.magisk.core.model.module.Repo import com.topjohnwu.magisk.view.MarkDownWindow @@ -74,3 +72,13 @@ class RequestFileEvent : ViewEvent(), ActivityExecutor { ?.data } } + +class NavigationEvent( + private val directions: NavDirections +) : ViewEvent(), ActivityExecutor { + override fun invoke(activity: BaseActivity) { + (activity as? BaseUIActivity<*, *>)?.apply { + directions.navigate() + } + } +} diff --git a/app/src/main/java/com/topjohnwu/magisk/events/dialog/EnvFixDialog.kt b/app/src/main/java/com/topjohnwu/magisk/events/dialog/EnvFixDialog.kt index eb94999b7..2f753c903 100644 --- a/app/src/main/java/com/topjohnwu/magisk/events/dialog/EnvFixDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/events/dialog/EnvFixDialog.kt @@ -6,9 +6,9 @@ import android.content.Intent import android.content.IntentFilter import androidx.localbroadcastmanager.content.LocalBroadcastManager import com.topjohnwu.magisk.R +import com.topjohnwu.magisk.core.download.Configuration.EnvFix import com.topjohnwu.magisk.core.download.DownloadService -import com.topjohnwu.magisk.model.internal.Configuration.EnvFix -import com.topjohnwu.magisk.model.internal.DownloadSubject.Magisk +import com.topjohnwu.magisk.core.download.DownloadSubject.Magisk import com.topjohnwu.magisk.view.MagiskDialog class EnvFixDialog : DialogEvent() { diff --git a/app/src/main/java/com/topjohnwu/magisk/events/dialog/ManagerInstallDialog.kt b/app/src/main/java/com/topjohnwu/magisk/events/dialog/ManagerInstallDialog.kt index 70b0f4837..005f5c0a6 100644 --- a/app/src/main/java/com/topjohnwu/magisk/events/dialog/ManagerInstallDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/events/dialog/ManagerInstallDialog.kt @@ -2,10 +2,10 @@ package com.topjohnwu.magisk.events.dialog import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Info +import com.topjohnwu.magisk.core.download.Configuration import com.topjohnwu.magisk.core.download.DownloadService +import com.topjohnwu.magisk.core.download.DownloadSubject import com.topjohnwu.magisk.ktx.res -import com.topjohnwu.magisk.model.internal.Configuration -import com.topjohnwu.magisk.model.internal.DownloadSubject import com.topjohnwu.magisk.view.MagiskDialog import com.topjohnwu.magisk.view.MarkDownWindow import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/java/com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt b/app/src/main/java/com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt index f1a768b2e..a45888f57 100644 --- a/app/src/main/java/com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/events/dialog/ModuleInstallDialog.kt @@ -1,10 +1,10 @@ package com.topjohnwu.magisk.events.dialog import com.topjohnwu.magisk.R +import com.topjohnwu.magisk.core.download.Configuration import com.topjohnwu.magisk.core.download.DownloadService +import com.topjohnwu.magisk.core.download.DownloadSubject import com.topjohnwu.magisk.core.model.module.Repo -import com.topjohnwu.magisk.model.internal.Configuration -import com.topjohnwu.magisk.model.internal.DownloadSubject import com.topjohnwu.magisk.view.MagiskDialog class ModuleInstallDialog(private val item: Repo) : DialogEvent() { diff --git a/app/src/main/java/com/topjohnwu/magisk/events/dialog/UninstallDialog.kt b/app/src/main/java/com/topjohnwu/magisk/events/dialog/UninstallDialog.kt index 4a2522086..9f38277fe 100644 --- a/app/src/main/java/com/topjohnwu/magisk/events/dialog/UninstallDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/events/dialog/UninstallDialog.kt @@ -3,9 +3,9 @@ package com.topjohnwu.magisk.events.dialog import android.widget.Toast import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Info +import com.topjohnwu.magisk.core.download.Configuration import com.topjohnwu.magisk.core.download.DownloadService -import com.topjohnwu.magisk.model.internal.Configuration -import com.topjohnwu.magisk.model.internal.DownloadSubject +import com.topjohnwu.magisk.core.download.DownloadSubject import com.topjohnwu.magisk.utils.Utils import com.topjohnwu.magisk.view.MagiskDialog import com.topjohnwu.superuser.Shell diff --git a/app/src/main/java/com/topjohnwu/magisk/model/navigation/Navigation.kt b/app/src/main/java/com/topjohnwu/magisk/model/navigation/Navigation.kt deleted file mode 100644 index 75776881d..000000000 --- a/app/src/main/java/com/topjohnwu/magisk/model/navigation/Navigation.kt +++ /dev/null @@ -1,30 +0,0 @@ -package com.topjohnwu.magisk.model.navigation - -import android.content.Context -import android.content.Intent -import android.os.Build -import com.topjohnwu.magisk.core.Const -import com.topjohnwu.magisk.core.intent -import com.topjohnwu.magisk.ui.MainActivity - -object Navigation { - - fun start(launchIntent: Intent, context: Context) { - context.intent() - .putExtra( - Const.Key.OPEN_SECTION, launchIntent.getStringExtra( - Const.Key.OPEN_SECTION)) - .putExtra( - Const.Key.OPEN_SETTINGS, - launchIntent.action == ACTION_APPLICATION_PREFERENCES - ) - .also { context.startActivity(it) } - } - - private val ACTION_APPLICATION_PREFERENCES - get() = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - Intent.ACTION_APPLICATION_PREFERENCES - } else { - "cannot be null, cannot be empty" - } -} diff --git a/app/src/main/java/com/topjohnwu/magisk/model/navigation/NavigationWrapper.kt b/app/src/main/java/com/topjohnwu/magisk/model/navigation/NavigationWrapper.kt deleted file mode 100644 index 5dd38cfde..000000000 --- a/app/src/main/java/com/topjohnwu/magisk/model/navigation/NavigationWrapper.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.topjohnwu.magisk.model.navigation - -import androidx.navigation.NavDirections -import com.topjohnwu.magisk.arch.ActivityExecutor -import com.topjohnwu.magisk.arch.BaseUIActivity -import com.topjohnwu.magisk.arch.ViewEvent -import com.topjohnwu.magisk.core.base.BaseActivity - -class NavigationWrapper( - private val directions: NavDirections -) : ViewEvent(), ActivityExecutor { - override fun invoke(activity: BaseActivity) { - if (activity !is BaseUIActivity<*, *>) return - activity.apply { - directions.navigate() - } - } -} diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt b/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt index edf72d706..f2ec6116c 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt @@ -44,8 +44,7 @@ open class MainActivity : BaseUIActivity( binding.mainNavigation.setPadding(0) } - protected var isRoot = true - private set + private var isRootFragment = true override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -61,8 +60,8 @@ open class MainActivity : BaseUIActivity( window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) - navigation?.addOnDestinationChangedListener { controller, destination, arguments -> - isRoot = when (destination.id) { + navigation?.addOnDestinationChangedListener { _, destination, _ -> + isRootFragment = when (destination.id) { R.id.homeFragment, R.id.modulesFragment, R.id.superuserFragment, @@ -70,8 +69,8 @@ open class MainActivity : BaseUIActivity( else -> false } - setDisplayHomeAsUpEnabled(!isRoot) - requestNavigationHidden(!isRoot) + setDisplayHomeAsUpEnabled(!isRootFragment) + requestNavigationHidden(!isRootFragment) binding.mainNavigation.menu.forEach { if (it.itemId == destination.id) { @@ -89,13 +88,7 @@ open class MainActivity : BaseUIActivity( behavior = HideBottomViewOnScrollBehavior() } binding.mainNavigation.setOnNavigationItemSelectedListener { - when (it.itemId) { - R.id.homeFragment -> MainDirections.actionHomeFragment() - R.id.modulesFragment -> MainDirections.actionModuleFragment() - R.id.superuserFragment -> MainDirections.actionSuperuserFragment() - R.id.logFragment -> MainDirections.actionLogFragment() - else -> throw NotImplementedError("Id ${it.itemId} is not defined as selectable") - }.navigate() + getScreen(it.itemId)?.navigate() true } binding.mainNavigation.setOnNavigationItemReselectedListener { @@ -104,16 +97,11 @@ open class MainActivity : BaseUIActivity( binding.mainNavigation.viewTreeObserver.addOnGlobalLayoutListener(navObserver) - when { - intent.hasExtra(Const.Key.OPEN_SECTION) -> - getScreen(intent.getStringExtra(Const.Key.OPEN_SECTION))?.navigate() - intent.getBooleanExtra(Const.Key.OPEN_SETTINGS, false) -> - HomeFragmentDirections.actionHomeFragmentToSettingsFragment().navigate() - } - + if (intent.hasExtra(Const.Key.OPEN_SECTION)) + getScreen(intent.getStringExtra(Const.Key.OPEN_SECTION))?.navigate() if (savedInstanceState != null) { - if (!isRoot) { + if (!isRootFragment) { requestNavigationHidden() } } @@ -171,11 +159,21 @@ open class MainActivity : BaseUIActivity( private fun getScreen(name: String?): NavDirections? { return when (name) { - "superuser" -> HomeFragmentDirections.actionSuperuserFragment() - "magiskhide" -> HomeFragmentDirections.actionHideFragment() - "modules" -> HomeFragmentDirections.actionModuleFragment() - null -> null - else -> TODO("Implement screen shortcut \"$name\"") + Const.Nav.SUPERUSER -> HomeFragmentDirections.actionSuperuserFragment() + Const.Nav.HIDE -> HomeFragmentDirections.actionHideFragment() + Const.Nav.MODULES -> HomeFragmentDirections.actionModuleFragment() + Const.Nav.SETTINGS -> HomeFragmentDirections.actionHomeFragmentToSettingsFragment() + else -> null + } + } + + private fun getScreen(id: Int): NavDirections? { + return when (id) { + R.id.homeFragment -> MainDirections.actionHomeFragment() + R.id.modulesFragment -> MainDirections.actionModuleFragment() + R.id.superuserFragment -> MainDirections.actionSuperuserFragment() + R.id.logFragment -> MainDirections.actionLogFragment() + else -> null } } diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt index 8a384be90..596555beb 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeViewModel.kt @@ -12,6 +12,7 @@ import com.topjohnwu.magisk.arch.itemBindingOf import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.base.BaseActivity +import com.topjohnwu.magisk.core.download.DownloadSubject.Manager import com.topjohnwu.magisk.core.download.RemoteFileService import com.topjohnwu.magisk.core.model.MagiskJson import com.topjohnwu.magisk.core.model.ManagerJson @@ -23,7 +24,6 @@ import com.topjohnwu.magisk.events.dialog.UninstallDialog import com.topjohnwu.magisk.ktx.await import com.topjohnwu.magisk.ktx.packageName import com.topjohnwu.magisk.ktx.res -import com.topjohnwu.magisk.model.internal.DownloadSubject.Manager import com.topjohnwu.magisk.utils.set import com.topjohnwu.superuser.Shell import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt index 5f0d77ac4..027be082d 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt @@ -8,13 +8,13 @@ import com.topjohnwu.magisk.BR import com.topjohnwu.magisk.R import com.topjohnwu.magisk.arch.BaseViewModel import com.topjohnwu.magisk.core.Info +import com.topjohnwu.magisk.core.download.Configuration import com.topjohnwu.magisk.core.download.DownloadService +import com.topjohnwu.magisk.core.download.DownloadSubject import com.topjohnwu.magisk.core.download.RemoteFileService import com.topjohnwu.magisk.data.repository.StringRepository import com.topjohnwu.magisk.events.RequestFileEvent import com.topjohnwu.magisk.events.dialog.SecondSlotWarningDialog -import com.topjohnwu.magisk.model.internal.Configuration -import com.topjohnwu.magisk.model.internal.DownloadSubject import com.topjohnwu.magisk.utils.Utils import com.topjohnwu.magisk.utils.set import com.topjohnwu.superuser.Shell diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt index adbbd8572..4a7d77a13 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt @@ -8,6 +8,7 @@ import com.topjohnwu.magisk.BR import com.topjohnwu.magisk.R import com.topjohnwu.magisk.arch.* import com.topjohnwu.magisk.core.Config +import com.topjohnwu.magisk.core.download.DownloadSubject import com.topjohnwu.magisk.core.download.RemoteFileService import com.topjohnwu.magisk.core.model.module.Module import com.topjohnwu.magisk.core.tasks.RepoUpdater @@ -19,7 +20,6 @@ import com.topjohnwu.magisk.events.OpenChangelogEvent import com.topjohnwu.magisk.events.dialog.ModuleInstallDialog import com.topjohnwu.magisk.ktx.addOnListChangedCallback import com.topjohnwu.magisk.ktx.reboot -import com.topjohnwu.magisk.model.internal.DownloadSubject import com.topjohnwu.magisk.utils.EndlessRecyclerScrollListener import com.topjohnwu.magisk.utils.set import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt index 26529ed4b..9d148ee10 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt @@ -12,13 +12,13 @@ import com.topjohnwu.magisk.arch.diffListOf import com.topjohnwu.magisk.arch.itemBindingOf import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.core.Info +import com.topjohnwu.magisk.core.download.Configuration import com.topjohnwu.magisk.core.download.DownloadService +import com.topjohnwu.magisk.core.download.DownloadSubject import com.topjohnwu.magisk.core.utils.PatchAPK import com.topjohnwu.magisk.data.database.RepoDao import com.topjohnwu.magisk.events.RecreateEvent import com.topjohnwu.magisk.events.dialog.BiometricDialog -import com.topjohnwu.magisk.model.internal.Configuration -import com.topjohnwu.magisk.model.internal.DownloadSubject import com.topjohnwu.magisk.utils.Utils import com.topjohnwu.superuser.Shell import kotlinx.coroutines.launch diff --git a/app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt b/app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt index 17bb6b306..3d058907f 100644 --- a/app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt +++ b/app/src/main/java/com/topjohnwu/magisk/view/Shortcuts.kt @@ -42,11 +42,11 @@ object Shortcuts { if (Utils.showSuperUser()) { shortCuts.add( - ShortcutInfo.Builder(context, "superuser") + ShortcutInfo.Builder(context, Const.Nav.SUPERUSER) .setShortLabel(context.getString(R.string.superuser)) .setIntent( Intent(intent) - .putExtra(Const.Key.OPEN_SECTION, "superuser") + .putExtra(Const.Key.OPEN_SECTION, Const.Nav.SUPERUSER) .setAction(Intent.ACTION_VIEW) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) ) @@ -57,11 +57,11 @@ object Shortcuts { } if (Info.env.magiskHide) { shortCuts.add( - ShortcutInfo.Builder(context, "magiskhide") + ShortcutInfo.Builder(context, Const.Nav.HIDE) .setShortLabel(context.getString(R.string.magiskhide)) .setIntent( Intent(intent) - .putExtra(Const.Key.OPEN_SECTION, "magiskhide") + .putExtra(Const.Key.OPEN_SECTION, Const.Nav.HIDE) .setAction(Intent.ACTION_VIEW) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) ) @@ -72,11 +72,11 @@ object Shortcuts { } if (Info.env.isActive) { shortCuts.add( - ShortcutInfo.Builder(context, "modules") + ShortcutInfo.Builder(context, Const.Nav.MODULES) .setShortLabel(context.getString(R.string.modules)) .setIntent( Intent(intent) - .putExtra(Const.Key.OPEN_SECTION, "modules") + .putExtra(Const.Key.OPEN_SECTION, Const.Nav.MODULES) .setAction(Intent.ACTION_VIEW) .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) )