From c77d122254b385d46259941446db8162a54577cc Mon Sep 17 00:00:00 2001 From: Howard Wu <40033067+Howard20181@users.noreply.github.com> Date: Thu, 19 Aug 2021 22:27:33 +0800 Subject: [PATCH] Hide input method (#950) --- .../java/org/lsposed/manager/adapters/ScopeAdapter.java | 2 ++ .../org/lsposed/manager/ui/fragment/ModulesFragment.java | 7 ++++++- .../java/org/lsposed/manager/ui/fragment/RepoFragment.java | 6 +++++- 3 files changed, 13 insertions(+), 2 deletions(-) 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