Adapt to new verbose log flag

This commit is contained in:
tehcneko 2021-02-06 14:37:08 +08:00 committed by LoveSy
parent 65da77315a
commit 5521826dea
7 changed files with 29 additions and 28 deletions

View File

@ -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<String> 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");

View File

@ -72,14 +72,6 @@
android:title="@string/pref_title_disable_verbose_log"
android:persistent="false"
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
android:defaultValue="false"
android:key="disable_modules_log"
android:summary="@string/pref_disable_modules_log_summary"
android:title="@string/pref_title_disable_modules_log"
android:persistent="false"
app:iconSpaceReserved="false" />
</PreferenceCategory>
<PreferenceCategory

View File

@ -296,6 +296,9 @@ namespace lspd {
auto variant = GetVariantPath();
fs::permissions(variant, fs::perms::owner_all | fs::perms::group_all);
path_chown(variant, uid, 1000u);
auto disable_verbose_log = misc_path_ / "disable_verbose_log";
fs::permissions(disable_verbose_log, fs::perms::owner_all | fs::perms::group_all);
path_chown(disable_verbose_log, uid, 1000u);
}
if (pkg_name == kPrimaryInstallerPkgName) {

View File

@ -11,10 +11,6 @@ namespace lspd {
return (jboolean) ConfigManager::GetInstance()->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,

View File

@ -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();

View File

@ -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"

View File

@ -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