manager: Clean code & bump AGP version

This commit is contained in:
ShirkNeko
2025-08-25 17:28:51 +08:00
parent 1af8a87876
commit 8c8f344161
56 changed files with 27 additions and 279 deletions

View File

@@ -54,8 +54,8 @@ android {
prefab = true prefab = true
} }
kotlinOptions { kotlin {
jvmTarget = "21" jvmToolchain(21)
} }
packaging { packaging {

View File

@@ -40,7 +40,6 @@
# MMRL:webui reflection # MMRL:webui reflection
-keep class com.dergoogler.mmrl.webui.model.ModId { *; }
-keep class com.dergoogler.mmrl.webui.interfaces.** { *; } -keep class com.dergoogler.mmrl.webui.interfaces.** { *; }
-keep class com.sukisu.ultra.ui.webui.WebViewInterface { *; } -keep class com.sukisu.ultra.ui.webui.WebViewInterface { *; }

View File

@@ -54,7 +54,6 @@ struct susfs_feature_status {
bool status_spoof_cmdline; bool status_spoof_cmdline;
bool status_open_redirect; bool status_open_redirect;
bool status_magic_mount; bool status_magic_mount;
bool status_overlayfs_auto_kstat;
bool status_sus_su; bool status_sus_su;
}; };

View File

@@ -24,7 +24,6 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.platform.LocalSoftwareKeyboardController
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.ImeAction
@@ -48,8 +47,6 @@ import com.sukisu.ultra.R
import com.sukisu.ultra.profile.Capabilities import com.sukisu.ultra.profile.Capabilities
import com.sukisu.ultra.profile.Groups import com.sukisu.ultra.profile.Groups
import com.sukisu.ultra.ui.component.rememberCustomDialog import com.sukisu.ultra.ui.component.rememberCustomDialog
import com.sukisu.ultra.ui.theme.CardConfig
import com.sukisu.ultra.ui.theme.CardConfig.cardAlpha
import com.sukisu.ultra.ui.util.isSepolicyValid import com.sukisu.ultra.ui.util.isSepolicyValid
@OptIn(ExperimentalMaterial3Api::class) @OptIn(ExperimentalMaterial3Api::class)
@@ -501,5 +498,5 @@ private fun RootProfileConfigPreview() {
} }
private fun isTextValidUid(text: String): Boolean { private fun isTextValidUid(text: String): Boolean {
return text.isNotEmpty() && text.isDigitsOnly() && text.toInt() >= 0 && text.toInt() <= Int.MAX_VALUE return text.isNotEmpty() && text.isDigitsOnly() && text.toInt() >= 0
} }

View File

@@ -84,7 +84,6 @@ import com.sukisu.ultra.ui.component.profile.AppProfileConfig
import com.sukisu.ultra.ui.component.profile.RootProfileConfig import com.sukisu.ultra.ui.component.profile.RootProfileConfig
import com.sukisu.ultra.ui.component.profile.TemplateConfig import com.sukisu.ultra.ui.component.profile.TemplateConfig
import com.sukisu.ultra.ui.theme.CardConfig import com.sukisu.ultra.ui.theme.CardConfig
import com.sukisu.ultra.ui.theme.CardConfig.cardAlpha
import com.sukisu.ultra.ui.theme.getCardColors import com.sukisu.ultra.ui.theme.getCardColors
import com.sukisu.ultra.ui.theme.getCardElevation import com.sukisu.ultra.ui.theme.getCardElevation
import com.sukisu.ultra.ui.util.LocalSnackbarHost import com.sukisu.ultra.ui.util.LocalSnackbarHost

View File

@@ -8,10 +8,7 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll import androidx.compose.foundation.verticalScroll
import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.WindowInsetsSides
import androidx.compose.foundation.layout.defaultMinSize
import androidx.compose.foundation.layout.safeDrawing import androidx.compose.foundation.layout.safeDrawing
import androidx.compose.foundation.layout.only
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Close import androidx.compose.material.icons.filled.Close
import androidx.compose.material.icons.filled.Save import androidx.compose.material.icons.filled.Save

View File

