- 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 = Data.accounts.get();
- 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");
- mActivity.scheduleTransactionListRetrieval();
- });
-
- Data.accounts.addObserver(new Observer() {
- @Override
- public void update(Observable o, Object arg) {
- mActivity.runOnUiThread(() -> modelAdapter.notifyDataSetChanged());
- }
- });
- Data.profile.addObserver(new Observer() {
- @Override
- public void update(Observable o, Object arg) {
- mActivity.runOnUiThread(() -> model.scheduleAccountListReload(mActivity));
- }
- });
- update_account_table();
- }
- private void update_account_table() {
- if (this.getContext() == null) return;
-
- model.scheduleAccountListReload(this.getContext());
- }
- public void onShowOnlyStarredClicked(MenuItem mi) {
- SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(mActivity);
- boolean flag = pref.getBoolean(PREF_KEY_SHOW_ONLY_STARRED_ACCOUNTS, false);