- public void onActivityCreated(@Nullable Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
-
- mActivity.markDrawerItemCurrent(R.id.nav_account_summary);
-
- model = ViewModelProviders.of(this).get(AccountSummaryViewModel.class);
- List<LedgerAccount> accounts = model.getAccounts(this.getContext());
- modelAdapter = new AccountSummaryAdapter(accounts);
-
- RecyclerView root = mActivity.findViewById(R.id.account_root);
- root.setAdapter(modelAdapter);
-
- LinearLayoutManager llm = new LinearLayoutManager(mActivity);
- llm.setOrientation(LinearLayoutManager.VERTICAL);
- root.setLayoutManager(llm);
-
- fab = mActivity.findViewById(R.id.btn_add_transaction);
-
- root.addOnItemTouchListener(new RecyclerItemListener(mActivity, root,
- new RecyclerItemListener.RecyclerTouchListener() {
- @Override
- public void onClickItem(View v, int position) {
- Log.d("value", String.format("item %d clicked", position));
- if (modelAdapter.isSelectionActive()) {
- modelAdapter.selectItem(position);
- }
- else {
- List<LedgerAccount> accounts = model.getAccounts(mActivity);
- if (accounts != null) {
- LedgerAccount account = accounts.get(position);
-
- mActivity.showAccountTransactions(account);
- }
- }
- }
-
- @Override
- public void onLongClickItem(View v, int position) {
- Log.d("value", String.format("item %d long-clicked", position));
- modelAdapter.startSelection();
- if (optMenu != null) {
- optMenu.findItem(R.id.menu_acc_summary_cancel_selection)
- .setVisible(true);
- optMenu.findItem(R.id.menu_acc_summary_confirm_selection)
- .setVisible(true);
- optMenu.findItem(R.id.menu_acc_summary_only_starred).setVisible(false);
- }
- {
- if (fab != null) fab.hide();
- }
- }
- }));
-
- fab.show();
- root.addOnScrollListener(new RecyclerView.OnScrollListener() {
- @Override
- public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
- if (fab != null) {
- if (dy < 0) fab.show();
- if (dy > 0) fab.hide();
- }
- }
- });
- swiper = mActivity.findViewById(R.id.account_swiper);
- swiper.setColorSchemeResources(R.color.colorPrimary, R.color.colorAccent);
- swiper.setOnRefreshListener(() -> {
- Log.d("ui", "refreshing accounts via swipe");
- update_accounts(true);
- });
- prepare_db();
-// update_account_table();
- update_accounts(false);
-
- }
- private void prepare_db() {
- account_list_last_updated = MLDB.get_option_value(MLDB.OPT_LAST_REFRESH, (long) 0);