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