diff --git a/app/src/main/java/org/meowcat/edxposed/manager/adapters/AppHelper.java b/app/src/main/java/org/meowcat/edxposed/manager/adapters/AppHelper.java index 7df0480f..44a1adaa 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/adapters/AppHelper.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/adapters/AppHelper.java @@ -58,9 +58,8 @@ public class AppHelper { String packageName = path.getFileName().toString(); if (forceWhiteList.contains(packageName)) { createAppListFile(packageName, white, white); - } else { - s.add(packageName); } + if (white) s.add(packageName); } }); return s; diff --git a/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/MainActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/MainActivity.java index 9f6d8e3e..f9a8651d 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/MainActivity.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/MainActivity.java @@ -12,6 +12,7 @@ import com.bumptech.glide.Glide; import org.meowcat.edxposed.manager.Constants; import org.meowcat.edxposed.manager.R; +import org.meowcat.edxposed.manager.adapters.AppHelper; import org.meowcat.edxposed.manager.databinding.ActivityMainBinding; import org.meowcat.edxposed.manager.ui.fragment.StatusDialogBuilder; import org.meowcat.edxposed.manager.util.GlideHelper; @@ -21,7 +22,7 @@ import org.meowcat.edxposed.manager.util.light.Light; import java.util.Locale; -public class MainActivity extends BaseActivity implements ModuleUtil.ModuleListener { +public class MainActivity extends BaseActivity { ActivityMainBinding binding; @SuppressLint("PrivateResource") @@ -34,9 +35,9 @@ public class MainActivity extends BaseActivity implements ModuleUtil.ModuleListe if (Light.setLightSourceAlpha(getWindow().getDecorView(), 0.01f, 0.029f)) { binding.status.setElevation(24); binding.modules.setElevation(12); + binding.apps.setElevation(12); } }); - ModuleUtil.getInstance().addListener(this); binding.modules.setOnClickListener(v -> { Intent intent = new Intent(); intent.setClass(getApplicationContext(), ModulesActivity.class); @@ -94,28 +95,14 @@ public class MainActivity extends BaseActivity implements ModuleUtil.ModuleListe binding.status.setCardBackgroundColor(ContextCompat.getColor(this, R.color.colorPrimary)); binding.statusIcon.setImageResource(R.drawable.ic_error); } + } + + @Override + protected void onResume() { + super.onResume(); binding.modulesSummary.setText(String.format(getString(R.string.ModulesDetail), ModuleUtil.getInstance().getEnabledModules().size())); + binding.appsTitle.setText(AppHelper.isWhiteListMode() ? R.string.title_white_list : R.string.title_black_list); + int count = AppHelper.getAppList(AppHelper.isWhiteListMode()).size(); + binding.appsSummary.setText(getString(AppHelper.isWhiteListMode() ? R.string.whitelist_summary : R.string.blacklist_summary, count)); } - - @Override - public void onInstalledModulesReloaded(ModuleUtil moduleUtil) { - - } - - @Override - public void onModuleEnableChange(ModuleUtil moduleUtil) { - binding.modulesSummary.setText(String.format(getString(R.string.ModulesDetail), moduleUtil.getEnabledModules().size())); - } - - @Override - public void onSingleInstalledModuleReloaded(ModuleUtil moduleUtil, String packageName, ModuleUtil.InstalledModule module) { - - } - - @Override - protected void onDestroy() { - super.onDestroy(); - ModuleUtil.getInstance().removeListener(this); - } - } diff --git a/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/ModulesActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/ModulesActivity.java index 0c6f4cf0..60634e3c 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/ModulesActivity.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/ModulesActivity.java @@ -371,11 +371,6 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi runOnUiThread(reloadModules); } - @Override - public void onModuleEnableChange(ModuleUtil moduleUtil) { - - } - @Override public boolean onContextItemSelected(@NonNull MenuItem item) { ModuleUtil.InstalledModule module = ModuleUtil.getInstance().getModule(selectedPackageName); diff --git a/app/src/main/java/org/meowcat/edxposed/manager/util/ModuleUtil.java b/app/src/main/java/org/meowcat/edxposed/manager/util/ModuleUtil.java index 98d40d75..7813b50c 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/util/ModuleUtil.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/util/ModuleUtil.java @@ -148,9 +148,6 @@ public final class ModuleUtil { } else { enabledModules.remove(packageName); } - for (ModuleListener listener : listeners) { - listener.onModuleEnableChange(instance); - } } public boolean isModuleEnabled(String packageName) { @@ -246,8 +243,6 @@ public final class ModuleUtil { * Called whenever all installed modules have been reloaded */ void onInstalledModulesReloaded(ModuleUtil moduleUtil); - - void onModuleEnableChange(ModuleUtil moduleUtil); } public class InstalledModule { diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index c5b46f13..214b4874 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -166,32 +166,56 @@ - + android:foreground="?attr/selectableItemBackground" + app:cardCornerRadius="8dp" + app:cardElevation="4dp" + app:cardPreventCornerOverlap="false"> - - - - + android:paddingStart="18dp" + android:paddingTop="16dp" + android:paddingEnd="18dp" + android:paddingBottom="16dp"> + + + + + + + + 模块 重启… 排序… + %d 个应用位于黑名单中 + %d 个应用位于白名单中 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 34b68e12..c4093c2a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -348,4 +348,6 @@ Modules Reboot… Sorting… + %d apps blacklisted + %d apps whitelisted