diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/terminal/TerminalEmulator.kt b/app/apk/src/main/java/com/topjohnwu/magisk/terminal/TerminalEmulator.kt index 2d9fdadaf..4e7fab8b6 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/terminal/TerminalEmulator.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/terminal/TerminalEmulator.kt @@ -1,8 +1,8 @@ package com.topjohnwu.magisk.terminal import android.util.Base64 -import java.util.Stack import timber.log.Timber +import java.util.Stack /** * Renders text into a screen. Contains all the terminal-specific knowledge and state. Emulates a subset of the X Window diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt index 11e5564da..1f947777f 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt @@ -16,10 +16,15 @@ import android.widget.Toast import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatDelegate +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue +import androidx.compose.runtime.saveable.rememberSaveable +import androidx.compose.ui.Modifier import androidx.core.content.pm.ShortcutManagerCompat import androidx.core.content.res.use import androidx.core.view.WindowCompat @@ -47,24 +52,18 @@ import com.topjohnwu.magisk.ui.flash.FlashUtils import com.topjohnwu.magisk.ui.flash.FlashViewModel import com.topjohnwu.magisk.ui.module.ActionScreen import com.topjohnwu.magisk.ui.module.ActionViewModel -import com.topjohnwu.magisk.ui.superuser.SuperuserDetailScreen -import com.topjohnwu.magisk.ui.superuser.SuperuserViewModel -import com.topjohnwu.magisk.ui.navigation.CollectNavEvents import com.topjohnwu.magisk.ui.navigation.LocalNavigator import com.topjohnwu.magisk.ui.navigation.Navigator import com.topjohnwu.magisk.ui.navigation.Route import com.topjohnwu.magisk.ui.navigation.rememberNavigator +import com.topjohnwu.magisk.ui.superuser.SuperuserDetailScreen +import com.topjohnwu.magisk.ui.superuser.SuperuserViewModel import com.topjohnwu.magisk.ui.theme.MagiskTheme import com.topjohnwu.magisk.ui.theme.Theme import com.topjohnwu.magisk.view.Shortcuts -import top.yukonga.miuix.kmp.utils.MiuixPopupUtils.Companion.MiuixPopupHost -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.ui.Modifier import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.launch -import androidx.compose.runtime.Composable -import androidx.compose.runtime.saveable.rememberSaveable +import top.yukonga.miuix.kmp.utils.MiuixPopupUtils.Companion.MiuixPopupHost import com.topjohnwu.magisk.core.R as CoreR class MainActivity : AppCompatActivity(), SplashScreenHost { diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainScreen.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainScreen.kt index 94709ccf5..a8668eb03 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainScreen.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/MainScreen.kt @@ -28,11 +28,11 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.Alignment -import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.shadow import androidx.compose.ui.graphics.vector.ImageVector +import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.vectorResource import androidx.compose.ui.semantics.Role @@ -42,7 +42,6 @@ import androidx.lifecycle.viewmodel.compose.viewModel import com.topjohnwu.magisk.R import com.topjohnwu.magisk.arch.VMFactory import com.topjohnwu.magisk.core.Info -import com.topjohnwu.magisk.core.base.SplashScreenHost import com.topjohnwu.magisk.core.model.module.LocalModule import com.topjohnwu.magisk.ui.home.HomeScreen import com.topjohnwu.magisk.ui.home.HomeViewModel diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/component/Dialog.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/component/Dialog.kt index 01c4472c5..042fa0518 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/component/Dialog.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/component/Dialog.kt @@ -26,10 +26,10 @@ import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.layout.Layout import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.viewinterop.AndroidView import com.topjohnwu.magisk.core.di.ServiceLocator import kotlinx.coroutines.CancellableContinuation diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/AppProcessInfo.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/AppProcessInfo.kt index 65095304e..df94740d6 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/AppProcessInfo.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/AppProcessInfo.kt @@ -12,8 +12,6 @@ import android.content.pm.PackageManager.MATCH_DISABLED_COMPONENTS import android.content.pm.PackageManager.MATCH_UNINSTALLED_PACKAGES import android.content.pm.ServiceInfo import android.graphics.drawable.Drawable -import android.os.Build -import android.os.Build.VERSION.SDK_INT import androidx.core.os.ProcessCompat import com.topjohnwu.magisk.core.ktx.getLabel import java.util.Locale diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListScreen.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListScreen.kt index c8a1ec22e..55583abc9 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListScreen.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListScreen.kt @@ -26,10 +26,10 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.res.stringResource +import androidx.compose.ui.state.ToggleableState import androidx.compose.ui.unit.dp import com.topjohnwu.magisk.ui.component.ListPopupDefaults.MenuPositionProvider import com.topjohnwu.magisk.ui.util.rememberDrawablePainter -import androidx.compose.ui.state.ToggleableState import top.yukonga.miuix.kmp.basic.Card import top.yukonga.miuix.kmp.basic.Checkbox import top.yukonga.miuix.kmp.basic.CircularProgressIndicator diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt index a0cb244cf..692fe2488 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListViewModel.kt @@ -14,9 +14,9 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.StateFlow +import kotlinx.coroutines.flow.asFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.combine -import kotlinx.coroutines.flow.asFlow import kotlinx.coroutines.flow.filter import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.flow.toCollection diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/home/HomeScreen.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/home/HomeScreen.kt index 59b50697b..d0785a45f 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/home/HomeScreen.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/home/HomeScreen.kt @@ -5,30 +5,27 @@ import android.content.Context import android.content.Intent import android.os.Build import android.os.PowerManager +import android.widget.Toast import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts +import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.IntrinsicSize import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.foundation.verticalScroll -import android.widget.Toast -import androidx.compose.foundation.layout.WindowInsets -import androidx.compose.foundation.layout.WindowInsetsSides -import androidx.compose.foundation.layout.only -import androidx.compose.foundation.layout.systemBars -import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState @@ -40,13 +37,12 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue -import androidx.lifecycle.lifecycleScope import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource -import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.DpSize import androidx.compose.ui.unit.dp @@ -54,36 +50,32 @@ import androidx.compose.ui.unit.sp import androidx.core.content.getSystemService import androidx.core.net.toUri import com.topjohnwu.magisk.R -import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.BuildConfig +import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.core.Info -import com.topjohnwu.magisk.core.tasks.AppMigration -import com.topjohnwu.magisk.core.ktx.reboot import com.topjohnwu.magisk.core.download.DownloadEngine import com.topjohnwu.magisk.core.download.Subject import com.topjohnwu.magisk.core.ktx.reboot import com.topjohnwu.magisk.core.ktx.toast +import com.topjohnwu.magisk.core.tasks.AppMigration import com.topjohnwu.magisk.core.tasks.MagiskInstaller import com.topjohnwu.magisk.ui.MainActivity import com.topjohnwu.magisk.ui.component.ConfirmResult +import com.topjohnwu.magisk.ui.component.ListPopupDefaults.MenuPositionProvider import com.topjohnwu.magisk.ui.component.LoadingDialogHandle import com.topjohnwu.magisk.ui.component.MarkdownText import com.topjohnwu.magisk.ui.component.MarkdownTextAsync import com.topjohnwu.magisk.ui.component.rememberConfirmDialog import com.topjohnwu.magisk.ui.component.rememberLoadingDialog -import com.topjohnwu.magisk.ui.component.ListPopupDefaults.MenuPositionProvider import com.topjohnwu.magisk.ui.flash.FlashUtils import com.topjohnwu.magisk.ui.install.InstallViewModel -import com.topjohnwu.magisk.ui.navigation.Route import kotlinx.coroutines.launch -import com.topjohnwu.magisk.core.R as CoreR import top.yukonga.miuix.kmp.basic.ButtonDefaults import top.yukonga.miuix.kmp.basic.Card -import top.yukonga.miuix.kmp.basic.HorizontalDivider -import top.yukonga.miuix.kmp.basic.VerticalDivider import top.yukonga.miuix.kmp.basic.Checkbox import top.yukonga.miuix.kmp.basic.DropdownImpl +import top.yukonga.miuix.kmp.basic.HorizontalDivider import top.yukonga.miuix.kmp.basic.Icon import top.yukonga.miuix.kmp.basic.IconButton import top.yukonga.miuix.kmp.basic.LinearProgressIndicator @@ -95,21 +87,17 @@ import top.yukonga.miuix.kmp.basic.SmallTitle import top.yukonga.miuix.kmp.basic.Text import top.yukonga.miuix.kmp.basic.TextButton import top.yukonga.miuix.kmp.basic.TopAppBar +import top.yukonga.miuix.kmp.basic.VerticalDivider import top.yukonga.miuix.kmp.extra.SuperArrow import top.yukonga.miuix.kmp.extra.SuperBottomSheet import top.yukonga.miuix.kmp.extra.SuperListPopup -import top.yukonga.miuix.kmp.theme.MiuixTheme -import androidx.compose.foundation.background -import androidx.compose.foundation.shape.RoundedCornerShape -import androidx.compose.ui.graphics.Color -import top.yukonga.miuix.kmp.basic.CardDefaults import top.yukonga.miuix.kmp.icon.MiuixIcons import top.yukonga.miuix.kmp.icon.extended.Close import top.yukonga.miuix.kmp.icon.extended.Delete import top.yukonga.miuix.kmp.icon.extended.Hide -import top.yukonga.miuix.kmp.icon.extended.Info -import top.yukonga.miuix.kmp.icon.extended.Ok import top.yukonga.miuix.kmp.icon.extended.Show +import top.yukonga.miuix.kmp.theme.MiuixTheme +import com.topjohnwu.magisk.core.R as CoreR @Composable fun HomeScreen(viewModel: HomeViewModel, installVm: InstallViewModel) { diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt index ee58dca38..a714eed50 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/install/InstallViewModel.kt @@ -6,11 +6,10 @@ import androidx.lifecycle.viewModelScope import com.topjohnwu.magisk.arch.BaseViewModel import com.topjohnwu.magisk.core.AppContext import com.topjohnwu.magisk.core.BuildConfig.APP_VERSION_CODE -import com.topjohnwu.magisk.core.Config +import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.core.Info import com.topjohnwu.magisk.core.ktx.toast import com.topjohnwu.magisk.core.repository.NetworkService -import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.ui.navigation.Route import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogScreen.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogScreen.kt index a99633f78..447e30d0f 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogScreen.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/log/LogScreen.kt @@ -5,8 +5,8 @@ import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -36,8 +36,8 @@ import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.sp @@ -45,19 +45,19 @@ import com.topjohnwu.magisk.core.ktx.timeDateFormat import com.topjohnwu.magisk.core.ktx.toTime import com.topjohnwu.magisk.core.model.su.SuLog import com.topjohnwu.magisk.ui.util.rememberDrawablePainter -import top.yukonga.miuix.kmp.basic.Icon -import top.yukonga.miuix.kmp.basic.IconButton import top.yukonga.miuix.kmp.basic.Card import top.yukonga.miuix.kmp.basic.CircularProgressIndicator +import top.yukonga.miuix.kmp.basic.Icon +import top.yukonga.miuix.kmp.basic.IconButton import top.yukonga.miuix.kmp.basic.MiuixScrollBehavior import top.yukonga.miuix.kmp.basic.Scaffold import top.yukonga.miuix.kmp.basic.TabRow import top.yukonga.miuix.kmp.basic.Text import top.yukonga.miuix.kmp.basic.TopAppBar -import top.yukonga.miuix.kmp.theme.MiuixTheme import top.yukonga.miuix.kmp.icon.MiuixIcons import top.yukonga.miuix.kmp.icon.extended.Delete import top.yukonga.miuix.kmp.icon.extended.Download +import top.yukonga.miuix.kmp.theme.MiuixTheme import com.topjohnwu.magisk.core.R as CoreR @Composable diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleScreen.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleScreen.kt index 61c73e44d..8a8ace2ae 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleScreen.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleScreen.kt @@ -1,10 +1,13 @@ package com.topjohnwu.magisk.ui.module +import android.net.Uri +import android.provider.OpenableColumns +import androidx.activity.compose.rememberLauncherForActivityResult +import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.animateContentSize import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut -import androidx.compose.foundation.background import androidx.compose.foundation.border import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box @@ -15,16 +18,12 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.layout.width import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.CircleShape -import android.net.Uri -import android.provider.OpenableColumns -import androidx.activity.compose.rememberLauncherForActivityResult -import androidx.activity.result.contract.ActivityResultContracts import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.collectAsState @@ -54,8 +53,6 @@ import com.topjohnwu.magisk.ui.component.rememberConfirmDialog import kotlinx.coroutines.launch import top.yukonga.miuix.kmp.basic.ButtonDefaults import top.yukonga.miuix.kmp.basic.Card -import top.yukonga.miuix.kmp.basic.TextButton -import top.yukonga.miuix.kmp.extra.SuperDialog import top.yukonga.miuix.kmp.basic.CircularProgressIndicator import top.yukonga.miuix.kmp.basic.FloatingActionButton import top.yukonga.miuix.kmp.basic.HorizontalDivider @@ -65,7 +62,9 @@ import top.yukonga.miuix.kmp.basic.MiuixScrollBehavior import top.yukonga.miuix.kmp.basic.Scaffold import top.yukonga.miuix.kmp.basic.Switch import top.yukonga.miuix.kmp.basic.Text +import top.yukonga.miuix.kmp.basic.TextButton import top.yukonga.miuix.kmp.basic.TopAppBar +import top.yukonga.miuix.kmp.extra.SuperDialog import top.yukonga.miuix.kmp.icon.MiuixIcons import top.yukonga.miuix.kmp.icon.extended.Add import top.yukonga.miuix.kmp.icon.extended.Delete diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt index a9b3103e6..c4facc338 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/module/ModuleViewModel.kt @@ -12,16 +12,15 @@ import com.topjohnwu.magisk.core.download.Subject import com.topjohnwu.magisk.core.model.module.LocalModule import com.topjohnwu.magisk.core.model.module.OnlineModule import com.topjohnwu.magisk.ui.flash.FlashUtils +import com.topjohnwu.magisk.ui.navigation.Route import com.topjohnwu.magisk.view.Notifications import kotlinx.coroutines.Dispatchers -import kotlinx.parcelize.Parcelize import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update import kotlinx.coroutines.withContext -import com.topjohnwu.magisk.ui.navigation.Route -import com.topjohnwu.magisk.core.R as CoreR +import kotlinx.parcelize.Parcelize class ModuleItem(val module: LocalModule) { val showNotice: Boolean diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/navigation/Routes.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/navigation/Routes.kt index 0c8269995..f05bcd033 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/navigation/Routes.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/navigation/Routes.kt @@ -1,10 +1,8 @@ package com.topjohnwu.magisk.ui.navigation -import android.net.Uri import android.os.Parcelable import androidx.navigation3.runtime.NavKey import kotlinx.parcelize.Parcelize -import kotlinx.serialization.Contextual import kotlinx.serialization.Serializable sealed interface Route : NavKey, Parcelable { diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsScreen.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsScreen.kt index ccb36a3fd..4bb346ee2 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsScreen.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsScreen.kt @@ -3,7 +3,6 @@ package com.topjohnwu.magisk.ui.settings import android.os.Build import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -19,13 +18,12 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember -import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource -import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.unit.DpSize import androidx.compose.ui.unit.dp import androidx.core.content.pm.ShortcutManagerCompat @@ -37,21 +35,19 @@ import com.topjohnwu.magisk.core.isRunningAsStub import com.topjohnwu.magisk.core.tasks.AppMigration import com.topjohnwu.magisk.core.utils.LocaleSetting import com.topjohnwu.magisk.core.utils.MediaStoreUtils -import com.topjohnwu.magisk.ui.component.rememberLoadingDialog -import kotlinx.coroutines.launch +import com.topjohnwu.magisk.ui.theme.ThemeState import top.yukonga.miuix.kmp.basic.ButtonDefaults import top.yukonga.miuix.kmp.basic.Card import top.yukonga.miuix.kmp.basic.MiuixScrollBehavior import top.yukonga.miuix.kmp.basic.Scaffold import top.yukonga.miuix.kmp.basic.SmallTitle -import top.yukonga.miuix.kmp.basic.TopAppBar -import top.yukonga.miuix.kmp.basic.TextField import top.yukonga.miuix.kmp.basic.TextButton -import com.topjohnwu.magisk.ui.theme.ThemeState +import top.yukonga.miuix.kmp.basic.TextField +import top.yukonga.miuix.kmp.basic.TopAppBar import top.yukonga.miuix.kmp.extra.SuperArrow +import top.yukonga.miuix.kmp.extra.SuperDialog import top.yukonga.miuix.kmp.extra.SuperDropdown import top.yukonga.miuix.kmp.extra.SuperSwitch -import top.yukonga.miuix.kmp.extra.SuperDialog import top.yukonga.miuix.kmp.theme.MiuixTheme import com.topjohnwu.magisk.core.R as CoreR diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt index 5f089d420..e5adb558c 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsViewModel.kt @@ -11,8 +11,8 @@ import com.topjohnwu.magisk.core.R import com.topjohnwu.magisk.core.ktx.toast import com.topjohnwu.magisk.core.tasks.AppMigration import com.topjohnwu.magisk.core.utils.RootUtils -import com.topjohnwu.magisk.view.Shortcuts import com.topjohnwu.magisk.ui.navigation.Route +import com.topjohnwu.magisk.view.Shortcuts import com.topjohnwu.superuser.Shell import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableStateFlow diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestScreen.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestScreen.kt index 54a286da3..61ae94f15 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestScreen.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestScreen.kt @@ -4,9 +4,9 @@ import android.view.MotionEvent import android.widget.Toast import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize @@ -31,17 +31,17 @@ import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import com.topjohnwu.magisk.ui.superuser.SharedUidBadge import com.topjohnwu.magisk.core.ktx.toast -import com.topjohnwu.magisk.core.R as CoreR +import com.topjohnwu.magisk.ui.superuser.SharedUidBadge import com.topjohnwu.magisk.ui.util.rememberDrawablePainter import top.yukonga.miuix.kmp.basic.ButtonDefaults import top.yukonga.miuix.kmp.basic.Card -import top.yukonga.miuix.kmp.basic.Text -import top.yukonga.miuix.kmp.basic.TextButton import top.yukonga.miuix.kmp.basic.Slider import top.yukonga.miuix.kmp.basic.SliderDefaults +import top.yukonga.miuix.kmp.basic.Text +import top.yukonga.miuix.kmp.basic.TextButton import top.yukonga.miuix.kmp.theme.MiuixTheme +import com.topjohnwu.magisk.core.R as CoreR @OptIn(ExperimentalComposeUiApi::class) @Composable diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt index aa41182ae..897e142df 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestViewModel.kt @@ -3,10 +3,7 @@ package com.topjohnwu.magisk.ui.surequest import android.content.Intent import android.content.SharedPreferences import android.graphics.drawable.Drawable -import android.os.Bundle import android.os.CountDownTimer -import android.view.MotionEvent -import android.widget.Toast import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableStateOf @@ -15,10 +12,8 @@ import androidx.lifecycle.viewModelScope import com.topjohnwu.magisk.arch.BaseViewModel import com.topjohnwu.magisk.core.AppContext import com.topjohnwu.magisk.core.Config -import com.topjohnwu.magisk.core.R import com.topjohnwu.magisk.core.data.magiskdb.PolicyDao import com.topjohnwu.magisk.core.ktx.getLabel -import com.topjohnwu.magisk.core.ktx.toast import com.topjohnwu.magisk.core.model.su.SuPolicy.Companion.ALLOW import com.topjohnwu.magisk.core.model.su.SuPolicy.Companion.DENY import com.topjohnwu.magisk.core.su.SuRequestHandler diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/terminal/TerminalRenderer.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/terminal/TerminalRenderer.kt index bef564179..ecb8d8dba 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/terminal/TerminalRenderer.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/terminal/TerminalRenderer.kt @@ -4,9 +4,7 @@ import android.graphics.Canvas import android.graphics.Paint import android.graphics.PorterDuff import android.graphics.Typeface -import com.topjohnwu.magisk.terminal.TerminalBuffer import com.topjohnwu.magisk.terminal.TerminalEmulator -import com.topjohnwu.magisk.terminal.TerminalRow import com.topjohnwu.magisk.terminal.TextStyle import com.topjohnwu.magisk.terminal.WcWidth diff --git a/app/apk/src/main/java/com/topjohnwu/magisk/ui/terminal/TerminalScreen.kt b/app/apk/src/main/java/com/topjohnwu/magisk/ui/terminal/TerminalScreen.kt index 4d80b1383..a49073644 100644 --- a/app/apk/src/main/java/com/topjohnwu/magisk/ui/terminal/TerminalScreen.kt +++ b/app/apk/src/main/java/com/topjohnwu/magisk/ui/terminal/TerminalScreen.kt @@ -8,7 +8,6 @@ import androidx.compose.foundation.gestures.scrollable import androidx.compose.foundation.layout.BoxWithConstraints import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.ui.draw.drawBehind import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -17,6 +16,7 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier +import androidx.compose.ui.draw.drawBehind import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.drawscope.drawIntoCanvas import androidx.compose.ui.graphics.nativeCanvas