@@ -338,7 +338,7 @@ private fun RebootDialog(
sealed class InstallMethod { sealed class InstallMethod {
data class SelectFile( data class SelectFile(
val uri: Uri? = null, val uri: Uri? = null,
@StringRes override val label: Int = R.string.select_file, @param:StringRes override val label: Int = R.string.select_file,
override val summary: String? override val summary: String?
) : InstallMethod() ) : InstallMethod()
@@ -355,7 +355,7 @@ sealed class InstallMethod {
data class HorizonKernel( data class HorizonKernel(
val uri: Uri? = null, val uri: Uri? = null,
val slot: String? = null, val slot: String? = null,
@StringRes override val label: Int = R.string.horizon_kernel, @param:StringRes override val label: Int = R.string.horizon_kernel,
override val summary: String? = null override val summary: String? = null
) : InstallMethod() ) : InstallMethod()
@@ -413,7 +413,7 @@ private fun SelectInstallMethod(
else -> null else -> null
} }
option?.let { option?.let { it ->
selectedOption = it selectedOption = it
onSelected(it) onSelected(it)
} }
@@ -682,7 +682,7 @@ private fun SelectInstallMethod(
@Composable @Composable
fun rememberSelectKmiDialog(onSelected: (String?) -> Unit): DialogHandle { fun rememberSelectKmiDialog(onSelected: (String?) -> Unit): DialogHandle {
return rememberCustomDialog { dismiss -> return rememberCustomDialog { dismiss ->
val supportedKmi by produceState(initialValue = emptyList<String>()) { val supportedKmi by produceState(initialValue = emptyList()) {
value = getSupportedKmis() value = getSupportedKmis()
} }
val options = supportedKmi.map { value -> val options = supportedKmi.map { value ->

View File

@@ -221,7 +221,7 @@ fun ModuleScreen(navigator: DestinationsNavigator) {
} }
// 所有模块签名验证通过,直接安装 // 所有模块签名验证通过,直接安装
if (verificationResults.all { it.value }) { if (verificationResults.all { it -> it.value }) {
try { try {
navigator.navigate(FlashScreenDestination(FlashIt.FlashModules(selectedModules))) navigator.navigate(FlashScreenDestination(FlashIt.FlashModules(selectedModules)))
viewModel.markNeedRefresh() viewModel.markNeedRefresh()

View File

@@ -33,7 +33,6 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarColors
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.material3.TopAppBarScrollBehavior import androidx.compose.material3.TopAppBarScrollBehavior
import androidx.compose.material3.pulltorefresh.PullToRefreshBox import androidx.compose.material3.pulltorefresh.PullToRefreshBox
@@ -94,9 +93,6 @@ fun AppProfileTemplateScreen(
} }
} }
val cardColorUse = MaterialTheme.colorScheme.surfaceVariant
val cardAlpha = CardConfig.cardAlpha
Scaffold( Scaffold(
topBar = { topBar = {
val context = LocalContext.current val context = LocalContext.current
@@ -108,10 +104,6 @@ fun AppProfileTemplateScreen(
} }
TopBar( TopBar(
onBack = dropUnlessResumed { navigator.popBackStack() }, onBack = dropUnlessResumed { navigator.popBackStack() },
colors = TopAppBarDefaults.topAppBarColors(
containerColor = cardColorUse.copy(alpha = cardAlpha),
scrolledContainerColor = cardColorUse.copy(alpha = cardAlpha)
),
onSync = { onSync = {
scope.launch { viewModel.fetchTemplates(true) } scope.launch { viewModel.fetchTemplates(true) }
}, },
@@ -209,7 +201,7 @@ private fun TemplateItem(
FlowRow { FlowRow {
LabelText(label = "UID: ${template.uid}") LabelText(label = "UID: ${template.uid}")
LabelText(label = "GID: ${template.gid}") LabelText(label = "GID: ${template.gid}")
LabelText(label = template.context,) LabelText(label = template.context)
if (template.local) { if (template.local) {
LabelText(label = "local") LabelText(label = "local")
} else { } else {
@@ -228,7 +220,6 @@ private fun TopBar(
onSync: () -> Unit = {}, onSync: () -> Unit = {},
onImport: () -> Unit = {}, onImport: () -> Unit = {},
onExport: () -> Unit = {}, onExport: () -> Unit = {},
colors: TopAppBarColors,
scrollBehavior: TopAppBarScrollBehavior? = null scrollBehavior: TopAppBarScrollBehavior? = null
) { ) {
val colorScheme = MaterialTheme.colorScheme val colorScheme = MaterialTheme.colorScheme

View File

@@ -64,9 +64,9 @@ fun LinkifyText(
} }
private val urlPattern: Pattern = Pattern.compile( private val urlPattern: Pattern = Pattern.compile(
"(?:^|[\\W])((ht|f)tp(s?):\\/\\/|www\\.)" "(?:^|\\W)((ht|f)tp(s?)://|www\\.)"
+ "(([\\w\\-]+\\.){1,}?([\\w\\-.~]+\\/?)*" + "(([\\w\\-]+\\.)+([\\w\\-.~]+/?)*"
+ "[\\p{Alnum}.,%_=?&#\\-+()\\[\\]\\*$~@!:/{};']*)", + "[\\p{Alnum}.,%_=?&#\\-+()\\[\\]*$~@!:/{};']*)",
Pattern.CASE_INSENSITIVE or Pattern.MULTILINE or Pattern.DOTALL Pattern.CASE_INSENSITIVE or Pattern.MULTILINE or Pattern.DOTALL
) )

View File

@@ -314,7 +314,6 @@ object ModuleModify {
): androidx.activity.result.ActivityResultLauncher<Intent> { ): androidx.activity.result.ActivityResultLauncher<Intent> {
var showRestoreDialog by remember { mutableStateOf(false) } var showRestoreDialog by remember { mutableStateOf(false) }
var restoreConfirmResult by remember { mutableStateOf<CompletableDeferred<Boolean>?>(null) } var restoreConfirmResult by remember { mutableStateOf<CompletableDeferred<Boolean>?>(null) }
var pendingUri by remember { mutableStateOf<Uri?>(null) }
// 显示恢复确认对话框 // 显示恢复确认对话框
RestoreConfirmationDialog( RestoreConfirmationDialog(
@@ -334,7 +333,6 @@ object ModuleModify {
) { result -> ) { result ->
if (result.resultCode == android.app.Activity.RESULT_OK) { if (result.resultCode == android.app.Activity.RESULT_OK) {
result.data?.data?.let { uri -> result.data?.data?.let { uri ->
pendingUri = uri
scope.launch { scope.launch {
val confirmResult = CompletableDeferred<Boolean>() val confirmResult = CompletableDeferred<Boolean>()
restoreConfirmResult = confirmResult restoreConfirmResult = confirmResult
@@ -377,7 +375,6 @@ object ModuleModify {
): androidx.activity.result.ActivityResultLauncher<Intent> { ): androidx.activity.result.ActivityResultLauncher<Intent> {
var showAllowlistRestoreDialog by remember { mutableStateOf(false) } var showAllowlistRestoreDialog by remember { mutableStateOf(false) }
var allowlistRestoreConfirmResult by remember { mutableStateOf<CompletableDeferred<Boolean>?>(null) } var allowlistRestoreConfirmResult by remember { mutableStateOf<CompletableDeferred<Boolean>?>(null) }
var pendingUri by remember { mutableStateOf<Uri?>(null) }
// 显示允许列表恢复确认对话框 // 显示允许列表恢复确认对话框
AllowlistRestoreConfirmationDialog( AllowlistRestoreConfirmationDialog(
@@ -397,7 +394,6 @@ object ModuleModify {
) { result -> ) { result ->
if (result.resultCode == android.app.Activity.RESULT_OK) { if (result.resultCode == android.app.Activity.RESULT_OK) {
result.data?.data?.let { uri -> result.data?.data?.let { uri ->
pendingUri = uri
scope.launch { scope.launch {
val confirmResult = CompletableDeferred<Boolean>() val confirmResult = CompletableDeferred<Boolean>()
allowlistRestoreConfirmResult = confirmResult allowlistRestoreConfirmResult = confirmResult

View File

@@ -49,7 +49,7 @@ suspend fun initPlatform() = withContext(Dispatchers.IO) {
delay(1000) delay(1000)
} }
return@withContext active return@withContext true
} catch (e: Exception) { } catch (e: Exception) {
Log.e("KsuLibSu", "Failed to initialize platform", e) Log.e("KsuLibSu", "Failed to initialize platform", e)
return@withContext false return@withContext false

View File

@@ -76,15 +76,14 @@ public final class SuFilePathHandler implements WebViewAssetLoader.PathHandler {
* The application should typically use a dedicated subdirectory for the files it intends to * The application should typically use a dedicated subdirectory for the files it intends to
* expose and keep them separate from other files. * expose and keep them separate from other files.
* *
* @param context {@link Context} that is used to access app's internal storage.
* @param directory the absolute path of the exposed app internal storage directory from * @param directory the absolute path of the exposed app internal storage directory from
* which files can be loaded. * which files can be loaded.
* @throws IllegalArgumentException if the directory is not allowed. * @throws IllegalArgumentException if the directory is not allowed.
*/ */
public SuFilePathHandler(@NonNull Context context, @NonNull File directory, Shell rootShell) { public SuFilePathHandler(@NonNull File directory, Shell rootShell) {
try { try {
mDirectory = new File(getCanonicalDirPath(directory)); mDirectory = new File(getCanonicalDirPath(directory));
if (!isAllowedInternalStorageDir(context)) { if (!isAllowedInternalStorageDir()) {
throw new IllegalArgumentException("The given directory \"" + directory throw new IllegalArgumentException("The given directory \"" + directory
+ "\" doesn't exist under an allowed app internal storage directory"); + "\" doesn't exist under an allowed app internal storage directory");
} }
@@ -96,7 +95,7 @@ public final class SuFilePathHandler implements WebViewAssetLoader.PathHandler {
} }
} }
private boolean isAllowedInternalStorageDir(@NonNull Context context) throws IOException { private boolean isAllowedInternalStorageDir() throws IOException {
String dir = getCanonicalDirPath(mDirectory); String dir = getCanonicalDirPath(mDirectory);
for (String forbiddenPath : FORBIDDEN_DATA_DIRS) { for (String forbiddenPath : FORBIDDEN_DATA_DIRS) {

View File

@@ -58,7 +58,7 @@ class WebUIActivity : ComponentActivity() {
.setDomain("mui.kernelsu.org") .setDomain("mui.kernelsu.org")
.addPathHandler( .addPathHandler(
"/", "/",
SuFilePathHandler(this, webRoot, rootShell) SuFilePathHandler(webRoot, rootShell)
) )
.build() .build()

View File

@@ -23,8 +23,7 @@ public class UltraShellHelper {
return result.contains("exists"); return result.contains("exists");
} }
public static boolean CopyFileTo(String path, String target) { public static void CopyFileTo(String path, String target) {
String result = runCmd("cp -f '" + path + "' '" + target + "' 2>&1"); runCmd("cp -f '" + path + "' '" + target + "' 2>&1");
return !result.contains("cp: ");
} }
} }

View File

@@ -6,11 +6,9 @@ import com.sukisu.ultra.ui.util.getKpmVersion
import com.sukisu.ultra.ui.util.getModuleCount import com.sukisu.ultra.ui.util.getModuleCount
import com.sukisu.ultra.ui.util.getSuperuserCount import com.sukisu.ultra.ui.util.getSuperuserCount
import com.sukisu.ultra.ui.util.rootAvailable import com.sukisu.ultra.ui.util.rootAvailable
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.withContext
object AppData { object AppData {
object DataRefreshManager { object DataRefreshManager {
@@ -33,12 +31,6 @@ object AppData {
_kpmModuleCount.value = getKpmModuleCountUse() _kpmModuleCount.value = getKpmModuleCountUse()
} }
/**
* 异步刷新所有数据
*/
suspend fun refreshDataAsync() = withContext(Dispatchers.IO) {
refreshData()
}
} }
/** /**
@@ -86,7 +78,7 @@ object AppData {
return try { return try {
if (!rootAvailable()) return "" if (!rootAvailable()) return ""
val version = getKpmVersion() val version = getKpmVersion()
if (version.isEmpty()) "" else version version.ifEmpty { "" }
} catch (e: Exception) { } catch (e: Exception) {
"Error: ${e.message}" "Error: ${e.message}"
} }

View File

@@ -1,19 +0,0 @@
package zako.zako.zako.zakoui.activity.util
import androidx.compose.animation.AnimatedContentTransitionScope
import androidx.compose.animation.EnterTransition
import androidx.compose.animation.ExitTransition
import androidx.compose.animation.core.tween
import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut
import androidx.navigation.NavBackStackEntry
import com.ramcosta.composedestinations.animations.NavHostAnimatedDestinationStyle
object NavigationUtils {
fun defaultTransitions() = object : NavHostAnimatedDestinationStyle() {
override val enterTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> EnterTransition
get() = { fadeIn(animationSpec = tween(340)) }
override val exitTransition: AnimatedContentTransitionScope<NavBackStackEntry>.() -> ExitTransition
get() = { fadeOut(animationSpec = tween(340)) }
}
}

View File

@@ -1,21 +1,9 @@
package zako.zako.zako.zakoui.flash package zako.zako.zako.zakoui.flash
import android.annotation.SuppressLint
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
import android.net.Uri import android.net.Uri
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.CheckCircle
import androidx.compose.material.icons.filled.Error
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.documentfile.provider.DocumentFile import androidx.documentfile.provider.DocumentFile
import com.sukisu.ultra.R import com.sukisu.ultra.R
import com.sukisu.ultra.utils.AssetsUtil import com.sukisu.ultra.utils.AssetsUtil
@@ -207,6 +195,7 @@ class HorizonKernelWorker(
} }
} }
@SuppressLint("StringFormatInvalid")
private fun patch() { private fun patch() {
val kernelVersion = runCommandGetOutput(true, "cat /proc/version") val kernelVersion = runCommandGetOutput(true, "cat /proc/version")
val versionRegex = """\d+\.\d+\.\d+""".toRegex() val versionRegex = """\d+\.\d+\.\d+""".toRegex()
@@ -322,118 +311,3 @@ class HorizonKernelWorker(
} }
} }
} }
@Composable
fun HorizonKernelFlashProgress(state: FlashState) {
Card(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
colors = CardDefaults.cardColors(
containerColor = MaterialTheme.colorScheme.surfaceVariant
)
) {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp),
horizontalAlignment = Alignment.CenterHorizontally
) {
Text(
text = stringResource(id = R.string.horizon_flash_title),
style = MaterialTheme.typography.titleMedium,
modifier = Modifier.padding(bottom = 8.dp)
)
LinearProgressIndicator(
modifier = Modifier
.fillMaxWidth()
.padding(vertical = 8.dp),
progress = { state.progress },
)
Text(
text = state.currentStep,
style = MaterialTheme.typography.bodyMedium,
modifier = Modifier.padding(vertical = 4.dp)
)
if (state.logs.isNotEmpty()) {
Text(
text = stringResource(id = R.string.horizon_logs_label),
style = MaterialTheme.typography.labelMedium,
modifier = Modifier
.align(Alignment.Start)
.padding(top = 8.dp, bottom = 4.dp)
)
Surface(
modifier = Modifier
.fillMaxWidth()
.heightIn(max = 230.dp)
.padding(vertical = 4.dp),
color = MaterialTheme.colorScheme.surface,
tonalElevation = 1.dp,
shape = MaterialTheme.shapes.small
) {
Column(
modifier = Modifier
.fillMaxWidth()
.padding(8.dp)
.verticalScroll(rememberScrollState())
) {
state.logs.forEach { log ->
Text(
text = log,
style = MaterialTheme.typography.bodySmall,
modifier = Modifier.padding(vertical = 2.dp),
overflow = TextOverflow.Ellipsis,
maxLines = 1
)
}
}
}
}
if (state.error.isNotEmpty()) {
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.fillMaxWidth()
.padding(top = 8.dp)
) {
Icon(
imageVector = Icons.Default.Error,
contentDescription = null,
tint = MaterialTheme.colorScheme.error,
modifier = Modifier.padding(end = 8.dp)
)
Text(
text = state.error,
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.error
)
}
} else if (state.isCompleted) {
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.fillMaxWidth()
.padding(top = 8.dp)
) {
Icon(
imageVector = Icons.Default.CheckCircle,
contentDescription = null,
tint = MaterialTheme.colorScheme.primary,
modifier = Modifier.padding(end = 8.dp)
)
Text(
text = stringResource(id = R.string.horizon_flash_complete),
style = MaterialTheme.typography.bodyMedium,
color = MaterialTheme.colorScheme.primary
)
}
}
}
}
}

View File

@@ -113,7 +113,7 @@ fun KernelFlashScreen(
worker.start() worker.start()
// 监听日志更新 // 监听日志更新
while (!flashState.isCompleted && flashState.error.isEmpty()) { while (flashState.error.isEmpty()) {
if (flashState.logs.isNotEmpty()) { if (flashState.logs.isNotEmpty()) {
logText = flashState.logs.joinToString("\n") logText = flashState.logs.joinToString("\n")
logContent.clear() logContent.clear()
@@ -126,9 +126,6 @@ fun KernelFlashScreen(
logText += "\n${flashState.error}\n" logText += "\n${flashState.error}\n"
logContent.append("\n${flashState.error}\n") logContent.append("\n${flashState.error}\n")
KernelFlashStateHolder.isFlashing = false KernelFlashStateHolder.isFlashing = false
} else if (flashState.isCompleted) {
logText += "\n${context.getString(R.string.horizon_flash_complete)}\n\n\n"
logContent.append("\n${context.getString(R.string.horizon_flash_complete)}\n\n\n")
} }
} }
} else { } else {

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">استخدم إصبعين لتكبير الصورة، وأصبع واحد لسحبها لضبط الموضع</string> <string name="image_editor_hint">استخدم إصبعين لتكبير الصورة، وأصبع واحد لسحبها لضبط الموضع</string>
<string name="reprovision">إعادة</string> <string name="reprovision">إعادة</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">ضرب النواة</string>
<string name="horizon_logs_label">السجلات:</string>
<string name="horizon_flash_complete">الفلاش اكتمل</string> <string name="horizon_flash_complete">الفلاش اكتمل</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">جار التحضير</string> <string name="horizon_preparing">جار التحضير</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">Verwende zwei Finger um das Bild zu vergrößern und einen Finger um die Position anzupassen</string> <string name="image_editor_hint">Verwende zwei Finger um das Bild zu vergrößern und einen Finger um die Position anzupassen</string>
<string name="reprovision">Rückzahlung</string> <string name="reprovision">Rückzahlung</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel-Flashen</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Blitz abgeschlossen</string> <string name="horizon_flash_complete">Blitz abgeschlossen</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Vorbereiten…</string> <string name="horizon_preparing">Vorbereiten…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Usa dos dedos para acercar la imagen, y un dedo para arrastrarla para ajustar la posición</string> <string name="image_editor_hint">Usa dos dedos para acercar la imagen, y un dedo para arrastrarla para ajustar la posición</string>
<string name="reprovision">Reaprovisionamiento</string> <string name="reprovision">Reaprovisionamiento</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Parpadeo Kernel</string>
<string name="horizon_logs_label">Registros:</string>
<string name="horizon_flash_complete">Flashear completo</string> <string name="horizon_flash_complete">Flashear completo</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparando…</string> <string name="horizon_preparing">Preparando…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">Utilisez deux doigts pour zoomer l\'image, et un doigt pour le faire glisser pour ajuster la position</string> <string name="image_editor_hint">Utilisez deux doigts pour zoomer l\'image, et un doigt pour le faire glisser pour ajuster la position</string>
<string name="reprovision">Remise à disposition</string> <string name="reprovision">Remise à disposition</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Clignotement du noyau</string>
<string name="horizon_logs_label">Journaux:</string>
<string name="horizon_flash_complete">Flash terminé</string> <string name="horizon_flash_complete">Flash terminé</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Préparation de…</string> <string name="horizon_preparing">Préparation de…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -244,8 +244,6 @@
<string name="image_editor_hint">Gunakan dua jari untuk memperbesar gambar, dan satu jari untuk menggeser mengatur posisi</string> <string name="image_editor_hint">Gunakan dua jari untuk memperbesar gambar, dan satu jari untuk menggeser mengatur posisi</string>
<string name="reprovision">Reprovisi</string> <string name="reprovision">Reprovisi</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Memasang Kernel</string>
<string name="horizon_logs_label">Log:</string>
<string name="horizon_flash_complete">Flash Selesai</string> <string name="horizon_flash_complete">Flash Selesai</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Mempersiapkan…</string> <string name="horizon_preparing">Mempersiapkan…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -244,8 +244,6 @@
<string name="image_editor_hint">2 本の指で画像を拡大、1 本の指でドラッグで位置を調整します。</string> <string name="image_editor_hint">2 本の指で画像を拡大、1 本の指でドラッグで位置を調整します。</string>
<string name="reprovision">再プロビジョニング</string> <string name="reprovision">再プロビジョニング</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">カーネルをフラッシュ</string>
<string name="horizon_logs_label">ログ:</string>
<string name="horizon_flash_complete">フラッシュが完了しました</string> <string name="horizon_flash_complete">フラッシュが完了しました</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">準備中…</string> <string name="horizon_preparing">準備中…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use dois dedos para ampliar a imagem e um dedo para arrastá-la para ajustar a posição</string> <string name="image_editor_hint">Use dois dedos para ampliar a imagem e um dedo para arrastá-la para ajustar a posição</string>
<string name="reprovision">Restituição</string> <string name="reprovision">Restituição</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash concluído</string> <string name="horizon_flash_complete">Flash concluído</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparando…</string> <string name="horizon_preparing">Preparando…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -244,8 +244,6 @@
<string name="image_editor_hint">Используйте два пальца для увеличения изображения, и один палец для изменения положения</string> <string name="image_editor_hint">Используйте два пальца для увеличения изображения, и один палец для изменения положения</string>
<string name="reprovision">Реализация</string> <string name="reprovision">Реализация</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Мигание ядра</string>
<string name="horizon_logs_label">Логи:</string>
<string name="horizon_flash_complete">Прошивка завершена</string> <string name="horizon_flash_complete">Прошивка завершена</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Подготовка…</string> <string name="horizon_preparing">Подготовка…</string>

View File

@@ -237,8 +237,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -242,8 +242,6 @@
<string name="image_editor_hint">Görüntüyü yaklaştırmak için iki parmağınızı kullanın ve bir parmağınızla sürükleyerek konumu ayarlayın</string> <string name="image_editor_hint">Görüntüyü yaklaştırmak için iki parmağınızı kullanın ve bir parmağınızla sürükleyerek konumu ayarlayın</string>
<string name="reprovision">Yeniden sağla</string> <string name="reprovision">Yeniden sağla</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Çekirdek Flash\'lama</string>
<string name="horizon_logs_label">Günlükler:</string>
<string name="horizon_flash_complete">Flash\'lama Tamamlandı</string> <string name="horizon_flash_complete">Flash\'lama Tamamlandı</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Hazırlanıyor…</string> <string name="horizon_preparing">Hazırlanıyor…</string>

View File

@@ -242,8 +242,6 @@
<string name="image_editor_hint">Використовуйте два пальці для масштабування зображення та один палець для перетягування, щоб налаштувати положення</string> <string name="image_editor_hint">Використовуйте два пальці для масштабування зображення та один палець для перетягування, щоб налаштувати положення</string>
<string name="reprovision">Переналаштувати</string> <string name="reprovision">Переналаштувати</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Прошивка ядра</string>
<string name="horizon_logs_label">Логи:</string>
<string name="horizon_flash_complete">Прошивка завершена</string> <string name="horizon_flash_complete">Прошивка завершена</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Підготовка…</string> <string name="horizon_preparing">Підготовка…</string>

View File

@@ -242,8 +242,6 @@
<string name="image_editor_hint">Sử dụng hai ngón tay để phóng to hình ảnh và một ngón tay kéo thả để điều chỉnh vị trí</string> <string name="image_editor_hint">Sử dụng hai ngón tay để phóng to hình ảnh và một ngón tay kéo thả để điều chỉnh vị trí</string>
<string name="reprovision">Chọn lại</string> <string name="reprovision">Chọn lại</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash hoàn tất</string> <string name="horizon_flash_complete">Flash hoàn tất</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Chuẩn bị…</string> <string name="horizon_preparing">Chuẩn bị…</string>

View File

@@ -242,8 +242,6 @@
<string name="image_editor_hint">使用双指缩放图片,单指拖动调整位置</string> <string name="image_editor_hint">使用双指缩放图片,单指拖动调整位置</string>
<string name="reprovision">重置</string> <string name="reprovision">重置</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">刷写 Kernel</string>
<string name="horizon_logs_label">日志:</string>
<string name="horizon_flash_complete">刷写完成</string> <string name="horizon_flash_complete">刷写完成</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">准备中…</string> <string name="horizon_preparing">准备中…</string>

View File

@@ -239,8 +239,6 @@
<string name="image_editor_hint">使用雙指縮放圖片,單指拖動調整位置</string> <string name="image_editor_hint">使用雙指縮放圖片,單指拖動調整位置</string>
<string name="reprovision">重置</string> <string name="reprovision">重置</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">刷寫 Kernel</string>
<string name="horizon_logs_label">日誌:</string>
<string name="horizon_flash_complete">刷寫完成</string> <string name="horizon_flash_complete">刷寫完成</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">準備中…</string> <string name="horizon_preparing">準備中…</string>

View File

@@ -242,8 +242,6 @@
<string name="image_editor_hint">使用雙指縮放圖片,單指拖曳調整位置</string> <string name="image_editor_hint">使用雙指縮放圖片,單指拖曳調整位置</string>
<string name="reprovision">重置</string> <string name="reprovision">重置</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">刷寫內核</string>
<string name="horizon_logs_label">日誌:</string>
<string name="horizon_flash_complete">刷寫完成</string> <string name="horizon_flash_complete">刷寫完成</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">準備中…</string> <string name="horizon_preparing">準備中…</string>

View File

@@ -244,8 +244,6 @@
<string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string> <string name="image_editor_hint">Use two fingers to zoom the image, and one finger to drag it to adjust the position</string>
<string name="reprovision">Reprovision</string> <string name="reprovision">Reprovision</string>
<!-- Kernel Flash Progress Related --> <!-- Kernel Flash Progress Related -->
<string name="horizon_flash_title">Kernel Flashing</string>
<string name="horizon_logs_label">Logs:</string>
<string name="horizon_flash_complete">Flash Complete</string> <string name="horizon_flash_complete">Flash Complete</string>
<!-- Flash Status Related --> <!-- Flash Status Related -->
<string name="horizon_preparing">Preparing…</string> <string name="horizon_preparing">Preparing…</string>

View File

@@ -1,10 +1,10 @@
[versions] [versions]
accompanist-drawablepainter = "0.37.3" accompanist-drawablepainter = "0.37.3"
agp = "8.12.0" agp = "8.12.1"
gson = "2.13.1" gson = "2.13.1"
kotlin = "2.1.21" kotlin = "2.1.21"
ksp = "2.1.21-2.0.1" ksp = "2.1.21-2.0.1"
compose-bom = "2025.07.00" compose-bom = "2025.08.00"
lifecycle = "2.9.2" lifecycle = "2.9.2"
navigation = "2.9.3" navigation = "2.9.3"
activity-compose = "1.10.1" activity-compose = "1.10.1"
@@ -19,9 +19,9 @@ parcelablelist = "2.0.1"
libsu = "6.0.0" libsu = "6.0.0"
apksign = "1.4" apksign = "1.4"
cmaker = "1.2" cmaker = "1.2"
compose-material = "1.8.3" compose-material = "1.9.0"
compose-material3 = "1.3.2" compose-material3 = "1.3.2"
compose-ui = "1.8.3" compose-ui = "1.9.0"
documentfile = "1.1.0" documentfile = "1.1.0"
mmrl = "2bb00b3c2b" mmrl = "2bb00b3c2b"