X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionItemHolder.java;h=b63ce8e9adeab74c7fcc1a5c814e1983ec3babfd;hp=ab2f40325bbf9788098598aff998d2dbaded335f;hb=cc37874c011bd23ec4fd34c4423a89ceea2d6509;hpb=f4ef1a5eb5957774485c80292f18484a183cc50d diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemHolder.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemHolder.java index ab2f4032..b63ce8e9 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemHolder.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/NewTransactionItemHolder.java @@ -30,7 +30,7 @@ import android.view.inputmethod.EditorInfo; import android.widget.AutoCompleteTextView; import android.widget.EditText; import android.widget.FrameLayout; -import android.widget.LinearLayout; +import android.widget.ProgressBar; import android.widget.TextView; import androidx.annotation.NonNull; @@ -75,7 +75,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder private AutoCompleteTextView tvAccount; private TextView tvComment; private EditText tvAmount; - private LinearLayout lHead; + private ViewGroup lHead; private ViewGroup lAccount; private FrameLayout lPadding; private MobileLedgerProfile mProfile; @@ -92,6 +92,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder private Observer currencyObserver; private Observer showCurrencyObserver; private Observer commentObserver; + private Observer busyFlagObserver; private boolean inUpdate = false; private boolean syncingData = false; private View commentButton; @@ -110,6 +111,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder lAccount = itemView.findViewById(R.id.ntr_account); lPadding = itemView.findViewById(R.id.ntr_padding); View commentLayout = itemView.findViewById(R.id.comment_layout); + ProgressBar p = itemView.findViewById(R.id.progressBar); tvDescription.setNextFocusForwardId(View.NO_ID); tvAccount.setNextFocusForwardId(View.NO_ID); @@ -387,6 +389,8 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder ((focusedView != tvComment) && Misc.isEmptyOrNull(comment)) ? View.INVISIBLE : View.VISIBLE); }; + + busyFlagObserver = isBusy -> {p.setVisibility(isBusy ? View.VISIBLE : View.INVISIBLE);}; } private void updateCurrencyPositionAndPadding(Currency.Position position, boolean hasGap) { ConstraintLayout.LayoutParams amountLP = @@ -583,6 +587,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder this.item.stopObservingCurrency(currencyObserver); this.item.getModel().showCurrency.removeObserver(showCurrencyObserver); this.item.stopObservingComment(commentObserver); + this.item.getModel().stopObservingBusyFlag(busyFlagObserver); this.item = null; } @@ -635,6 +640,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder case generalData: item.observeDate(activity, dateObserver); item.observeDescription(activity, descriptionObserver); + item.getModel().observeBusyFlag(activity, busyFlagObserver); break; case transactionRow: item.observeAmountHint(activity, hintObserver);