From 5521826dea9aa12557115eb6e0510664c162b003 Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Sat, 6 Feb 2021 14:37:08 +0800 Subject: [PATCH] Adapt to new verbose log flag --- .../manager/ui/activity/SettingsActivity.java | 33 ++++++++++++------- app/src/main/res/xml/prefs.xml | 8 ----- core/src/main/cpp/main/src/config_manager.cpp | 3 ++ .../main/cpp/main/src/jni/config_manager.cpp | 5 --- .../lspd/nativebridge/ConfigManager.java | 2 -- core/template_override/customize.sh | 4 +++ core/template_override/post-fs-data.sh | 2 +- 7 files changed, 29 insertions(+), 28 deletions(-) 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 299adaf6..d335e6cb 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 @@ -133,8 +133,7 @@ public class SettingsActivity extends BaseActivity { public static class SettingsFragment extends PreferenceFragmentCompat { private static final Path enableResourcesFlag = Paths.get(Constants.getBaseDir(), "conf/enable_resources"); - private static final Path disableVerboseLogsFlag = Paths.get(Constants.getBaseDir(), "conf/disable_verbose_log"); - private static final Path disableModulesLogsFlag = Paths.get(Constants.getBaseDir() + "conf/disable_modules_log"); + private static final Path disableVerboseLogsFlag = Paths.get(Constants.getBaseDir()).getParent().resolve("disable_verbose_log"); private static final Path variantFlag = Paths.get(Constants.getBaseDir()).getParent().resolve("variant"); ActivityResultLauncher backupLauncher = registerForActivityResult(new ActivityResultContracts.CreateDocument(), uri -> { @@ -198,16 +197,26 @@ public class SettingsActivity extends BaseActivity { boolean installed = Constants.getXposedVersion() != null; SwitchPreferenceCompat prefVerboseLogs = findPreference("disable_verbose_log"); if (prefVerboseLogs != null) { - prefVerboseLogs.setEnabled(installed); - prefVerboseLogs.setChecked(Files.exists(disableVerboseLogsFlag)); - prefVerboseLogs.setOnPreferenceChangeListener(new OnFlagChangeListener(disableVerboseLogsFlag)); - } - - SwitchPreferenceCompat prefModulesLogs = findPreference("disable_modules_log"); - if (prefModulesLogs != null) { - prefModulesLogs.setEnabled(installed); - prefModulesLogs.setChecked(Files.exists(disableModulesLogsFlag)); - prefModulesLogs.setOnPreferenceChangeListener(new OnFlagChangeListener(disableModulesLogsFlag)); + if (requireActivity().getApplicationInfo().uid / 100000 != 0) { + prefVerboseLogs.setVisible(false); + } else { + prefVerboseLogs.setEnabled(installed); + try { + prefVerboseLogs.setChecked(Files.readAllBytes(disableVerboseLogsFlag)[0] == 49); + } catch (Exception e) { + e.printStackTrace(); + } + prefVerboseLogs.setOnPreferenceChangeListener((preference, newValue) -> { + try { + Files.write(disableVerboseLogsFlag, ((boolean) newValue) ? new byte[]{49, 0} : new byte[]{48, 0}); + return true; + } catch (IOException e) { + e.printStackTrace(); + Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); + return false; + } + }); + } } SwitchPreferenceCompat prefEnableResources = findPreference("enable_resources"); diff --git a/app/src/main/res/xml/prefs.xml b/app/src/main/res/xml/prefs.xml index fa66ddcb..c44518e8 100644 --- a/app/src/main/res/xml/prefs.xml +++ b/app/src/main/res/xml/prefs.xml @@ -72,14 +72,6 @@ android:title="@string/pref_title_disable_verbose_log" android:persistent="false" app:iconSpaceReserved="false" /> - - IsResourcesHookEnabled(); } - LSP_DEF_NATIVE_METHOD(jboolean, ConfigManager, isNoModuleLogEnabled) { - return (jboolean) ConfigManager::GetInstance()->IsNoModuleLogEnabled(); - } - LSP_DEF_NATIVE_METHOD(jstring, ConfigManager, getInstallerPackageName) { return env->NewStringUTF(ConfigManager::GetInstance()->GetInstallerPackageName().c_str()); } @@ -70,7 +66,6 @@ namespace lspd { static JNINativeMethod gMethods[] = { LSP_NATIVE_METHOD(ConfigManager, isResourcesHookEnabled, "()Z"), - LSP_NATIVE_METHOD(ConfigManager, isNoModuleLogEnabled, "()Z"), LSP_NATIVE_METHOD(ConfigManager, getInstallerPackageName, "()Ljava/lang/String;"), LSP_NATIVE_METHOD(ConfigManager, getDataPathPrefix, "()Ljava/lang/String;"), LSP_NATIVE_METHOD(ConfigManager, getPrefsPath, diff --git a/core/src/main/java/io/github/lsposed/lspd/nativebridge/ConfigManager.java b/core/src/main/java/io/github/lsposed/lspd/nativebridge/ConfigManager.java index 2d0dcfa3..ce39a5f7 100644 --- a/core/src/main/java/io/github/lsposed/lspd/nativebridge/ConfigManager.java +++ b/core/src/main/java/io/github/lsposed/lspd/nativebridge/ConfigManager.java @@ -6,8 +6,6 @@ public class ConfigManager { public static String niceName = ""; public static String appProcessName = ""; - public static native boolean isNoModuleLogEnabled(); - public static native boolean isResourcesHookEnabled(); public static native String getInstallerPackageName(); diff --git a/core/template_override/customize.sh b/core/template_override/customize.sh index 50f12ba2..7397b9b5 100644 --- a/core/template_override/customize.sh +++ b/core/template_override/customize.sh @@ -216,6 +216,10 @@ else abortC "${LANG_UTIL_ERR_VARIANT_UNSUPPORT} ${VARIANT}" fi +if [[ ! -e /data/misc/$MISC_PATH/disable_verbose_log ]]; then + echo "0" > /data/misc/$MISC_PATH/disable_verbose_log +fi + ui_print "- ${LANG_CUST_INST_COPY_LIB}" rm -rf "/data/misc/$MISC_PATH/framework" diff --git a/core/template_override/post-fs-data.sh b/core/template_override/post-fs-data.sh index 29481350..2e44d91c 100644 --- a/core/template_override/post-fs-data.sh +++ b/core/template_override/post-fs-data.sh @@ -55,7 +55,7 @@ PATH=${OLD_PATH} PATH_OWNER=$(echo "${PATH_INFO}" | awk -F " " '{print $3":"$4}') PATH_CONTEXT=$(echo "${PATH_INFO}" | awk -F " " '{print $5}') -if [[ -f ${DISABLE_VERBOSE_LOG_FILE} ]]; then +if [ "$(cat "${DISABLE_VERBOSE_LOG_FILE}")" = "1" ]; then LOG_VERBOSE=false fi