diff --git a/app/apk-ng/build.gradle.kts b/app/apk-ng/build.gradle.kts index 4de94056b..65c34151b 100644 --- a/app/apk-ng/build.gradle.kts +++ b/app/apk-ng/build.gradle.kts @@ -38,9 +38,6 @@ dependencies { implementation(project(":core")) coreLibraryDesugaring(libs.jdk.libs) - implementation(libs.appcompat) - implementation(libs.material) - // Compose implementation(platform(libs.compose.bom)) implementation(libs.compose.ui) @@ -57,5 +54,4 @@ dependencies { implementation(libs.navigationevent.compose) implementation(libs.lifecycle.viewmodel.navigation3) implementation(libs.navigation3.ui) - } diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/theme/MagiskTheme.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MagiskTheme.kt similarity index 97% rename from app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/theme/MagiskTheme.kt rename to app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MagiskTheme.kt index cf90bb526..f727402dd 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/theme/MagiskTheme.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MagiskTheme.kt @@ -1,4 +1,4 @@ -package com.topjohnwu.magisk.ui.theme +package com.topjohnwu.magisk.ui import android.os.Build import androidx.compose.foundation.isSystemInDarkTheme @@ -48,4 +48,4 @@ fun MagiskTheme( colorScheme = colorScheme, content = content ) -} +} \ No newline at end of file diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt index c4ba42f9b..9ca5c6764 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MainActivity.kt @@ -6,16 +6,12 @@ import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.content.pm.ApplicationInfo -import android.content.res.Resources -import android.graphics.Color import android.net.Uri -import android.os.Build import android.os.Bundle import android.view.WindowManager import android.widget.Toast +import androidx.activity.ComponentActivity 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 @@ -26,13 +22,13 @@ 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 import androidx.lifecycle.lifecycleScope +import androidx.lifecycle.viewmodel.compose.viewModel import androidx.lifecycle.viewmodel.navigation3.rememberViewModelStoreNavEntryDecorator import androidx.navigation3.runtime.entryProvider import androidx.navigation3.runtime.rememberSaveableStateHolderNavEntryDecorator import androidx.navigation3.ui.NavDisplay +import com.topjohnwu.magisk.R import com.topjohnwu.magisk.arch.VMFactory import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.Const @@ -41,7 +37,6 @@ import com.topjohnwu.magisk.core.base.ActivityExtension import com.topjohnwu.magisk.core.base.SplashController import com.topjohnwu.magisk.core.base.SplashScreenHost import com.topjohnwu.magisk.core.isRunningAsStub -import com.topjohnwu.magisk.core.ktx.reflectField import com.topjohnwu.magisk.core.ktx.toast import com.topjohnwu.magisk.core.tasks.AppMigration import com.topjohnwu.magisk.core.wrap @@ -58,15 +53,12 @@ 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 kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.launch - import com.topjohnwu.magisk.core.R as CoreR -class MainActivity : AppCompatActivity(), SplashScreenHost { +class MainActivity : ComponentActivity(), SplashScreenHost { override val extension = ActivityExtension(this) override val splashController = SplashController(this) @@ -76,29 +68,16 @@ class MainActivity : AppCompatActivity(), SplashScreenHost { internal val showUnsupported = MutableStateFlow>>(emptyList()) internal val showShortcutPrompt = MutableStateFlow(false) - init { - AppCompatDelegate.setDefaultNightMode(Config.darkTheme) - } - override fun attachBaseContext(base: Context) { super.attachBaseContext(base.wrap()) } override fun onCreate(savedInstanceState: Bundle?) { extension.onCreate(savedInstanceState) - if (isRunningAsStub) { - val delegate = delegate - val clz = delegate.javaClass - clz.reflectField("mActivityHandlesConfigFlagsChecked").set(delegate, true) - clz.reflectField("mActivityHandlesConfigFlags").set(delegate, 0) - } - - setTheme(Theme.selected.themeRes) splashController.preOnCreate() + theme.applyStyle(R.style.Main, true) super.onCreate(savedInstanceState) splashController.onCreate(savedInstanceState) - - setupWindow() } override fun onResume() { @@ -111,30 +90,6 @@ class MainActivity : AppCompatActivity(), SplashScreenHost { extension.onSaveInstanceState(outState) } - private fun setupWindow() { - obtainStyledAttributes(intArrayOf(android.R.attr.windowBackground)) - .use { it.getDrawable(0) } - .also { window.setBackgroundDrawable(it) } - - WindowCompat.setDecorFitsSystemWindows(window, false) - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { - window?.decorView?.post { - if ((window.decorView.rootWindowInsets?.systemWindowInsetBottom - ?: 0) < Resources.getSystem().displayMetrics.density * 40) { - window.navigationBarColor = Color.TRANSPARENT - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { - window.navigationBarDividerColor = Color.TRANSPARENT - } - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { - window.isNavigationBarContrastEnforced = false - window.isStatusBarContrastEnforced = false - } - } - } - } - } - @SuppressLint("InlinedApi") override fun onCreateUi(savedInstanceState: Bundle?) { showUnsupportedMessage() @@ -169,12 +124,12 @@ class MainActivity : AppCompatActivity(), SplashScreenHost { MainScreen(initialTab = initialTab) } entry { _ -> - val vm: DenyListViewModel = androidx.lifecycle.viewmodel.compose.viewModel(factory = VMFactory) + val vm: DenyListViewModel = viewModel(factory = VMFactory) LaunchedEffect(Unit) { vm.startLoading() } DenyListScreen(vm, onBack = { navigator.pop() }) } entry { key -> - val vm: FlashViewModel = androidx.lifecycle.viewmodel.compose.viewModel(factory = VMFactory) + val vm: FlashViewModel = viewModel(factory = VMFactory) LaunchedEffect(key) { if (vm.flashAction.isEmpty()) { vm.flashAction = key.action @@ -185,7 +140,7 @@ class MainActivity : AppCompatActivity(), SplashScreenHost { FlashScreen(vm, action = key.action, onBack = { navigator.pop() }) } entry { key -> - val vm: SuperuserViewModel = androidx.lifecycle.viewmodel.compose.viewModel( + val vm: SuperuserViewModel = viewModel( viewModelStoreOwner = this@MainActivity, factory = VMFactory ) LaunchedEffect(Unit) { @@ -196,7 +151,7 @@ class MainActivity : AppCompatActivity(), SplashScreenHost { SuperuserDetailScreen(uid = key.uid, viewModel = vm, onBack = { navigator.pop() }) } entry { key -> - val vm: ActionViewModel = androidx.lifecycle.viewmodel.compose.viewModel(factory = VMFactory) + val vm: ActionViewModel = viewModel(factory = VMFactory) LaunchedEffect(key) { if (vm.actionId.isEmpty()) { vm.actionId = key.id diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MainScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MainScreen.kt index 0cc4508e5..b3785a3b7 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MainScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/MainScreen.kt @@ -22,6 +22,9 @@ import androidx.compose.foundation.pager.HorizontalPager import androidx.compose.foundation.pager.PagerState import androidx.compose.foundation.pager.rememberPagerState import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue @@ -57,17 +60,14 @@ import com.topjohnwu.magisk.ui.settings.SettingsViewModel import com.topjohnwu.magisk.ui.superuser.SuperuserScreen import com.topjohnwu.magisk.ui.superuser.SuperuserViewModel import kotlinx.coroutines.launch -import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Text import com.topjohnwu.magisk.core.R as CoreR enum class Tab(val titleRes: Int, val iconRes: Int) { - MODULES(CoreR.string.modules, R.drawable.ic_module_outlined_md2), - SUPERUSER(CoreR.string.superuser, R.drawable.ic_superuser_outlined_md2), - HOME(CoreR.string.section_home, R.drawable.ic_home_outlined_md2), - LOG(CoreR.string.logs, R.drawable.ic_bug_outlined_md2), - SETTINGS(CoreR.string.settings, R.drawable.ic_settings_outlined_md2); + MODULES(CoreR.string.modules, R.drawable.ic_module), + SUPERUSER(CoreR.string.superuser, CoreR.drawable.ic_superuser), + HOME(CoreR.string.section_home, R.drawable.ic_home), + LOG(CoreR.string.logs, R.drawable.ic_bug), + SETTINGS(CoreR.string.settings, R.drawable.ic_settings); } @Composable diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/component/Dialog.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/component/Dialog.kt index 9e9942c15..dee7f22e9 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/component/Dialog.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/component/Dialog.kt @@ -4,7 +4,6 @@ import android.widget.TextView import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsetsSides import androidx.compose.foundation.layout.fillMaxWidth @@ -12,8 +11,13 @@ import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.only import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.systemBars -import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.windowInsetsPadding +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Surface +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.MutableState @@ -27,10 +31,11 @@ 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.viewinterop.AndroidView +import androidx.compose.ui.window.Dialog +import androidx.compose.ui.window.DialogProperties import com.topjohnwu.magisk.core.di.ServiceLocator import kotlinx.coroutines.CancellableContinuation import kotlinx.coroutines.CoroutineScope @@ -43,15 +48,6 @@ import kotlinx.coroutines.launch import kotlinx.coroutines.suspendCancellableCoroutine import kotlinx.coroutines.withContext import timber.log.Timber -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.CircularProgressIndicator -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Surface -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.ui.window.Dialog -import androidx.compose.ui.window.DialogProperties import java.io.IOException import kotlin.coroutines.resume diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListScreen.kt index eaf0784eb..7801f3a31 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/deny/DenyListScreen.kt @@ -1,5 +1,4 @@ package com.topjohnwu.magisk.ui.deny -import com.topjohnwu.magisk.ui.util.rememberDrawablePainter import androidx.compose.animation.AnimatedVisibility import androidx.compose.foundation.Image import androidx.compose.foundation.clickable @@ -17,22 +16,11 @@ 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.runtime.Composable -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -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 androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material.icons.automirrored.filled.Sort -import androidx.compose.material.icons.filled.Tune import androidx.compose.material.icons.filled.Check +import androidx.compose.material.icons.filled.Tune import androidx.compose.material3.Card import androidx.compose.material3.Checkbox import androidx.compose.material3.CircularProgressIndicator @@ -49,6 +37,18 @@ import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TriStateCheckbox +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +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.util.rememberDrawablePainter import com.topjohnwu.magisk.core.R as CoreR @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/flash/FlashScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/flash/FlashScreen.kt index a3320729f..e2bc40cbf 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/flash/FlashScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/flash/FlashScreen.kt @@ -8,6 +8,16 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.itemsIndexed import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.rememberScrollState +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.automirrored.filled.ArrowBack +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState @@ -21,16 +31,6 @@ import androidx.compose.ui.unit.sp import com.topjohnwu.magisk.R import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.ui.terminal.TerminalScreen -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.filled.ArrowBack -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults import com.topjohnwu.magisk.core.R as CoreR @OptIn(ExperimentalMaterial3Api::class) @@ -72,7 +72,7 @@ fun FlashScreen(viewModel: FlashViewModel, action: String, onBack: () -> Unit) { onClick = { viewModel.saveLog() } ) { Icon( - painter = painterResource(R.drawable.ic_save_md2), + painter = painterResource(R.drawable.ic_save), contentDescription = stringResource(CoreR.string.menuSaveLog), tint = MaterialTheme.colorScheme.onSurface ) diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/home/HomeScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/home/HomeScreen.kt index 89804d995..d80e90479 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/home/HomeScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/home/HomeScreen.kt @@ -64,7 +64,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.draw.rotate -import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource @@ -403,7 +402,7 @@ private fun InstallButton( contentPadding = PaddingValues(horizontal = 12.dp, vertical = 8.dp) ) { Icon( - painter = painterResource(R.drawable.ic_download_md2), + painter = painterResource(R.drawable.ic_download), contentDescription = null, modifier = Modifier.size(18.dp), ) diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/log/LogScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/log/LogScreen.kt index 942c7d7d9..97d74fc8d 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/log/LogScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/log/LogScreen.kt @@ -19,6 +19,22 @@ import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material.icons.filled.Download +import androidx.compose.material3.Badge +import androidx.compose.material3.Card +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Tab +import androidx.compose.material3.TabRow +import androidx.compose.material3.Text +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue @@ -34,6 +50,7 @@ import androidx.compose.ui.graphics.Color import androidx.compose.ui.input.nestedscroll.NestedScrollConnection import androidx.compose.ui.input.nestedscroll.nestedScroll import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalResources import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight @@ -45,21 +62,6 @@ 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 androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Delete -import androidx.compose.material.icons.filled.Download -import androidx.compose.material3.Card -import androidx.compose.material3.CircularProgressIndicator -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.Icon -import androidx.compose.material3.IconButton -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Tab -import androidx.compose.material3.TabRow -import androidx.compose.material3.Text -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults import com.topjohnwu.magisk.core.R as CoreR @OptIn(ExperimentalMaterial3Api::class) @@ -182,7 +184,7 @@ private fun SuLogTab(logs: List, nestedScrollConnection: NestedScrollConn @Composable private fun SuLogCard(log: SuLog) { - val res = LocalContext.current.resources + val res = LocalResources.current val pm = LocalContext.current.packageManager val icon = remember(log.packageName) { runCatching { @@ -271,17 +273,10 @@ private fun SuLogCard(log: SuLog) { @Composable private fun SuActionBadge(allowed: Boolean) { val bg = if (allowed) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.error - val fg = if (allowed) MaterialTheme.colorScheme.onPrimary else MaterialTheme.colorScheme.onError val text = if (allowed) "Approved" else "Rejected" - Text( - text = text, - color = fg, - fontSize = 10.sp, - maxLines = 1, - modifier = Modifier - .background(bg, RoundedCornerShape(6.dp)) - .padding(horizontal = 6.dp, vertical = 2.dp) - ) + Badge( + containerColor = bg, + ) { Text(text = text) } } @Composable diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/module/ActionScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/module/ActionScreen.kt index a1b900efb..0f4743157 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/module/ActionScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/module/ActionScreen.kt @@ -2,15 +2,6 @@ package com.topjohnwu.magisk.ui.module import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding -import androidx.compose.runtime.Composable -import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.ui.Modifier -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.unit.dp -import com.topjohnwu.magisk.R -import com.topjohnwu.magisk.ui.terminal.TerminalScreen import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack import androidx.compose.material3.ExperimentalMaterial3Api @@ -20,6 +11,15 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Scaffold import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBarDefaults +import androidx.compose.runtime.Composable +import androidx.compose.runtime.collectAsState +import androidx.compose.runtime.getValue +import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp +import com.topjohnwu.magisk.R +import com.topjohnwu.magisk.ui.terminal.TerminalScreen import com.topjohnwu.magisk.core.R as CoreR @OptIn(ExperimentalMaterial3Api::class) @@ -52,7 +52,7 @@ fun ActionScreen(viewModel: ActionViewModel, actionName: String, onBack: () -> U onClick = { viewModel.saveLog() } ) { Icon( - painter = painterResource(R.drawable.ic_save_md2), + painter = painterResource(R.drawable.ic_save), contentDescription = stringResource(CoreR.string.menuSaveLog), tint = MaterialTheme.colorScheme.onBackground ) diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/module/ModuleScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/module/ModuleScreen.kt index dd092bf83..c0768ee72 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/module/ModuleScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/module/ModuleScreen.kt @@ -21,10 +21,31 @@ import androidx.compose.foundation.layout.fillMaxWidth 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.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.foundation.shape.CircleShape +import androidx.compose.material.icons.Icons +import androidx.compose.material.icons.filled.Add +import androidx.compose.material.icons.filled.CloudUpload +import androidx.compose.material.icons.filled.Delete +import androidx.compose.material.icons.filled.PlayArrow +import androidx.compose.material.icons.filled.Undo +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Button +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.Card +import androidx.compose.material3.CircularProgressIndicator +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.FloatingActionButton +import androidx.compose.material3.HorizontalDivider +import androidx.compose.material3.Icon +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Switch +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.MutableState import androidx.compose.runtime.collectAsState @@ -52,28 +73,6 @@ import com.topjohnwu.magisk.ui.component.ConfirmResult import com.topjohnwu.magisk.ui.component.MarkdownTextAsync import com.topjohnwu.magisk.ui.component.rememberConfirmDialog import kotlinx.coroutines.launch -import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Add -import androidx.compose.material.icons.filled.CloudUpload -import androidx.compose.material.icons.filled.Delete -import androidx.compose.material.icons.filled.PlayArrow -import androidx.compose.material.icons.filled.Undo -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.Button -import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.Card -import androidx.compose.material3.CircularProgressIndicator -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.FloatingActionButton -import androidx.compose.material3.HorizontalDivider -import androidx.compose.material3.Icon -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Switch -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults import com.topjohnwu.magisk.core.R as CoreR @OptIn(ExperimentalMaterial3Api::class) diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsScreen.kt index 0f141f06a..331ba3304 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/settings/SettingsScreen.kt @@ -1,17 +1,24 @@ 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.Row 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.padding -import androidx.compose.foundation.layout.width import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll +import androidx.compose.material3.AlertDialog +import androidx.compose.material3.Card +import androidx.compose.material3.ExperimentalMaterial3Api +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedTextField +import androidx.compose.material3.Scaffold +import androidx.compose.material3.Text +import androidx.compose.material3.TextButton +import androidx.compose.material3.TopAppBar +import androidx.compose.material3.TopAppBarDefaults import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue @@ -24,7 +31,6 @@ 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.unit.DpSize import androidx.compose.ui.unit.dp import androidx.core.content.pm.ShortcutManagerCompat import com.topjohnwu.magisk.core.BuildConfig @@ -35,18 +41,7 @@ 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.theme.ThemeState -import androidx.compose.material3.AlertDialog -import androidx.compose.material3.ButtonDefaults -import androidx.compose.material3.Card -import androidx.compose.material3.ExperimentalMaterial3Api -import androidx.compose.material3.OutlinedTextField -import androidx.compose.material3.Scaffold -import androidx.compose.material3.Text -import androidx.compose.material3.TextButton -import androidx.compose.material3.TopAppBar -import androidx.compose.material3.TopAppBarDefaults -import androidx.compose.material3.MaterialTheme +import com.topjohnwu.magisk.ui.ThemeState import com.topjohnwu.magisk.ui.component.SettingsArrow import com.topjohnwu.magisk.ui.component.SettingsDropdown import com.topjohnwu.magisk.ui.component.SettingsSwitch diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt index 941c5c2f7..f164b2689 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestActivity.kt @@ -3,7 +3,6 @@ package com.topjohnwu.magisk.ui.surequest import android.content.Context import android.content.Intent import android.content.pm.ActivityInfo -import android.content.res.Resources import android.os.Build import android.os.Bundle import android.view.View @@ -13,9 +12,9 @@ import android.view.WindowManager import android.view.accessibility.AccessibilityEvent import android.view.accessibility.AccessibilityNodeInfo import android.view.accessibility.AccessibilityNodeProvider +import androidx.activity.ComponentActivity +import androidx.activity.addCallback 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.ui.Modifier @@ -23,45 +22,40 @@ import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.lifecycleScope import com.topjohnwu.magisk.R import com.topjohnwu.magisk.arch.VMFactory -import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.base.ActivityExtension import com.topjohnwu.magisk.core.base.UntrackedActivity import com.topjohnwu.magisk.core.su.SuCallbackHandler import com.topjohnwu.magisk.core.su.SuCallbackHandler.REQUEST import com.topjohnwu.magisk.core.wrap -import com.topjohnwu.magisk.ui.theme.MagiskTheme -import com.topjohnwu.magisk.ui.theme.Theme +import com.topjohnwu.magisk.ui.MagiskTheme import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -open class SuRequestActivity : AppCompatActivity(), UntrackedActivity { +class SuRequestActivity : ComponentActivity(), UntrackedActivity { private val extension = ActivityExtension(this) private val viewModel: SuRequestViewModel by lazy { ViewModelProvider(this, VMFactory)[SuRequestViewModel::class.java] } - init { - AppCompatDelegate.setDefaultNightMode(Config.darkTheme) - } - override fun attachBaseContext(base: Context) { super.attachBaseContext(base.wrap()) } override fun onCreate(savedInstanceState: Bundle?) { extension.onCreate(savedInstanceState) - supportRequestWindowFeature(Window.FEATURE_NO_TITLE) requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LOCKED + window.requestFeature(Window.FEATURE_NO_TITLE) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) window.addFlags(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN) if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { window.setHideOverlayWindows(true) } - setTheme(Theme.selected.themeRes) + setTheme(R.style.Floating) super.onCreate(savedInstanceState) + onBackPressedDispatcher.addCallback(this) { viewModel.denyPressed() } viewModel.finishActivity = { finish() } viewModel.authenticate = { onSuccess -> extension.withAuthentication { if (it) onSuccess() } @@ -101,17 +95,6 @@ open class SuRequestActivity : AppCompatActivity(), UntrackedActivity { extension.onSaveInstanceState(outState) } - override fun getTheme(): Resources.Theme { - val theme = super.getTheme() - theme.applyStyle(R.style.Foundation_Floating, true) - return theme - } - - @Deprecated("Use OnBackPressedDispatcher") - override fun onBackPressed() { - viewModel.denyPressed() - } - override fun finish() { super.finishAndRemoveTask() } diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestScreen.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestScreen.kt index 4f41c8251..b909fab8d 100644 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestScreen.kt +++ b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/surequest/SuRequestScreen.kt @@ -6,7 +6,6 @@ import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement 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 @@ -16,6 +15,12 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.widthIn +import androidx.compose.material3.Button +import androidx.compose.material3.Card +import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.OutlinedButton +import androidx.compose.material3.Slider +import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue @@ -34,12 +39,6 @@ import androidx.compose.ui.unit.dp import com.topjohnwu.magisk.core.ktx.toast import com.topjohnwu.magisk.ui.superuser.SharedUidBadge import com.topjohnwu.magisk.ui.util.rememberDrawablePainter -import androidx.compose.material3.Button -import androidx.compose.material3.Card -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.OutlinedButton -import androidx.compose.material3.Slider -import androidx.compose.material3.Text import com.topjohnwu.magisk.core.R as CoreR @OptIn(ExperimentalComposeUiApi::class) diff --git a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/theme/Theme.kt b/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/theme/Theme.kt deleted file mode 100644 index 4fb9f7288..000000000 --- a/app/apk-ng/src/main/java/com/topjohnwu/magisk/ui/theme/Theme.kt +++ /dev/null @@ -1,50 +0,0 @@ -package com.topjohnwu.magisk.ui.theme - -import com.topjohnwu.magisk.R -import com.topjohnwu.magisk.core.Config - -enum class Theme( - val themeName: String, - val themeRes: Int -) { - - Piplup( - themeName = "Piplup", - themeRes = R.style.ThemeFoundationMD2_Piplup - ), - PiplupAmoled( - themeName = "AMOLED", - themeRes = R.style.ThemeFoundationMD2_Amoled - ), - Rayquaza( - themeName = "Rayquaza", - themeRes = R.style.ThemeFoundationMD2_Rayquaza - ), - Zapdos( - themeName = "Zapdos", - themeRes = R.style.ThemeFoundationMD2_Zapdos - ), - Charmeleon( - themeName = "Charmeleon", - themeRes = R.style.ThemeFoundationMD2_Charmeleon - ), - Mew( - themeName = "Mew", - themeRes = R.style.ThemeFoundationMD2_Mew - ), - Salamence( - themeName = "Salamence", - themeRes = R.style.ThemeFoundationMD2_Salamence - ), - Fraxure( - themeName = "Fraxure (Legacy)", - themeRes = R.style.ThemeFoundationMD2_Fraxure - ); - - val isSelected get() = Config.themeOrdinal == ordinal - - companion object { - val selected get() = values().getOrNull(Config.themeOrdinal) ?: Piplup - } - -} diff --git a/app/apk-ng/src/main/res/color/color_card_background_color_selector.xml b/app/apk-ng/src/main/res/color/color_card_background_color_selector.xml deleted file mode 100644 index 10805d34e..000000000 --- a/app/apk-ng/src/main/res/color/color_card_background_color_selector.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/app/apk-ng/src/main/res/color/color_error_transient.xml b/app/apk-ng/src/main/res/color/color_error_transient.xml deleted file mode 100644 index 22fd9491c..000000000 --- a/app/apk-ng/src/main/res/color/color_error_transient.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/color/color_menu_tint.xml b/app/apk-ng/src/main/res/color/color_menu_tint.xml deleted file mode 100644 index 030b0e573..000000000 --- a/app/apk-ng/src/main/res/color/color_menu_tint.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/color/color_on_primary_transient.xml b/app/apk-ng/src/main/res/color/color_on_primary_transient.xml deleted file mode 100644 index d82ebd18d..000000000 --- a/app/apk-ng/src/main/res/color/color_on_primary_transient.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/color/color_primary_error_transient.xml b/app/apk-ng/src/main/res/color/color_primary_error_transient.xml deleted file mode 100644 index b0bcb827a..000000000 --- a/app/apk-ng/src/main/res/color/color_primary_error_transient.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/color/color_primary_transient.xml b/app/apk-ng/src/main/res/color/color_primary_transient.xml deleted file mode 100644 index b792af898..000000000 --- a/app/apk-ng/src/main/res/color/color_primary_transient.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/color/color_state_primary_transient.xml b/app/apk-ng/src/main/res/color/color_state_primary_transient.xml deleted file mode 100644 index f979fd372..000000000 --- a/app/apk-ng/src/main/res/color/color_state_primary_transient.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/color/color_text_transient.xml b/app/apk-ng/src/main/res/color/color_text_transient.xml deleted file mode 100644 index b394648cb..000000000 --- a/app/apk-ng/src/main/res/color/color_text_transient.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/avd_bug_from_filled.xml b/app/apk-ng/src/main/res/drawable/avd_bug_from_filled.xml deleted file mode 100644 index b56ed84de..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_bug_from_filled.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_bug_to_filled.xml b/app/apk-ng/src/main/res/drawable/avd_bug_to_filled.xml deleted file mode 100644 index a0022e32c..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_bug_to_filled.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_circle_check_from_filled.xml b/app/apk-ng/src/main/res/drawable/avd_circle_check_from_filled.xml deleted file mode 100644 index c39d8e0b6..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_circle_check_from_filled.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_circle_check_to_filled.xml b/app/apk-ng/src/main/res/drawable/avd_circle_check_to_filled.xml deleted file mode 100644 index b021ca24b..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_circle_check_to_filled.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_home_from_filled.xml b/app/apk-ng/src/main/res/drawable/avd_home_from_filled.xml deleted file mode 100644 index d43306504..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_home_from_filled.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_home_to_filled.xml b/app/apk-ng/src/main/res/drawable/avd_home_to_filled.xml deleted file mode 100644 index 3f9ff4cf9..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_home_to_filled.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_module_from_filled.xml b/app/apk-ng/src/main/res/drawable/avd_module_from_filled.xml deleted file mode 100644 index 3d464b059..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_module_from_filled.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_module_to_filled.xml b/app/apk-ng/src/main/res/drawable/avd_module_to_filled.xml deleted file mode 100644 index bab708f16..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_module_to_filled.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_settings_from_filled.xml b/app/apk-ng/src/main/res/drawable/avd_settings_from_filled.xml deleted file mode 100644 index 0b5bea43c..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_settings_from_filled.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_settings_to_filled.xml b/app/apk-ng/src/main/res/drawable/avd_settings_to_filled.xml deleted file mode 100644 index a5fb8da73..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_settings_to_filled.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_superuser_from_filled.xml b/app/apk-ng/src/main/res/drawable/avd_superuser_from_filled.xml deleted file mode 100644 index e5e63721b..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_superuser_from_filled.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/avd_superuser_to_filled.xml b/app/apk-ng/src/main/res/drawable/avd_superuser_to_filled.xml deleted file mode 100644 index 287e9a9d0..000000000 --- a/app/apk-ng/src/main/res/drawable/avd_superuser_to_filled.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/ic_bug_outlined_md2.xml b/app/apk-ng/src/main/res/drawable/ic_bug.xml similarity index 93% rename from app/apk-ng/src/main/res/drawable/ic_bug_outlined_md2.xml rename to app/apk-ng/src/main/res/drawable/ic_bug.xml index 2c9a0a795..2354b0d07 100644 --- a/app/apk-ng/src/main/res/drawable/ic_bug_outlined_md2.xml +++ b/app/apk-ng/src/main/res/drawable/ic_bug.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> - \ No newline at end of file + diff --git a/app/apk-ng/src/main/res/drawable/ic_bug_filled_md2.xml b/app/apk-ng/src/main/res/drawable/ic_bug_filled_md2.xml deleted file mode 100644 index 6849c1b2a..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_bug_filled_md2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - diff --git a/app/apk-ng/src/main/res/drawable/ic_bug_md2.xml b/app/apk-ng/src/main/res/drawable/ic_bug_md2.xml deleted file mode 100644 index e9ea123fc..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_bug_md2.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/drawable/ic_check_circle_checked_md2.xml b/app/apk-ng/src/main/res/drawable/ic_check_circle_checked_md2.xml deleted file mode 100644 index 926f8e6ae..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_check_circle_checked_md2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_check_circle_md2.xml b/app/apk-ng/src/main/res/drawable/ic_check_circle_md2.xml deleted file mode 100644 index 09f36eefc..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_check_circle_md2.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_check_circle_unchecked_md2.xml b/app/apk-ng/src/main/res/drawable/ic_check_circle_unchecked_md2.xml deleted file mode 100644 index 1fae2758e..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_check_circle_unchecked_md2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_check_md2.xml b/app/apk-ng/src/main/res/drawable/ic_check_md2.xml deleted file mode 100644 index ff6645704..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_check_md2.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_delete_md2.xml b/app/apk-ng/src/main/res/drawable/ic_delete_md2.xml deleted file mode 100644 index e451bfa33..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_delete_md2.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/apk-ng/src/main/res/drawable/ic_download_md2.xml b/app/apk-ng/src/main/res/drawable/ic_download.xml similarity index 88% rename from app/apk-ng/src/main/res/drawable/ic_download_md2.xml rename to app/apk-ng/src/main/res/drawable/ic_download.xml index 5d3c38484..ed197e992 100644 --- a/app/apk-ng/src/main/res/drawable/ic_download_md2.xml +++ b/app/apk-ng/src/main/res/drawable/ic_download.xml @@ -6,7 +6,7 @@ android:viewportWidth="24" android:viewportHeight="24"> - \ No newline at end of file + diff --git a/app/apk-ng/src/main/res/drawable/ic_home_outlined_md2.xml b/app/apk-ng/src/main/res/drawable/ic_home.xml similarity index 89% rename from app/apk-ng/src/main/res/drawable/ic_home_outlined_md2.xml rename to app/apk-ng/src/main/res/drawable/ic_home.xml index 38bad7cc5..29333d80d 100644 --- a/app/apk-ng/src/main/res/drawable/ic_home_outlined_md2.xml +++ b/app/apk-ng/src/main/res/drawable/ic_home.xml @@ -5,7 +5,7 @@ android:viewportWidth="24" android:viewportHeight="24"> - \ No newline at end of file + diff --git a/app/apk-ng/src/main/res/drawable/ic_home_filled_md2.xml b/app/apk-ng/src/main/res/drawable/ic_home_filled_md2.xml deleted file mode 100644 index 0dafe8a4a..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_home_filled_md2.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/apk-ng/src/main/res/drawable/ic_home_md2.xml b/app/apk-ng/src/main/res/drawable/ic_home_md2.xml deleted file mode 100644 index a5d90b4d9..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_home_md2.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_install.xml b/app/apk-ng/src/main/res/drawable/ic_install.xml deleted file mode 100644 index 9e71aa185..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_install.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_manager.xml b/app/apk-ng/src/main/res/drawable/ic_manager.xml index 001df45e3..3a918c5f1 100644 --- a/app/apk-ng/src/main/res/drawable/ic_manager.xml +++ b/app/apk-ng/src/main/res/drawable/ic_manager.xml @@ -4,6 +4,6 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/apk-ng/src/main/res/drawable/ic_module_outlined_md2.xml b/app/apk-ng/src/main/res/drawable/ic_module.xml similarity index 93% rename from app/apk-ng/src/main/res/drawable/ic_module_outlined_md2.xml rename to app/apk-ng/src/main/res/drawable/ic_module.xml index fd83b65c4..ecb1a0429 100644 --- a/app/apk-ng/src/main/res/drawable/ic_module_outlined_md2.xml +++ b/app/apk-ng/src/main/res/drawable/ic_module.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> - \ No newline at end of file + diff --git a/app/apk-ng/src/main/res/drawable/ic_module_filled_md2.xml b/app/apk-ng/src/main/res/drawable/ic_module_filled_md2.xml deleted file mode 100644 index 8d4c14e57..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_module_filled_md2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_module_md2.xml b/app/apk-ng/src/main/res/drawable/ic_module_md2.xml deleted file mode 100644 index d93278f5b..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_module_md2.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_module_storage_md2.xml b/app/apk-ng/src/main/res/drawable/ic_module_storage_md2.xml deleted file mode 100644 index 9505cddde..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_module_storage_md2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_notifications_md2.xml b/app/apk-ng/src/main/res/drawable/ic_notifications_md2.xml deleted file mode 100644 index c55141254..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_notifications_md2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_restart.xml b/app/apk-ng/src/main/res/drawable/ic_restart.xml index b4f8eaee9..3151a7b21 100644 --- a/app/apk-ng/src/main/res/drawable/ic_restart.xml +++ b/app/apk-ng/src/main/res/drawable/ic_restart.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> diff --git a/app/apk-ng/src/main/res/drawable/ic_save_md2.xml b/app/apk-ng/src/main/res/drawable/ic_save.xml similarity index 89% rename from app/apk-ng/src/main/res/drawable/ic_save_md2.xml rename to app/apk-ng/src/main/res/drawable/ic_save.xml index 81d0e3b04..692fd4f09 100644 --- a/app/apk-ng/src/main/res/drawable/ic_save_md2.xml +++ b/app/apk-ng/src/main/res/drawable/ic_save.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> - \ No newline at end of file + diff --git a/app/apk-ng/src/main/res/drawable/ic_search_md2.xml b/app/apk-ng/src/main/res/drawable/ic_search_md2.xml deleted file mode 100644 index d290daebb..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_search_md2.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/apk-ng/src/main/res/drawable/ic_settings_outlined_md2.xml b/app/apk-ng/src/main/res/drawable/ic_settings.xml similarity index 96% rename from app/apk-ng/src/main/res/drawable/ic_settings_outlined_md2.xml rename to app/apk-ng/src/main/res/drawable/ic_settings.xml index 6c20efa2f..4236b96ec 100644 --- a/app/apk-ng/src/main/res/drawable/ic_settings_outlined_md2.xml +++ b/app/apk-ng/src/main/res/drawable/ic_settings.xml @@ -5,6 +5,6 @@ android:viewportWidth="24" android:viewportHeight="24"> - \ No newline at end of file + diff --git a/app/apk-ng/src/main/res/drawable/ic_settings_filled_md2.xml b/app/apk-ng/src/main/res/drawable/ic_settings_filled_md2.xml deleted file mode 100644 index 6044b0f0f..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_settings_filled_md2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_settings_md2.xml b/app/apk-ng/src/main/res/drawable/ic_settings_md2.xml deleted file mode 100644 index 9d294bff8..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_settings_md2.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_superuser_filled_md2.xml b/app/apk-ng/src/main/res/drawable/ic_superuser_filled_md2.xml deleted file mode 100644 index dde6afed0..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_superuser_filled_md2.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - diff --git a/app/apk-ng/src/main/res/drawable/ic_superuser_md2.xml b/app/apk-ng/src/main/res/drawable/ic_superuser_md2.xml deleted file mode 100644 index 374959c7c..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_superuser_md2.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_superuser_outlined_md2.xml b/app/apk-ng/src/main/res/drawable/ic_superuser_outlined_md2.xml deleted file mode 100644 index 3c279ccbe..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_superuser_outlined_md2.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/drawable/ic_update_md2.xml b/app/apk-ng/src/main/res/drawable/ic_update_md2.xml deleted file mode 100644 index 7595bcf4d..000000000 --- a/app/apk-ng/src/main/res/drawable/ic_update_md2.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/values-night/styles_md2.xml b/app/apk-ng/src/main/res/values-night/styles_md2.xml deleted file mode 100644 index 691508104..000000000 --- a/app/apk-ng/src/main/res/values-night/styles_md2.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/apk-ng/src/main/res/values-v27/themes.xml b/app/apk-ng/src/main/res/values-v27/themes.xml deleted file mode 100644 index a92226323..000000000 --- a/app/apk-ng/src/main/res/values-v27/themes.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/values/styles_md2_appearance.xml b/app/apk-ng/src/main/res/values/styles_md2_appearance.xml deleted file mode 100644 index fde3a5a0a..000000000 --- a/app/apk-ng/src/main/res/values/styles_md2_appearance.xml +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/values/styles_md2_impl.xml b/app/apk-ng/src/main/res/values/styles_md2_impl.xml deleted file mode 100644 index e615d0e91..000000000 --- a/app/apk-ng/src/main/res/values/styles_md2_impl.xml +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/values/themes.xml b/app/apk-ng/src/main/res/values/themes.xml index 09078e38e..3c3dbc0ff 100644 --- a/app/apk-ng/src/main/res/values/themes.xml +++ b/app/apk-ng/src/main/res/values/themes.xml @@ -1,32 +1,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/app/apk-ng/src/main/res/values/themes_override.xml b/app/apk-ng/src/main/res/values/themes_override.xml deleted file mode 100644 index 90de13757..000000000 --- a/app/apk-ng/src/main/res/values/themes_override.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - diff --git a/app/apk/src/main/res/values/themes_override.xml b/app/apk/src/main/res/values/themes_override.xml index ef0e9b5cb..7e59c7ca1 100644 --- a/app/apk/src/main/res/values/themes_override.xml +++ b/app/apk/src/main/res/values/themes_override.xml @@ -11,14 +11,5 @@ - - - diff --git a/app/core/src/main/java/com/topjohnwu/magisk/core/base/SplashScreen.kt b/app/core/src/main/java/com/topjohnwu/magisk/core/base/SplashScreen.kt index 8f604b85d..2d96eb357 100644 --- a/app/core/src/main/java/com/topjohnwu/magisk/core/base/SplashScreen.kt +++ b/app/core/src/main/java/com/topjohnwu/magisk/core/base/SplashScreen.kt @@ -35,7 +35,7 @@ interface SplashScreenHost : IActivityExtension { } class SplashController(private val activity: T) - where T : ComponentActivity, T: SplashScreenHost { + where T: ComponentActivity, T: SplashScreenHost { companion object { private var splashShown = false