-
- public void onActivityCreated(@Nullable Bundle savedInstanceState) {
- Log.d("flow", "AccountSummaryFragment.onActivityCreated()");
- super.onActivityCreated(savedInstanceState);
-
- modelAdapter = new AccountSummaryAdapter();
-
- root = mActivity.findViewById(R.id.account_root);
- LinearLayoutManager llm = new LinearLayoutManager(mActivity);
- llm.setOrientation(RecyclerView.VERTICAL);
- root.setLayoutManager(llm);
- root.setAdapter(modelAdapter);
-
- 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();
- }
- }
- }));
-
- mActivity.fabShouldShow();
- root.addOnScrollListener(new RecyclerView.OnScrollListener() {
- @Override
- public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
- if (fab != null) {
- if (dy < 0) mActivity.fabShouldShow();
- if (dy > 0) fab.hide();
- }
- }
- });
- swiper = mActivity.findViewById(R.id.account_swiper);
- Colors.themeWatch.addObserver(
- (o, arg) -> swiper.setColorSchemeColors(Colors.primary));
- swiper.setColorSchemeColors(Colors.primary);
- swiper.setOnRefreshListener(() -> {
- Log.d("ui", "refreshing accounts via swipe");
- mActivity.scheduleTransactionListRetrieval();
- });
-
- Data.accounts.addObserver(
- (o, arg) -> mActivity.runOnUiThread(() -> modelAdapter.notifyDataSetChanged()));
- Data.profile.addObserver((o, arg) -> mActivity.runOnUiThread(
- AccountSummaryViewModel::scheduleAccountListReload));
- update_account_table();
- }
- private void update_account_table() {
- if (this.getContext() == null) return;
-
- AccountSummaryViewModel.scheduleAccountListReload();
- }
- void stopSelection() {
- modelAdapter.stopSelection();
- if (optMenu != null) {
- optMenu.findItem(R.id.menu_acc_summary_cancel_selection).setVisible(false);
- optMenu.findItem(R.id.menu_acc_summary_confirm_selection).setVisible(false);
- optMenu.findItem(R.id.menu_acc_summary_only_starred).setVisible(true);
- }
- {
- if (fab != null) fab.show();
- }
- }
- public void onCancelAccSelection(MenuItem item) {
- stopSelection();
- }
- public void onConfirmAccSelection(MenuItem item) {
- AccountSummaryViewModel.commitSelections(mActivity);
- stopSelection();