From d6860160e807257a702d6ed9b9cdeae25713bc66 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 23 May 2024 08:16:44 +0530 Subject: [PATCH] Added a feature to save logs to local storage (#1741) - Added export logs to local storage [1664](https://github.com/tiann/KernelSU/issues/1664) --------- Co-authored-by: weishu --- manager/app/build.gradle.kts | 2 +- .../me/weishu/kernelsu/ui/screen/Settings.kt | 166 +++++++++++++++--- .../java/me/weishu/kernelsu/ui/util/KsuCli.kt | 16 ++ .../me/weishu/kernelsu/ui/util/LogEvent.kt | 5 + .../app/src/main/res/values-ar/strings.xml | 1 + .../app/src/main/res/values-az/strings.xml | 1 + .../src/main/res/values-bn-rBD/strings.xml | 1 + .../app/src/main/res/values-bn/strings.xml | 1 + .../app/src/main/res/values-bs/strings.xml | 1 + .../app/src/main/res/values-da/strings.xml | 1 + .../app/src/main/res/values-de/strings.xml | 1 + .../app/src/main/res/values-es/strings.xml | 1 + .../app/src/main/res/values-et/strings.xml | 1 + .../app/src/main/res/values-fa/strings.xml | 1 + .../app/src/main/res/values-fil/strings.xml | 1 + .../app/src/main/res/values-fr/strings.xml | 1 + .../app/src/main/res/values-hi/strings.xml | 1 + .../app/src/main/res/values-hr/strings.xml | 1 + .../app/src/main/res/values-hu/strings.xml | 1 + .../app/src/main/res/values-in/strings.xml | 1 + .../app/src/main/res/values-it/strings.xml | 1 + .../app/src/main/res/values-iw/strings.xml | 1 + .../app/src/main/res/values-ja/strings.xml | 1 + .../app/src/main/res/values-kn/strings.xml | 1 + .../app/src/main/res/values-ko/strings.xml | 1 + .../app/src/main/res/values-lt/strings.xml | 1 + .../app/src/main/res/values-lv/strings.xml | 1 + .../app/src/main/res/values-mr/strings.xml | 1 + .../app/src/main/res/values-ms/strings.xml | 1 + .../app/src/main/res/values-nl/strings.xml | 1 + .../app/src/main/res/values-pl/strings.xml | 1 + .../src/main/res/values-pt-rBR/strings.xml | 1 + .../app/src/main/res/values-pt/strings.xml | 1 + .../app/src/main/res/values-ro/strings.xml | 1 + .../app/src/main/res/values-ru/strings.xml | 1 + .../app/src/main/res/values-sl/strings.xml | 1 + .../app/src/main/res/values-sr/strings.xml | 1 + .../app/src/main/res/values-te/strings.xml | 1 + .../app/src/main/res/values-th/strings.xml | 1 + .../app/src/main/res/values-tr/strings.xml | 1 + .../app/src/main/res/values-uk/strings.xml | 1 + .../app/src/main/res/values-vi/strings.xml | 1 + .../src/main/res/values-zh-rCN/strings.xml | 1 + .../src/main/res/values-zh-rHK/strings.xml | 1 + .../src/main/res/values-zh-rTW/strings.xml | 1 + manager/app/src/main/res/values/strings.xml | 1 + 46 files changed, 203 insertions(+), 28 deletions(-) diff --git a/manager/app/build.gradle.kts b/manager/app/build.gradle.kts index e0f49ba8..6fd535bc 100644 --- a/manager/app/build.gradle.kts +++ b/manager/app/build.gradle.kts @@ -116,4 +116,4 @@ dependencies { implementation(libs.markdown) implementation(libs.androidx.webkit) -} \ No newline at end of file +} diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Settings.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Settings.kt index 4af20bd4..4f970f7e 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Settings.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/screen/Settings.kt @@ -1,11 +1,17 @@ package me.weishu.kernelsu.ui.screen +import android.content.ContentResolver import android.content.Context import android.content.Intent +import android.database.Cursor import android.net.Uri +import android.provider.OpenableColumns +import android.util.Log import android.widget.Toast import androidx.compose.foundation.clickable +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.padding import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll @@ -20,25 +26,34 @@ import androidx.compose.material.icons.filled.DeleteForever import androidx.compose.material.icons.filled.DeveloperMode import androidx.compose.material.icons.filled.Fence import androidx.compose.material.icons.filled.RemoveModerator +import androidx.compose.material.icons.filled.Save +import androidx.compose.material.icons.filled.Share import androidx.compose.material.icons.filled.Update +import androidx.compose.material3.BottomSheetScaffold import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.ListItem +import androidx.compose.material3.ModalBottomSheet import androidx.compose.material3.Scaffold import androidx.compose.material3.Text import androidx.compose.material3.TopAppBar import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.setValue +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.style.LineHeightStyle +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp import androidx.core.content.FileProvider import com.maxkeppeker.sheets.core.models.base.Header import com.maxkeppeker.sheets.core.models.base.IconSource @@ -65,12 +80,16 @@ import me.weishu.kernelsu.ui.component.rememberLoadingDialog import me.weishu.kernelsu.ui.screen.destinations.AppProfileTemplateScreenDestination import me.weishu.kernelsu.ui.screen.destinations.FlashScreenDestination import me.weishu.kernelsu.ui.util.getBugreportFile +import me.weishu.kernelsu.ui.util.getFileNameFromUri import me.weishu.kernelsu.ui.util.shrinkModules +import java.time.LocalDateTime +import java.time.format.DateTimeFormatter /** * @author weishu * @date 2023/1/1. */ +@OptIn(ExperimentalMaterial3Api::class) @Destination @Composable fun SettingScreen(navigator: DestinationsNavigator) { @@ -151,6 +170,7 @@ fun SettingScreen(navigator: DestinationsNavigator) { enableWebDebugging = it } + var showBottomsheet by remember { mutableStateOf(false) } ListItem( leadingContent = { @@ -161,34 +181,127 @@ fun SettingScreen(navigator: DestinationsNavigator) { }, headlineContent = { Text(stringResource(id = R.string.send_log)) }, modifier = Modifier.clickable { - scope.launch { - val bugreport = loadingDialog.withLoading { - withContext(Dispatchers.IO) { - getBugreportFile(context) - } - } - - val uri: Uri = - FileProvider.getUriForFile( - context, - "${BuildConfig.APPLICATION_ID}.fileprovider", - bugreport - ) - - val shareIntent = Intent(Intent.ACTION_SEND) - shareIntent.putExtra(Intent.EXTRA_STREAM, uri) - shareIntent.setDataAndType(uri, "application/zip") - shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) - - context.startActivity( - Intent.createChooser( - shareIntent, - context.getString(R.string.send_log) - ) - ) - } + showBottomsheet = true } ) + if (showBottomsheet){ + ModalBottomSheet( + onDismissRequest = { showBottomsheet = false }, + content = { + Row(modifier = Modifier.padding(10.dp) + .align(Alignment.CenterHorizontally) + + ) { + Box{ + Column( + modifier = Modifier.padding(16.dp) + .clickable { + scope.launch { + val bugreport = loadingDialog.withLoading { + withContext(Dispatchers.IO) { + getBugreportFile(context) + } + } + + val uri: Uri = + FileProvider.getUriForFile( + context, + "${BuildConfig.APPLICATION_ID}.fileprovider", + bugreport + ) + val filename = getFileNameFromUri(context , uri) + val savefile = Intent(Intent.ACTION_CREATE_DOCUMENT).apply { + addCategory(Intent.CATEGORY_OPENABLE) + type = "application/zip" + putExtra(Intent.EXTRA_STREAM, uri) + putExtra(Intent.EXTRA_TITLE, filename) + flags = Intent.FLAG_GRANT_READ_URI_PERMISSION + } + context.startActivity( + Intent.createChooser( + savefile, + context.getString(R.string.save_log) + ) + ) + } + } + ) { + Icon( + Icons.Filled.Save, + contentDescription = null, + modifier = Modifier.align(Alignment.CenterHorizontally) + ) + Text( + text = stringResource(id = R.string.save_log), + modifier = Modifier.padding(top = 16.dp), + textAlign = TextAlign.Center.also { + LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + } + + ) + } + + } + Box{ + Column( + modifier = Modifier.padding(16.dp) + .clickable { + scope.launch { + val bugreport = loadingDialog.withLoading { + withContext(Dispatchers.IO) { + getBugreportFile(context) + } + } + + val uri: Uri = + FileProvider.getUriForFile( + context, + "${BuildConfig.APPLICATION_ID}.fileprovider", + bugreport + ) + + val shareIntent = Intent(Intent.ACTION_SEND) + shareIntent.putExtra(Intent.EXTRA_STREAM, uri) + shareIntent.setDataAndType(uri, "application/zip") + shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) + + context.startActivity( + Intent.createChooser( + shareIntent, + context.getString(R.string.send_log) + ) + ) + } + } + ) { + Icon( + Icons.Filled.Share, + contentDescription = null, + modifier = Modifier.align(Alignment.CenterHorizontally) + ) + Text( + text = stringResource(id = R.string.send_log), + modifier = Modifier.padding(top = 16.dp), + textAlign = TextAlign.Center.also { + LineHeightStyle( + alignment = LineHeightStyle.Alignment.Center, + trim = LineHeightStyle.Trim.None + ) + } + + ) + } + + } + } + } + ) + + + } val shrink = stringResource(id = R.string.shrink_sparse_image) val shrinkMessage = stringResource(id = R.string.shrink_sparse_image_message) @@ -237,7 +350,6 @@ fun SettingScreen(navigator: DestinationsNavigator) { } } } - @Composable fun UninstallItem( navigator: DestinationsNavigator, diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt index a4e1066b..108e08f2 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/KsuCli.kt @@ -1,10 +1,14 @@ package me.weishu.kernelsu.ui.util +import android.content.ContentResolver +import android.content.Context +import android.database.Cursor import android.net.Uri import android.os.Build import android.os.Environment import android.os.Parcelable import android.os.SystemClock +import android.provider.OpenableColumns import android.util.Log import com.topjohnwu.superuser.CallbackList import com.topjohnwu.superuser.Shell @@ -48,6 +52,18 @@ inline fun withNewRootShell( return createRootShell(globalMnt).use(block) } +fun getFileNameFromUri(context: Context, uri: Uri): String? { + var fileName: String? = null + val contentResolver: ContentResolver = context.contentResolver + val cursor: Cursor? = contentResolver.query(uri, null, null, null, null) + cursor?.use { + if (it.moveToFirst()) { + fileName = it.getString(it.getColumnIndexOrThrow(OpenableColumns.DISPLAY_NAME)) + } + } + return fileName +} + fun createRootShell(globalMnt: Boolean = false): Shell { Shell.enableVerboseLogging = BuildConfig.DEBUG val builder = Shell.Builder.create() diff --git a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/LogEvent.kt b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/LogEvent.kt index 5e81a73d..19eb1df1 100644 --- a/manager/app/src/main/java/me/weishu/kernelsu/ui/util/LogEvent.kt +++ b/manager/app/src/main/java/me/weishu/kernelsu/ui/util/LogEvent.kt @@ -1,12 +1,16 @@ package me.weishu.kernelsu.ui.util +import android.content.ContentResolver import android.content.Context +import android.net.Uri import android.os.Build +import android.os.ParcelFileDescriptor import android.system.Os import com.topjohnwu.superuser.ShellUtils import me.weishu.kernelsu.Natives import me.weishu.kernelsu.ui.screen.getManagerVersion import java.io.File +import java.io.FileOutputStream import java.io.FileWriter import java.io.PrintWriter import java.time.LocalDateTime @@ -108,3 +112,4 @@ fun getBugreportFile(context: Context): File { return targetFile } + diff --git a/manager/app/src/main/res/values-ar/strings.xml b/manager/app/src/main/res/values-ar/strings.xml index 43a1fc9f..c38c4fc8 100644 --- a/manager/app/src/main/res/values-ar/strings.xml +++ b/manager/app/src/main/res/values-ar/strings.xml @@ -130,4 +130,5 @@ صورة lkm المحددة: %s استعادة صورة المصنع المخزنة (في حالة وجود نسخة احتياطية)، والتي تُستخدم عادة قبل OTA؛ إذا كنت بحاجة إلى إلغاء تثبيت KernelSU، فيرجى استخدام \"إلغاء التثبيت الدائم\". قم بإلغاء تثبيت KernelSU مؤقتًا، واستعد إلى حالته الأصلية بعد إعادة التشغيل التالية. + حفظ السجلات \ No newline at end of file diff --git a/manager/app/src/main/res/values-az/strings.xml b/manager/app/src/main/res/values-az/strings.xml index d6931962..21ec189f 100644 --- a/manager/app/src/main/res/values-az/strings.xml +++ b/manager/app/src/main/res/values-az/strings.xml @@ -78,4 +78,5 @@ Məcburi dayandır Yenidən başlat %s görə SELinux qaydalarını güncəlləmək mümkün olmadı + Girişləri Saxla \ No newline at end of file diff --git a/manager/app/src/main/res/values-bn-rBD/strings.xml b/manager/app/src/main/res/values-bn-rBD/strings.xml index add3777f..078d88fe 100644 --- a/manager/app/src/main/res/values-bn-rBD/strings.xml +++ b/manager/app/src/main/res/values-bn-rBD/strings.xml @@ -48,4 +48,5 @@ %s আনইনস্টল করা যায়নি ভার্সন অথার + লগ সংরক্ষণ করুন \ No newline at end of file diff --git a/manager/app/src/main/res/values-bn/strings.xml b/manager/app/src/main/res/values-bn/strings.xml index beb0253e..312672c8 100644 --- a/manager/app/src/main/res/values-bn/strings.xml +++ b/manager/app/src/main/res/values-bn/strings.xml @@ -64,4 +64,5 @@ আলাদাভাবে আনমাউন্ট মোডিউল ম্যানেজার সঠিকভাবে কাজ করার জন্য বর্তমান KernelSU সংস্করণ %d খুবই কম। অনুগ্রহ করে %d বা উচ্চতর সংস্করণে আপগ্রেড করুন! + লগ সংরক্ষণ করুন \ No newline at end of file diff --git a/manager/app/src/main/res/values-bs/strings.xml b/manager/app/src/main/res/values-bs/strings.xml index d8b86b10..da078631 100644 --- a/manager/app/src/main/res/values-bs/strings.xml +++ b/manager/app/src/main/res/values-bs/strings.xml @@ -79,4 +79,5 @@ Šablon Prilagođeno Naziv profila + Sačuvaj Dnevnike \ No newline at end of file diff --git a/manager/app/src/main/res/values-da/strings.xml b/manager/app/src/main/res/values-da/strings.xml index 4767311c..6ab02256 100644 --- a/manager/app/src/main/res/values-da/strings.xml +++ b/manager/app/src/main/res/values-da/strings.xml @@ -79,4 +79,5 @@ Regler Genstart Den nuværende KernelSU version %d er for lav til manageren for at fungere ordentligt. Opgrader til version %d eller højere! + Gem Logfiler \ No newline at end of file diff --git a/manager/app/src/main/res/values-de/strings.xml b/manager/app/src/main/res/values-de/strings.xml index d6482f0a..04712346 100644 --- a/manager/app/src/main/res/values-de/strings.xml +++ b/manager/app/src/main/res/values-de/strings.xml @@ -117,4 +117,5 @@ Öffnen Updates suchen Automatisch nach Updates suchen beim Öffnen der App + Protokolle Speichern \ No newline at end of file diff --git a/manager/app/src/main/res/values-es/strings.xml b/manager/app/src/main/res/values-es/strings.xml index b69aa6f1..5623b47a 100644 --- a/manager/app/src/main/res/values-es/strings.xml +++ b/manager/app/src/main/res/values-es/strings.xml @@ -103,4 +103,5 @@ Eliminar El portapapeles esta vacio! Ver plantilla + Guardar Registros \ No newline at end of file diff --git a/manager/app/src/main/res/values-et/strings.xml b/manager/app/src/main/res/values-et/strings.xml index ba16f7ad..d514fc6a 100644 --- a/manager/app/src/main/res/values-et/strings.xml +++ b/manager/app/src/main/res/values-et/strings.xml @@ -108,4 +108,5 @@ Rakenduse avamisel kontrolli automaatselt uuendusi Ava Luba WebView silumine + Salvesta Logid \ No newline at end of file diff --git a/manager/app/src/main/res/values-fa/strings.xml b/manager/app/src/main/res/values-fa/strings.xml index 6a6cf2a4..a5cdb2f7 100644 --- a/manager/app/src/main/res/values-fa/strings.xml +++ b/manager/app/src/main/res/values-fa/strings.xml @@ -63,4 +63,5 @@ گلوبال تکی جداکردن ماژول ها + ذخیره گزارش‌ها diff --git a/manager/app/src/main/res/values-fil/strings.xml b/manager/app/src/main/res/values-fil/strings.xml index f708f0b7..fc527bf3 100644 --- a/manager/app/src/main/res/values-fil/strings.xml +++ b/manager/app/src/main/res/values-fil/strings.xml @@ -66,4 +66,5 @@ Pangalan ng profile Minana Ang pangkalahatang default na halaga para sa \"Umount modules\" sa Mga Profile ng App. Kung pinagana, aalisin nito ang lahat ng mga pagbabago sa modyul sa system para sa mga aplikasyon na walang hanay ng Profile. + I-save ang mga Log \ No newline at end of file diff --git a/manager/app/src/main/res/values-fr/strings.xml b/manager/app/src/main/res/values-fr/strings.xml index 1c3c3d5b..01c0672b 100644 --- a/manager/app/src/main/res/values-fr/strings.xml +++ b/manager/app/src/main/res/values-fr/strings.xml @@ -131,4 +131,5 @@ lkm sélectionné : %s Désinstallation complète et permanente de KernelSU (root et tous les modules). Désinstaller KernelSU temporairement et rétablir l\'état original au redémarrage suivant. + Enregistrer les Journaux \ No newline at end of file diff --git a/manager/app/src/main/res/values-hi/strings.xml b/manager/app/src/main/res/values-hi/strings.xml index 899b327c..f9304469 100644 --- a/manager/app/src/main/res/values-hi/strings.xml +++ b/manager/app/src/main/res/values-hi/strings.xml @@ -80,4 +80,5 @@ %1$s पर स्रोत कोड देखें
हमारे %2$s चैनल से जुड़ें
मैनेजर वर्जन नया वर्जन: %s उपलब्ध है,अपग्रेड के लिए क्लिक करें + लॉग सहेजें \ No newline at end of file diff --git a/manager/app/src/main/res/values-hr/strings.xml b/manager/app/src/main/res/values-hr/strings.xml index e57b3a20..9fb1e4c6 100644 --- a/manager/app/src/main/res/values-hr/strings.xml +++ b/manager/app/src/main/res/values-hr/strings.xml @@ -79,4 +79,5 @@ Pokrenite Prisilno Zaustavite Resetujte + Spremi Zapise \ No newline at end of file diff --git a/manager/app/src/main/res/values-hu/strings.xml b/manager/app/src/main/res/values-hu/strings.xml index 71261199..2b52317c 100644 --- a/manager/app/src/main/res/values-hu/strings.xml +++ b/manager/app/src/main/res/values-hu/strings.xml @@ -102,4 +102,5 @@ Törlés A vágólap üres! Sablon megnézése + Naplók Mentése \ No newline at end of file diff --git a/manager/app/src/main/res/values-in/strings.xml b/manager/app/src/main/res/values-in/strings.xml index 864f9c3f..98698f52 100644 --- a/manager/app/src/main/res/values-in/strings.xml +++ b/manager/app/src/main/res/values-in/strings.xml @@ -131,4 +131,5 @@ LKM dipilih: %s Pasang Pemasangan Gagal + Simpan Log \ No newline at end of file diff --git a/manager/app/src/main/res/values-it/strings.xml b/manager/app/src/main/res/values-it/strings.xml index 885f5d8f..7bd3f924 100644 --- a/manager/app/src/main/res/values-it/strings.xml +++ b/manager/app/src/main/res/values-it/strings.xml @@ -130,4 +130,5 @@ Installazione fallita LKM selezionato: %s Ripristina l\'immagine di fabbrica del produttore (se il backup è presente), solitamente usato prima di applicare l\'OTA; se devi disinstallare KernelSU, utilizza invece \"Disinstalla Permanentemente\". + Salva Registri \ No newline at end of file diff --git a/manager/app/src/main/res/values-iw/strings.xml b/manager/app/src/main/res/values-iw/strings.xml index eee70a9b..18cfc638 100644 --- a/manager/app/src/main/res/values-iw/strings.xml +++ b/manager/app/src/main/res/values-iw/strings.xml @@ -80,4 +80,5 @@ ראה את קוד המקור ב%1$s
הצטרף אלינו %2$s בערוץ
גרסת מנהל גרסה חדשה עבור: %s זמינה, לחץ כדי לשדרג + שמור יומנים \ No newline at end of file diff --git a/manager/app/src/main/res/values-ja/strings.xml b/manager/app/src/main/res/values-ja/strings.xml index d210e0e1..4ecf7420 100644 --- a/manager/app/src/main/res/values-ja/strings.xml +++ b/manager/app/src/main/res/values-ja/strings.xml @@ -131,4 +131,5 @@ フラッシュ成功 フラッシュ失敗 選択された lkm: %s + ログを保存 \ No newline at end of file diff --git a/manager/app/src/main/res/values-kn/strings.xml b/manager/app/src/main/res/values-kn/strings.xml index 564ceb54..3c4e79fe 100644 --- a/manager/app/src/main/res/values-kn/strings.xml +++ b/manager/app/src/main/res/values-kn/strings.xml @@ -66,4 +66,5 @@ %1$s ನಲ್ಲಿ ಮೂಲ ಕೋಡ್ ಅನ್ನು ವೀಕ್ಷಿಸಿ
ನಮ್ಮ %2$s ಚಾನಲ್‌ಗೆ ಸೇರಿ
ಮ್ಯಾನೇಜರ್ ವರ್ಷನ್ ಹೊಸ ಆವೃತ್ತಿ: %s ಲಭ್ಯವಿದೆ, ಅಪ್‌ಗ್ರೇಡ್ ಮಾಡಲು ಕ್ಲಿಕ್ ಮಾಡಿ + ಲಾಗ್ಗಳನ್ನು ಉಳಿಸಿ \ No newline at end of file diff --git a/manager/app/src/main/res/values-ko/strings.xml b/manager/app/src/main/res/values-ko/strings.xml index 75de3a0f..7c29cc02 100644 --- a/manager/app/src/main/res/values-ko/strings.xml +++ b/manager/app/src/main/res/values-ko/strings.xml @@ -78,4 +78,5 @@ 도메인 실행 다음 앱에 대한 SELinux 규칙 업데이트 실패: %s + 로그 저장 \ No newline at end of file diff --git a/manager/app/src/main/res/values-lt/strings.xml b/manager/app/src/main/res/values-lt/strings.xml index a5ba9efc..cba5f5b1 100644 --- a/manager/app/src/main/res/values-lt/strings.xml +++ b/manager/app/src/main/res/values-lt/strings.xml @@ -80,4 +80,5 @@ Visuotinė numatytoji „Modulių atjungimo“ reikšmė programų profiliuose. Jei įjungta, ji pašalins visus sistemos modulio pakeitimus programoms, kurios neturi profilio. Keitimų žurnalas Ši KernelSU versija %d yra per žema, kad šis vadybininkas galėtų tinkamai funkcionuoti. Prašome atsinaujinti į versiją %d ar aukščiau! + Saglabāt Žurnālus \ No newline at end of file diff --git a/manager/app/src/main/res/values-lv/strings.xml b/manager/app/src/main/res/values-lv/strings.xml index 70c2fe26..c264b76a 100644 --- a/manager/app/src/main/res/values-lv/strings.xml +++ b/manager/app/src/main/res/values-lv/strings.xml @@ -130,4 +130,5 @@ Instalēšana neizdevās Samazināt reto attēlu Mainīt retā attēla izmēru, kurā atrodas modulis, līdz tā faktiskajam izmēram. Ņemiet vērā, ka tas var izraisīt moduļa neparastu darbību, tāpēc, lūdzu, izmantojiet tikai nepieciešamības gadījumā (piemēram, dublēšanai) + Išsaugoti Žurnalus \ No newline at end of file diff --git a/manager/app/src/main/res/values-mr/strings.xml b/manager/app/src/main/res/values-mr/strings.xml index fad70307..eaaf2a25 100644 --- a/manager/app/src/main/res/values-mr/strings.xml +++ b/manager/app/src/main/res/values-mr/strings.xml @@ -78,4 +78,5 @@ सक्तीने थांबा लाँच करा पुन्हा सुरू करा + लॉग जतन करा \ No newline at end of file diff --git a/manager/app/src/main/res/values-ms/strings.xml b/manager/app/src/main/res/values-ms/strings.xml index 5b93e092..46c1539c 100644 --- a/manager/app/src/main/res/values-ms/strings.xml +++ b/manager/app/src/main/res/values-ms/strings.xml @@ -34,4 +34,5 @@ Tidak terpasang Mulakan semula ke bootloader Versi Manager + Simpan Log \ No newline at end of file diff --git a/manager/app/src/main/res/values-nl/strings.xml b/manager/app/src/main/res/values-nl/strings.xml index 791bf473..bebf3789 100644 --- a/manager/app/src/main/res/values-nl/strings.xml +++ b/manager/app/src/main/res/values-nl/strings.xml @@ -125,4 +125,5 @@ Permanent verwijderen Herstel stockafbeelding Verwijder KernelSU tijdelijk en herstel het naar de oorspronkelijke staat na de volgende herstart. + Logboeken Opslaan \ No newline at end of file diff --git a/manager/app/src/main/res/values-pl/strings.xml b/manager/app/src/main/res/values-pl/strings.xml index a1a17d8f..b4fe83f3 100644 --- a/manager/app/src/main/res/values-pl/strings.xml +++ b/manager/app/src/main/res/values-pl/strings.xml @@ -132,4 +132,5 @@ Flashowanie ukończone pomyślnie Flashowanie nieudane Wybrano lkm: %s + Zapisz Dzienniki \ No newline at end of file diff --git a/manager/app/src/main/res/values-pt-rBR/strings.xml b/manager/app/src/main/res/values-pt-rBR/strings.xml index 2445bd50..f092a451 100644 --- a/manager/app/src/main/res/values-pt-rBR/strings.xml +++ b/manager/app/src/main/res/values-pt-rBR/strings.xml @@ -131,4 +131,5 @@ Flash falhou Flashando Flash bem-sucedido + Salvar Logs \ No newline at end of file diff --git a/manager/app/src/main/res/values-pt/strings.xml b/manager/app/src/main/res/values-pt/strings.xml index 590f487f..ea1547db 100644 --- a/manager/app/src/main/res/values-pt/strings.xml +++ b/manager/app/src/main/res/values-pt/strings.xml @@ -79,4 +79,5 @@ Forçar parada Nova versão: %s está disponível, clique para baixar A versão atual do KernelSU %d é muito baixa para o gerenciador funcionar corretamente. Atualize para a versão %d ou superior! + Salvar Registros \ No newline at end of file diff --git a/manager/app/src/main/res/values-ro/strings.xml b/manager/app/src/main/res/values-ro/strings.xml index 4a991ef7..fea3ffb6 100644 --- a/manager/app/src/main/res/values-ro/strings.xml +++ b/manager/app/src/main/res/values-ro/strings.xml @@ -128,4 +128,5 @@ Instalare Instalare reușită Instalarea a eșuat + Salvează Jurnale \ No newline at end of file diff --git a/manager/app/src/main/res/values-ru/strings.xml b/manager/app/src/main/res/values-ru/strings.xml index f07ef3e2..91dd276f 100644 --- a/manager/app/src/main/res/values-ru/strings.xml +++ b/manager/app/src/main/res/values-ru/strings.xml @@ -134,4 +134,5 @@ Установка Установка не выполнена Выбран lkm: %s + Сохранить Журналы \ No newline at end of file diff --git a/manager/app/src/main/res/values-sl/strings.xml b/manager/app/src/main/res/values-sl/strings.xml index 70bdb7c4..ae02e596 100644 --- a/manager/app/src/main/res/values-sl/strings.xml +++ b/manager/app/src/main/res/values-sl/strings.xml @@ -102,4 +102,5 @@ Sinhroniziraj predloge iz spleta Uvoz/Izvoz Napaka pri pridobivanju dnevnika sprememb: %s + Shrani Dnevnike \ No newline at end of file diff --git a/manager/app/src/main/res/values-sr/strings.xml b/manager/app/src/main/res/values-sr/strings.xml index a538ece7..73920b6f 100644 --- a/manager/app/src/main/res/values-sr/strings.xml +++ b/manager/app/src/main/res/values-sr/strings.xml @@ -7,4 +7,5 @@ Није инсталирано Верзија: %d Ради + Сачувај Дневнике \ No newline at end of file diff --git a/manager/app/src/main/res/values-te/strings.xml b/manager/app/src/main/res/values-te/strings.xml index e67f631f..f6095426 100644 --- a/manager/app/src/main/res/values-te/strings.xml +++ b/manager/app/src/main/res/values-te/strings.xml @@ -17,4 +17,5 @@ వెర్షన్: %d సూపర్‌యూజర్‌లు: %d మాడ్యూల్స్: %d + లాగ్‌లు సేవ్ చేయండి \ No newline at end of file diff --git a/manager/app/src/main/res/values-th/strings.xml b/manager/app/src/main/res/values-th/strings.xml index 598cf401..50bb145e 100644 --- a/manager/app/src/main/res/values-th/strings.xml +++ b/manager/app/src/main/res/values-th/strings.xml @@ -130,4 +130,5 @@ ถอนการติดตั้งชั่วคราว การถอนการติดตั้ง KernelSU (การรูทและโมดูลทั้งหมด) อย่างสมบูรณ์โดยถาวร คืนค่าโรงงานอิมเมจดั้งเดิม (หากมีข้อมูลสำรอง) ส่วนใหญ่มักใช้ก่อนทำการ OTA ซึ่งหากคุณต้องการถอนการติดตั้ง KernelSU โปรดใช้ \"ถอนการติดตั้งถาวร\" + บันทึกบันทึก \ No newline at end of file diff --git a/manager/app/src/main/res/values-tr/strings.xml b/manager/app/src/main/res/values-tr/strings.xml index 47f7e002..ed0bcd0f 100644 --- a/manager/app/src/main/res/values-tr/strings.xml +++ b/manager/app/src/main/res/values-tr/strings.xml @@ -132,4 +132,5 @@ Seçili lkm: %s Flaşlanıyor Flaşlama başarısız + Günlükleri Kaydet \ No newline at end of file diff --git a/manager/app/src/main/res/values-uk/strings.xml b/manager/app/src/main/res/values-uk/strings.xml index f1a1ea11..919ac133 100644 --- a/manager/app/src/main/res/values-uk/strings.xml +++ b/manager/app/src/main/res/values-uk/strings.xml @@ -131,4 +131,5 @@ Обрано lkm: %s Видалити KernelSU (Root і всі модулі) повністю і назавжди. Відновити стоковий заводський образ (якщо є резервна копія), зазвичай використовується перед OTA; якщо вам потрібно видалити KernelSU, використовуйте \"Назавжди видалити\". + Зберегти Журнали \ No newline at end of file diff --git a/manager/app/src/main/res/values-vi/strings.xml b/manager/app/src/main/res/values-vi/strings.xml index 7cf14902..04d87838 100644 --- a/manager/app/src/main/res/values-vi/strings.xml +++ b/manager/app/src/main/res/values-vi/strings.xml @@ -131,4 +131,5 @@ Nên sử dụng hình ảnh phân vùng %1$s Giảm thiểu hình ảnh thưa thớt Thay đổi kích thước hình ảnh thưa nơi đặt mô-đun theo kích thước thực tế của nó. Lưu ý điều này có thể khiến module hoạt động không bình thường nên vui lòng chỉ sử dụng khi cần thiết (chẳng hạn như để sao lưu) + Lưu Nhật Ký \ No newline at end of file diff --git a/manager/app/src/main/res/values-zh-rCN/strings.xml b/manager/app/src/main/res/values-zh-rCN/strings.xml index ba93a10f..ff11137d 100644 --- a/manager/app/src/main/res/values-zh-rCN/strings.xml +++ b/manager/app/src/main/res/values-zh-rCN/strings.xml @@ -128,4 +128,5 @@ 刷写完成 刷写失败 选择的 LKM :%s + 保存日志保存日志 \ No newline at end of file diff --git a/manager/app/src/main/res/values-zh-rHK/strings.xml b/manager/app/src/main/res/values-zh-rHK/strings.xml index d92ff99c..154ddac9 100644 --- a/manager/app/src/main/res/values-zh-rHK/strings.xml +++ b/manager/app/src/main/res/values-zh-rHK/strings.xml @@ -120,4 +120,5 @@ 最小化稀疏影像 將模組所在的稀疏影像調整為實際大小。 請注意,這可能會導致模組工作異常,因此請僅在必要時使用(例如備份) 解除安裝 + 保存日志 \ No newline at end of file diff --git a/manager/app/src/main/res/values-zh-rTW/strings.xml b/manager/app/src/main/res/values-zh-rTW/strings.xml index eb1a7f18..7917ddef 100644 --- a/manager/app/src/main/res/values-zh-rTW/strings.xml +++ b/manager/app/src/main/res/values-zh-rTW/strings.xml @@ -130,4 +130,5 @@ 恢復原廠映像(如果有備份),通常在OTA之前使用;如果需要解除安裝KernelSU,請使用「永久解除安裝」。 寫入失敗 選擇的 LKM :%s + 儲存日誌 \ No newline at end of file diff --git a/manager/app/src/main/res/values/strings.xml b/manager/app/src/main/res/values/strings.xml index 7202b4e2..d094969a 100644 --- a/manager/app/src/main/res/values/strings.xml +++ b/manager/app/src/main/res/values/strings.xml @@ -130,4 +130,5 @@ Flash success Flash failed Selected lkm: %s + Save Logs \ No newline at end of file