import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentPagerAdapter;
+import androidx.fragment.app.FragmentActivity;
import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
-import androidx.viewpager.widget.ViewPager;
+import androidx.viewpager2.adapter.FragmentStateAdapter;
+import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;
private View profileListHeadMore, profileListHeadCancel, profileListHeadAddProfile;
private View bTransactionListCancelDownload;
private SectionsPagerAdapter mSectionsPagerAdapter;
- private ViewPager mViewPager;
+ private ViewPager2 mViewPager;
private FloatingActionButton fab;
private ProfilesRecyclerViewAdapter mProfileListAdapter;
private int mCurrentPage;
private Toolbar mToolbar;
private DrawerLayout.SimpleDrawerListener drawerListener;
private ActionBarDrawerToggle barDrawerToggle;
- private ViewPager.SimpleOnPageChangeListener pageChangeListener;
+ private ViewPager2.OnPageChangeCallback pageChangeCallback;
private MobileLedgerProfile profile;
private MainModel mainModel;
@Override
drawer.removeDrawerListener(barDrawerToggle);
barDrawerToggle = null;
if (mViewPager != null)
- mViewPager.removeOnPageChangeListener(pageChangeListener);
- pageChangeListener = null;
+ mViewPager.unregisterOnPageChangeCallback(pageChangeCallback);
+ pageChangeCallback = null;
super.onDestroy();
}
@Override
profileListHeadAddProfile = findViewById(R.id.nav_new_profile_button);
drawer = findViewById(R.id.drawer_layout);
bTransactionListCancelDownload = findViewById(R.id.transaction_list_cancel_download);
- mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
+ mSectionsPagerAdapter = new SectionsPagerAdapter(this);
mViewPager = findViewById(R.id.root_frame);
Bundle extra = getIntent().getBundleExtra(BUNDLE_SAVED_STATE);
mViewPager.setAdapter(mSectionsPagerAdapter);
- if (pageChangeListener == null) {
- pageChangeListener = new ViewPager.SimpleOnPageChangeListener() {
+ if (pageChangeCallback == null) {
+ pageChangeCallback = new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
mCurrentPage = position;
super.onPageSelected(position);
}
};
- mViewPager.addOnPageChangeListener(pageChangeListener);
+ mViewPager.registerOnPageChangeCallback(pageChangeCallback);
}
mCurrentPage = 0;
fab.hide();
}
- public static class SectionsPagerAdapter extends FragmentPagerAdapter {
+ public static class SectionsPagerAdapter extends FragmentStateAdapter {
- SectionsPagerAdapter(FragmentManager fm) {
- super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
+ public SectionsPagerAdapter(@NonNull FragmentActivity fragmentActivity) {
+ super(fragmentActivity);
}
-
@NotNull
@Override
- public Fragment getItem(int position) {
+ public Fragment createFragment(int position) {
Logger.debug("main",
String.format(Locale.ENGLISH, "Switching to fragment %d", position));
switch (position) {
}
@Override
- public int getCount() {
+ public int getItemCount() {
return 2;
}
}