diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8c0d94fb..68400ccb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -26,10 +26,7 @@ - - + + impl }); } - @SuppressWarnings("BooleanMethodIsAlwaysInverted") @SuppressLint("NonConstantResourceId") public boolean onOptionsItemSelected(MenuItem item) { int itemId = item.getItemId(); diff --git a/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/ModuleScopeActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/AppListActivity.java similarity index 85% rename from app/src/main/java/org/meowcat/edxposed/manager/ui/activity/ModuleScopeActivity.java rename to app/src/main/java/org/meowcat/edxposed/manager/ui/activity/AppListActivity.java index f09348db..2fb723e8 100644 --- a/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/ModuleScopeActivity.java +++ b/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/AppListActivity.java @@ -4,6 +4,7 @@ import android.content.pm.ApplicationInfo; import android.os.Bundle; import android.os.Handler; import android.os.Looper; +import android.text.TextUtils; import android.view.Menu; import android.view.MenuItem; import android.view.View; @@ -17,15 +18,16 @@ import androidx.recyclerview.widget.DividerItemDecoration; import org.meowcat.edxposed.manager.R; import org.meowcat.edxposed.manager.adapters.AppAdapter; import org.meowcat.edxposed.manager.adapters.AppHelper; +import org.meowcat.edxposed.manager.adapters.BlackListAdapter; import org.meowcat.edxposed.manager.adapters.ScopeAdapter; import org.meowcat.edxposed.manager.databinding.ActivityScopeListBinding; import org.meowcat.edxposed.manager.util.LinearLayoutManagerFix; import me.zhanghai.android.fastscroll.FastScrollerBuilder; -public class ModuleScopeActivity extends BaseActivity implements AppAdapter.Callback { +public class AppListActivity extends BaseActivity implements AppAdapter.Callback { private SearchView searchView; - private ScopeAdapter appAdapter; + private AppAdapter appAdapter; private SearchView.OnQueryTextListener searchListener; private ActivityScopeListBinding binding; @@ -47,11 +49,17 @@ public class ModuleScopeActivity extends BaseActivity implements AppAdapter.Call setSupportActionBar(binding.toolbar); binding.toolbar.setNavigationOnClickListener(view -> finish()); ActionBar bar = getSupportActionBar(); - if (bar != null) { - bar.setDisplayHomeAsUpEnabled(true); + bar.setDisplayHomeAsUpEnabled(true); + if (!TextUtils.isEmpty(modulePackageName)) { + bar.setTitle(R.string.menu_scope); bar.setSubtitle(moduleName); + appAdapter = new ScopeAdapter(this, modulePackageName, binding.masterSwitch); + } else { + final boolean isWhiteListMode = AppHelper.isWhiteListMode(); + bar.setTitle(isWhiteListMode ? R.string.title_white_list : R.string.title_black_list); + binding.masterSwitch.setVisibility(View.GONE); + appAdapter = new BlackListAdapter(this, isWhiteListMode); } - appAdapter = new ScopeAdapter(this, modulePackageName, binding.masterSwitch); appAdapter.setHasStableIds(true); binding.recyclerView.setAdapter(appAdapter); binding.recyclerView.setLayoutManager(new LinearLayoutManagerFix(this)); @@ -99,22 +107,6 @@ public class ModuleScopeActivity extends BaseActivity implements AppAdapter.Call return super.onCreateOptionsMenu(menu); } - @Override - public void onResume() { - super.onResume(); - changeTitle(isWhiteListMode()); - } - - - private void changeTitle(boolean isWhiteListMode) { - setTitle(isWhiteListMode ? R.string.title_white_list : R.string.title_black_list); - - } - - private boolean isWhiteListMode() { - return AppHelper.isWhiteListMode(); - } - @Override public void onDataReady() { handler.removeCallbacks(runnable); diff --git a/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/BlackListActivity.java b/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/BlackListActivity.java deleted file mode 100644 index 44d2124f..00000000 --- a/app/src/main/java/org/meowcat/edxposed/manager/ui/activity/BlackListActivity.java +++ /dev/null @@ -1,137 +0,0 @@ -package org.meowcat.edxposed.manager.ui.activity; - -import android.content.pm.ApplicationInfo; -import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.appcompat.app.ActionBar; -import androidx.appcompat.widget.SearchView; -import androidx.recyclerview.widget.DividerItemDecoration; - -import org.meowcat.edxposed.manager.R; -import org.meowcat.edxposed.manager.adapters.AppAdapter; -import org.meowcat.edxposed.manager.adapters.AppHelper; -import org.meowcat.edxposed.manager.adapters.BlackListAdapter; -import org.meowcat.edxposed.manager.databinding.ActivityBlackListBinding; -import org.meowcat.edxposed.manager.util.LinearLayoutManagerFix; - -import me.zhanghai.android.fastscroll.FastScrollerBuilder; - -public class BlackListActivity extends BaseActivity implements AppAdapter.Callback { - private SearchView searchView; - private AppAdapter appAdapter; - - private SearchView.OnQueryTextListener searchListener; - private ActivityBlackListBinding binding; - private final Runnable runnable = new Runnable() { - @Override - public void run() { - binding.swipeRefreshLayout.setRefreshing(true); - } - }; - private final Handler handler = new Handler(Looper.getMainLooper()); - - @Override - public void onCreate(@Nullable Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - binding = ActivityBlackListBinding.inflate(getLayoutInflater()); - setContentView(binding.getRoot()); - setSupportActionBar(binding.toolbar); - binding.toolbar.setNavigationOnClickListener(view -> finish()); - ActionBar bar = getSupportActionBar(); - if (bar != null) { - bar.setDisplayHomeAsUpEnabled(true); - } - final boolean isWhiteListMode = isWhiteListMode(); - appAdapter = new BlackListAdapter(this, isWhiteListMode); - appAdapter.setHasStableIds(true); - binding.recyclerView.setAdapter(appAdapter); - binding.recyclerView.setLayoutManager(new LinearLayoutManagerFix(this)); - FastScrollerBuilder fastScrollerBuilder = new FastScrollerBuilder(binding.recyclerView); - if (!preferences.getBoolean("md2", false)) { - DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, - DividerItemDecoration.VERTICAL); - binding.recyclerView.addItemDecoration(dividerItemDecoration); - } else { - fastScrollerBuilder.useMd2Style(); - } - fastScrollerBuilder.build(); - appAdapter.setCallback(this); - handler.postDelayed(runnable, 300); - binding.swipeRefreshLayout.setOnRefreshListener(appAdapter::refresh); - - searchListener = new SearchView.OnQueryTextListener() { - @Override - public boolean onQueryTextSubmit(String query) { - appAdapter.filter(query); - return false; - } - - @Override - public boolean onQueryTextChange(String newText) { - appAdapter.filter(newText); - return false; - } - }; - } - - @Override - public boolean onOptionsItemSelected(@NonNull MenuItem item) { - if (!appAdapter.onOptionsItemSelected(item)) { - return super.onOptionsItemSelected(item); - } - return true; - } - - @Override - public boolean onCreateOptionsMenu(@NonNull Menu menu) { - appAdapter.onCreateOptionsMenu(menu, getMenuInflater()); - searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView(); - searchView.setOnQueryTextListener(searchListener); - return super.onCreateOptionsMenu(menu); - } - - @Override - public void onResume() { - super.onResume(); - changeTitle(isWhiteListMode()); - } - - - private void changeTitle(boolean isWhiteListMode) { - setTitle(isWhiteListMode ? R.string.title_white_list : R.string.title_black_list); - - } - - private boolean isWhiteListMode() { - return AppHelper.isWhiteListMode(); - } - - @Override - public void onDataReady() { - handler.removeCallbacks(runnable); - binding.swipeRefreshLayout.setRefreshing(false); - String queryStr = searchView != null ? searchView.getQuery().toString() : ""; - runOnUiThread(() -> appAdapter.getFilter().filter(queryStr)); - } - - @Override - public void onItemClick(View v, ApplicationInfo info) { - AppHelper.showMenu(this, getSupportFragmentManager(), v, info); - } - - @Override - public void onBackPressed() { - if (searchView.isIconified()) { - super.onBackPressed(); - } else { - searchView.setIconified(true); - } - } -} 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 da6874b2..6e627407 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 @@ -44,7 +44,7 @@ public class MainActivity extends BaseActivity implements ModuleUtil.ModuleListe }); binding.apps.setOnClickListener(v -> { Intent intent = new Intent(); - intent.setClass(getApplicationContext(), BlackListActivity.class); + intent.setClass(getApplicationContext(), AppListActivity.class); startActivity(intent); }); binding.status.setOnClickListener(v -> { 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 cdf79324..459702d5 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 @@ -421,7 +421,7 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi return true; } else if (itemId == R.id.menu_scope) { if (App.supportScope()) { - Intent intent = new Intent(this, ModuleScopeActivity.class); + Intent intent = new Intent(this, AppListActivity.class); intent.putExtra("modulePackageName", module.packageName); intent.putExtra("moduleName", module.getAppName()); startActivity(intent);