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 b593f0e8..6ab38cfc 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
@@ -90,7 +90,6 @@ import java.util.stream.Collectors;
import java.util.stream.IntStream;
import rikka.core.util.ResourceUtils;
-import rikka.insets.WindowInsetsHelperKt;
import rikka.recyclerview.RecyclerViewKt;
import rikka.widget.borderview.BorderRecyclerView;
@@ -136,19 +135,13 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = FragmentPagerBinding.inflate(inflater, container, false);
- binding.getRoot().bringChildToFront(binding.appBar);
setupToolbar(binding.toolbar, R.string.Modules, R.menu.menu_modules);
- binding.appBar.setLiftable(true);
binding.viewPager.setAdapter(new PagerAdapter(this));
binding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
BorderRecyclerView recyclerView = binding.viewPager.findViewWithTag(position);
- if (recyclerView != null) {
- binding.appBar.setLifted(!recyclerView.getBorderViewDelegate().isShowingTopBorder());
- }
-
if (position > 0) {
binding.fab.show();
} else {
@@ -328,6 +321,7 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
}
return super.onContextItemSelected(item);
}
+
@Override
public void onDestroyView() {
super.onDestroyView();
@@ -347,18 +341,9 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
}
int position = arguments.getInt("position");
ItemRepoRecyclerviewBinding binding = ItemRepoRecyclerviewBinding.inflate(getLayoutInflater(), container, false);
- if (fragment.adapters.size() == 1) {
- WindowInsetsHelperKt.setInitialPadding(binding.recyclerView, 0, ResourceUtils.resolveDimensionPixelOffset(requireActivity().getTheme(), androidx.appcompat.R.attr.actionBarSize, 0), 0, 0);
- } else {
- int height = ResourceUtils.resolveDimensionPixelOffset(requireActivity().getTheme(), androidx.appcompat.R.attr.actionBarSize, 0)
- + getResources().getDimensionPixelOffset(R.dimen.tab_layout_height);
- WindowInsetsHelperKt.setInitialPadding(binding.recyclerView, 0, height, 0, 0);
- }
- binding.recyclerView.setTag(position);
binding.recyclerView.setAdapter(fragment.adapters.get(position));
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(requireActivity());
binding.recyclerView.setLayoutManager(layoutManager);
- binding.recyclerView.getBorderViewDelegate().setBorderVisibilityChangedListener((top, oldTop, bottom, oldBottom) -> fragment.binding.appBar.setLifted(!top));
binding.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
@@ -369,9 +354,6 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
}
}
});
- var insets = requireActivity().getWindow().getDecorView().getRootWindowInsets();
- if (insets != null)
- binding.recyclerView.onApplyWindowInsets(insets);
RecyclerViewKt.fixEdgeEffect(binding.recyclerView, false, true);
return binding.getRoot();
}
diff --git a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java
index 6d7ee8a0..1f4cddb5 100644
--- a/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java
+++ b/app/src/main/java/org/lsposed/manager/ui/fragment/RepoItemFragment.java
@@ -41,7 +41,6 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
-import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
@@ -78,11 +77,9 @@ import okhttp3.Headers;
import okhttp3.Request;
import okhttp3.Response;
import rikka.core.util.ResourceUtils;
-import rikka.insets.WindowInsetsHelperKt;
import rikka.recyclerview.RecyclerViewKt;
import rikka.widget.borderview.BorderNestedScrollView;
import rikka.widget.borderview.BorderRecyclerView;
-import rikka.widget.borderview.BorderView;
public class RepoItemFragment extends BaseFragment implements RepoLoader.Listener {
FragmentPagerBinding binding;
@@ -96,21 +93,9 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.Listene
if (module == null) return binding.getRoot();
String modulePackageName = module.getName();
String moduleName = module.getDescription();
- binding.getRoot().bringChildToFront(binding.appBar);
setupToolbar(binding.toolbar, moduleName, R.menu.menu_repo_item);
- binding.appBar.setLiftable(true);
binding.toolbar.setSubtitle(modulePackageName);
binding.viewPager.setAdapter(new PagerAdapter());
- binding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
- @Override
- public void onPageSelected(int position) {
- BorderView borderView = binding.viewPager.findViewWithTag(position);
-
- if (borderView != null) {
- binding.appBar.setLifted(!borderView.getBorderViewDelegate().isShowingTopBorder());
- }
- }
- });
int[] titles = new int[]{R.string.module_readme, R.string.module_releases, R.string.module_information};
new TabLayoutMediator(binding.tabLayout, binding.viewPager, (tab, position) -> tab.setText(titles[position])).attach();
@@ -443,8 +428,6 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.Listene
public void onBindViewHolder(@NonNull PagerAdapter.ViewHolder holder, int position) {
switch (position) {
case 0:
- holder.scrollView.getBorderViewDelegate().setBorderVisibilityChangedListener((top, oldTop, bottom, oldBottom) -> binding.appBar.setLifted(!top));
- holder.scrollView.setTag(position);
if (module != null)
renderGithubMarkdown(holder.webView, module.getReadmeHTML());
break;
@@ -455,15 +438,7 @@ public class RepoItemFragment extends BaseFragment implements RepoLoader.Listene
} else {
holder.recyclerView.setAdapter(new InformationAdapter(module));
}
- int height = ResourceUtils.resolveDimensionPixelOffset(requireActivity().getTheme(), androidx.appcompat.R.attr.actionBarSize, 0)
- + getResources().getDimensionPixelOffset(R.dimen.tab_layout_height);
- WindowInsetsHelperKt.setInitialPadding(holder.recyclerView, 0, height, 0, 0);
- holder.recyclerView.setTag(position);
holder.recyclerView.setLayoutManager(new LinearLayoutManager(requireActivity()));
- holder.recyclerView.getBorderViewDelegate().setBorderVisibilityChangedListener((top, oldTop, bottom, oldBottom) -> binding.appBar.setLifted(!top));
- var insets = requireActivity().getWindow().getDecorView().getRootWindowInsets();
- if (insets != null)
- holder.recyclerView.onApplyWindowInsets(insets);
RecyclerViewKt.fixEdgeEffect(holder.recyclerView, false, true);
break;
}
diff --git a/app/src/main/res/layout/fragment_pager.xml b/app/src/main/res/layout/fragment_pager.xml
index ee848ab0..f74d1cf6 100644
--- a/app/src/main/res/layout/fragment_pager.xml
+++ b/app/src/main/res/layout/fragment_pager.xml
@@ -27,39 +27,38 @@
app:edgeToEdge="true"
app:fitsSystemWindowsInsets="start|end">
+
-
+ android:layout_height="wrap_content"
+ android:minHeight="?attr/actionBarSize"
+ android:elevation="0dp"
+ app:layout_scrollFlags="scroll|enterAlways"
+ app:layout_scrollEffect="none" />
-
-
-
-
+
+ android:layout_height="match_parent"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior" />
+ app:fitsSystemWindowsInsets="bottom" />