From 31e4254681aabcbce314bb03c2c802f9085a067f Mon Sep 17 00:00:00 2001 From: LoveSy Date: Fri, 11 Jun 2021 23:37:14 +0800 Subject: [PATCH] [app] Fix crash when module not found (#744) --- .../org/lsposed/manager/ui/fragment/AppListFragment.java | 5 ++++- .../java/org/lsposed/manager/ui/fragment/BaseFragment.java | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/AppListFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/AppListFragment.java index 6d0810c7..4294b0b8 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/AppListFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/AppListFragment.java @@ -66,6 +66,9 @@ public class AppListFragment extends BaseFragment { @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { binding = FragmentAppListBinding.inflate(getLayoutInflater(), container, false); + if (module == null) { + return binding.getRoot(); + } binding.appBar.setRaised(true); String title; if (module.userId != 0) { @@ -99,7 +102,7 @@ public class AppListFragment extends BaseFragment { module = ModuleUtil.getInstance().getModule(modulePackageName, moduleUserId); if (module == null) { - getNavController().navigateUp(); + getNavController().navigate(R.id.action_modules_fragment); return; } diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/BaseFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/BaseFragment.java index bc0b31d3..46351a52 100644 --- a/app/src/main/java/org/lsposed/manager/ui/fragment/BaseFragment.java +++ b/app/src/main/java/org/lsposed/manager/ui/fragment/BaseFragment.java @@ -25,6 +25,7 @@ import androidx.appcompat.widget.Toolbar; import androidx.fragment.app.Fragment; import androidx.navigation.NavController; import androidx.navigation.Navigation; +import androidx.navigation.fragment.NavHostFragment; import org.lsposed.manager.R; @@ -36,7 +37,7 @@ public class BaseFragment extends Fragment { public NavController getNavController() { View view = getView(); if (view == null) { - return null; + return NavHostFragment.findNavController(this); } View tabletFragmentContainer = view.findViewById(R.id.tablet_nav_container); if (tabletFragmentContainer != null) {