+/*
+ * TODO: reports
+ * */
+
+public class MainActivity extends ProfileThemedActivity implements FabManager.FabHandler {
+ public static final String TAG = "main-act";
+ public static final String STATE_CURRENT_PAGE = "current_page";
+ public static final String BUNDLE_SAVED_STATE = "bundle_savedState";
+ public static final String STATE_ACC_FILTER = "account_filter";
+ private static final boolean FAB_HIDDEN = false;
+ private static final boolean FAB_SHOWN = true;
+ private ConverterThread converterThread = null;
+ private SectionsPagerAdapter mSectionsPagerAdapter;
+ private ProfilesRecyclerViewAdapter mProfileListAdapter;
+ private int mCurrentPage;
+ private boolean mBackMeansToAccountList = false;
+ private DrawerLayout.SimpleDrawerListener drawerListener;
+ private ActionBarDrawerToggle barDrawerToggle;
+ private ViewPager2.OnPageChangeCallback pageChangeCallback;
+ private Profile profile;
+ private MainModel mainModel;
+ private ActivityMainBinding b;
+ private int fabVerticalOffset;
+ private FabManager fabManager;
+ @Override
+ protected void onStart() {
+ super.onStart();
+
+ Logger.debug(TAG, "onStart()");
+
+ b.mainPager.setCurrentItem(mCurrentPage, false);
+ }
+ @Override
+ protected void onSaveInstanceState(@NotNull Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putInt(STATE_CURRENT_PAGE, b.mainPager.getCurrentItem());
+ if (mainModel.getAccountFilter()
+ .getValue() != null)
+ outState.putString(STATE_ACC_FILTER, mainModel.getAccountFilter()
+ .getValue());
+ }
+ @Override
+ protected void onDestroy() {
+ mSectionsPagerAdapter = null;
+ b.navProfileList.setAdapter(null);
+ b.drawerLayout.removeDrawerListener(drawerListener);
+ drawerListener = null;
+ b.drawerLayout.removeDrawerListener(barDrawerToggle);
+ barDrawerToggle = null;
+ b.mainPager.unregisterOnPageChangeCallback(pageChangeCallback);
+ pageChangeCallback = null;
+ super.onDestroy();
+ }
+ @Override
+ protected void onResume() {
+ super.onResume();
+ fabShouldShow();
+ }