From a160bdca9e377a6bcacf7d16834a2f1e0353b284 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Tue, 2 Nov 2021 21:56:14 +0800 Subject: [PATCH] Enable resources hook if necessary (#1351) --- .../org/lsposed/manager/ConfigManager.java | 19 ------------------- .../manager/ui/fragment/SettingsFragment.java | 7 ------- app/src/main/res/values-ar/strings.xml | 2 -- app/src/main/res/values-de/strings.xml | 2 -- app/src/main/res/values-es/strings.xml | 2 -- app/src/main/res/values-fa/strings.xml | 2 -- app/src/main/res/values-fr/strings.xml | 2 -- app/src/main/res/values-he/strings.xml | 1 - app/src/main/res/values-id/strings.xml | 2 -- app/src/main/res/values-in/strings.xml | 2 -- app/src/main/res/values-it/strings.xml | 2 -- app/src/main/res/values-iw/strings.xml | 1 - app/src/main/res/values-ja/strings.xml | 2 -- app/src/main/res/values-ko/strings.xml | 2 -- app/src/main/res/values-nl/strings.xml | 2 -- app/src/main/res/values-pl/strings.xml | 2 -- app/src/main/res/values-pt-rBR/strings.xml | 2 -- app/src/main/res/values-pt-rPT/strings.xml | 2 -- app/src/main/res/values-pt/strings.xml | 2 -- app/src/main/res/values-ru/strings.xml | 2 -- app/src/main/res/values-tr/strings.xml | 2 -- app/src/main/res/values-uk/strings.xml | 2 -- app/src/main/res/values-vi/strings.xml | 2 -- app/src/main/res/values-zh-rCN/strings.xml | 2 -- app/src/main/res/values-zh-rHK/strings.xml | 2 -- app/src/main/res/values-zh-rTW/strings.xml | 2 -- app/src/main/res/values/strings.xml | 2 -- app/src/main/res/xml-v29/prefs.xml | 9 --------- app/src/main/res/xml/prefs.xml | 9 --------- .../lspd/service/ILSPApplicationService.aidl | 2 -- .../de/robv/android/xposed/XposedInit.java | 11 ++++++----- .../lspd/config/ApplicationServiceClient.java | 4 ---- .../config/LSPApplicationServiceClient.java | 9 --------- .../main/java/org/lsposed/lspd/core/Main.java | 1 - .../lspd/deopt/PrebuiltMethodsDeopter.java | 7 +++++-- .../lsposed/lspd/service/ConfigManager.java | 15 +-------------- .../lspd/service/LSPApplicationService.java | 6 ------ .../lspd/service/LSPManagerService.java | 10 ---------- .../org/lsposed/lspd/ILSPManagerService.aidl | 4 ---- 39 files changed, 12 insertions(+), 149 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/ConfigManager.java b/app/src/main/java/org/lsposed/manager/ConfigManager.java index 17b4d163..596f0ea0 100644 --- a/app/src/main/java/org/lsposed/manager/ConfigManager.java +++ b/app/src/main/java/org/lsposed/manager/ConfigManager.java @@ -137,25 +137,6 @@ public class ConfigManager { return list; } - public static boolean isResourceHookEnabled() { - try { - return LSPManagerServiceHolder.getService().isResourceHook(); - } catch (RemoteException e) { - Log.e(App.TAG, Log.getStackTraceString(e)); - return false; - } - } - - public static boolean setResourceHookEnabled(boolean enabled) { - try { - LSPManagerServiceHolder.getService().setResourceHook(enabled); - return true; - } catch (RemoteException e) { - Log.e(App.TAG, Log.getStackTraceString(e)); - return false; - } - } - public static boolean isAddShortcut() { try { return LSPManagerServiceHolder.getService().isAddShortcut(); diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/SettingsFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/SettingsFragment.java index 227f2171..68dd2dbf 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/SettingsFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/SettingsFragment.java @@ -152,13 +152,6 @@ public class SettingsFragment extends BaseFragment { ConfigManager.setVerboseLogEnabled(!(boolean) newValue)); } - SwitchPreference prefEnableResources = findPreference("enable_resources"); - if (prefEnableResources != null) { - prefEnableResources.setEnabled(installed); - prefEnableResources.setChecked(installed && ConfigManager.isResourceHookEnabled()); - prefEnableResources.setOnPreferenceChangeListener((preference, newValue) -> ConfigManager.setResourceHookEnabled((boolean) newValue)); - } - SwitchPreference prefEnableShortcut = findPreference("enable_auto_add_shortcut"); if (prefEnableShortcut != null) { prefEnableShortcut.setEnabled(installed); diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 69c8ef6d..88db7672 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -149,8 +149,6 @@ ¯\\\\_(ツ)_\/¯\n لا شيء هنا إطار العمل - تمكين روابط المصادر - تحذير: روابط المصادر تجريبية تعطيل السجلات المفصّلة السمة السوداء المظلمة استخدام السمة السوداء الخالصة إذا تم تمكين السمة المظلمة diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 94e898f5..6cd27616 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -146,8 +146,6 @@ Gerät wird nach dem Update neu gestartet ¯\\\\_(ツ)_\/¯\nNichts hier Framework - Aktivieren Sie die Ressourcen-Hooks - Warnung: Ressourcen-Hooks sind experimentell Deaktivieren Sie ausführliche Protokolle Verwenden Sie das dunkelschwarze Thema Das schwarze Thema verwenden, wenn dunkles Thema aktiviert ist diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 9461ffac..542139ba 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -141,8 +141,6 @@ ¯\\\\_(ツ)_\/¯\nNo hay nada por aquí Framework - Activar hooks de recursos - ADVERTENCIA: los hooks de recursos son experimentales Desactivar registros detallados Tema negro oscuro Usar el tema negro puro si el tema oscuro está activado diff --git a/app/src/main/res/values-fa/strings.xml b/app/src/main/res/values-fa/strings.xml index 83b6a7cd..6a661372 100644 --- a/app/src/main/res/values-fa/strings.xml +++ b/app/src/main/res/values-fa/strings.xml @@ -135,8 +135,6 @@ ¯\\\\_(ツ)_\/¯\nهیچی اینجا نیس فریمورک - قلاب منابع (ریسورس هوک) را فعال کنید - هشدار: قلاب منابع آزمایشی است غیرفعال کردن سیاهه دقیق تم مشکی تیره استفاده از مشکی خالص در صورت فعال بودن تم سیاه diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 73e8970f..3518c149 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -145,8 +145,6 @@ ¯\\\\_(ツ)_\/¯\nIl n\’y a rien ici Sous-système - Activer les crochets de ressources - AVERTISSEMENT: Les crochets de ressources sont expérimentaux Désactiver les journaux détaillés Thème noir et sombre Utiliser le thème noir pûre si le thème noir est activé diff --git a/app/src/main/res/values-he/strings.xml b/app/src/main/res/values-he/strings.xml index 2e9bfdcd..ead62463 100644 --- a/app/src/main/res/values-he/strings.xml +++ b/app/src/main/res/values-he/strings.xml @@ -100,7 +100,6 @@ מידע על האפליקציה - אזהרה: Resource hooks are experimental בטל verbose logs ערכת נושא שחור כהה ערכת נושא diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml index b922c963..42745b4b 100644 --- a/app/src/main/res/values-id/strings.xml +++ b/app/src/main/res/values-id/strings.xml @@ -139,8 +139,6 @@ \"\\\\_(ツ)_\/¯\nTidak ada apa-apa di sini Kerangka - Aktifkan kait sumber daya - PERINGATAN: Kait sumber daya bersifat eksperimental Nonaktifkan log lengkap Tema hitam gelap Gunakan tema hitam murni jika tema gelap diaktifkan diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 74e1e6b2..d127bbc8 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -132,8 +132,6 @@ \"\\\\_(ツ)_\/¯\nTidak ada apa-apa di sini Kerangka - Aktifkan kait sumber daya - PERINGATAN: Kait sumber daya bersifat eksperimental Nonaktifkan log lengkap Tema hitam gelap Gunakan tema hitam murni jika tema gelap diaktifkan diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ee7336d7..ccd95447 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -145,8 +145,6 @@ ¯\\\\_(ツ)_\\/¯\nNon c\'è nulla qui Framework - Abilita gli hook delle risorse - ATTENZIONE: Gli hook delle risorse sono una funzionalità sperimentale Disabilita il log verboso Tema nero scuro Usa il tema nero puro quando è abilitato il tema scuro diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index e24648fc..b8e64729 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -101,7 +101,6 @@ מידע על האפליקציה - אזהרה: Resource hooks are experimental בטל verbose logs ערכת נושא שחור כהה השתמש בערכת נושא שחור טהור אם ערכת נושא כהה מופעלת diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 714a7958..273e4c1d 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -134,8 +134,6 @@ ¯\\\\_(ツ)_\/¯\nリストは空です フレームワーク - リソースフックを有効化 - 警告: リソースフックは実験的機能です 詳細ログの無効化 ブラックダークテーマ ダークテーマ有効時にピュアブラックのテーマを使用 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 0f84df35..de1d4856 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -124,8 +124,6 @@ 앱 정보 ¯\\\\_(ツ)_\/¯\n아무것도 없음 - 리소스 후크 사용 - 경고: 리소스 후크가 실험적입니다. 상세 로그 사용 안 함 블랙 다크 테마 다크 테마가 활성화된 경우 순수 검은색 테마를 사용합니다. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 5cb326d2..f49da5ae 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -145,8 +145,6 @@ ¯\\\\_(ツ)_\/¯\nNiets hier Framework - Schakel resource-hooks in - WAARSCHUWING: Resource-hooks zijn experimenteel Schakel uitgebreide logboeken uit Zwarte donkere thema Gebruik het pure zwarte thema als het donkere thema is ingeschakeld diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 256b374c..850eeb2f 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -142,8 +142,6 @@ ¯\\\\_(ツ)_\/¯\nNic tu nie ma Framework - Włącz podpinanie zasobów - OSTRZEŻENIE: Podpinanie zasobów jest funkcją eksperymentalną Wyłącz logi Czarny ciemny motyw Użyj czarnego motywu, jeśli ciemny motyw jest włączony diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 388fd062..3786383e 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -140,8 +140,6 @@ ¯\\\\_(ツ)_\/¯\nNada encontrado Framework - Ativar hooks de recursos - AVISO: Hooks de recursos são experimentais Desativar registros detalhados Tema preto puro Use o tema preto puro se o tema noturno estiver ativo diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index 55325da9..03e551ae 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -79,8 +79,6 @@ ¯\\\\_(ツ)_\/¯\nNada aqui Framework - Ativar injeção de recursos - AVISO: Injeção de recursos é experimental Desativar logs detalhados Tema preto Usar o tema preto puro se o tema escuro estiver ativado diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index bdb23ffe..613903bb 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -97,8 +97,6 @@ ¯\\\\_(ツ)_\/¯\nNada aqui Framework - Ativar injeção de recursos - AVISO: Injeção de recursos é experimental Desativar logs detalhados Tema preto Usar o tema preto puro se o tema escuro estiver ativado diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9dbe78f4..bca2d439 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -147,8 +147,6 @@ ¯\\\\_(ツ)_\/¯\nЗдесь ничего нет Фреймворк - Включить перехват ресурсов - ВНИМАНИЕ: Перехват ресурсов работает в экспериментальном режиме Выключить подробные логи Черная тема Использовать черную тему, когда включена темная тема diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 7eaa5913..b02c6496 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -141,8 +141,6 @@ ¯\\\\_(ツ)_\/¯\nModül bulunamadı Çerçeve - Kaynak kancalarını etkinleştir - UYARI: Kaynak kancaları deneyseldir Ayrıntılı günlükleri devre dışı bırak Siyah koyu tema Koyu tema etkinse saf siyah temayı kullanın diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index e695c117..8ed24466 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -139,8 +139,6 @@ ¯\\\\_(ツ)_\/¯\nТут нічого немає Фреймворк - Увімкнути хуки ресурсів - УВАГА: Хуки ресурсів є експериментальним Вимкнути детальні журнали Чорна темна тема Використовувати чисту чорну тему, якщо темна тема включена diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 44b03431..2feb8bee 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -144,8 +144,6 @@ ¯\\\\_(ツ)_\/¯\nKhông có gì ở đây cả Framework - Kích hoạt can thiệp vào tài nguyên - CẢNH BÁO: Can thiệp vào tài nguyên chỉ là thử nghiệm Vô hiệu hoá nhật ký chi tiết Chủ đề Đen - Tối Sử dụng chủ đề đen nếu chủ đề tối được bật diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 044f3bf0..4e4c46fe 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -148,8 +148,6 @@ ¯\\\\_(ツ)_\/¯\n空空如也 框架 - 启用资源钩子 - 警告: 资源钩子为实验性的特性 禁用详细日志 黑色主题 当深色主题启用时使用纯黑色主题 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index eca98f99..2ca5ed04 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -146,8 +146,6 @@ ¯\\\\_(ツ)_\/¯\n這裡甚麼都沒有 框架 - 啟用資源鈎子 - 警告: 資源鈎子為實驗性質 禁用詳細紀錄檔 黑色主題 使用純黑色背景當深色模式已啟用 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 4e7b2a4d..cba5e04b 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -144,8 +144,6 @@ ¯\_(ツ)_/¯\n空空如也 框架 - 啟用資源鉤子 - 警告: 資源鉤子為試驗性功能 停用詳細日誌 黑色主題 當深色主題啟用時使用純黑色主題 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f8ab0187..5570dc8e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -156,8 +156,6 @@ Framework - Enable resource hooks - WARNING: Resource hooks are experimental Disable verbose logs Black dark theme Use the pure black theme if dark theme is enabled diff --git a/app/src/main/res/xml-v29/prefs.xml b/app/src/main/res/xml-v29/prefs.xml index 41c296e8..c75e5f80 100644 --- a/app/src/main/res/xml-v29/prefs.xml +++ b/app/src/main/res/xml-v29/prefs.xml @@ -78,15 +78,6 @@ - - - - - - getModulesList(String processName); String getPrefsPath(String packageName); diff --git a/core/src/main/java/de/robv/android/xposed/XposedInit.java b/core/src/main/java/de/robv/android/xposed/XposedInit.java index be5dab4f..3b526187 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedInit.java +++ b/core/src/main/java/de/robv/android/xposed/XposedInit.java @@ -21,6 +21,7 @@ package de.robv.android.xposed; import static org.lsposed.lspd.config.LSPApplicationServiceClient.serviceClient; +import static org.lsposed.lspd.deopt.PrebuiltMethodsDeopter.deoptResourceMethods; import static de.robv.android.xposed.XposedBridge.hookAllMethods; import static de.robv.android.xposed.XposedBridge.sInitPackageResourcesCallbacks; import static de.robv.android.xposed.XposedBridge.sInitZygoteCallbacks; @@ -53,7 +54,6 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; import java.util.Set; -import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; @@ -68,12 +68,15 @@ public final class XposedInit { public static boolean startsSystemServer = false; public static volatile boolean disableResources = false; + public static AtomicBoolean resourceInit = new AtomicBoolean(false); public static void hookResources() throws Throwable { - if (!serviceClient.isResourcesHookEnabled() || disableResources) { + if (disableResources || !resourceInit.compareAndSet(false, true)) { return; } + deoptResourceMethods(); + if (!ResourcesHook.initXResourcesNative()) { Log.e(TAG, "Cannot hook resources"); disableResources = true; @@ -308,9 +311,6 @@ public final class XposedInit { if (!IXposedMod.class.isAssignableFrom(moduleClass)) { Log.e(TAG, " This class doesn't implement any sub-interface of IXposedMod, skipping it"); continue; - } else if (disableResources && IXposedHookInitPackageResources.class.isAssignableFrom(moduleClass)) { - Log.e(TAG, " This class requires resource-related hooks (which are disabled), skipping it."); - continue; } final Object moduleInstance = moduleClass.newInstance(); @@ -333,6 +333,7 @@ public final class XposedInit { } if (moduleInstance instanceof IXposedHookInitPackageResources) { + hookResources(); XposedBridge.hookInitPackageResources(new IXposedHookInitPackageResources.Wrapper( (IXposedHookInitPackageResources) moduleInstance, apk)); count++; diff --git a/core/src/main/java/org/lsposed/lspd/config/ApplicationServiceClient.java b/core/src/main/java/org/lsposed/lspd/config/ApplicationServiceClient.java index 5c75ce93..d93f23c1 100644 --- a/core/src/main/java/org/lsposed/lspd/config/ApplicationServiceClient.java +++ b/core/src/main/java/org/lsposed/lspd/config/ApplicationServiceClient.java @@ -1,7 +1,6 @@ package org.lsposed.lspd.config; import android.os.IBinder; -import android.os.ParcelFileDescriptor; import org.lsposed.lspd.models.Module; import org.lsposed.lspd.service.ILSPApplicationService; @@ -15,9 +14,6 @@ abstract public class ApplicationServiceClient implements ILSPApplicationService @Override abstract public IBinder requestModuleBinder(String name); - @Override - abstract public boolean isResourcesHookEnabled(); - @Override abstract public List getModulesList(String processName); diff --git a/core/src/main/java/org/lsposed/lspd/config/LSPApplicationServiceClient.java b/core/src/main/java/org/lsposed/lspd/config/LSPApplicationServiceClient.java index 67975e8d..3e4ef967 100644 --- a/core/src/main/java/org/lsposed/lspd/config/LSPApplicationServiceClient.java +++ b/core/src/main/java/org/lsposed/lspd/config/LSPApplicationServiceClient.java @@ -69,15 +69,6 @@ public class LSPApplicationServiceClient extends ApplicationServiceClient { return null; } - @Override - public boolean isResourcesHookEnabled() { - try { - return service.isResourcesHookEnabled(); - } catch (RemoteException | NullPointerException ignored) { - } - return false; - } - @Override public List getModulesList(String processName) { try { diff --git a/core/src/main/java/org/lsposed/lspd/core/Main.java b/core/src/main/java/org/lsposed/lspd/core/Main.java index e02aeea6..3d5995bb 100644 --- a/core/src/main/java/org/lsposed/lspd/core/Main.java +++ b/core/src/main/java/org/lsposed/lspd/core/Main.java @@ -69,7 +69,6 @@ public class Main { // Initialize the Xposed framework try { startBootstrapHook(isSystem, appDataDir); - XposedInit.hookResources(); } catch (Throwable t) { Utils.logE("error during Xposed initialization", t); } diff --git a/core/src/main/java/org/lsposed/lspd/deopt/PrebuiltMethodsDeopter.java b/core/src/main/java/org/lsposed/lspd/deopt/PrebuiltMethodsDeopter.java index dffb0282..0d2347b1 100644 --- a/core/src/main/java/org/lsposed/lspd/deopt/PrebuiltMethodsDeopter.java +++ b/core/src/main/java/org/lsposed/lspd/deopt/PrebuiltMethodsDeopter.java @@ -60,8 +60,11 @@ public class PrebuiltMethodsDeopter { public static void deoptBootMethods() { // todo check if has been done before deoptMethods(KEY_BOOT_IMAGE, null); - if (Utils.isMIUI && serviceClient.isResourcesHookEnabled()) { - //deopt these only for MIUI with resources hook enabled + } + + public static void deoptResourceMethods() { + if (Utils.isMIUI) { + //deopt these only for MIUI deoptMethods(KEY_BOOT_IMAGE_MIUI_RES, null); } } diff --git a/core/src/main/java/org/lsposed/lspd/service/ConfigManager.java b/core/src/main/java/org/lsposed/lspd/service/ConfigManager.java index b8b7f4e7..0af013c8 100644 --- a/core/src/main/java/org/lsposed/lspd/service/ConfigManager.java +++ b/core/src/main/java/org/lsposed/lspd/service/ConfigManager.java @@ -81,7 +81,6 @@ public class ConfigManager { private final SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(ConfigFileManager.dbPath, null); - private boolean resourceHook = false; private boolean verboseLog = true; private boolean autoAddShortcut = true; private String miscPath = null; @@ -207,10 +206,7 @@ public class ConfigManager { private synchronized void updateConfig() { Map config = getModulePrefs("lspd", 0, "config"); - Object bool = config.get("enable_resources"); - resourceHook = bool != null && (boolean) bool; - - bool = config.get("enable_verbose_log"); + Object bool = config.get("enable_verbose_log"); verboseLog = bool == null || (boolean) bool; bool = config.get("enable_auto_add_shortcut"); @@ -787,11 +783,6 @@ public class ConfigManager { cacheScopes(); } - public void setResourceHook(boolean resourceHook) { - updateModulePrefs("lspd", 0, "config", "enable_resources", resourceHook); - this.resourceHook = resourceHook; - } - public void setVerboseLog(boolean on) { if (BuildConfig.DEBUG) return; var logcatService = ServiceManager.getLogcatService(); @@ -813,10 +804,6 @@ public class ConfigManager { this.autoAddShortcut = on; } - public boolean resourceHook() { - return resourceHook; - } - public boolean verboseLog() { return BuildConfig.DEBUG || verboseLog; } diff --git a/core/src/main/java/org/lsposed/lspd/service/LSPApplicationService.java b/core/src/main/java/org/lsposed/lspd/service/LSPApplicationService.java index fa76b367..a3342d81 100644 --- a/core/src/main/java/org/lsposed/lspd/service/LSPApplicationService.java +++ b/core/src/main/java/org/lsposed/lspd/service/LSPApplicationService.java @@ -66,12 +66,6 @@ public class LSPApplicationService extends ILSPApplicationService.Stub { } } - @Override - public boolean isResourcesHookEnabled() throws RemoteException { - ensureRegistered(); - return ConfigManager.getInstance().resourceHook(); - } - @Override public List getModulesList(String processName) throws RemoteException { ensureRegistered(); diff --git a/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java b/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java index 465d5ead..0f43a756 100644 --- a/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java +++ b/core/src/main/java/org/lsposed/lspd/service/LSPManagerService.java @@ -553,16 +553,6 @@ public class LSPManagerService extends ILSPManagerService.Stub { return ConfigManager.getInstance().disableModule(packageName); } - @Override - public boolean isResourceHook() { - return ConfigManager.getInstance().resourceHook(); - } - - @Override - public void setResourceHook(boolean enabled) { - ConfigManager.getInstance().setResourceHook(enabled); - } - @Override public boolean isAddShortcut() { return ConfigManager.getInstance().isAddShortcut(); diff --git a/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl b/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl index e6857581..c9db96c2 100644 --- a/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl +++ b/manager-service/src/main/aidl/org/lsposed/lspd/ILSPManagerService.aidl @@ -20,10 +20,6 @@ interface ILSPManagerService { ParceledListSlice getModuleScope(String packageName) = 7; - boolean isResourceHook() = 9; - - void setResourceHook(boolean enabled) = 10; - boolean isVerboseLog() = 11; void setVerboseLog(boolean enabled) = 12;