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 91e163af..4b28fe08 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 @@ -41,8 +41,8 @@ import io.github.lsposed.manager.R; import io.github.lsposed.manager.databinding.ActivityMainBinding; import io.github.lsposed.manager.databinding.DialogAboutBinding; import io.github.lsposed.manager.ui.activity.base.BaseActivity; -import io.github.lsposed.manager.ui.dialog.StatusDialogBuilder; import io.github.lsposed.manager.ui.dialog.BlurBehindDialogBuilder; +import io.github.lsposed.manager.ui.dialog.StatusDialogBuilder; import io.github.lsposed.manager.util.GlideHelper; import io.github.lsposed.manager.util.ModuleUtil; import io.github.lsposed.manager.util.NavUtil; @@ -64,7 +64,6 @@ public class MainActivity extends BaseActivity { if (ConfigManager.getXposedApiVersion() != -1) { new StatusDialogBuilder(this) .setTitle(R.string.info) - .setPositiveButton(android.R.string.ok, null) .show(); } else { NavUtil.startURL(this, getString(R.string.about_source)); diff --git a/app/src/main/java/io/github/lsposed/manager/ui/dialog/StatusDialogBuilder.java b/app/src/main/java/io/github/lsposed/manager/ui/dialog/StatusDialogBuilder.java index 918d2f81..ebe47261 100644 --- a/app/src/main/java/io/github/lsposed/manager/ui/dialog/StatusDialogBuilder.java +++ b/app/src/main/java/io/github/lsposed/manager/ui/dialog/StatusDialogBuilder.java @@ -19,7 +19,6 @@ package io.github.lsposed.manager.ui.dialog; -import android.annotation.SuppressLint; import android.content.Context; import android.os.Build; import android.view.LayoutInflater; @@ -28,118 +27,50 @@ import android.view.View; import androidx.annotation.NonNull; import androidx.core.text.HtmlCompat; -import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; -import java.io.IOException; import java.util.Locale; import io.github.lsposed.manager.BuildConfig; import io.github.lsposed.manager.ConfigManager; import io.github.lsposed.manager.R; -import io.github.lsposed.manager.databinding.StatusInstallerBinding; +import io.github.lsposed.manager.databinding.DialogInfoBinding; +import rikka.core.util.ClipboardUtils; -@SuppressLint("StaticFieldLeak") public class StatusDialogBuilder extends BlurBehindDialogBuilder { - private static final String CPU_ABI; - private static final String CPU_ABI2; - - static { - String[] abiList = Build.SUPPORTED_64_BIT_ABIS; - if (abiList.length == 0) { - abiList = Build.SUPPORTED_32_BIT_ABIS; - } - CPU_ABI = abiList[0]; - if (abiList.length > 1) { - CPU_ABI2 = abiList[1]; - } else { - CPU_ABI2 = ""; - } - } public StatusDialogBuilder(@NonNull Context context) { super(context); - StatusInstallerBinding binding = StatusInstallerBinding.inflate(LayoutInflater.from(context), null, false); + DialogInfoBinding binding = DialogInfoBinding.inflate(LayoutInflater.from(context), null, false); - String installXposedVersion = ConfigManager.getXposedVersionName(); - String mAppVer = String.format("%s (%s)", BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE); - binding.manager.setText(mAppVer); - - if (installXposedVersion != null) { - binding.api.setText(String.format(Locale.US, "%s.0", ConfigManager.getXposedApiVersion())); - binding.framework.setText(String.format(Locale.US, "%s (%s)", installXposedVersion, ConfigManager.getXposedVersionCode())); - } + binding.apiVersion.setText(String.valueOf(ConfigManager.getXposedApiVersion())); + binding.frameworkVersion.setText(String.format(Locale.US, "%s (%s)", ConfigManager.getXposedVersionName(), ConfigManager.getXposedVersionCode())); + binding.managerVersion.setText(String.format(Locale.US, "%s (%s)", BuildConfig.VERSION_NAME, BuildConfig.VERSION_CODE)); if (Build.VERSION.PREVIEW_SDK_INT != 0) { - binding.androidVersion.setText(context.getString(R.string.android_sdk_preview, Build.VERSION.CODENAME)); + binding.systemVersion.setText(String.format(Locale.US, "%1$s Preview (API %2$d)", Build.VERSION.CODENAME, Build.VERSION.SDK_INT)); } else { - binding.androidVersion.setText(context.getString(R.string.android_sdk, getAndroidVersion(), Build.VERSION.RELEASE, Build.VERSION.SDK_INT)); + binding.systemVersion.setText(String.format(Locale.US, "%1$s (API %2$d)", Build.VERSION.RELEASE, Build.VERSION.SDK_INT)); } - binding.manufacturer.setText(getUIFramework()); - binding.cpu.setText(getCompleteArch()); + binding.device.setText(getUIFramework()); + binding.systemAbi.setText(Build.SUPPORTED_ABIS[0]); if (ConfigManager.isPermissive()) { binding.selinux.setVisibility(View.VISIBLE); binding.selinux.setText(HtmlCompat.fromHtml(context.getString(R.string.selinux_permissive), HtmlCompat.FROM_HTML_MODE_LEGACY)); } + setView(binding.getRoot()); - } - private static String getCompleteArch() { - String info = ""; - - try { - FileReader fr = new FileReader("/proc/cpuinfo"); - BufferedReader br = new BufferedReader(fr); - String text; - while ((text = br.readLine()) != null) { - if (!text.startsWith("processor")) break; - } - br.close(); - String[] array = text != null ? text.split(":\\s+", 2) : new String[0]; - if (array.length >= 2) { - info += array[1] + " "; - } - } catch (IOException ignored) { - } - - info += Build.SUPPORTED_ABIS[0]; - return info + " (" + getArch() + ")"; - } - - public static String getArch() { - if (CPU_ABI.equals("arm64-v8a")) { - return "arm64"; - } else if (CPU_ABI.equals("x86_64")) { - return "x86_64"; - } else if (CPU_ABI.equals("mips64")) { - return "mips64"; - } else if (CPU_ABI.startsWith("x86") || CPU_ABI2.startsWith("x86")) { - return "x86"; - } else if (CPU_ABI.startsWith("mips")) { - return "mips"; - } else if (CPU_ABI.startsWith("armeabi-v5") || CPU_ABI.startsWith("armeabi-v6")) { - return "armv5"; - } else { - return "arm"; - } - } - - private String getAndroidVersion() { - switch (Build.VERSION.SDK_INT) { - case 27: - return "Oreo"; - case 28: - return "Pie"; - case 29: - return "Q"; - case 30: - return "R"; - case 31: - return "S"; - } - return "Unknown"; + setPositiveButton(android.R.string.ok, null); + setNeutralButton(android.R.string.copy, (dialog, which) -> ClipboardUtils.put(context, + String.format(Locale.US, "%s\n%s\n\n%s\n%s\n\n%s\n%s\n\n%s\n%s\n\n%s\n%s\n\n%s\n%s", + context.getString(R.string.info_api_version), binding.apiVersion.getText(), + context.getString(R.string.info_framework_version), binding.frameworkVersion.getText(), + context.getString(R.string.info_manager_version), binding.managerVersion.getText(), + context.getString(R.string.info_system_version), binding.systemVersion.getText(), + context.getString(R.string.info_device), binding.device.getText(), + context.getString(R.string.info_system_abi), binding.systemAbi.getText()))); } private String getUIFramework() { diff --git a/app/src/main/res/drawable/ic_android.xml b/app/src/main/res/drawable/ic_android.xml deleted file mode 100644 index 8fcd27d3..00000000 --- a/app/src/main/res/drawable/ic_android.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_chip.xml b/app/src/main/res/drawable/ic_chip.xml deleted file mode 100644 index e2064db1..00000000 --- a/app/src/main/res/drawable/ic_chip.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_framework.xml b/app/src/main/res/drawable/ic_framework.xml deleted file mode 100644 index 6a13d378..00000000 --- a/app/src/main/res/drawable/ic_framework.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_manager.xml b/app/src/main/res/drawable/ic_manager.xml deleted file mode 100644 index 62a1bda2..00000000 --- a/app/src/main/res/drawable/ic_manager.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - diff --git a/app/src/main/res/drawable/ic_phone.xml b/app/src/main/res/drawable/ic_phone.xml deleted file mode 100644 index 840e622e..00000000 --- a/app/src/main/res/drawable/ic_phone.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - diff --git a/app/src/main/res/layout/dialog_info.xml b/app/src/main/res/layout/dialog_info.xml new file mode 100644 index 00000000..a54eb9a8 --- /dev/null +++ b/app/src/main/res/layout/dialog_info.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/status_installer.xml b/app/src/main/res/layout/status_installer.xml deleted file mode 100644 index 0ab2e2f9..00000000 --- a/app/src/main/res/layout/status_installer.xml +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 9b670d7c..e3300e9c 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -88,8 +88,6 @@ Laden… Runterscrollen - Android %2$s (%1$s, API %3$d) - Optimieren... Optimierung abgeschlossen. @@ -112,7 +110,6 @@ Nach Aktualisierungszeit sortieren Nach Aktualisierungszeit sortieren (umgekehrt) Theme - Variante System-Apps Sortieren… Modul einschalten diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index f95b1dbd..15193f61 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -41,8 +41,6 @@ Non installé <b>AVERTISSEMENT:<\/b> SELinux n\est pas renforcé! Le programme malveillant qui attaque peut contrôler complètement votre appareil et peut causer des dommages matériels et engager votre responsabilité légale. SELinux n\'est pas renforcé! - Android %2$s (%1$s, API %3$d) - Android %1$s Preview Envoyer @@ -129,7 +127,6 @@ Thème noir et sombre Utiliser le thème noir pûre si le thème noir est activé Thème - Variant Sauvegarder et restaurer Sauvegarder ou restaurer la liste d\’applications et leurs listes de champs. Sauvegarde diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index a03c5e08..30f6d2a1 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -125,7 +125,6 @@ 블랙 다크 테마 다크 테마가 활성화된 경우 순수 검은색 테마를 사용합니다. 테마 - Variant 백업 및 복원 모듈 목록 및 범위 목록을 백업 또는 복원합니다. 백업 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 1d4a4b7a..980c251e 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -88,8 +88,6 @@ Laden… Scroll naaar beneden - Android %2$s (%1$s, API %3$d) - Optimaliseren… Optimalisatie voltooid. @@ -112,7 +110,6 @@ Sorteer op updatetijd Sorteer op updatetijd (omgekeerd) Thema - Variant Systeem apps Sorteren… Schakel module in @@ -167,7 +164,4 @@ Geen release meer Thema kleur Donkere thema - Volg het systeem - Altijd uit - Altijd aan diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 097273d5..ad4b0024 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -88,9 +88,6 @@ Загрузка… Прокрутить вниз - Android %2$s (%1$s, API %3$d) - Android %1$s Preview - Оптимизация… Оптимизация завершена. @@ -113,7 +110,6 @@ Сортировать по времени обновления Сортировать по времени обновления (обратный) Тема - Вариант Системные приложения Сортировка… Включить модуль diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index d0c65baa..3cd711cd 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -28,7 +28,6 @@ Налаштування https://github.com/LSPosed/LSPosed/ System Framework - Android %2$s (%1$s, API %3$d) Ця програма припинила роботу, будь ласка, переконайтесь, що завантажили її з офіційного джерела. Запустити Помилка оптимізації або повернене значення порожнє @@ -94,7 +93,6 @@ Не вдалося відновити Відновлення закінчено! Відновлення… - Варіант Сортувати за часом встановлення Сортувати за часом встановлення (зворотній) Сортувати за назвою програми @@ -109,7 +107,7 @@ Цей модуль був створений для версії LSP %1$d, але через несумісні зміни у версії %2$d його було вимкнено Цей модуль вимагає новішої версії LSP (%d), тому його неможливо активувати Модуль LSPosed оновлено - Репозиторій + Репозиторій Репозиторій модулів Readme Релізи diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index e6b251fd..a24d2dd7 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -91,9 +91,6 @@ 正在加载… 滚动到底部 - Android %2$s (%1$s, API %3$d) - Android %1$s Preview - 优化中… 优化完成。 @@ -117,7 +114,6 @@ 更新时间 更新时间(降序) 主题 - 变体 系统应用 排序… 启用模块 @@ -184,5 +180,10 @@ 已卸载%1$s 卸载失败 模块仓库加载失败:%s - 更旧的版本加载失败:%s + API 版本 + 框架版本 + 管理器版本 + 系统版本 + 设备 + 系统架构 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index cae5cc2a..f218622c 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1,5 +1,4 @@ - - - + 資訊 @@ -41,8 +41,7 @@ 未安裝 <b>警告:<\/b>SELinux 未處於嚴格模式!對此進行攻擊的惡意程式可以完全控制你的裝置,並可能造成你的財產損失和法律責任。 SELinux 未處於嚴格模式! - - + 傳送 @@ -129,7 +128,6 @@ 使用純黑深色主題 當深色主題啟用時使用純黑色主題 主題 - 變體 備份與還原 備份或還原模組列表和範圍清單。 備份 @@ -159,8 +157,6 @@ 沒有更早期的版本 - - 此應用程式已損毀,請確保您從官方來源下載該應用程式。 LSPosed Manager 和 LSPosed 核心的版本不一致。請重新安裝對應的版本。 LSPosed 未正確安裝或啟用。 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8e3d9336..34ebcd6f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,8 +41,12 @@ 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! - Android %2$s (%1$s, API %3$d) - Android %1$s Preview + API version + Framework version + Manager version + System version + Device + System ABI Send @@ -132,7 +136,6 @@ Black dark theme Use the pure black theme if dark theme is enabled Theme - Variant Backup and restore Backup or restore module list and scope lists. Backup @@ -161,7 +164,6 @@ Show older versions No more release Failed to load module repo: %s - Failed to load older versions: %s https://github.com/LSPosed/LSPosed/ diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index ed78c0f9..82cbf2e8 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -124,4 +124,16 @@ 48dp + + + + \ No newline at end of file