[app] Fix fragment usage (#727)
This commit is contained in:
parent
f010322c91
commit
c39b294d0f
|
|
@ -56,7 +56,6 @@ import androidx.appcompat.widget.SearchView;
|
||||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||||
import androidx.core.content.ContextCompat;
|
import androidx.core.content.ContextCompat;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
|
||||||
import androidx.lifecycle.Lifecycle;
|
import androidx.lifecycle.Lifecycle;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
import androidx.viewpager2.adapter.FragmentStateAdapter;
|
||||||
|
|
@ -141,7 +140,7 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
|
||||||
|
|
||||||
binding.getRoot().bringChildToFront(binding.appBar);
|
binding.getRoot().bringChildToFront(binding.appBar);
|
||||||
setupToolbar(binding.toolbar, R.string.Modules, R.menu.menu_modules);
|
setupToolbar(binding.toolbar, R.string.Modules, R.menu.menu_modules);
|
||||||
binding.viewPager.setAdapter(new PagerAdapter(requireActivity()));
|
binding.viewPager.setAdapter(new PagerAdapter(this));
|
||||||
binding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
binding.viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
|
||||||
@Override
|
@Override
|
||||||
public void onPageSelected(int position) {
|
public void onPageSelected(int position) {
|
||||||
|
|
@ -337,17 +336,16 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ModuleListFragment extends Fragment {
|
public static class ModuleListFragment extends Fragment {
|
||||||
private final int position;
|
|
||||||
private final ModulesFragment fragment;
|
|
||||||
|
|
||||||
public ModuleListFragment(int position, ModulesFragment fragment) {
|
|
||||||
this.position = position;
|
|
||||||
this.fragment = fragment;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
ModulesFragment fragment = (ModulesFragment) getParentFragment();
|
||||||
|
Bundle arguments = getArguments();
|
||||||
|
if (fragment == null || arguments == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
int position = arguments.getInt("position");
|
||||||
ItemRepoRecyclerviewBinding binding = ItemRepoRecyclerviewBinding.inflate(getLayoutInflater(), container, false);
|
ItemRepoRecyclerviewBinding binding = ItemRepoRecyclerviewBinding.inflate(getLayoutInflater(), container, false);
|
||||||
if (fragment.adapters.size() == 1) {
|
if (fragment.adapters.size() == 1) {
|
||||||
WindowInsetsHelperKt.setInitialPadding(binding.recyclerView, 0, ResourcesKt.resolveDimensionPixelOffset(requireActivity().getTheme(), R.attr.actionBarSize, 0), 0, 0);
|
WindowInsetsHelperKt.setInitialPadding(binding.recyclerView, 0, ResourcesKt.resolveDimensionPixelOffset(requireActivity().getTheme(), R.attr.actionBarSize, 0), 0, 0);
|
||||||
|
|
@ -375,20 +373,29 @@ public class ModulesFragment extends BaseFragment implements ModuleUtil.ModuleLi
|
||||||
|
|
||||||
private class PagerAdapter extends FragmentStateAdapter {
|
private class PagerAdapter extends FragmentStateAdapter {
|
||||||
|
|
||||||
public PagerAdapter(@NonNull FragmentActivity fragmentActivity) {
|
public PagerAdapter(@NonNull Fragment fragment) {
|
||||||
super(fragmentActivity);
|
super(fragment);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public Fragment createFragment(int position) {
|
public Fragment createFragment(int position) {
|
||||||
return new ModuleListFragment(position, ModulesFragment.this);
|
Bundle bundle = new Bundle();
|
||||||
|
bundle.putInt("position", position);
|
||||||
|
Fragment fragment = new ModuleListFragment();
|
||||||
|
fragment.setArguments(bundle);
|
||||||
|
return fragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getItemCount() {
|
public int getItemCount() {
|
||||||
return adapters.size();
|
return adapters.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public long getItemId(int position) {
|
||||||
|
return position;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class ModuleAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<ModuleAdapter.ViewHolder> implements Filterable {
|
private class ModuleAdapter extends EmptyStateRecyclerView.EmptyStateAdapter<ModuleAdapter.ViewHolder> implements Filterable {
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,6 @@
|
||||||
<string name="module_uninstall_message">¿Quieres desinstalar este módulo?</string>
|
<string name="module_uninstall_message">¿Quieres desinstalar este módulo?</string>
|
||||||
<string name="module_uninstalled">Desinstalado %1$s</string>
|
<string name="module_uninstalled">Desinstalado %1$s</string>
|
||||||
<string name="module_uninstall_failed">Fallo en la desinstalación</string>
|
<string name="module_uninstall_failed">Fallo en la desinstalación</string>
|
||||||
<string name="user_title">Usuario %d</string>
|
|
||||||
<string name="install_to_user">Instalar al usuario %s</string>
|
<string name="install_to_user">Instalar al usuario %s</string>
|
||||||
<string name="install_to_user_message">¿Quieres instalar %1$s al usuario %2$s? Se recomienda que lo instales manualmente; forzar la instalación a través de LSPosed puede causar problemas.</string>
|
<string name="install_to_user_message">¿Quieres instalar %1$s al usuario %2$s? Se recomienda que lo instales manualmente; forzar la instalación a través de LSPosed puede causar problemas.</string>
|
||||||
<string name="module_installed">%1$s instalado %2$s</string>
|
<string name="module_installed">%1$s instalado %2$s</string>
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,6 @@
|
||||||
<string name="module_uninstall_failed">Échec de la désinstallation</string>
|
<string name="module_uninstall_failed">Échec de la désinstallation</string>
|
||||||
<string name="module_installed">Ajout de %1$s à l’utilisateur %2$s</string>
|
<string name="module_installed">Ajout de %1$s à l’utilisateur %2$s</string>
|
||||||
<string name="module_install_failed">Échec de l\’ajout du module</string>
|
<string name="module_install_failed">Échec de l\’ajout du module</string>
|
||||||
<string name="user_title">Utilisateur %d</string>
|
|
||||||
<string name="install_to_user">Installation dans utilisateur %s</string>
|
<string name="install_to_user">Installation dans utilisateur %s</string>
|
||||||
<string name="install_to_user_message">Vous voulez installer %1$s dans l’utilisateur %2$s? Il est recommandé de l’installer manuellement, fercer l’installation via LSPosed pourrait causer des problèmes.</string>
|
<string name="install_to_user_message">Vous voulez installer %1$s dans l’utilisateur %2$s? Il est recommandé de l’installer manuellement, fercer l’installation via LSPosed pourrait causer des problèmes.</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,6 @@
|
||||||
|
|
||||||
<string name="module_installed">%2$s 사용자에 %1$s 추가</string>
|
<string name="module_installed">%2$s 사용자에 %1$s 추가</string>
|
||||||
<string name="module_install_failed">모듈 추가 실패</string>
|
<string name="module_install_failed">모듈 추가 실패</string>
|
||||||
<string name="user_title">사용자 %d</string>
|
|
||||||
<string name="install_to_user">%s 사용자에게 설치</string>
|
<string name="install_to_user">%s 사용자에게 설치</string>
|
||||||
<string name="install_to_user_message">%2$s 사용자에게 %1$s을(를) 설치하시겠습니까? 수동으로 설치하는 것이 좋습니다. LSPosed를 통해 강제로 설치하면 문제가 발생할 수 있습니다.</string>
|
<string name="install_to_user_message">%2$s 사용자에게 %1$s을(를) 설치하시겠습니까? 수동으로 설치하는 것이 좋습니다. LSPosed를 통해 강제로 설치하면 문제가 발생할 수 있습니다.</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -180,7 +180,6 @@
|
||||||
<string name="add_module_to_user">Module toevoegen aan gebruiker</string>
|
<string name="add_module_to_user">Module toevoegen aan gebruiker</string>
|
||||||
<string name="module_installed">Toegevoegd %1$s naar gebruiker %2$s</string>
|
<string name="module_installed">Toegevoegd %1$s naar gebruiker %2$s</string>
|
||||||
<string name="module_install_failed">Het toevoegen van de module is mislukt</string>
|
<string name="module_install_failed">Het toevoegen van de module is mislukt</string>
|
||||||
<string name="user_title">Gebruiker %d</string>
|
|
||||||
<string name="install_to_user">Installeer naar gebruiker %s</string>
|
<string name="install_to_user">Installeer naar gebruiker %s</string>
|
||||||
<string name="install_to_user_message">Wil je installeren %1$s naar gebruiker %2$s? Het wordt aanbevolen om handmatig te installeren, het forceren van installatie via LSPosed kan problemen veroorzaken.</string>
|
<string name="install_to_user_message">Wil je installeren %1$s naar gebruiker %2$s? Het wordt aanbevolen om handmatig te installeren, het forceren van installatie via LSPosed kan problemen veroorzaken.</string>
|
||||||
<string name="translators"><![CDATA[<a href="https://github.com/Pandemic-XDA">Pandemic-XDA</a>]]></string>
|
<string name="translators"><![CDATA[<a href="https://github.com/Pandemic-XDA">Pandemic-XDA</a>]]></string>
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,6 @@
|
||||||
<string name="module_uninstall_failed">Falha ao desinstalar</string>
|
<string name="module_uninstall_failed">Falha ao desinstalar</string>
|
||||||
<string name="module_installed">Adicionado %1$s ao usuário %2$s</string>
|
<string name="module_installed">Adicionado %1$s ao usuário %2$s</string>
|
||||||
<string name="module_install_failed">Falha ao adicinar módulo</string>
|
<string name="module_install_failed">Falha ao adicinar módulo</string>
|
||||||
<string name="user_title">Usuário %d</string>
|
|
||||||
<string name="install_to_user">Instalar ao usuário %s</string>
|
<string name="install_to_user">Instalar ao usuário %s</string>
|
||||||
<string name="install_to_user_message">Deseja instalar %1$s ao usuário %2$s? Recomenda-se instalar manualmente, forçar a instalação via LSPosed pode causar problemas.</string>
|
<string name="install_to_user_message">Deseja instalar %1$s ao usuário %2$s? Recomenda-se instalar manualmente, forçar a instalação via LSPosed pode causar problemas.</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,7 +86,6 @@
|
||||||
<string name="module_uninstall_message">要卸载此模块吗?</string>
|
<string name="module_uninstall_message">要卸载此模块吗?</string>
|
||||||
<string name="module_uninstalled">已卸载%1$s</string>
|
<string name="module_uninstalled">已卸载%1$s</string>
|
||||||
<string name="module_uninstall_failed">卸载失败</string>
|
<string name="module_uninstall_failed">卸载失败</string>
|
||||||
<string name="user_title">用户 %d</string>
|
|
||||||
<string name="install_to_user">安装到用户 %s</string>
|
<string name="install_to_user">安装到用户 %s</string>
|
||||||
<string name="install_to_user_message">要安装 %1$s 到用户 %2$s 吗?建议手动安装或多开,通过 LSPosed 强制安装可能会出现问题。</string>
|
<string name="install_to_user_message">要安装 %1$s 到用户 %2$s 吗?建议手动安装或多开,通过 LSPosed 强制安装可能会出现问题。</string>
|
||||||
<string name="module_installed">已安装 %1$s 到用户 %2$s</string>
|
<string name="module_installed">已安装 %1$s 到用户 %2$s</string>
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,6 @@
|
||||||
<string name="module_uninstall_failed">移除失敗</string>
|
<string name="module_uninstall_failed">移除失敗</string>
|
||||||
<string name="module_installed">已安裝 %1$s 到使用者 %2$s</string>
|
<string name="module_installed">已安裝 %1$s 到使用者 %2$s</string>
|
||||||
<string name="module_install_failed">安裝模組失敗</string>
|
<string name="module_install_failed">安裝模組失敗</string>
|
||||||
<string name="user_title">使用者 %d</string>
|
|
||||||
<string name="install_to_user">安裝到使用者 %s</string>
|
<string name="install_to_user">安裝到使用者 %s</string>
|
||||||
<string name="install_to_user_message">要安裝 %1$s 到使用者 %2$s 嗎?建議手動安裝或多開,透過 LSPosed 強制安裝可能會出現問題。</string>
|
<string name="install_to_user_message">要安裝 %1$s 到使用者 %2$s 嗎?建議手動安裝或多開,透過 LSPosed 強制安裝可能會出現問題。</string>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,4 @@
|
||||||
<dimen name="app_icon_size">48dp</dimen>
|
<dimen name="app_icon_size">48dp</dimen>
|
||||||
<dimen name="tab_layout_height">48dp</dimen>
|
<dimen name="tab_layout_height">48dp</dimen>
|
||||||
<dimen name="colorpickerpreference_widget_size">32dp</dimen>
|
<dimen name="colorpickerpreference_widget_size">32dp</dimen>
|
||||||
<dimen name="item_width">400dp</dimen>
|
|
||||||
<dimen name="container_margin">8dp</dimen>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,6 @@
|
||||||
<string name="module_uninstall_failed">Uninstall unsuccessful</string>
|
<string name="module_uninstall_failed">Uninstall unsuccessful</string>
|
||||||
<string name="module_installed">Added %1$s to user %2$s</string>
|
<string name="module_installed">Added %1$s to user %2$s</string>
|
||||||
<string name="module_install_failed">Adding module failed</string>
|
<string name="module_install_failed">Adding module failed</string>
|
||||||
<string name="user_title">User %d</string>
|
|
||||||
<string name="install_to_user">Install to user %s</string>
|
<string name="install_to_user">Install to user %s</string>
|
||||||
<string name="install_to_user_message">Want to install %1$s to user %2$s? It is recommended to install manually, forcing installation via LSPosed may cause problems.</string>
|
<string name="install_to_user_message">Want to install %1$s to user %2$s? It is recommended to install manually, forcing installation via LSPosed may cause problems.</string>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue