X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionItemHolder.java;h=221e60f873a9e0cc901eb1e5d2996d9e55ad8a4d;hb=97fbfe069a9eeb18728fe9604add248606419e1e;hp=ab2f40325bbf9788098598aff998d2dbaded335f;hpb=69f3ecfe46fa70a3c2c7cfa2295dd5c8d5ffbc06;p=mobile-ledger.git 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..221e60f8 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); @@ -310,6 +312,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder tvAmount.requestFocus(); break; case Comment: + tvComment.setVisibility(View.VISIBLE); tvComment.requestFocus(); break; case Account: @@ -387,6 +390,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 +588,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 +641,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);