X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FNewTransactionItemHolder.java;h=3049bac4ebf34ef02e9723bd5e4bc7b0f515a174;hb=2a10026b966907fa60376778295ce6818458b3d0;hp=50c321fd05153efb34f6cfffbbf0d046e24f31f1;hpb=0fc3a8af60a234e835a7718f3a97620747a4a68a;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 50c321fd..3049bac4 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,6 +30,7 @@ import android.widget.EditText; import android.widget.FrameLayout; import android.widget.TextView; +import androidx.annotation.ColorInt; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.constraintlayout.widget.ConstraintLayout; @@ -50,11 +51,11 @@ import net.ktnx.mobileledger.utils.DimensionUtils; import net.ktnx.mobileledger.utils.Logger; import net.ktnx.mobileledger.utils.MLDB; import net.ktnx.mobileledger.utils.Misc; +import net.ktnx.mobileledger.utils.SimpleDate; import java.text.DecimalFormatSymbols; -import java.util.Calendar; +import java.text.ParseException; import java.util.Date; -import java.util.GregorianCalendar; import java.util.Locale; import static net.ktnx.mobileledger.ui.activity.NewTransactionModel.ItemType; @@ -69,6 +70,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder private NewTransactionModel.Item item; private TextView tvDate; private AutoCompleteTextView tvDescription; + private TextView tvDummy; private AutoCompleteTextView tvAccount; private TextView tvComment; private EditText tvAmount; @@ -77,7 +79,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder private FrameLayout lPadding; private MobileLedgerProfile mProfile; private Date date; - private Observer dateObserver; + private Observer dateObserver; private Observer descriptionObserver; private Observer transactionCommentObserver; private Observer hintObserver; @@ -107,6 +109,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder tvCurrency = itemView.findViewById(R.id.currency); tvDate = itemView.findViewById(R.id.new_transaction_date); tvDescription = itemView.findViewById(R.id.new_transaction_description); + tvDummy = itemView.findViewById(R.id.dummy_text); lHead = itemView.findViewById(R.id.ntr_data); lPadding = itemView.findViewById(R.id.ntr_padding); final View commentLayout = itemView.findViewById(R.id.comment_layout); @@ -166,10 +169,10 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder } if (id == R.id.comment) { - commentFocusChanged(commentLayout, tvComment, hasFocus); + commentFocusChanged(tvComment, hasFocus); } else if (id == R.id.transaction_comment) { - commentFocusChanged(transactionCommentLayout, tvTransactionComment, hasFocus); + commentFocusChanged(tvTransactionComment, hasFocus); } }; @@ -292,6 +295,8 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder } }; editableObserver = this::setEditable; + commentFocusChanged(tvTransactionComment, false); + commentFocusChanged(tvComment, false); focusedAccountObserver = index -> { if ((index == null) || !index.equals(getAdapterPosition()) || itemView.hasFocus()) return; @@ -430,15 +435,18 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder tvAmount.setMinEms(valid ? 4 : 5); }; } - private void commentFocusChanged(View layout, TextView textView, boolean hasFocus) { - int textColor; + private void commentFocusChanged(TextView textView, boolean hasFocus) { + @ColorInt int textColor; + textColor = tvDummy.getTextColors() + .getDefaultColor(); if (hasFocus) { - textColor = Colors.defaultTextColor; textView.setTypeface(null, Typeface.NORMAL); textView.setHint(R.string.transaction_account_comment_hint); } else { - textColor = Colors.defaultTextColorDisabled; + int alpha = (textColor >> 24 & 0xff); + alpha = 3 * alpha / 4; + textColor = (alpha << 24) | (0x00ffffff & textColor); textView.setTypeface(null, Typeface.ITALIC); textView.setHint(""); if (Misc.isEmptyOrNull(textView.getText())) { @@ -590,6 +598,9 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder return true; } + catch (ParseException e) { + throw new RuntimeException("Should not happen", e); + } finally { syncingData = false; } @@ -707,9 +718,7 @@ class NewTransactionItemHolder extends RecyclerView.ViewHolder } @Override public void onDatePicked(int year, int month, int day) { - final Calendar c = GregorianCalendar.getInstance(); - c.set(year, month, day); - item.setDate(c.getTime()); + item.setDate(new SimpleDate(year, month+1, day)); boolean focused = tvDescription.requestFocus(); if (focused) Misc.showSoftKeyboard((NewTransactionActivity) tvAccount.getContext());