/ Rikka \
This commit is contained in:
parent
03f6ecac0e
commit
014d548898
|
|
@ -7,7 +7,7 @@ android {
|
|||
applicationId "org.meowcat.edxposed.manager"
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 27
|
||||
versionCode 45402
|
||||
versionCode 45403
|
||||
versionName "4.5.4"
|
||||
}
|
||||
buildTypes {
|
||||
|
|
@ -32,8 +32,8 @@ dependencies {
|
|||
implementation "com.github.topjohnwu.libsu:core:2.5.0"
|
||||
implementation 'androidx.browser:browser:1.2.0'
|
||||
implementation 'com.timehop.stickyheadersrecyclerview:library:0.4.3@aar'
|
||||
implementation 'moe.shizuku.preference:preference-appcompat:4.1.0-alpha02'
|
||||
implementation 'moe.shizuku.preference:preference-simplemenu-appcompat:4.1.0-alpha02'
|
||||
implementation 'com.takisoft.preferencex:preferencex:1.1.0'
|
||||
implementation 'com.takisoft.preferencex:preferencex-simplemenu:1.1.0'
|
||||
implementation "androidx.recyclerview:recyclerview:1.2.0-alpha01"
|
||||
implementation 'com.annimon:stream:1.2.0'
|
||||
implementation 'com.google.code.gson:gson:2.8.6'
|
||||
|
|
|
|||
|
|
@ -4,20 +4,21 @@ import android.content.Context;
|
|||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import com.takisoft.preferencex.PreferenceFragmentCompat;
|
||||
|
||||
import org.meowcat.edxposed.manager.repo.Module;
|
||||
import org.meowcat.edxposed.manager.util.PrefixedSharedPreferences;
|
||||
import org.meowcat.edxposed.manager.util.RepoLoader;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import moe.shizuku.preference.PreferenceFragment;
|
||||
import moe.shizuku.preference.PreferenceManager;
|
||||
|
||||
public class DownloadDetailsSettingsFragment extends PreferenceFragment {
|
||||
public class DownloadDetailsSettingsFragment extends PreferenceFragmentCompat {
|
||||
|
||||
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
public void onCreatePreferencesFix(Bundle savedInstanceState, String rootKey) {
|
||||
DownloadDetailsActivity mActivity = (DownloadDetailsActivity) getActivity();
|
||||
if (mActivity == null) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import android.os.Bundle;
|
|||
import android.os.FileUtils;
|
||||
import android.view.View;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
|
@ -15,8 +16,11 @@ import androidx.annotation.Nullable;
|
|||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.app.AppCompatDelegate;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.SwitchPreference;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.takisoft.preferencex.PreferenceFragmentCompat;
|
||||
import com.topjohnwu.superuser.Shell;
|
||||
|
||||
import org.meowcat.edxposed.manager.util.RepoLoader;
|
||||
|
|
@ -27,10 +31,6 @@ import java.io.FileOutputStream;
|
|||
import java.io.IOException;
|
||||
import java.util.Objects;
|
||||
|
||||
import moe.shizuku.preference.Preference;
|
||||
import moe.shizuku.preference.PreferenceFragment;
|
||||
import moe.shizuku.preference.SwitchPreference;
|
||||
|
||||
public class SettingsActivity extends BaseActivity {
|
||||
|
||||
@Override
|
||||
|
|
@ -47,13 +47,13 @@ public class SettingsActivity extends BaseActivity {
|
|||
setupWindowInsets();
|
||||
if (savedInstanceState == null) {
|
||||
getSupportFragmentManager().beginTransaction()
|
||||
.add(R.id.container, new SettingsFragment()).commit();
|
||||
.add(R.id.container, SettingsFragment.newInstance(findViewById(R.id.snackbar))).commit();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@SuppressWarnings({"ResultOfMethodCallIgnored", "deprecation"})
|
||||
public static class SettingsFragment extends PreferenceFragment implements Preference.OnPreferenceClickListener, SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
public static class SettingsFragment extends PreferenceFragmentCompat implements Preference.OnPreferenceClickListener, SharedPreferences.OnSharedPreferenceChangeListener {
|
||||
static final File mDisableResourcesFlag = new File(XposedApp.BASE_DIR + "conf/disable_resources");
|
||||
static final File mDynamicModulesFlag = new File(XposedApp.BASE_DIR + "conf/dynamicmodules");
|
||||
static final File mDeoptBootFlag = new File(XposedApp.BASE_DIR + "conf/deoptbootimage");
|
||||
|
|
@ -63,10 +63,16 @@ public class SettingsActivity extends BaseActivity {
|
|||
static final File mDisableModulesLogsFlag = new File(XposedApp.BASE_DIR + "conf/disable_modules_log");
|
||||
static final File mVerboseLogProcessID = new File(XposedApp.BASE_DIR + "log/all.pid");
|
||||
static final File mModulesLogProcessID = new File(XposedApp.BASE_DIR + "log/error.pid");
|
||||
|
||||
View rootView;
|
||||
private Preference stopVerboseLog;
|
||||
private Preference stopLog;
|
||||
|
||||
static SettingsFragment newInstance(View rootView) {
|
||||
SettingsFragment fragment = new SettingsFragment();
|
||||
fragment.setRootView(rootView);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@SuppressWarnings("SameParameterValue")
|
||||
@SuppressLint({"WorldReadableFiles", "WorldWriteableFiles"})
|
||||
static void setFilePermissionsFromMode(String name, int mode) {
|
||||
|
|
@ -81,9 +87,13 @@ public class SettingsActivity extends BaseActivity {
|
|||
FileUtils.setPermissions(name, perms, -1, -1);
|
||||
}
|
||||
|
||||
void setRootView(View rootView) {
|
||||
this.rootView = rootView;
|
||||
}
|
||||
|
||||
@SuppressLint({"ObsoleteSdkInt", "WorldReadableFiles"})
|
||||
@Override
|
||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||
public void onCreatePreferencesFix(Bundle savedInstanceState, String rootKey) {
|
||||
addPreferencesFromResource(R.xml.prefs);
|
||||
|
||||
stopVerboseLog = findPreference("stop_verbose_log");
|
||||
|
|
@ -94,7 +104,7 @@ public class SettingsActivity extends BaseActivity {
|
|||
return true;
|
||||
});
|
||||
|
||||
SwitchPreference prefWhiteListMode = (SwitchPreference) findPreference("white_list_switch");
|
||||
SwitchPreference prefWhiteListMode = findPreference("white_list_switch");
|
||||
Objects.requireNonNull(prefWhiteListMode).setChecked(mWhiteListModeFlag.exists());
|
||||
prefWhiteListMode.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
|
|
@ -125,7 +135,7 @@ public class SettingsActivity extends BaseActivity {
|
|||
return (enabled == mWhiteListModeFlag.exists());
|
||||
});
|
||||
|
||||
SwitchPreference prefVerboseLogs = (SwitchPreference) findPreference("disable_verbose_log");
|
||||
SwitchPreference prefVerboseLogs = findPreference("disable_verbose_log");
|
||||
Objects.requireNonNull(prefVerboseLogs).setChecked(mDisableVerboseLogsFlag.exists());
|
||||
prefVerboseLogs.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
|
|
@ -156,7 +166,7 @@ public class SettingsActivity extends BaseActivity {
|
|||
return (enabled == mDisableVerboseLogsFlag.exists());
|
||||
});
|
||||
|
||||
SwitchPreference prefModulesLogs = (SwitchPreference) findPreference("disable_modules_log");
|
||||
SwitchPreference prefModulesLogs = findPreference("disable_modules_log");
|
||||
Objects.requireNonNull(prefModulesLogs).setChecked(mDisableModulesLogsFlag.exists());
|
||||
prefModulesLogs.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
|
|
@ -187,7 +197,7 @@ public class SettingsActivity extends BaseActivity {
|
|||
return (enabled == mDisableModulesLogsFlag.exists());
|
||||
});
|
||||
|
||||
SwitchPreference prefBlackWhiteListMode = (SwitchPreference) findPreference("black_white_list_switch");
|
||||
SwitchPreference prefBlackWhiteListMode = findPreference("black_white_list_switch");
|
||||
Objects.requireNonNull(prefBlackWhiteListMode).setChecked(mBlackWhiteListModeFlag.exists());
|
||||
prefBlackWhiteListMode.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
|
|
@ -218,7 +228,7 @@ public class SettingsActivity extends BaseActivity {
|
|||
return (enabled == mBlackWhiteListModeFlag.exists());
|
||||
});
|
||||
|
||||
SwitchPreference prefEnableDeopt = (SwitchPreference) findPreference("enable_boot_image_deopt");
|
||||
SwitchPreference prefEnableDeopt = findPreference("enable_boot_image_deopt");
|
||||
Objects.requireNonNull(prefEnableDeopt).setChecked(mDeoptBootFlag.exists());
|
||||
prefEnableDeopt.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
|
|
@ -249,7 +259,7 @@ public class SettingsActivity extends BaseActivity {
|
|||
return (enabled == mDeoptBootFlag.exists());
|
||||
});
|
||||
|
||||
SwitchPreference prefDynamicResources = (SwitchPreference) findPreference("is_dynamic_modules");
|
||||
SwitchPreference prefDynamicResources = findPreference("is_dynamic_modules");
|
||||
Objects.requireNonNull(prefDynamicResources).setChecked(mDynamicModulesFlag.exists());
|
||||
prefDynamicResources.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
|
|
@ -280,7 +290,7 @@ public class SettingsActivity extends BaseActivity {
|
|||
return (enabled == mDynamicModulesFlag.exists());
|
||||
});
|
||||
|
||||
SwitchPreference prefDisableResources = (SwitchPreference) findPreference("disable_resources");
|
||||
SwitchPreference prefDisableResources = findPreference("disable_resources");
|
||||
Objects.requireNonNull(prefDisableResources).setChecked(mDisableResourcesFlag.exists());
|
||||
prefDisableResources.setOnPreferenceChangeListener((preference, newValue) -> {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
|
|
@ -337,12 +347,6 @@ public class SettingsActivity extends BaseActivity {
|
|||
getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public DividerDecoration onCreateItemDecoration() {
|
||||
return new CategoryDivideDividerDecoration();
|
||||
//return new DefaultDividerDecoration();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||
if (key.contains("theme") || key.equals("ignore_chinese")) {
|
||||
|
|
@ -386,8 +390,14 @@ public class SettingsActivity extends BaseActivity {
|
|||
@Override
|
||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
((FrameLayout) view).setClipChildren(false);
|
||||
((FrameLayout) view).setClipToPadding(false);
|
||||
if (rootView == null) {
|
||||
return;
|
||||
}
|
||||
//ActionBarShadowController.attachToRecyclerView((AppCompatActivity) getActivity(), getListView());
|
||||
((LinearLayout) ((FrameLayout) rootView.findViewById(R.id.container)).getChildAt(0)).setClipToPadding(false);
|
||||
((LinearLayout) ((FrameLayout) rootView.findViewById(R.id.container)).getChildAt(0)).setClipChildren(false);
|
||||
((FrameLayout) ((LinearLayout) view).getChildAt(0)).setClipChildren(false);
|
||||
((FrameLayout) ((LinearLayout) view).getChildAt(0)).setClipToPadding(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,14 +3,14 @@ package org.meowcat.edxposed.manager.util;
|
|||
import android.annotation.SuppressLint;
|
||||
import android.content.SharedPreferences;
|
||||
|
||||
import androidx.preference.PreferenceManager;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import moe.shizuku.preference.PreferenceManager;
|
||||
|
||||
public class PrefixedSharedPreferences implements SharedPreferences {
|
||||
private final SharedPreferences mBase;
|
||||
private final String mPrefix;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import android.content.Context;
|
|||
import android.content.SharedPreferences;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import moe.shizuku.preference.SimpleMenuPreference;
|
||||
import com.takisoft.preferencex.SimpleMenuPreference;
|
||||
|
||||
public class IntegerListPreference extends SimpleMenuPreference {
|
||||
public IntegerListPreference(Context context) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue