diff --git a/manager/app/build.gradle.kts b/manager/app/build.gradle.kts index 717fadf5..b04edb38 100644 --- a/manager/app/build.gradle.kts +++ b/manager/app/build.gradle.kts @@ -1,5 +1,6 @@ @file:Suppress("UnstableApiUsage") +import com.android.build.api.dsl.ApkSigningConfig import com.android.build.gradle.internal.api.BaseVariantOutputImpl import com.android.build.gradle.tasks.PackageAndroidArtifact @@ -24,7 +25,17 @@ apksign { keyPasswordProperty = "KEY_PASSWORD" } + android { + + /**signingConfigs { + create("Debug") { + storeFile = file("D:\\other\\AndroidTool\\android_key\\keystore\\release-key.keystore") + storePassword = "" + keyAlias = "" + keyPassword = "" + } + }**/ namespace = "com.sukisu.ultra" buildTypes { @@ -33,6 +44,9 @@ android { isShrinkResources = true proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } + /**debug { + signingConfig = signingConfigs.named("Debug").get() as ApkSigningConfig + }**/ } buildFeatures { diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Kpm.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Kpm.kt index c2a41430..9d230f65 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Kpm.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Kpm.kt @@ -5,14 +5,11 @@ import android.content.Intent import android.util.Log import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts -import androidx.compose.animation.* -import androidx.compose.animation.core.* import androidx.compose.foundation.layout.* import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.* -import androidx.compose.material.icons.outlined.* import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.Alignment @@ -123,88 +120,97 @@ fun KpmScreen( ) }, text = { - moduleName?.let { - Text( - text = stringResource(R.string.kpm_install_mode_description, it), - style = MaterialTheme.typography.bodyMedium, - color = MaterialTheme.colorScheme.onSurfaceVariant - ) + Column { + moduleName?.let { + Text( + text = stringResource(R.string.kpm_install_mode_description, it), + style = MaterialTheme.typography.bodyMedium, + color = MaterialTheme.colorScheme.onSurfaceVariant + ) + } + Spacer(modifier = Modifier.height(16.dp)) + Column( + verticalArrangement = Arrangement.spacedBy(8.dp) + ) { + Button( + onClick = { + scope.launch { + dismiss() + tempFileForInstall?.let { tempFile -> + handleModuleInstall( + tempFile = tempFile, + isEmbed = false, + viewModel = viewModel, + snackBarHost = snackBarHost, + kpmInstallSuccess = kpmInstallSuccess, + kpmInstallFailed = kpmInstallFailed + ) + } + tempFileForInstall = null + } + }, + modifier = Modifier.fillMaxWidth(), + colors = ButtonDefaults.buttonColors( + containerColor = MaterialTheme.colorScheme.primary + ) + ) { + Icon( + imageVector = Icons.Filled.Download, + contentDescription = null, + modifier = Modifier.size(18.dp).padding(end = 4.dp) + ) + Text(kpmInstallModeLoad) + } + + Button( + onClick = { + scope.launch { + dismiss() + tempFileForInstall?.let { tempFile -> + handleModuleInstall( + tempFile = tempFile, + isEmbed = true, + viewModel = viewModel, + snackBarHost = snackBarHost, + kpmInstallSuccess = kpmInstallSuccess, + kpmInstallFailed = kpmInstallFailed + ) + } + tempFileForInstall = null + } + }, + modifier = Modifier.fillMaxWidth(), + colors = ButtonDefaults.buttonColors( + containerColor = MaterialTheme.colorScheme.secondary + ) + ) { + Icon( + imageVector = Icons.Filled.Inventory, + contentDescription = null, + modifier = Modifier.size(18.dp).padding(end = 4.dp) + ) + Text(kpmInstallModeEmbed) + } + } } }, confirmButton = { - Column( - verticalArrangement = Arrangement.spacedBy(8.dp) - ) { - Button( - onClick = { - scope.launch { - dismiss() - tempFileForInstall?.let { tempFile -> - handleModuleInstall( - tempFile = tempFile, - isEmbed = false, - viewModel = viewModel, - snackBarHost = snackBarHost, - kpmInstallSuccess = kpmInstallSuccess, - kpmInstallFailed = kpmInstallFailed - ) - } - tempFileForInstall = null - } - }, - modifier = Modifier.fillMaxWidth(), - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.primary - ) - ) { - Icon( - imageVector = Icons.Filled.Download, - contentDescription = null, - modifier = Modifier.size(18.dp).padding(end = 4.dp) - ) - Text(kpmInstallModeLoad) - } - - Button( - onClick = { - scope.launch { - dismiss() - tempFileForInstall?.let { tempFile -> - handleModuleInstall( - tempFile = tempFile, - isEmbed = true, - viewModel = viewModel, - snackBarHost = snackBarHost, - kpmInstallSuccess = kpmInstallSuccess, - kpmInstallFailed = kpmInstallFailed - ) - } - tempFileForInstall = null - } - }, - modifier = Modifier.fillMaxWidth(), - colors = ButtonDefaults.buttonColors( - containerColor = MaterialTheme.colorScheme.secondary - ) - ) { - Icon( - imageVector = Icons.Filled.Inventory, - contentDescription = null, - modifier = Modifier.size(18.dp).padding(end = 4.dp) - ) - Text(kpmInstallModeEmbed) - } - } }, dismissButton = { - TextButton( - onClick = { - dismiss() - tempFileForInstall?.delete() - tempFileForInstall = null - } + Column( + modifier = Modifier.fillMaxWidth(), + horizontalAlignment = Alignment.CenterHorizontally ) { - Text(cancel) + Spacer(modifier = Modifier.height(16.dp)) + TextButton( + onClick = { + dismiss() + tempFileForInstall?.delete() + tempFileForInstall = null + } + ) { + Text(cancel) + } } }, containerColor = MaterialTheme.colorScheme.surfaceContainerHigh, @@ -647,7 +653,7 @@ private fun KpmModuleItem( } Card( - colors = CardDefaults.cardColors(containerColor = MaterialTheme.colorScheme.surfaceContainerHigh), + colors = getCardColors(MaterialTheme.colorScheme.surfaceContainerHigh), elevation = CardDefaults.cardElevation(defaultElevation = 0.dp), modifier = Modifier .fillMaxWidth() diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt index d808e94b..bec86ed8 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/util/KsuCli.kt @@ -537,7 +537,7 @@ fun getKpmModuleInfo(name: String): String { fun controlKpmModule(name: String, args: String? = null): Int { val shell = getRootShell() - val cmd = "${getKpmmgrPath()} control $name ${args ?: ""}" + val cmd = """${getKpmmgrPath()} control $name "${args ?: ""}"""" val result = runCmd(shell, cmd) return result.trim().toIntOrNull() ?: -1 }