diff --git a/app/src/main/java/io/github/lsposed/manager/ConfigManager.java b/app/src/main/java/io/github/lsposed/manager/ConfigManager.java index ff24299c..3c0b5280 100644 --- a/app/src/main/java/io/github/lsposed/manager/ConfigManager.java +++ b/app/src/main/java/io/github/lsposed/manager/ConfigManager.java @@ -227,4 +227,13 @@ public class ConfigManager { return false; } } + + public static boolean isSepolicyLoaded() { + try { + return LSPosedManagerServiceClient.isSepolicyLoaded(); + } catch (RemoteException | NullPointerException e) { + Log.e(App.TAG, Log.getStackTraceString(e)); + return false; + } + } } diff --git a/app/src/main/java/io/github/lsposed/manager/receivers/LSPosedManagerServiceClient.java b/app/src/main/java/io/github/lsposed/manager/receivers/LSPosedManagerServiceClient.java index c46370cf..7ff927c9 100644 --- a/app/src/main/java/io/github/lsposed/manager/receivers/LSPosedManagerServiceClient.java +++ b/app/src/main/java/io/github/lsposed/manager/receivers/LSPosedManagerServiceClient.java @@ -154,4 +154,9 @@ public class LSPosedManagerServiceClient { ensureService(); return service.uninstallPackage(packageName); } + + public static boolean isSepolicyLoaded() throws RemoteException, NullPointerException { + ensureService(); + return service.isSepolicyLoaded(); + } } diff --git a/app/src/main/java/io/github/lsposed/manager/ui/activity/MainActivity.java b/app/src/main/java/io/github/lsposed/manager/ui/activity/MainActivity.java index 776240ab..7ca007b9 100644 --- a/app/src/main/java/io/github/lsposed/manager/ui/activity/MainActivity.java +++ b/app/src/main/java/io/github/lsposed/manager/ui/activity/MainActivity.java @@ -91,8 +91,18 @@ public class MainActivity extends BaseActivity { String installXposedVersion = ConfigManager.getXposedVersionName(); int cardBackgroundColor; if (installXposedVersion != null) { - binding.statusTitle.setText(getString(R.string.Activated, "YAHFA")); - if (!ConfigManager.isPermissive()) { + if (ConfigManager.isPermissive()) { + cardBackgroundColor = ResourcesKt.resolveColor(getTheme(), R.attr.colorError); + binding.statusTitle.setText(R.string.activated); + binding.statusIcon.setImageResource(R.drawable.ic_warning); + binding.statusSummary.setText(R.string.selinux_permissive_summary); + } else if (!ConfigManager.isSepolicyLoaded()) { + binding.statusTitle.setText(R.string.partial_activated); + cardBackgroundColor = ResourcesKt.resolveColor(getTheme(), R.attr.colorWarning); + binding.statusIcon.setImageResource(R.drawable.ic_warning); + binding.statusSummary.setText(R.string.selinux_policy_not_loaded_summary); + } else { + binding.statusTitle.setText(R.string.activated); if (Helpers.currentHoliday == Helpers.Holidays.LUNARNEWYEAR) { cardBackgroundColor = 0xfff05654; } else { @@ -100,10 +110,6 @@ public class MainActivity extends BaseActivity { } binding.statusIcon.setImageResource(R.drawable.ic_check_circle); binding.statusSummary.setText(String.format(Locale.US, "%s (%d)", installXposedVersion, ConfigManager.getXposedVersionCode())); - } else { - cardBackgroundColor = ResourcesKt.resolveColor(getTheme(), R.attr.colorError); - binding.statusIcon.setImageResource(R.drawable.ic_warning); - binding.statusSummary.setText(R.string.selinux_permissive_summary); } } else { cardBackgroundColor = ResourcesKt.resolveColor(getTheme(), R.attr.colorInstall); diff --git a/app/src/main/java/io/github/lsposed/manager/ui/dialog/InfoDialogBuilder.java b/app/src/main/java/io/github/lsposed/manager/ui/dialog/InfoDialogBuilder.java index 7e017785..3824c71e 100644 --- a/app/src/main/java/io/github/lsposed/manager/ui/dialog/InfoDialogBuilder.java +++ b/app/src/main/java/io/github/lsposed/manager/ui/dialog/InfoDialogBuilder.java @@ -57,6 +57,9 @@ public class InfoDialogBuilder extends BlurBehindDialogBuilder { if (ConfigManager.isPermissive()) { binding.selinux.setVisibility(View.VISIBLE); binding.selinux.setText(HtmlCompat.fromHtml(context.getString(R.string.selinux_permissive), HtmlCompat.FROM_HTML_MODE_LEGACY)); + } else if (!ConfigManager.isSepolicyLoaded()) { + binding.selinux.setVisibility(View.VISIBLE); + binding.selinux.setText(HtmlCompat.fromHtml(context.getString(R.string.selinux_policy_not_loaded), HtmlCompat.FROM_HTML_MODE_LEGACY)); } setView(binding.getRoot()); diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index e3300e9c..0bcbc09c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -20,7 +20,6 @@ LSPosed - %s Aktiviert Installieren Tippen Sie hier, um LSPosed zu installieren Modules diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 15193f61..9de6d87a 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -23,7 +23,6 @@ Info - %s activé Installer Appuyez pour installer LSPosed Modules diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 200b1945..82852549 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -21,7 +21,6 @@ Info - %s attivo Installa Premi per installare LSPosed Moduli @@ -128,7 +127,6 @@ Tema nero puro Usa il tema nero puro se il tema scuro è abilitato Tema - Variante Backup e ripristino Backup o ripristino dell\'elenco dei moduli e degli elenchi degli ambiti. Backup @@ -157,7 +155,6 @@ Mostra le versioni precedenti Non ci sono altre versioni Impossibile caricare la repo: %s - Impossibile caricare le versioni precedenti: %s Questa applicazione è stata distrutta, assicurati di scaricarla dalla fonte ufficiale. diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 30f6d2a1..26722360 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -21,7 +21,6 @@ 정보 - %s 활성화됨 설치 LSPosed를 설치하려면 탭 모듈 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 980c251e..df4a0ecc 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -20,7 +20,6 @@ LSPosed - %s Geactiveerd Installeer Tik om LSPosed te installeren Modules diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index ad4b0024..afeb6e55 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -20,7 +20,6 @@ LSPosed - %s Активирован Установить Нажмите, чтобы установить LSPosed Модули diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 3cd711cd..a12a5b35 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -20,7 +20,6 @@ Про модифікацію - %s Активовано Установити Натисніть для встановлення LSPosed Звіти diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 8c83fdd2..704b9bbf 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -20,7 +20,6 @@ LSPosed - %s 已激活 安装 点按安装 LSPosed 模块 @@ -187,4 +186,8 @@ 设备 系统架构 应用中最常见的颜色 + 已激活 + 部分激活 + SEPolicy 未被正确加载 + <b>警告:<\/b> SEPolicy 未被正确加载,作用于系统框架的模块将不起作用。 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index f218622c..9f55f655 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -19,7 +19,6 @@ --> - %s 已啟動 安裝 點按安裝 LSPosed 模組 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 64b4ae64..b518c5fd 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -23,7 +23,6 @@ 資訊 - %s 已啟用 安裝 點選安裝 LSPosed 模組 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4fdb646d..b936c258 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -23,7 +23,6 @@ Info - %s Activated Install Tap to install LSPosed Modules @@ -38,9 +37,13 @@ Module repository (Alpha) Join our %s channel]]> + Activated Not installed <b>WARNING:<\/b> SELinux is not enforcing! the malicious program that attacks this can completely control your device and may cause your property damage and legal liability. SELinux is not enforcing! + Partially activated + SEPolicy is not loaded properly + <b>WARNING:<\/b> SEPolicy is not loaded properly, modules that hook System Framework will not work. API version Framework version Manager version