diff --git a/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java b/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java index 28252007..e0acfe7e 100644 --- a/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java +++ b/app/src/main/java/org/lsposed/manager/adapters/ScopeAdapter.java @@ -422,6 +422,7 @@ public class ScopeAdapter extends RecyclerView.Adapter if (enabled) holder.checkbox.toggle(); }); holder.itemView.setOnLongClickListener(v -> { + fragment.searchView.clearFocus(); selectedInfo = appInfo.applicationInfo; return false; }); @@ -623,6 +624,7 @@ public class ScopeAdapter extends RecyclerView.Adapter } public void onBackPressed() { + fragment.searchView.clearFocus(); if (!refreshing && fragment.binding.masterSwitch.isChecked() && checkedList.isEmpty()) { AlertDialog.Builder builder = new AlertDialog.Builder(activity); builder.setMessage(!recommendedList.isEmpty() ? R.string.no_scope_selected_has_recommended : R.string.no_scope_selected); diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java index 40917c7d..0d6e180d 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/ModulesFragment.java @@ -551,8 +551,13 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi if (!isPick) { holder.root.setAlpha(moduleUtil.isModuleEnabled(item.packageName) ? 1.0f : .5f); - holder.itemView.setOnClickListener(v -> getNavController().navigate(ModulesFragmentDirections.actionModulesFragmentToAppListFragment(item.packageName, item.userId))); + holder.itemView.setOnClickListener(v -> { + searchView.clearFocus(); + searchView.onActionViewCollapsed(); + getNavController().navigate(ModulesFragmentDirections.actionModulesFragmentToAppListFragment(item.packageName, item.userId)); + }); holder.itemView.setOnLongClickListener(v -> { + searchView.clearFocus(); selectedModule = item; return false; }); diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoFragment.java index 923a5b8a..80d100ee 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoFragment.java @@ -185,7 +185,11 @@ public class RepoFragment extends BaseFragment implements RepoLoader.Listener { sb.append(summary); } holder.appDescription.setText(sb); - holder.itemView.setOnClickListener(v -> getNavController().navigate(RepoFragmentDirections.actionRepoFragmentToRepoItemFragment(module.getName(), module.getDescription()))); + holder.itemView.setOnClickListener(v -> { + searchView.clearFocus(); + searchView.onActionViewCollapsed(); + getNavController().navigate(RepoFragmentDirections.actionRepoFragmentToRepoItemFragment(module.getName(), module.getDescription())); + }); } @Override