diff --git a/app/src/main/java/io/github/lsposed/manager/ui/activity/SettingsActivity.java b/app/src/main/java/io/github/lsposed/manager/ui/activity/SettingsActivity.java index 13662435..37b0eb21 100644 --- a/app/src/main/java/io/github/lsposed/manager/ui/activity/SettingsActivity.java +++ b/app/src/main/java/io/github/lsposed/manager/ui/activity/SettingsActivity.java @@ -22,6 +22,7 @@ package io.github.lsposed.manager.ui.activity; import android.annotation.SuppressLint; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; @@ -222,7 +223,16 @@ public class SettingsActivity extends BaseActivity { } else { prefVariant.setEnabled(installed); prefVariant.setValue(String.valueOf(ConfigManager.getVariant())); - prefVariant.setOnPreferenceChangeListener((preference, newValue) -> ConfigManager.setVariant(Integer.parseInt((String) newValue))); + prefVariant.setOnPreferenceChangeListener((preference, newValue) -> { + if (newValue.equals("2")) { + new AlertDialog.Builder(requireActivity()) + .setCancelable(true) + .setMessage(R.string.settings_sandhook_deprecated_warning) + .setPositiveButton(android.R.string.ok, (di, i) -> {}) + .show(); + } + return ConfigManager.setVariant(Integer.parseInt((String) newValue)); + }); } } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 633a7b4e..49bf36f9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -151,6 +151,8 @@ 恢复中… 恢复成功! 恢复失败 + SandHook(已废弃) + 警告:SandHook 现已废弃,并且将在以后的版本中移除。\n请考虑切换到 YAHFA。 备份… 备份 恢复 diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 1d0a5cdc..578a08d1 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -33,9 +33,9 @@ MODE_NIGHT_FOLLOW_SYSTEM - + YAHFA - SandHook + @string/settings_variant_sandhook 1 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bab0566f..557cf43c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -140,6 +140,8 @@ Restoring… Restore finished! Failed to restore + SandHook (Deprecated) + Warning: SandHook is deprecated and will be removed in the future. \nPlease consider migrating to YAHFA. Network DNS over HTTPS Workaround DNS poisoning in some nations diff --git a/key-selector/src/main/cpp/Languages.h b/key-selector/src/main/cpp/Languages.h index 18798740..3b320ff7 100644 --- a/key-selector/src/main/cpp/Languages.h +++ b/key-selector/src/main/cpp/Languages.h @@ -39,6 +39,9 @@ public: const char base[] = "No operation after %hu seconds."; return u16fmt(base, seconds); }; + virtual const std::string deprecated() { + return "(Deprecated)"; + }; protected: std::string u16fmt(const char* base, std::uint16_t s){ std::string out; @@ -61,6 +64,9 @@ public: const char base[] = "在 %hu 秒内没有任何操作。"; return u16fmt(base, seconds); } + virtual const std::string deprecated() override { + return "(已废弃)"; + }; }; #endif //LSPOSED_LANGUAGES_H diff --git a/key-selector/src/main/cpp/key_selector.cpp b/key-selector/src/main/cpp/key_selector.cpp index b4bb6e78..b28f3ca9 100644 --- a/key-selector/src/main/cpp/key_selector.cpp +++ b/key-selector/src/main/cpp/key_selector.cpp @@ -14,7 +14,8 @@ * You should have received a copy of the GNU General Public License * along with LSPosed. If not, see . * - * Copyright (C) 2020 EdXposed Contributors + * Copyright (C) 2010 The Android Open Source Project + * Copyright (C) 2015-2016 The CyanogenMod Project * Copyright (C) 2021 LSPosed Contributors */ @@ -266,6 +267,7 @@ int main() { #endif std::unordered_map variants; + std::string sandhook_deprecated = "SandHook " + l->deprecated(); for (const auto i: AllVariants) { switch (i) { case Variant::YAHFA: @@ -276,7 +278,7 @@ int main() { break; case Variant::SandHook: variants[i] = { - .expression = "SandHook", + .expression = sandhook_deprecated.c_str(), .supported_arch = {ARM, ARM64} }; break;