From 4135c357d55ae5c211fc71ac7b32f59c316be3ef Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Sat, 30 Jan 2021 11:54:13 +0800 Subject: [PATCH] Remove white list --- .../lsposed/manager/adapters/AppAdapter.java | 19 +++---- .../lsposed/manager/adapters/AppHelper.java | 51 ------------------- .../manager/adapters/ScopeAdapter.java | 1 - .../manager/adapters/WhiteListAdapter.java | 41 --------------- .../manager/ui/activity/AppListActivity.java | 5 -- .../manager/ui/activity/MainActivity.java | 9 ---- app/src/main/res/layout/activity_main.xml | 51 ------------------- app/src/main/res/values-zh-rCN/strings.xml | 2 - app/src/main/res/values-zh-rHK/strings.xml | 1 - app/src/main/res/values-zh-rTW/strings.xml | 1 - app/src/main/res/values/strings.xml | 2 - 11 files changed, 8 insertions(+), 175 deletions(-) delete mode 100644 app/src/main/java/io/github/lsposed/manager/adapters/WhiteListAdapter.java diff --git a/app/src/main/java/io/github/lsposed/manager/adapters/AppAdapter.java b/app/src/main/java/io/github/lsposed/manager/adapters/AppAdapter.java index ec39ffac..6a0210df 100644 --- a/app/src/main/java/io/github/lsposed/manager/adapters/AppAdapter.java +++ b/app/src/main/java/io/github/lsposed/manager/adapters/AppAdapter.java @@ -70,9 +70,17 @@ public class AppAdapter extends RecyclerView.Adapter impl } private void loadApps() { + checkedList = generateCheckedList(); fullList = pm.getInstalledPackages(PackageManager.GET_META_DATA); List rmList = new ArrayList<>(); for (PackageInfo info : fullList) { + if (info.packageName.equals(((ScopeAdapter) this).modulePackageName)) { + rmList.add(info); + continue; + } + if (checkedList.contains(info.packageName)) { + continue; + } if (info.applicationInfo.category == ApplicationInfo.CATEGORY_GAME) { rmList.add(info); continue; @@ -93,23 +101,12 @@ public class AppAdapter extends RecyclerView.Adapter impl if (this instanceof ScopeAdapter) { if (info.packageName.equals(((ScopeAdapter) this).modulePackageName)) { rmList.add(info); - continue; - } - List list = AppHelper.getAppList(); - if (!list.contains(info.packageName)) { - rmList.add(info); - } - } else { - if (AppHelper.forceWhiteList.contains(info.packageName)) { - rmList.add(info); } } } if (rmList.size() > 0) { fullList.removeAll(rmList); } - AppHelper.makeSurePath(); - checkedList = generateCheckedList(); sortApps(); showList = fullList; if (activity != null) { diff --git a/app/src/main/java/io/github/lsposed/manager/adapters/AppHelper.java b/app/src/main/java/io/github/lsposed/manager/adapters/AppHelper.java index ff20e990..18a0246b 100644 --- a/app/src/main/java/io/github/lsposed/manager/adapters/AppHelper.java +++ b/app/src/main/java/io/github/lsposed/manager/adapters/AppHelper.java @@ -36,63 +36,12 @@ import static android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS; public class AppHelper { private static final String BASE_PATH = Constants.getBaseDir(); - private static final String WHITE_LIST_PATH = "conf/whitelist/"; private static final String SCOPE_LIST_PATH = "conf/%s.conf"; public static List forceWhiteList = new ArrayList<>(); private static final HashMap> scopeList = new HashMap<>(); - public static void makeSurePath() { - App.mkdir(WHITE_LIST_PATH); - } - - public static List getAppList() { - Path dir = Paths.get(BASE_PATH + (WHITE_LIST_PATH)); - List list = new ArrayList<>(); - try { - Files.list(dir).forEach(path -> { - if (!Files.isDirectory(path)) { - list.add(path.getFileName().toString()); - } - }); - forceWhiteList.forEach(s -> { - if (!list.contains(s)) { - createAppListFile(s, true); - list.add(s); - } - }); - return list; - } catch (IOException e) { - e.printStackTrace(); - return list; - } - } - - private static boolean createAppListFile(String packageName, boolean add) { - Path path = Paths.get(BASE_PATH + (WHITE_LIST_PATH) + packageName); - try { - if (Files.exists(path)) { - if (!add) { - Files.delete(path); - } - } else if (add) { - Files.createFile(path); - } - return true; - } catch (IOException e) { - e.printStackTrace(); - return false; - } - } - - static boolean setPackageAppList(String packageName, boolean add) { - if (!add && forceWhiteList.contains(packageName)) { - return false; - } - return createAppListFile(packageName, add); - } - public static void showMenu(@NonNull Context context, @NonNull FragmentManager fragmentManager, @NonNull View anchor, diff --git a/app/src/main/java/io/github/lsposed/manager/adapters/ScopeAdapter.java b/app/src/main/java/io/github/lsposed/manager/adapters/ScopeAdapter.java index db9a55ff..53a626e2 100644 --- a/app/src/main/java/io/github/lsposed/manager/adapters/ScopeAdapter.java +++ b/app/src/main/java/io/github/lsposed/manager/adapters/ScopeAdapter.java @@ -34,7 +34,6 @@ public class ScopeAdapter extends AppAdapter { @Override public List generateCheckedList() { - AppHelper.makeSurePath(); checkedList = AppHelper.getScopeList(modulePackageName); enabled = ModuleUtil.getInstance().isModuleEnabled(modulePackageName); activity.runOnUiThread(() -> masterSwitch.setChecked(enabled)); diff --git a/app/src/main/java/io/github/lsposed/manager/adapters/WhiteListAdapter.java b/app/src/main/java/io/github/lsposed/manager/adapters/WhiteListAdapter.java deleted file mode 100644 index 62ca617d..00000000 --- a/app/src/main/java/io/github/lsposed/manager/adapters/WhiteListAdapter.java +++ /dev/null @@ -1,41 +0,0 @@ -package io.github.lsposed.manager.adapters; - -import android.widget.CompoundButton; - -import com.google.android.material.snackbar.Snackbar; - -import java.util.List; - -import io.github.lsposed.manager.R; -import io.github.lsposed.manager.ui.activity.AppListActivity; - - -public class WhiteListAdapter extends AppAdapter { - - private List checkedList; - - public WhiteListAdapter(AppListActivity activity) { - super(activity); - } - - @Override - public List generateCheckedList() { - AppHelper.makeSurePath(); - return checkedList = AppHelper.getAppList(); - } - - @Override - protected void onCheckedChange(CompoundButton view, boolean isChecked, String packageName) { - boolean success = AppHelper.setPackageAppList(packageName, isChecked); - if (success) { - if (isChecked) { - checkedList.add(packageName); - } else { - checkedList.remove(packageName); - } - } else { - activity.makeSnackBar(R.string.add_package_failed, Snackbar.LENGTH_SHORT); - view.setChecked(!isChecked); - } - } -} diff --git a/app/src/main/java/io/github/lsposed/manager/ui/activity/AppListActivity.java b/app/src/main/java/io/github/lsposed/manager/ui/activity/AppListActivity.java index 612e217f..b1bf279d 100644 --- a/app/src/main/java/io/github/lsposed/manager/ui/activity/AppListActivity.java +++ b/app/src/main/java/io/github/lsposed/manager/ui/activity/AppListActivity.java @@ -23,7 +23,6 @@ import io.github.lsposed.manager.R; import io.github.lsposed.manager.adapters.AppAdapter; import io.github.lsposed.manager.adapters.AppHelper; import io.github.lsposed.manager.adapters.ScopeAdapter; -import io.github.lsposed.manager.adapters.WhiteListAdapter; import io.github.lsposed.manager.databinding.ActivityAppListBinding; import io.github.lsposed.manager.util.LinearLayoutManagerFix; import io.github.lsposed.manager.util.ModuleUtil; @@ -60,10 +59,6 @@ public class AppListActivity extends BaseActivity { bar.setTitle(R.string.menu_scope); bar.setSubtitle(moduleName); appAdapter = new ScopeAdapter(this, modulePackageName, binding.masterSwitch); - } else { - bar.setTitle(R.string.title_white_list); - binding.masterSwitch.setVisibility(View.GONE); - appAdapter = new WhiteListAdapter(this); } appAdapter.setHasStableIds(true); binding.recyclerView.setAdapter(appAdapter); diff --git a/app/src/main/java/io/github/lsposed/manager/ui/activity/MainActivity.java b/app/src/main/java/io/github/lsposed/manager/ui/activity/MainActivity.java index 023ce7de..75cbc851 100644 --- a/app/src/main/java/io/github/lsposed/manager/ui/activity/MainActivity.java +++ b/app/src/main/java/io/github/lsposed/manager/ui/activity/MainActivity.java @@ -35,7 +35,6 @@ public class MainActivity extends BaseActivity { if (Light.setLightSourceAlpha(getWindow().getDecorView(), 0.01f, 0.029f)) { binding.status.setElevation(24); binding.modules.setElevation(12); - binding.apps.setElevation(12); } }); binding.modules.setOnClickListener(v -> { @@ -43,11 +42,6 @@ public class MainActivity extends BaseActivity { intent.setClass(getApplicationContext(), ModulesActivity.class); startActivity(intent); }); - binding.apps.setOnClickListener(v -> { - Intent intent = new Intent(); - intent.setClass(getApplicationContext(), AppListActivity.class); - startActivity(intent); - }); binding.status.setOnClickListener(v -> { if (Constants.getXposedVersionCode() != -1) { new StatusDialogBuilder(this) @@ -100,8 +94,5 @@ public class MainActivity extends BaseActivity { protected void onResume() { super.onResume(); binding.modulesSummary.setText(String.format(getString(R.string.ModulesDetail), ModuleUtil.getInstance().getEnabledModules().size())); - binding.appsTitle.setText(R.string.Apps); - int count = AppHelper.getAppList().size(); - binding.appsSummary.setText(getString(R.string.whitelist_summary, count)); } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index d720a9fa..713d32de 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -166,57 +166,6 @@ - - - - - - - - - - - - 此处仅显示 LSPosed 及模块相关日志信息\n如果您想抓取系统日志, 可以尝试我们的 Log Catcher Magisk 模块 - 白名单 修改失败, 一个或多个设置阻止你继续修改 取消优化 以 Speed 模式优化应用 @@ -153,7 +152,6 @@ 系统应用 重启… 排序… - %d 个应用位于白名单中 启用模块 未选择任何应用。继续? diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 2a344787..e2927521 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -97,7 +97,6 @@ 此處僅顯示 LSPosed 及模塊相關日誌信息\n如果您想抓取系統日誌, 可以嘗試我們的 Log Catcher Magisk 模塊 - 白名單 修改失敗, 一個或多個設置阻止你繼續修改 取消優化 以 Speed 模式優化應用 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index a13134c3..906e5e3a 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -97,7 +97,6 @@ 此處僅顯示 LSPosed 及模組相關日誌資訊\n如果您想抓取系統日誌, 可以嘗試我們的 Log Catcher Magisk 模組 - 允許名單 修改失敗, 一個或多個設定阻止你繼續修改 取消優化 以 Speed 模式優化 App diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 03ddbf1e..5330289c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -112,7 +112,6 @@ Verified Boot is active - White List Failed to edit, one or more settings prevent you from editing. De-optimize Optimize with Speed mode @@ -161,7 +160,6 @@ System apps Reboot… Sorting… - %d apps whitelisted Enable module You did not select any app. Continue?