Remove set permission bullshit

This commit is contained in:
NekoInverter 2020-12-11 00:11:42 +08:00
parent abc3598881
commit 672f06a6b2
No known key found for this signature in database
GPG Key ID: 280D6CCCF95715F9
17 changed files with 20 additions and 111 deletions

View File

@ -1,19 +0,0 @@
package android.os;
@SuppressWarnings("unused")
public class FileUtils {
public static final int S_IRWXU = 448;
public static final int S_IRUSR = 256;
public static final int S_IWUSR = 128;
public static final int S_IXUSR = 64;
public static final int S_IRWXG = 56;
public static final int S_IRGRP = 32;
public static final int S_IWGRP = 16;
public static final int S_IXGRP = 8;
public static final int S_IRWXO = 7;
public static final int S_IROTH = 4;
public static final int S_IWOTH = 2;
public static final int S_IXOTH = 1;
public static native int setPermissions(String paramString, int paramInt1, int paramInt2, int paramInt3);
}

View File

@ -7,7 +7,6 @@ import android.app.PendingIntent;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
@ -21,7 +20,6 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import org.meowcat.edxposed.manager.adapters.AppHelper; import org.meowcat.edxposed.manager.adapters.AppHelper;
import org.meowcat.edxposed.manager.receivers.PackageChangeReceiver; import org.meowcat.edxposed.manager.receivers.PackageChangeReceiver;
import org.meowcat.edxposed.manager.ui.activity.CrashReportActivity; import org.meowcat.edxposed.manager.ui.activity.CrashReportActivity;
import org.meowcat.edxposed.manager.util.FileUtils;
import org.meowcat.edxposed.manager.util.ModuleUtil; import org.meowcat.edxposed.manager.util.ModuleUtil;
import org.meowcat.edxposed.manager.util.NotificationUtil; import org.meowcat.edxposed.manager.util.NotificationUtil;
import org.meowcat.edxposed.manager.util.RepoLoader; import org.meowcat.edxposed.manager.util.RepoLoader;
@ -61,11 +59,10 @@ public class App extends Application implements Application.ActivityLifecycleCal
return instance.pref; return instance.pref;
} }
public static void mkdirAndChmod(String dir, int permissions) { public static void mkdir(String dir) {
dir = Constants.getBaseDir() + dir; dir = Constants.getBaseDir() + dir;
//noinspection ResultOfMethodCallIgnored //noinspection ResultOfMethodCallIgnored
new File(dir).mkdir(); new File(dir).mkdir();
FileUtils.setPermissions(dir, permissions);
} }
public static boolean supportScope() { public static boolean supportScope() {
@ -142,12 +139,10 @@ public class App extends Application implements Application.ActivityLifecycleCal
new Intent(this, PackageChangeReceiver.class), 0); new Intent(this, PackageChangeReceiver.class), 0);
} }
@SuppressWarnings({"OctalInteger"})
@SuppressLint({"PrivateApi", "NewApi"}) @SuppressLint({"PrivateApi", "NewApi"})
private void createDirectories() { private void createDirectories() {
FileUtils.setPermissions(Constants.getBaseDir(), 00777); mkdir("conf");
mkdirAndChmod("conf", 00777); mkdir("log");
mkdirAndChmod("log", 00777);
} }
public void updateProgressIndicator(final SwipeRefreshLayout refreshLayout) { public void updateProgressIndicator(final SwipeRefreshLayout refreshLayout) {

View File

@ -20,7 +20,6 @@ import org.meowcat.edxposed.manager.BuildConfig;
import org.meowcat.edxposed.manager.Constants; import org.meowcat.edxposed.manager.Constants;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.util.CompileUtil; import org.meowcat.edxposed.manager.util.CompileUtil;
import org.meowcat.edxposed.manager.util.FileUtils;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;
@ -38,7 +37,6 @@ import java.util.Objects;
import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS; import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS;
@SuppressWarnings("deprecation")
public class AppHelper { public class AppHelper {
private static final String BASE_PATH = Constants.getBaseDir(); private static final String BASE_PATH = Constants.getBaseDir();
@ -54,11 +52,10 @@ public class AppHelper {
private static final HashMap<String, List<String>> scopeList = new HashMap<>(); private static final HashMap<String, List<String>> scopeList = new HashMap<>();
@SuppressWarnings("OctalInteger")
static void makeSurePath() { static void makeSurePath() {
App.mkdirAndChmod(WHITE_LIST_PATH, 00777); App.mkdir(WHITE_LIST_PATH);
App.mkdirAndChmod(BLACK_LIST_PATH, 00777); App.mkdir(BLACK_LIST_PATH);
App.mkdirAndChmod(COMPAT_LIST_PATH, 00777); App.mkdir(COMPAT_LIST_PATH);
} }
public static boolean isWhiteListMode() { public static boolean isWhiteListMode() {
@ -141,7 +138,6 @@ public class AppHelper {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(file.getPath()); fos = new FileOutputStream(file.getPath());
setFilePermissionsFromMode(file.getPath(), Context.MODE_WORLD_READABLE);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
@ -167,20 +163,6 @@ public class AppHelper {
return returns; return returns;
} }
@SuppressWarnings("SameParameterValue")
@SuppressLint({"WorldReadableFiles", "WorldWriteableFiles"})
private static void setFilePermissionsFromMode(String name, int mode) {
int perms = FileUtils.S_IRUSR | FileUtils.S_IWUSR
| FileUtils.S_IRGRP | FileUtils.S_IWGRP;
if ((mode & Context.MODE_WORLD_READABLE) != 0) {
perms |= FileUtils.S_IROTH;
}
if ((mode & Context.MODE_WORLD_WRITEABLE) != 0) {
perms |= FileUtils.S_IWOTH;
}
FileUtils.setPermissions(name, perms);
}
@SuppressLint("WorldReadableFiles") @SuppressLint("WorldReadableFiles")
private static Boolean blackListFileName(String packageName, boolean isAdd) { private static Boolean blackListFileName(String packageName, boolean isAdd) {
boolean returns = true; boolean returns = true;
@ -190,7 +172,6 @@ public class AppHelper {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(file.getPath()); fos = new FileOutputStream(file.getPath());
setFilePermissionsFromMode(file.getPath(), Context.MODE_WORLD_READABLE);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
@ -225,7 +206,6 @@ public class AppHelper {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(file.getPath()); fos = new FileOutputStream(file.getPath());
setFilePermissionsFromMode(file.getPath(), Context.MODE_WORLD_READABLE);
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
e.printStackTrace(); e.printStackTrace();
} finally { } finally {
@ -366,7 +346,6 @@ public class AppHelper {
return false; return false;
} }
scopeList.put(modulePackageName, list); scopeList.put(modulePackageName, list);
setFilePermissionsFromMode(file.getPath(), Context.MODE_WORLD_READABLE);
return true; return true;
} }
} }

View File

@ -6,8 +6,8 @@ import android.content.pm.ApplicationInfo;
import android.widget.CompoundButton; import android.widget.CompoundButton;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.util.ToastUtil;
import org.meowcat.edxposed.manager.ui.widget.MasterSwitch; import org.meowcat.edxposed.manager.ui.widget.MasterSwitch;
import org.meowcat.edxposed.manager.util.ToastUtil;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@ -19,13 +19,13 @@ import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter; import androidx.fragment.app.FragmentPagerAdapter;
import org.meowcat.edxposed.manager.App; import org.meowcat.edxposed.manager.App;
import org.meowcat.edxposed.manager.ui.fragment.DownloadDetailsFragment;
import org.meowcat.edxposed.manager.ui.fragment.DownloadDetailsSettingsFragment;
import org.meowcat.edxposed.manager.ui.fragment.DownloadDetailsVersionsFragment;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.databinding.ActivityDownloadDetailsBinding; import org.meowcat.edxposed.manager.databinding.ActivityDownloadDetailsBinding;
import org.meowcat.edxposed.manager.databinding.ActivityDownloadDetailsNotFoundBinding; import org.meowcat.edxposed.manager.databinding.ActivityDownloadDetailsNotFoundBinding;
import org.meowcat.edxposed.manager.repo.Module; import org.meowcat.edxposed.manager.repo.Module;
import org.meowcat.edxposed.manager.ui.fragment.DownloadDetailsFragment;
import org.meowcat.edxposed.manager.ui.fragment.DownloadDetailsSettingsFragment;
import org.meowcat.edxposed.manager.ui.fragment.DownloadDetailsVersionsFragment;
import org.meowcat.edxposed.manager.util.ModuleUtil; import org.meowcat.edxposed.manager.util.ModuleUtil;
import org.meowcat.edxposed.manager.util.RepoLoader; import org.meowcat.edxposed.manager.util.RepoLoader;

View File

@ -19,12 +19,12 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.gson.Gson; import com.google.gson.Gson;
import org.meowcat.edxposed.manager.App; import org.meowcat.edxposed.manager.App;
import org.meowcat.edxposed.manager.ui.fragment.BaseAdvancedInstaller;
import org.meowcat.edxposed.manager.BuildConfig; import org.meowcat.edxposed.manager.BuildConfig;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.ui.fragment.StatusInstallerFragment;
import org.meowcat.edxposed.manager.databinding.ActivityEdDownloadBinding; import org.meowcat.edxposed.manager.databinding.ActivityEdDownloadBinding;
import org.meowcat.edxposed.manager.databinding.DialogInstallWarningBinding; import org.meowcat.edxposed.manager.databinding.DialogInstallWarningBinding;
import org.meowcat.edxposed.manager.ui.fragment.BaseAdvancedInstaller;
import org.meowcat.edxposed.manager.ui.fragment.StatusInstallerFragment;
import org.meowcat.edxposed.manager.util.json.JSONUtils; import org.meowcat.edxposed.manager.util.json.JSONUtils;
import org.meowcat.edxposed.manager.util.json.XposedTab; import org.meowcat.edxposed.manager.util.json.XposedTab;

View File

@ -10,7 +10,6 @@ import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import org.meowcat.edxposed.manager.App;
import org.meowcat.edxposed.manager.Constants; import org.meowcat.edxposed.manager.Constants;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.adapters.AppHelper; import org.meowcat.edxposed.manager.adapters.AppHelper;

View File

@ -18,7 +18,6 @@ import org.meowcat.edxposed.manager.adapters.AppAdapter;
import org.meowcat.edxposed.manager.adapters.AppHelper; import org.meowcat.edxposed.manager.adapters.AppHelper;
import org.meowcat.edxposed.manager.adapters.ScopeAdapter; import org.meowcat.edxposed.manager.adapters.ScopeAdapter;
import org.meowcat.edxposed.manager.databinding.ActivityScopeListBinding; import org.meowcat.edxposed.manager.databinding.ActivityScopeListBinding;
import org.meowcat.edxposed.manager.ui.activity.BaseActivity;
import org.meowcat.edxposed.manager.util.LinearLayoutManagerFix; import org.meowcat.edxposed.manager.util.LinearLayoutManagerFix;
import me.zhanghai.android.fastscroll.FastScrollerBuilder; import me.zhanghai.android.fastscroll.FastScrollerBuilder;

View File

@ -24,21 +24,16 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.takisoft.preferencex.PreferenceFragmentCompat; import com.takisoft.preferencex.PreferenceFragmentCompat;
import com.topjohnwu.superuser.Shell; import com.topjohnwu.superuser.Shell;
import org.meowcat.edxposed.manager.App;
import org.meowcat.edxposed.manager.Constants; import org.meowcat.edxposed.manager.Constants;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.adapters.AppHelper;
import org.meowcat.edxposed.manager.adapters.BlackListAdapter;
import org.meowcat.edxposed.manager.databinding.ActivitySettingsBinding; import org.meowcat.edxposed.manager.databinding.ActivitySettingsBinding;
import org.meowcat.edxposed.manager.util.FileUtils;
import org.meowcat.edxposed.manager.util.RepoLoader;
import org.meowcat.edxposed.manager.ui.widget.IntegerListPreference; import org.meowcat.edxposed.manager.ui.widget.IntegerListPreference;
import org.meowcat.edxposed.manager.util.RepoLoader;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.Objects;
public class SettingsActivity extends BaseActivity { public class SettingsActivity extends BaseActivity {
private static final String KEY_PREFIX = SettingsActivity.class.getName() + '.'; private static final String KEY_PREFIX = SettingsActivity.class.getName() + '.';
@ -113,7 +108,7 @@ public class SettingsActivity extends BaseActivity {
return restarting || super.dispatchGenericMotionEvent(event); return restarting || super.dispatchGenericMotionEvent(event);
} }
@SuppressWarnings({"ResultOfMethodCallIgnored", "deprecation"}) @SuppressWarnings({"ResultOfMethodCallIgnored"})
public static class SettingsFragment extends PreferenceFragmentCompat { public static class SettingsFragment extends PreferenceFragmentCompat {
private static final File disableResourcesFlag = new File(Constants.getBaseDir() + "conf/disable_resources"); private static final File disableResourcesFlag = new File(Constants.getBaseDir() + "conf/disable_resources");
private static final File dynamicModulesFlag = new File(Constants.getBaseDir() + "conf/dynamicmodules"); private static final File dynamicModulesFlag = new File(Constants.getBaseDir() + "conf/dynamicmodules");
@ -125,19 +120,6 @@ public class SettingsActivity extends BaseActivity {
private static final File verboseLogProcessID = new File(Constants.getBaseDir() + "log/all.pid"); private static final File verboseLogProcessID = new File(Constants.getBaseDir() + "log/all.pid");
private static final File modulesLogProcessID = new File(Constants.getBaseDir() + "log/error.pid"); private static final File modulesLogProcessID = new File(Constants.getBaseDir() + "log/error.pid");
@SuppressLint({"WorldReadableFiles", "WorldWriteableFiles"})
static void setFilePermissionsFromMode(String name) {
int perms = FileUtils.S_IRUSR | FileUtils.S_IWUSR
| FileUtils.S_IRGRP | FileUtils.S_IWGRP;
if ((MODE_WORLD_READABLE) != 0) {
perms |= FileUtils.S_IROTH;
}
if ((Context.MODE_WORLD_READABLE & MODE_WORLD_WRITEABLE) != 0) {
perms |= FileUtils.S_IWOTH;
}
FileUtils.setPermissions(name, perms);
}
@SuppressLint({"ObsoleteSdkInt", "WorldReadableFiles"}) @SuppressLint({"ObsoleteSdkInt", "WorldReadableFiles"})
@Override @Override
public void onCreatePreferencesFix(Bundle savedInstanceState, String rootKey) { public void onCreatePreferencesFix(Bundle savedInstanceState, String rootKey) {
@ -175,7 +157,6 @@ public class SettingsActivity extends BaseActivity {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(whiteListModeFlag.getPath()); fos = new FileOutputStream(whiteListModeFlag.getPath());
setFilePermissionsFromMode(whiteListModeFlag.getPath());
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
} finally { } finally {
@ -208,7 +189,6 @@ public class SettingsActivity extends BaseActivity {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(disableVerboseLogsFlag.getPath()); fos = new FileOutputStream(disableVerboseLogsFlag.getPath());
setFilePermissionsFromMode(disableVerboseLogsFlag.getPath());
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
} finally { } finally {
@ -241,7 +221,6 @@ public class SettingsActivity extends BaseActivity {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(disableModulesLogsFlag.getPath()); fos = new FileOutputStream(disableModulesLogsFlag.getPath());
setFilePermissionsFromMode(disableModulesLogsFlag.getPath());
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
} finally { } finally {
@ -274,7 +253,6 @@ public class SettingsActivity extends BaseActivity {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(blackWhiteListModeFlag.getPath()); fos = new FileOutputStream(blackWhiteListModeFlag.getPath());
setFilePermissionsFromMode(blackWhiteListModeFlag.getPath());
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
} finally { } finally {
@ -307,7 +285,6 @@ public class SettingsActivity extends BaseActivity {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(deoptBootFlag.getPath()); fos = new FileOutputStream(deoptBootFlag.getPath());
setFilePermissionsFromMode(deoptBootFlag.getPath());
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
} finally { } finally {
@ -340,7 +317,6 @@ public class SettingsActivity extends BaseActivity {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(dynamicModulesFlag.getPath()); fos = new FileOutputStream(dynamicModulesFlag.getPath());
setFilePermissionsFromMode(dynamicModulesFlag.getPath());
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
} finally { } finally {
@ -373,7 +349,6 @@ public class SettingsActivity extends BaseActivity {
FileOutputStream fos = null; FileOutputStream fos = null;
try { try {
fos = new FileOutputStream(disableResourcesFlag.getPath()); fos = new FileOutputStream(disableResourcesFlag.getPath());
setFilePermissionsFromMode(disableResourcesFlag.getPath());
} catch (FileNotFoundException e) { } catch (FileNotFoundException e) {
Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show(); Toast.makeText(getActivity(), e.getMessage(), Toast.LENGTH_SHORT).show();
} finally { } finally {

View File

@ -26,10 +26,10 @@ import org.meowcat.edxposed.manager.repo.ReleaseType;
import org.meowcat.edxposed.manager.repo.RepoParser; import org.meowcat.edxposed.manager.repo.RepoParser;
import org.meowcat.edxposed.manager.ui.activity.BaseActivity; import org.meowcat.edxposed.manager.ui.activity.BaseActivity;
import org.meowcat.edxposed.manager.ui.activity.DownloadDetailsActivity; import org.meowcat.edxposed.manager.ui.activity.DownloadDetailsActivity;
import org.meowcat.edxposed.manager.ui.widget.DownloadView;
import org.meowcat.edxposed.manager.util.ModuleUtil.InstalledModule; import org.meowcat.edxposed.manager.util.ModuleUtil.InstalledModule;
import org.meowcat.edxposed.manager.util.RepoLoader; import org.meowcat.edxposed.manager.util.RepoLoader;
import org.meowcat.edxposed.manager.util.chrome.LinkTransformationMethod; import org.meowcat.edxposed.manager.util.chrome.LinkTransformationMethod;
import org.meowcat.edxposed.manager.ui.widget.DownloadView;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.Date; import java.util.Date;

View File

@ -8,9 +8,9 @@ import android.widget.LinearLayout;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import org.meowcat.edxposed.manager.ui.activity.BaseActivity;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.databinding.DownloadViewBinding; import org.meowcat.edxposed.manager.databinding.DownloadViewBinding;
import org.meowcat.edxposed.manager.ui.activity.BaseActivity;
import org.meowcat.edxposed.manager.util.NavUtil; import org.meowcat.edxposed.manager.util.NavUtil;
public class DownloadView extends LinearLayout { public class DownloadView extends LinearLayout {

View File

@ -5,8 +5,8 @@ import android.content.pm.ApplicationInfo;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import org.meowcat.edxposed.manager.ui.fragment.CompileDialogFragment;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.ui.fragment.CompileDialogFragment;
public class CompileUtil { public class CompileUtil {

View File

@ -1,15 +0,0 @@
package org.meowcat.edxposed.manager.util;
public class FileUtils {
public static final int S_IRUSR = 256;
public static final int S_IWUSR = 128;
public static final int S_IRGRP = 32;
public static final int S_IWGRP = 16;
public static final int S_IROTH = 4;
public static final int S_IWOTH = 2;
public static void setPermissions(String dir, int permissions) {
android.os.FileUtils.setPermissions(dir, permissions, -1, -1);
}
}

View File

@ -29,7 +29,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CopyOnWriteArrayList;
@SuppressWarnings("OctalInteger")
public final class ModuleUtil { public final class ModuleUtil {
private static final String PLAY_STORE_PACKAGE = "com.android.vending"; private static final String PLAY_STORE_PACKAGE = "com.android.vending";
// xposedminversion below this // xposedminversion below this
@ -248,9 +247,6 @@ public final class ModuleUtil {
modulesList.close(); modulesList.close();
enabledModulesList.close(); enabledModulesList.close();
FileUtils.setPermissions(Constants.getEnabledModulesListFile(), 00664);
FileUtils.setPermissions(Constants.getEnabledModulesListFile(), 00664);
if (showToast) { if (showToast) {
if (binding != null) { if (binding != null) {
Snackbar.make(binding.snackbar, R.string.xposed_module_list_updated, Snackbar.LENGTH_SHORT).show(); Snackbar.make(binding.snackbar, R.string.xposed_module_list_updated, Snackbar.LENGTH_SHORT).show();

View File

@ -14,8 +14,8 @@ import androidx.browser.customtabs.CustomTabsIntent;
import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.meowcat.edxposed.manager.App; import org.meowcat.edxposed.manager.App;
import org.meowcat.edxposed.manager.ui.activity.BaseActivity;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.ui.activity.BaseActivity;
public final class NavUtil { public final class NavUtil {

View File

@ -18,8 +18,8 @@ import androidx.core.content.ContextCompat;
import com.topjohnwu.superuser.Shell; import com.topjohnwu.superuser.Shell;
import org.meowcat.edxposed.manager.App; import org.meowcat.edxposed.manager.App;
import org.meowcat.edxposed.manager.ui.activity.MainActivity;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.ui.activity.MainActivity;
public final class NotificationUtil { public final class NotificationUtil {

View File

@ -17,7 +17,6 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import org.meowcat.edxposed.manager.App; import org.meowcat.edxposed.manager.App;
import org.meowcat.edxposed.manager.ui.activity.DownloadActivity;
import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.R;
import org.meowcat.edxposed.manager.repo.Module; import org.meowcat.edxposed.manager.repo.Module;
import org.meowcat.edxposed.manager.repo.ModuleVersion; import org.meowcat.edxposed.manager.repo.ModuleVersion;
@ -26,6 +25,7 @@ import org.meowcat.edxposed.manager.repo.RepoDb;
import org.meowcat.edxposed.manager.repo.RepoParser; import org.meowcat.edxposed.manager.repo.RepoParser;
import org.meowcat.edxposed.manager.repo.RepoParser.RepoParserCallback; import org.meowcat.edxposed.manager.repo.RepoParser.RepoParserCallback;
import org.meowcat.edxposed.manager.repo.Repository; import org.meowcat.edxposed.manager.repo.Repository;
import org.meowcat.edxposed.manager.ui.activity.DownloadActivity;
import org.meowcat.edxposed.manager.util.DownloadsUtil.SyncDownloadInfo; import org.meowcat.edxposed.manager.util.DownloadsUtil.SyncDownloadInfo;
import java.io.File; import java.io.File;