X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionFragment.java;h=1074bcb98f6b30a660f13a3c309eaf4e8e182bb2;hb=f2f0413c454a2fd63decc60fcbc0f8ac80f6159f;hp=f212bc0902eda6c7efb3cabadf8486f95d722419;hpb=c8a46620566a9027fe620cb16cf1aefa708085a3;p=mobile-ledger-staging.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionFragment.java index f212bc09..1074bcb9 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionFragment.java @@ -23,8 +23,10 @@ import android.renderscript.RSInvalidStateException; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; +import android.widget.ProgressBar; import androidx.annotation.NonNull; import androidx.annotation.Nullable; @@ -57,6 +59,7 @@ import java.util.Date; */ // TODO: offer to undo account remove-on-swipe +// TODO: transaction-level comment public class NewTransactionFragment extends Fragment { private NewTransactionItemsAdapter listAdapter; @@ -78,6 +81,14 @@ public class NewTransactionFragment extends Fragment { listAdapter.reset(); return true; }); + final MenuItem toggleCurrencyItem = menu.findItem(R.id.toggle_currency); + toggleCurrencyItem.setOnMenuItemClickListener(item -> { + viewModel.toggleCurrencyVisible(); + return true; + }); + final FragmentActivity activity = getActivity(); + if (activity != null) + viewModel.showCurrency.observe(activity, toggleCurrencyItem::setChecked); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -96,6 +107,7 @@ public class NewTransactionFragment extends Fragment { list = activity.findViewById(R.id.new_transaction_accounts); viewModel = new ViewModelProvider(activity).get(NewTransactionModel.class); + viewModel.observeDataProfile(this); mProfile = Data.profile.getValue(); listAdapter = new NewTransactionItemsAdapter(viewModel, mProfile); list.setAdapter(listAdapter); @@ -119,7 +131,7 @@ public class NewTransactionFragment extends Fragment { } } }); - viewModel.checkTransactionSubmittable(listAdapter); +// viewModel.checkTransactionSubmittable(listAdapter); fab = activity.findViewById(R.id.fab); fab.setOnClickListener(v -> onFabPressed()); @@ -148,6 +160,21 @@ public class NewTransactionFragment extends Fragment { else { viewModel.setFocusedItem(focused); } + + ProgressBar p = activity.findViewById(R.id.progressBar); + viewModel.observeBusyFlag(getViewLifecycleOwner(), isBusy -> { + if (isBusy) { +// Handler h = new Handler(); +// h.postDelayed(() -> { +// if (viewModel.getBusyFlag()) +// p.setVisibility(View.VISIBLE); +// +// }, 10); + p.setVisibility(View.VISIBLE); + } + else + p.setVisibility(View.INVISIBLE); + }); } @Override public void onSaveInstanceState(@NonNull Bundle outState) {