From 438d8a2b6e32d68abbd1e66abab9e6cfc8639199 Mon Sep 17 00:00:00 2001 From: tehcneko <7764726+tehcneko@users.noreply.github.com> Date: Fri, 14 May 2021 23:42:29 +0800 Subject: [PATCH] [app] Fix module list refreshing (#577) --- .../manager/ui/activity/ModulesActivity.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/org/lsposed/manager/ui/activity/ModulesActivity.java b/app/src/main/java/org/lsposed/manager/ui/activity/ModulesActivity.java index d1c9aadf..7c8e8dfc 100644 --- a/app/src/main/java/org/lsposed/manager/ui/activity/ModulesActivity.java +++ b/app/src/main/java/org/lsposed/manager/ui/activity/ModulesActivity.java @@ -117,6 +117,28 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi if (bar != null) { bar.setDisplayHomeAsUpEnabled(true); } + int[] users = ConfigManager.getUsers(); + if (users != null) { + adapters.clear(); + if (users.length != 1) { + binding.viewPager.setUserInputEnabled(true); + ArrayList titles = new ArrayList<>(); + for (int userId : users) { + var adapter = new ModuleAdapter(userId); + adapter.setHasStableIds(true); + adapters.add(adapter); + titles.add(getString(R.string.user_title, userId)); + } + new TabLayoutMediator(binding.tabLayout, binding.viewPager, (tab, position) -> tab.setText(titles.get(position))).attach(); + binding.tabLayout.setVisibility(View.VISIBLE); + } else { + binding.viewPager.setUserInputEnabled(false); + var adapter = new ModuleAdapter(0); + adapter.setHasStableIds(true); + adapters.add(adapter); + binding.tabLayout.setVisibility(View.GONE); + } + } binding.viewPager.setAdapter(new PagerAdapter()); binding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() { @Override @@ -173,28 +195,6 @@ public class ModulesActivity extends BaseActivity implements ModuleUtil.ModuleLi @Override protected void onResume() { super.onResume(); - int[] users = ConfigManager.getUsers(); - if (users != null) { - adapters.clear(); - if (users.length != 1) { - binding.viewPager.setUserInputEnabled(true); - ArrayList titles = new ArrayList<>(); - for (int userId : users) { - var adapter = new ModuleAdapter(userId); - adapter.setHasStableIds(true); - adapters.add(adapter); - titles.add(getString(R.string.user_title, userId)); - } - new TabLayoutMediator(binding.tabLayout, binding.viewPager, (tab, position) -> tab.setText(titles.get(position))).attach(); - binding.tabLayout.setVisibility(View.VISIBLE); - } else { - binding.viewPager.setUserInputEnabled(false); - var adapter = new ModuleAdapter(0); - adapter.setHasStableIds(true); - adapters.add(adapter); - binding.tabLayout.setVisibility(View.GONE); - } - } adapters.forEach(ModuleAdapter::refresh); }