You've already forked KernelSU-Next
mirror of
https://github.com/KernelSU-Next/KernelSU-Next.git
synced 2025-08-27 23:46:34 +00:00
Compare commits
6 Commits
b74e953ad2
...
3ff10d6622
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ff10d6622 | ||
|
|
b95d2b69b6 | ||
|
|
2cd8453877 | ||
|
|
b7300b0525 | ||
|
|
3a278d560f | ||
|
|
03fa2eddb2 |
@@ -11,10 +11,6 @@ import okhttp3.Cache
|
||||
import okhttp3.OkHttpClient
|
||||
import java.io.File
|
||||
import java.util.Locale
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
import com.rifsxd.ksunext.ui.webui.initPlatform
|
||||
|
||||
lateinit var ksuApp: KernelSUApplication
|
||||
|
||||
@@ -28,9 +24,6 @@ class KernelSUApplication : Application() {
|
||||
|
||||
Platform.setHiddenApiExemptions()
|
||||
|
||||
// Pre-initialize WX Platform as early as possible
|
||||
launchPlatformInit()
|
||||
|
||||
val context = this
|
||||
val iconSize = resources.getDimensionPixelSize(android.R.dimen.app_icon_size)
|
||||
Coil.setImageLoader(
|
||||
@@ -61,11 +54,5 @@ class KernelSUApplication : Application() {
|
||||
}.build()
|
||||
}
|
||||
|
||||
private fun launchPlatformInit() {
|
||||
// Use a coroutine to avoid blocking the main thread
|
||||
GlobalScope.launch(Dispatchers.IO) {
|
||||
initPlatform()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ import com.rifsxd.ksunext.ui.util.install
|
||||
import com.rifsxd.ksunext.ui.util.isSuCompatDisabled
|
||||
import com.rifsxd.ksunext.ui.screen.FlashIt
|
||||
import com.rifsxd.ksunext.ui.viewmodel.ModuleViewModel
|
||||
import com.rifsxd.ksunext.ui.webui.initPlatform
|
||||
|
||||
class MainActivity : ComponentActivity() {
|
||||
|
||||
@@ -139,6 +140,11 @@ class MainActivity : ComponentActivity() {
|
||||
else -> true
|
||||
}
|
||||
|
||||
// pre-init platform to faster start WebUI X activities
|
||||
LaunchedEffect(Unit) {
|
||||
initPlatform()
|
||||
}
|
||||
|
||||
Scaffold(
|
||||
bottomBar = {
|
||||
AnimatedVisibility(
|
||||
|
||||
@@ -234,7 +234,7 @@ private fun SelectInstallMethod(onSelected: (InstallMethod) -> Unit = {}) {
|
||||
val rootAvailable = rootAvailable()
|
||||
val isAbDevice = isAbDevice()
|
||||
val selectFileTip = stringResource(
|
||||
id = R.string.select_file_tip, if (isInitBoot()) "init_boot" else "boot"
|
||||
id = R.string.select_file_tip, if (isInitBoot()) "init_boot/vendor_boot" else "boot"
|
||||
)
|
||||
val radioOptions =
|
||||
mutableListOf<InstallMethod>(InstallMethod.SelectFile(summary = selectFileTip))
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<string name="issue_report_telegram_link">https://t.me/ksunext</string>
|
||||
<string name="confirm">Potwierdź</string>
|
||||
<string name="app_name" translatable="false">KernelSU Next</string>
|
||||
<string name="home">Strona główna</string>
|
||||
<string name="home">Główna</string>
|
||||
<string name="home_not_installed">Niezainstalowany</string>
|
||||
<string name="home_click_to_install">Kliknij, aby zainstalować</string>
|
||||
<string name="lkm_mode_deprecated">Tryb LKM jest już przestarzały!</string>
|
||||
@@ -22,7 +22,7 @@
|
||||
<string name="home_failure">Nie znaleziono sygnatury KernelSU Next v2 w jądrze! [ !KSU_NEXT || != size/hash ]</string>
|
||||
<string name="home_failure_tip">Poproś swojego programistę jądra o integrację KernelSU Next!</string>
|
||||
<string name="home_kernel">Wersja jądra</string>
|
||||
<string name="hook_mode">Tryb hookowania</string>
|
||||
<string name="hook_mode">Rodzaj hooków</string>
|
||||
<string name="enable">Aktywuj</string>
|
||||
<string name="disable">Dezaktywuj</string>
|
||||
<string name="enabled">Aktywny</string>
|
||||
@@ -61,7 +61,7 @@
|
||||
<string name="reboot_bootloader">Reboot do trybu Bootloader</string>
|
||||
<string name="reboot_download">Reboot do trybu Download</string>
|
||||
<string name="reboot_edl">Reboot do trybu EDL</string>
|
||||
<string name="about">O autorze</string>
|
||||
<string name="about">O aplikacji</string>
|
||||
<string name="module_uninstall_confirm">Czy na pewno chcesz odinstalować moduł %s?</string>
|
||||
<string name="module_uninstall_success">%s został odinstalowany</string>
|
||||
<string name="module_uninstall_failed">Nie można odinstalować: %s</string>
|
||||
@@ -94,7 +94,7 @@
|
||||
<string name="reboot_message">Zmiany zaczną obowiązywać po restarcie systemu. Czy chcesz teraz uruchomić ponownie system?</string>
|
||||
<string name="module_restore">Przywróć moduły z kopii zapasowej</string>
|
||||
<string name="module_restore_message">Przywróć moduły z ostatniej kopii zapasowej.</string>
|
||||
<string name="backup_restore">Tworzenie / przywracanie kopii zapasowej</string>
|
||||
<string name="backup_restore">Tworzenie i przywracanie kopii zapasowej</string>
|
||||
<string name="module_backup">Utwórz kopię zapasową modułów</string>
|
||||
<string name="module_backup_message">Utwórz kopię zapasową obecnie zainstalowanych modułów.</string>
|
||||
<string name="allowlist_restore">Przywróć listę zgód z kopii zapasowej</string>
|
||||
|
||||
@@ -220,4 +220,6 @@
|
||||
<string name="use_webuix_eruda">Injetar Eruda no WebUI X</string>
|
||||
<string name="use_webuix_eruda_summary">Injeta um console de depuração no WebUI X para facilitar a depuração. Requer que a depuração web esteja ativada.</string>
|
||||
<string name="customization">Personalização</string>
|
||||
<string name="developer">Desenvolvedor</string>
|
||||
<string name="sucompat_disabled">SUCOMPAT DESATIVADO</string>
|
||||
</resources>
|
||||
|
||||
@@ -15,14 +15,16 @@
|
||||
<string name="lkm_mode_deprecated">Режим LKM тепер застарілий!</string>
|
||||
<string name="lkm_alternative_suggestion">Встановіть ядро GKI або інтегруйте ядра поруч із вашим пристроєм.</string>
|
||||
<string name="home_working">Працює</string>
|
||||
<string name="home_working_version">Версія: %d</string>
|
||||
<string name="home_superuser_count">SuperUsers: %d</string>
|
||||
<string name="home_module_count">Модулі: %d</string>
|
||||
<string name="home_working_version">Версія драйвера: %d</string>
|
||||
<string name="home_superuser_count">Видано прав: %d</string>
|
||||
<string name="home_module_count">Модулів: %d</string>
|
||||
<string name="home_module_update_count">Оновлення: %d</string>
|
||||
<string name="home_failure">Підпис KernelSU Next v2 не знайдено в ядрі! [!KSU_NEXT || != size/hash]</string>
|
||||
<string name="home_failure_tip">Попросіть вашого розробника ядра інтегрувати KernelSU Next!</string>
|
||||
<string name="home_kernel">Версія ядра</string>
|
||||
<string name="hook_mode">Режим хуків</string>
|
||||
<string name="enable">Увімкнути</string>
|
||||
<string name="disable">Вимкнути</string>
|
||||
<string name="disabled">Вимкнено</string>
|
||||
<string name="enabled">Увімкнено</string>
|
||||
<string name="susfs_supported">Доступно</string>
|
||||
@@ -42,18 +44,18 @@
|
||||
<string name="module_failed_to_disable">Не вдалося вимкнути модуль: %s</string>
|
||||
<string name="module_empty">Нема встановлених модулів</string>
|
||||
<string name="module">Модулі</string>
|
||||
<string name="module_install_prompt_with_name">Наступні модуль(і) будуть встановлені: %1$s</string>
|
||||
<string name="module_install_prompt_with_name">Наступні модулі будуть встановлені: %1$s</string>
|
||||
<string name="module_sort_a_to_z">Сортувати (А-Я)</string>
|
||||
<string name="module_sort_z_to_a">Сортувати (Я-А)</string>
|
||||
<string name="module_size_low_to_high">Сортувати (Низький → Великий)</string>
|
||||
<string name="module_size_high_to_low">Сортувати (Великий → Низький)</string>
|
||||
<string name="module_size_low_to_high">Сортувати (Менше → Більше)</string>
|
||||
<string name="module_size_high_to_low">Сортувати (Більше → Менше)</string>
|
||||
<string name="uninstall">Видалити</string>
|
||||
<string name="restore">Відновити</string>
|
||||
<string name="module_install">Встановити</string>
|
||||
<string name="install">Встановити</string>
|
||||
<string name="reboot">Перезавантаження</string>
|
||||
<string name="uninstalled">Видалено</string>
|
||||
<string name="settings">Налаштування</string>
|
||||
<string name="settings">Параметри</string>
|
||||
<string name="reboot_userspace">М’яка перезавантаження</string>
|
||||
<string name="reboot_recovery">Перезавантаження в Recovery</string>
|
||||
<string name="reboot_bootloader">Перезавантаження в Bootloader</string>
|
||||
@@ -178,9 +180,9 @@
|
||||
<string name="settings_check_update">Перевіряти оновлення</string>
|
||||
<string name="settings_check_update_summary">Автоматично перевіряти оновлення при відкритті додатка.</string>
|
||||
<string name="grant_root_failed">Не вдалося надати root-доступ!</string>
|
||||
<string name="action">Запустити</string>
|
||||
<string name="action">Скрипт</string>
|
||||
<string name="webui">WebUI</string>
|
||||
<string name="open">Відкрити</string>
|
||||
<string name="open">WebUI</string>
|
||||
<string name="enable_web_debugging">Відладка WebView</string>
|
||||
<string name="enable_web_debugging_summary">Можна використовувати для відладки WebUI. Увімкніть лише при необхідності.</string>
|
||||
<string name="direct_install">Пряма установка (Рекомендовано)</string>
|
||||
@@ -203,9 +205,9 @@
|
||||
<string name="flash_success">Прошивка виконана успішно</string>
|
||||
<string name="flash_failed">Помилка прошивки</string>
|
||||
<string name="selected_lkm">Вибрано LKM: %s</string>
|
||||
<string name="save_log">Зберегти логи</string>
|
||||
<string name="save_log">Зберегти\nлоги</string>
|
||||
<string name="log_saved">Логи збережено</string>
|
||||
<string name="send_log">Поділитися логами</string>
|
||||
<string name="send_log">Поділитися\nлогами</string>
|
||||
<string name="settings_disable_su">Вимкн. сумісність із su</string>
|
||||
<string name="settings_disable_su_summary">Тимчасово вимкнути можливість додаткам отримувати права root через команду su (існуючі процеси з правами root не будуть зачеплені).</string>
|
||||
<string name="settings_language">Мова</string>
|
||||
@@ -218,5 +220,6 @@
|
||||
<string name="use_webuix_eruda">Інжект Eruda у WebUI X</string>
|
||||
<string name="use_webuix_eruda_summary">Інжектити консоль відладки у WebUI X, щоб спростити відладку. Потрібно увімкнути відладку WebView.</string>
|
||||
<string name="customization">Кастомізація</string>
|
||||
<string name="developer">Розробник</string>
|
||||
<string name="developer">Для Розробників</string>
|
||||
<string name="sucompat_disabled">SUCOMPAT ВИМКНЕНО</string>
|
||||
</resources>
|
||||
|
||||
@@ -119,50 +119,50 @@ int main(int argc, char *argv[]) {
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 5)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_SUS_OVERLAYFS\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_SUS_OVERLAYFS\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 6)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_TRY_UMOUNT\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_TRY_UMOUNT\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 7)) {
|
||||
if (enabled_features & (1 << 6)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_AUTO_ADD_TRY_UMOUNT_FOR_BIND_MOUNT\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_AUTO_ADD_TRY_UMOUNT_FOR_BIND_MOUNT\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 8)) {
|
||||
if (enabled_features & (1 << 7)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_SPOOF_UNAME\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_SPOOF_UNAME\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 9)) {
|
||||
if (enabled_features & (1 << 8)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_ENABLE_LOG\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_ENABLE_LOG\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 10)) {
|
||||
if (enabled_features & (1 << 9)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_HIDE_KSU_SUSFS_SYMBOLS\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 11)) {
|
||||
if (enabled_features & (1 << 10)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_SPOOF_BOOTCONFIG\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_SPOOF_BOOTCONFIG\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 12)) {
|
||||
if (enabled_features & (1 << 11)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_OPEN_REDIRECT\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_OPEN_REDIRECT\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 13)) {
|
||||
if (enabled_features & (1 << 12)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_SUS_SU\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_SUS_SU\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
if (enabled_features & (1 << 13)) {
|
||||
str_len = strlen("CONFIG_KSU_SUSFS_HAS_MAGIC_MOUNT\n");
|
||||
strncpy(ptr_buf, "CONFIG_KSU_SUSFS_HAS_MAGIC_MOUNT\n", str_len);
|
||||
ptr_buf += str_len;
|
||||
}
|
||||
printf("%s", enabled_features_buf);
|
||||
free(enabled_features_buf);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user