From d0112f989ce1ba7bea0baa31d3b58478a4e9adcf Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Wed, 29 Jan 2020 01:49:59 +0800 Subject: [PATCH] Cleanup classes --- .../java/com/topjohnwu/magisk/core/Config.kt | 4 ++-- .../topjohnwu/magisk/core/SplashActivity.kt | 2 +- .../magisk/core/download/RemoteFileService.kt | 4 ++-- .../magisk/core/su/SuCallbackHandler.kt | 2 +- .../topjohnwu/magisk/core/tasks/FlashZip.kt | 2 +- .../magisk/core/tasks/MagiskInstaller.kt | 2 +- .../topjohnwu/magisk/core/utils/PatchAPK.kt | 2 +- .../magisk/data/network/GithubServices.kt | 2 +- .../magisk/data/repository/MagiskRepository.kt | 2 +- .../topjohnwu/magisk/extensions/XAndroid.kt | 17 ++++++++++++++++- .../legacy/surequest/SuRequestViewModel.kt | 2 +- .../model/entity/internal/DownloadSubject.kt | 6 +++--- .../magisk/model/events/ViewEvents.kt | 2 +- .../model/events/dialog/BiometricDialog.kt | 2 +- .../magisk/model/events/dialog/EnvFixDialog.kt | 2 +- .../events/dialog/ManagerInstallDialog.kt | 2 +- .../model/events/dialog/UninstallDialog.kt | 4 ++-- .../model/navigation/MagiskNavigationEvent.kt | 4 ++-- .../com/topjohnwu/magisk/ui/MainActivity.kt | 4 ++-- .../topjohnwu/magisk/ui/base/CompatActivity.kt | 18 ------------------ .../topjohnwu/magisk/ui/base/CompatFragment.kt | 11 ----------- .../magisk/ui/base/CompatNavigationDelegate.kt | 2 +- .../topjohnwu/magisk/ui/flash/FlashFragment.kt | 4 ++-- .../topjohnwu/magisk/ui/hide/HideFragment.kt | 5 ++--- .../topjohnwu/magisk/ui/home/HomeFragment.kt | 4 ++-- .../topjohnwu/magisk/ui/home/HomeViewModel.kt | 4 ++-- .../magisk/ui/install/InstallFragment.kt | 4 ++-- .../com/topjohnwu/magisk/ui/log/LogFragment.kt | 4 ++-- .../magisk/ui/module/ModuleFragment.kt | 5 ++--- .../magisk/ui/request/RequestActivity.kt | 4 ++-- .../magisk/ui/safetynet/SafetynetFragment.kt | 4 ++-- .../magisk/ui/safetynet/SafetynetViewModel.kt | 2 +- .../magisk/ui/settings/SettingsFragment.kt | 4 ++-- .../magisk/ui/superuser/SuperuserFragment.kt | 4 ++-- .../magisk/ui/superuser/SuperuserViewModel.kt | 2 +- .../topjohnwu/magisk/ui/theme/ThemeFragment.kt | 4 ++-- 36 files changed, 68 insertions(+), 84 deletions(-) delete mode 100644 app/src/main/java/com/topjohnwu/magisk/ui/base/CompatActivity.kt delete mode 100644 app/src/main/java/com/topjohnwu/magisk/ui/base/CompatFragment.kt diff --git a/app/src/main/java/com/topjohnwu/magisk/core/Config.kt b/app/src/main/java/com/topjohnwu/magisk/core/Config.kt index 118412372..376b0d4e1 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/Config.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/Config.kt @@ -9,14 +9,14 @@ import androidx.core.content.edit import com.topjohnwu.magisk.BuildConfig import com.topjohnwu.magisk.core.magiskdb.SettingsDao import com.topjohnwu.magisk.core.magiskdb.StringDao +import com.topjohnwu.magisk.core.utils.BiometricHelper +import com.topjohnwu.magisk.core.utils.Utils import com.topjohnwu.magisk.data.repository.DBConfig import com.topjohnwu.magisk.di.Protected import com.topjohnwu.magisk.extensions.get import com.topjohnwu.magisk.extensions.inject import com.topjohnwu.magisk.model.preference.PreferenceModel import com.topjohnwu.magisk.ui.theme.Theme -import com.topjohnwu.magisk.core.utils.BiometricHelper -import com.topjohnwu.magisk.core.utils.Utils import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.io.SuFile import com.topjohnwu.superuser.io.SuFileInputStream 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 d56489ff1..8c30a94f5 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/SplashActivity.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/SplashActivity.kt @@ -4,10 +4,10 @@ import android.app.Activity import android.content.Context import android.os.Bundle import com.topjohnwu.magisk.BuildConfig -import com.topjohnwu.magisk.model.navigation.Navigation import com.topjohnwu.magisk.core.utils.Utils import com.topjohnwu.magisk.core.view.Notifications import com.topjohnwu.magisk.core.view.Shortcuts +import com.topjohnwu.magisk.model.navigation.Navigation import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.ShellUtils 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 2ec84e8fb..38a9dd411 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,6 +6,8 @@ import android.content.Intent import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import com.topjohnwu.magisk.R +import com.topjohnwu.magisk.core.utils.ProgressInputStream +import com.topjohnwu.magisk.core.view.Notifications import com.topjohnwu.magisk.data.network.GithubRawServices import com.topjohnwu.magisk.di.NullActivity import com.topjohnwu.magisk.extensions.get @@ -13,8 +15,6 @@ import com.topjohnwu.magisk.extensions.subscribeK import com.topjohnwu.magisk.extensions.writeTo import com.topjohnwu.magisk.model.entity.internal.DownloadSubject import com.topjohnwu.magisk.model.entity.internal.DownloadSubject.* -import com.topjohnwu.magisk.core.utils.ProgressInputStream -import com.topjohnwu.magisk.core.view.Notifications import com.topjohnwu.superuser.ShellUtils import io.reactivex.Completable import okhttp3.ResponseBody diff --git a/app/src/main/java/com/topjohnwu/magisk/core/su/SuCallbackHandler.kt b/app/src/main/java/com/topjohnwu/magisk/core/su/SuCallbackHandler.kt index 6b9959566..d23a74367 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/su/SuCallbackHandler.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/su/SuCallbackHandler.kt @@ -13,6 +13,7 @@ import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.intent import com.topjohnwu.magisk.core.model.MagiskPolicy import com.topjohnwu.magisk.core.model.toPolicy +import com.topjohnwu.magisk.core.utils.Utils import com.topjohnwu.magisk.core.wrap import com.topjohnwu.magisk.data.repository.LogRepository import com.topjohnwu.magisk.extensions.get @@ -21,7 +22,6 @@ import com.topjohnwu.magisk.extensions.startActivityWithRoot import com.topjohnwu.magisk.extensions.subscribeK import com.topjohnwu.magisk.legacy.surequest.SuRequestActivity import com.topjohnwu.magisk.model.entity.toLog -import com.topjohnwu.magisk.core.utils.Utils import com.topjohnwu.superuser.Shell import timber.log.Timber diff --git a/app/src/main/java/com/topjohnwu/magisk/core/tasks/FlashZip.kt b/app/src/main/java/com/topjohnwu/magisk/core/tasks/FlashZip.kt index 22759ece6..fefbf60ba 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/tasks/FlashZip.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/tasks/FlashZip.kt @@ -3,11 +3,11 @@ package com.topjohnwu.magisk.core.tasks import android.content.Context import android.net.Uri import com.topjohnwu.magisk.core.Const +import com.topjohnwu.magisk.core.utils.unzip import com.topjohnwu.magisk.extensions.fileName import com.topjohnwu.magisk.extensions.inject import com.topjohnwu.magisk.extensions.readUri import com.topjohnwu.magisk.extensions.subscribeK -import com.topjohnwu.magisk.core.utils.unzip import com.topjohnwu.superuser.Shell import io.reactivex.Single import java.io.File diff --git a/app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt b/app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt index 8c148df71..395e0cb02 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/tasks/MagiskInstaller.kt @@ -7,8 +7,8 @@ import android.text.TextUtils import androidx.annotation.MainThread import androidx.annotation.WorkerThread import androidx.core.net.toUri -import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.Config +import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.data.network.GithubRawServices import com.topjohnwu.magisk.di.Protected import com.topjohnwu.magisk.extensions.* diff --git a/app/src/main/java/com/topjohnwu/magisk/core/utils/PatchAPK.kt b/app/src/main/java/com/topjohnwu/magisk/core/utils/PatchAPK.kt index 8d3f9a984..4a56efd91 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/utils/PatchAPK.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/utils/PatchAPK.kt @@ -9,12 +9,12 @@ import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.isRunningAsStub +import com.topjohnwu.magisk.core.view.Notifications import com.topjohnwu.magisk.data.network.GithubRawServices import com.topjohnwu.magisk.extensions.DynamicClassLoader import com.topjohnwu.magisk.extensions.get import com.topjohnwu.magisk.extensions.subscribeK import com.topjohnwu.magisk.extensions.writeTo -import com.topjohnwu.magisk.core.view.Notifications import com.topjohnwu.signing.JarMap import com.topjohnwu.signing.SignAPK import com.topjohnwu.superuser.Shell diff --git a/app/src/main/java/com/topjohnwu/magisk/data/network/GithubServices.kt b/app/src/main/java/com/topjohnwu/magisk/data/network/GithubServices.kt index c072648bb..ad6858507 100644 --- a/app/src/main/java/com/topjohnwu/magisk/data/network/GithubServices.kt +++ b/app/src/main/java/com/topjohnwu/magisk/data/network/GithubServices.kt @@ -1,8 +1,8 @@ package com.topjohnwu.magisk.data.network import com.topjohnwu.magisk.core.Const -import com.topjohnwu.magisk.core.tasks.GithubRepoInfo import com.topjohnwu.magisk.core.model.UpdateInfo +import com.topjohnwu.magisk.core.tasks.GithubRepoInfo import io.reactivex.Flowable import io.reactivex.Single import okhttp3.ResponseBody diff --git a/app/src/main/java/com/topjohnwu/magisk/data/repository/MagiskRepository.kt b/app/src/main/java/com/topjohnwu/magisk/data/repository/MagiskRepository.kt index 1a3a73c1a..1620be38a 100644 --- a/app/src/main/java/com/topjohnwu/magisk/data/repository/MagiskRepository.kt +++ b/app/src/main/java/com/topjohnwu/magisk/data/repository/MagiskRepository.kt @@ -1,8 +1,8 @@ package com.topjohnwu.magisk.data.repository import android.content.pm.PackageManager -import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.Config +import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.data.network.GithubRawServices import com.topjohnwu.magisk.extensions.getLabel import com.topjohnwu.magisk.extensions.packageName diff --git a/app/src/main/java/com/topjohnwu/magisk/extensions/XAndroid.kt b/app/src/main/java/com/topjohnwu/magisk/extensions/XAndroid.kt index 995405bd1..71143b4bb 100644 --- a/app/src/main/java/com/topjohnwu/magisk/extensions/XAndroid.kt +++ b/app/src/main/java/com/topjohnwu/magisk/extensions/XAndroid.kt @@ -1,5 +1,6 @@ package com.topjohnwu.magisk.extensions +import android.app.Activity import android.content.ComponentName import android.content.Context import android.content.ContextWrapper @@ -22,17 +23,20 @@ import android.os.Build import android.os.Build.VERSION.SDK_INT import android.provider.OpenableColumns import android.view.View +import android.view.inputmethod.InputMethodManager import androidx.annotation.ColorRes import androidx.annotation.DrawableRes import androidx.appcompat.content.res.AppCompatResources import androidx.core.content.ContextCompat +import androidx.core.content.getSystemService import androidx.core.net.toFile import androidx.core.net.toUri +import androidx.fragment.app.Fragment import com.topjohnwu.magisk.FileProvider import com.topjohnwu.magisk.core.Const +import com.topjohnwu.magisk.core.utils.Utils import com.topjohnwu.magisk.core.utils.currentLocale import com.topjohnwu.magisk.utils.DynamicClassLoader -import com.topjohnwu.magisk.core.utils.Utils import com.topjohnwu.superuser.Shell import com.topjohnwu.superuser.ShellUtils import java.io.File @@ -347,3 +351,14 @@ val isAB get() = ShellUtils .fastCmd("grep_prop ro.build.ab_update") .let { it.isNotEmpty() && it.toBoolean() } + +fun Activity.hideKeyboard() { + val view = currentFocus ?: return + getSystemService() + ?.hideSoftInputFromWindow(view.windowToken, 0) + view.clearFocus() +} + +fun Fragment.hideKeyboard() { + activity?.hideKeyboard() +} diff --git a/app/src/main/java/com/topjohnwu/magisk/legacy/surequest/SuRequestViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/legacy/surequest/SuRequestViewModel.kt index c29bb15af..c9338f568 100644 --- a/app/src/main/java/com/topjohnwu/magisk/legacy/surequest/SuRequestViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/legacy/surequest/SuRequestViewModel.kt @@ -12,11 +12,11 @@ import com.topjohnwu.magisk.core.magiskdb.PolicyDao import com.topjohnwu.magisk.core.model.MagiskPolicy.Companion.ALLOW import com.topjohnwu.magisk.core.model.MagiskPolicy.Companion.DENY import com.topjohnwu.magisk.core.su.SuRequestHandler +import com.topjohnwu.magisk.core.utils.BiometricHelper import com.topjohnwu.magisk.databinding.ComparableRvItem import com.topjohnwu.magisk.model.entity.recycler.SpinnerRvItem import com.topjohnwu.magisk.model.events.DieEvent import com.topjohnwu.magisk.ui.base.BaseViewModel -import com.topjohnwu.magisk.core.utils.BiometricHelper import com.topjohnwu.magisk.utils.DiffObservableList import com.topjohnwu.magisk.utils.KObservableField import me.tatarka.bindingcollectionadapter2.BindingListViewAdapter diff --git a/app/src/main/java/com/topjohnwu/magisk/model/entity/internal/DownloadSubject.kt b/app/src/main/java/com/topjohnwu/magisk/model/entity/internal/DownloadSubject.kt index fb83bc3be..01eb7d274 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/entity/internal/DownloadSubject.kt +++ b/app/src/main/java/com/topjohnwu/magisk/model/entity/internal/DownloadSubject.kt @@ -2,13 +2,13 @@ package com.topjohnwu.magisk.model.entity.internal import android.content.Context import android.os.Parcelable -import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.Config +import com.topjohnwu.magisk.core.Info +import com.topjohnwu.magisk.core.model.MagiskJson +import com.topjohnwu.magisk.core.model.ManagerJson import com.topjohnwu.magisk.core.model.module.Repo import com.topjohnwu.magisk.extensions.cachedFile import com.topjohnwu.magisk.extensions.get -import com.topjohnwu.magisk.core.model.MagiskJson -import com.topjohnwu.magisk.core.model.ManagerJson import kotlinx.android.parcel.IgnoredOnParcel import kotlinx.android.parcel.Parcelize import java.io.File diff --git a/app/src/main/java/com/topjohnwu/magisk/model/events/ViewEvents.kt b/app/src/main/java/com/topjohnwu/magisk/model/events/ViewEvents.kt index 173746fcf..267ff209a 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/events/ViewEvents.kt +++ b/app/src/main/java/com/topjohnwu/magisk/model/events/ViewEvents.kt @@ -7,12 +7,12 @@ import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.core.base.BaseActivity import com.topjohnwu.magisk.core.model.module.Repo +import com.topjohnwu.magisk.core.utils.SafetyNetHelper import com.topjohnwu.magisk.data.repository.MagiskRepository import com.topjohnwu.magisk.extensions.DynamicClassLoader import com.topjohnwu.magisk.extensions.subscribeK import com.topjohnwu.magisk.extensions.writeTo import com.topjohnwu.magisk.utils.RxBus -import com.topjohnwu.magisk.core.utils.SafetyNetHelper import com.topjohnwu.magisk.view.MagiskDialog import com.topjohnwu.magisk.view.MarkDownWindow import com.topjohnwu.superuser.Shell diff --git a/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/BiometricDialog.kt b/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/BiometricDialog.kt index db74ef997..839a5a21c 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/BiometricDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/BiometricDialog.kt @@ -1,9 +1,9 @@ package com.topjohnwu.magisk.model.events.dialog import com.topjohnwu.magisk.core.base.BaseActivity +import com.topjohnwu.magisk.core.utils.BiometricHelper import com.topjohnwu.magisk.model.events.ActivityExecutor import com.topjohnwu.magisk.model.events.ViewEvent -import com.topjohnwu.magisk.core.utils.BiometricHelper class BiometricDialog( builder: Builder.() -> Unit diff --git a/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/EnvFixDialog.kt b/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/EnvFixDialog.kt index 8571b6518..9d8f4a9ba 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/EnvFixDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/EnvFixDialog.kt @@ -4,8 +4,8 @@ import android.content.DialogInterface import android.widget.Toast import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.tasks.MagiskInstaller -import com.topjohnwu.magisk.extensions.reboot import com.topjohnwu.magisk.core.utils.Utils +import com.topjohnwu.magisk.extensions.reboot import com.topjohnwu.magisk.view.MagiskDialog import com.topjohnwu.superuser.internal.UiThreadHandler import org.koin.core.KoinComponent diff --git a/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/ManagerInstallDialog.kt b/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/ManagerInstallDialog.kt index f1822773a..507bb243b 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/ManagerInstallDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/ManagerInstallDialog.kt @@ -1,7 +1,7 @@ package com.topjohnwu.magisk.model.events.dialog -import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.R +import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.download.DownloadService import com.topjohnwu.magisk.extensions.res import com.topjohnwu.magisk.model.entity.internal.Configuration diff --git a/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/UninstallDialog.kt b/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/UninstallDialog.kt index bdeb0b838..78745fb19 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/UninstallDialog.kt +++ b/app/src/main/java/com/topjohnwu/magisk/model/events/dialog/UninstallDialog.kt @@ -1,12 +1,12 @@ package com.topjohnwu.magisk.model.events.dialog import android.widget.Toast -import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.R +import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.download.DownloadService +import com.topjohnwu.magisk.core.utils.Utils import com.topjohnwu.magisk.model.entity.internal.Configuration import com.topjohnwu.magisk.model.entity.internal.DownloadSubject -import com.topjohnwu.magisk.core.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/MagiskNavigationEvent.kt b/app/src/main/java/com/topjohnwu/magisk/model/navigation/MagiskNavigationEvent.kt index ff2be32e5..6c74b3483 100644 --- a/app/src/main/java/com/topjohnwu/magisk/model/navigation/MagiskNavigationEvent.kt +++ b/app/src/main/java/com/topjohnwu/magisk/model/navigation/MagiskNavigationEvent.kt @@ -7,7 +7,7 @@ import androidx.fragment.app.Fragment import com.topjohnwu.magisk.core.base.BaseActivity import com.topjohnwu.magisk.model.events.ActivityExecutor import com.topjohnwu.magisk.model.events.ViewEvent -import com.topjohnwu.magisk.ui.base.CompatActivity +import com.topjohnwu.magisk.ui.base.BaseUIActivity import kotlin.reflect.KClass @DslMarker @@ -24,7 +24,7 @@ class MagiskNavigationEvent( } override fun invoke(activity: BaseActivity) { - if (activity !is CompatActivity<*, *>) return + if (activity !is BaseUIActivity<*, *>) return activity.navigation?.navigateTo(this) } 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 6466b9aa0..5fbf1cd3d 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt @@ -17,7 +17,7 @@ import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.databinding.ActivityMainMd2Binding import com.topjohnwu.magisk.extensions.startAnimations import com.topjohnwu.magisk.model.navigation.Navigation -import com.topjohnwu.magisk.ui.base.CompatActivity +import com.topjohnwu.magisk.ui.base.BaseUIActivity import com.topjohnwu.magisk.ui.base.CompatNavigationDelegate import com.topjohnwu.magisk.ui.home.HomeFragment import com.topjohnwu.magisk.ui.module.ModuleFragment @@ -29,7 +29,7 @@ import com.topjohnwu.superuser.Shell import org.koin.androidx.viewmodel.ext.android.viewModel import kotlin.reflect.KClass -open class MainActivity : CompatActivity(), +open class MainActivity : BaseUIActivity(), FragNavController.TransactionListener { override val layoutRes = R.layout.activity_main_md2 diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatActivity.kt b/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatActivity.kt deleted file mode 100644 index 08c543bad..000000000 --- a/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatActivity.kt +++ /dev/null @@ -1,18 +0,0 @@ -package com.topjohnwu.magisk.ui.base - -import android.app.Activity -import android.view.inputmethod.InputMethodManager -import androidx.core.content.getSystemService -import androidx.databinding.ViewDataBinding - -// TODO (diareuse): Merge into BaseUIActivity after all legacy UI is migrated - -abstract class CompatActivity : - BaseUIActivity() - -fun Activity.hideKeyboard() { - val view = currentFocus ?: return - getSystemService() - ?.hideSoftInputFromWindow(view.windowToken, 0) - view.clearFocus() -} diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatFragment.kt deleted file mode 100644 index ed5cf626b..000000000 --- a/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatFragment.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.topjohnwu.magisk.ui.base - -import androidx.databinding.ViewDataBinding -import androidx.fragment.app.Fragment - -abstract class CompatFragment - : BaseUIFragment(), CompatView - -fun Fragment.hideKeyboard() { - activity?.hideKeyboard() -} diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatNavigationDelegate.kt b/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatNavigationDelegate.kt index ee3120ae6..7dfeb6caa 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatNavigationDelegate.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/base/CompatNavigationDelegate.kt @@ -49,7 +49,7 @@ class CompatNavigationDelegate( } fun onBackPressed(): Boolean { - val fragment = controller.currentFrag as? CompatFragment<*, *> + val fragment = controller.currentFrag as? BaseUIFragment<*, *> if (fragment?.onBackPressed() == true) { return true diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt index ccb0a3b14..009cc6e5f 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/flash/FlashFragment.kt @@ -2,10 +2,10 @@ package com.topjohnwu.magisk.ui.flash import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentFlashMd2Binding -import com.topjohnwu.magisk.ui.base.CompatFragment +import com.topjohnwu.magisk.ui.base.BaseUIFragment import org.koin.androidx.viewmodel.ext.android.viewModel -class FlashFragment : CompatFragment() { +class FlashFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_flash_md2 override val viewModel by viewModel() diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/hide/HideFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/hide/HideFragment.kt index ff9872272..d9b749fb4 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/hide/HideFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/hide/HideFragment.kt @@ -11,12 +11,11 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentHideMd2Binding -import com.topjohnwu.magisk.ui.base.CompatFragment -import com.topjohnwu.magisk.ui.base.hideKeyboard +import com.topjohnwu.magisk.ui.base.BaseUIFragment import com.topjohnwu.magisk.utils.MotionRevealHelper import org.koin.androidx.viewmodel.ext.android.viewModel -class HideFragment : CompatFragment() { +class HideFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_hide_md2 override val viewModel by viewModel() diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt index 1cb8b53d5..2a419c05a 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/home/HomeFragment.kt @@ -6,10 +6,10 @@ import android.view.MenuItem import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentHomeMd2Binding import com.topjohnwu.magisk.model.navigation.Navigation -import com.topjohnwu.magisk.ui.base.CompatFragment +import com.topjohnwu.magisk.ui.base.BaseUIFragment import org.koin.androidx.viewmodel.ext.android.viewModel -class HomeFragment : CompatFragment() { +class HomeFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_home_md2 override val viewModel by viewModel() 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 850f2a552..b42b02414 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 @@ -7,11 +7,11 @@ import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.download.RemoteFileService -import com.topjohnwu.magisk.data.repository.MagiskRepository -import com.topjohnwu.magisk.extensions.* import com.topjohnwu.magisk.core.model.MagiskJson import com.topjohnwu.magisk.core.model.ManagerJson import com.topjohnwu.magisk.core.model.UpdateInfo +import com.topjohnwu.magisk.data.repository.MagiskRepository +import com.topjohnwu.magisk.extensions.* import com.topjohnwu.magisk.model.entity.internal.DownloadSubject.Magisk import com.topjohnwu.magisk.model.entity.internal.DownloadSubject.Manager import com.topjohnwu.magisk.model.entity.recycler.DeveloperItem diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt index c57f9b002..7da19034e 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/install/InstallFragment.kt @@ -4,10 +4,10 @@ import android.content.Intent import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentInstallMd2Binding import com.topjohnwu.magisk.model.events.RequestFileEvent -import com.topjohnwu.magisk.ui.base.CompatFragment +import com.topjohnwu.magisk.ui.base.BaseUIFragment import org.koin.androidx.viewmodel.ext.android.viewModel -class InstallFragment : CompatFragment() { +class InstallFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_install_md2 override val viewModel by viewModel() diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt index af0b7b56e..0f772c2fb 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/log/LogFragment.kt @@ -9,11 +9,11 @@ import androidx.core.view.isVisible import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentLogMd2Binding import com.topjohnwu.magisk.ui.MainActivity -import com.topjohnwu.magisk.ui.base.CompatFragment +import com.topjohnwu.magisk.ui.base.BaseUIFragment import com.topjohnwu.magisk.utils.MotionRevealHelper import org.koin.androidx.viewmodel.ext.android.viewModel -class LogFragment : CompatFragment() { +class LogFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_log_md2 override val viewModel by viewModel() diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt index 3ef874572..bf37b096a 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/module/ModuleFragment.kt @@ -15,14 +15,13 @@ import com.topjohnwu.magisk.model.events.InstallExternalModuleEvent import com.topjohnwu.magisk.model.events.ViewEvent import com.topjohnwu.magisk.ui.MainActivity import com.topjohnwu.magisk.ui.ReselectionTarget -import com.topjohnwu.magisk.ui.base.CompatFragment -import com.topjohnwu.magisk.ui.base.hideKeyboard +import com.topjohnwu.magisk.ui.base.BaseUIFragment import com.topjohnwu.magisk.utils.EndlessRecyclerScrollListener import com.topjohnwu.magisk.utils.MotionRevealHelper import com.topjohnwu.magisk.utils.PinchZoomTouchListener import org.koin.androidx.viewmodel.ext.android.viewModel -class ModuleFragment : CompatFragment(), +class ModuleFragment : BaseUIFragment(), ReselectionTarget { override val layoutRes = R.layout.fragment_module_md2 diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/request/RequestActivity.kt b/app/src/main/java/com/topjohnwu/magisk/ui/request/RequestActivity.kt index c660fad7d..7c6df4f51 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/request/RequestActivity.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/request/RequestActivity.kt @@ -2,10 +2,10 @@ package com.topjohnwu.magisk.ui.request import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.ActivityRequestMd2Binding -import com.topjohnwu.magisk.ui.base.CompatActivity +import com.topjohnwu.magisk.ui.base.BaseUIActivity import org.koin.androidx.viewmodel.ext.android.viewModel -class RequestActivity : CompatActivity() { +class RequestActivity : BaseUIActivity() { override val navHost = TODO() override val layoutRes = R.layout.activity_request_md2 diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/safetynet/SafetynetFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/safetynet/SafetynetFragment.kt index 26d5b5ad4..46538f1aa 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/safetynet/SafetynetFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/safetynet/SafetynetFragment.kt @@ -2,10 +2,10 @@ package com.topjohnwu.magisk.ui.safetynet import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentSafetynetMd2Binding -import com.topjohnwu.magisk.ui.base.CompatFragment +import com.topjohnwu.magisk.ui.base.BaseUIFragment import org.koin.androidx.viewmodel.ext.android.viewModel -class SafetynetFragment : CompatFragment() { +class SafetynetFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_safetynet_md2 override val viewModel by viewModel() diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/safetynet/SafetynetViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/safetynet/SafetynetViewModel.kt index 3bf21b61a..a46ce882a 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/safetynet/SafetynetViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/safetynet/SafetynetViewModel.kt @@ -3,6 +3,7 @@ package com.topjohnwu.magisk.ui.safetynet import androidx.databinding.Bindable import com.topjohnwu.magisk.BR import com.topjohnwu.magisk.R +import com.topjohnwu.magisk.core.utils.SafetyNetHelper import com.topjohnwu.magisk.extensions.subscribeK import com.topjohnwu.magisk.model.events.SafetyNetResult import com.topjohnwu.magisk.model.events.UpdateSafetyNetEvent @@ -10,7 +11,6 @@ import com.topjohnwu.magisk.ui.base.BaseViewModel import com.topjohnwu.magisk.ui.safetynet.SafetyNetState.* import com.topjohnwu.magisk.utils.KObservableField import com.topjohnwu.magisk.utils.RxBus -import com.topjohnwu.magisk.core.utils.SafetyNetHelper enum class SafetyNetState { LOADING, PASS, FAILED, IDLE diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt index a39aa32c4..a77395253 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsFragment.kt @@ -4,11 +4,11 @@ import android.os.Bundle import android.view.View import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentSettingsMd2Binding -import com.topjohnwu.magisk.ui.base.CompatFragment +import com.topjohnwu.magisk.ui.base.BaseUIFragment import com.topjohnwu.magisk.utils.PinchZoomTouchListener import org.koin.androidx.viewmodel.ext.android.viewModel -class SettingsFragment : CompatFragment() { +class SettingsFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_settings_md2 override val viewModel by viewModel() diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt index 9c5c76e8a..6e651884e 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserFragment.kt @@ -8,11 +8,11 @@ import android.view.View import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentSuperuserMd2Binding import com.topjohnwu.magisk.model.navigation.Navigation -import com.topjohnwu.magisk.ui.base.CompatFragment +import com.topjohnwu.magisk.ui.base.BaseUIFragment import com.topjohnwu.magisk.utils.PinchZoomTouchListener import org.koin.androidx.viewmodel.ext.android.viewModel -class SuperuserFragment : CompatFragment() { +class SuperuserFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_superuser_md2 override val viewModel by viewModel() diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt b/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt index a538e3254..d1cb37845 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/superuser/SuperuserViewModel.kt @@ -7,6 +7,7 @@ import com.topjohnwu.magisk.BR import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.magiskdb.PolicyDao import com.topjohnwu.magisk.core.model.MagiskPolicy +import com.topjohnwu.magisk.core.utils.BiometricHelper import com.topjohnwu.magisk.core.utils.currentLocale import com.topjohnwu.magisk.databinding.ComparableRvItem import com.topjohnwu.magisk.extensions.applySchedulers @@ -24,7 +25,6 @@ import com.topjohnwu.magisk.ui.base.BaseViewModel import com.topjohnwu.magisk.ui.base.adapterOf import com.topjohnwu.magisk.ui.base.diffListOf import com.topjohnwu.magisk.ui.base.itemBindingOf -import com.topjohnwu.magisk.core.utils.BiometricHelper import io.reactivex.Single import me.tatarka.bindingcollectionadapter2.collections.MergeObservableList diff --git a/app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt b/app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt index cb50eb715..eefaaac0d 100644 --- a/app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt +++ b/app/src/main/java/com/topjohnwu/magisk/ui/theme/ThemeFragment.kt @@ -2,10 +2,10 @@ package com.topjohnwu.magisk.ui.theme import com.topjohnwu.magisk.R import com.topjohnwu.magisk.databinding.FragmentThemeMd2Binding -import com.topjohnwu.magisk.ui.base.CompatFragment +import com.topjohnwu.magisk.ui.base.BaseUIFragment import org.koin.androidx.viewmodel.ext.android.viewModel -class ThemeFragment : CompatFragment() { +class ThemeFragment : BaseUIFragment() { override val layoutRes = R.layout.fragment_theme_md2 override val viewModel by viewModel()