import net.ktnx.mobileledger.model.MobileLedgerProfile;
import net.ktnx.mobileledger.ui.CurrencySelectorFragment;
import net.ktnx.mobileledger.ui.DatePickerFragment;
-import net.ktnx.mobileledger.ui.OnCurrencySelectedListener;
import net.ktnx.mobileledger.ui.TextViewClearHelper;
import net.ktnx.mobileledger.utils.Colors;
import net.ktnx.mobileledger.utils.DimensionUtils;
import net.ktnx.mobileledger.utils.MLDB;
import net.ktnx.mobileledger.utils.Misc;
+import org.jetbrains.annotations.NotNull;
+
import java.text.DecimalFormatSymbols;
import java.util.Calendar;
import java.util.Date;
import static net.ktnx.mobileledger.ui.activity.NewTransactionModel.ItemType;
class NewTransactionItemHolder extends RecyclerView.ViewHolder
- implements DatePickerFragment.DatePickedListener, DescriptionSelectedCallback,
- OnCurrencySelectedListener {
+ implements DatePickerFragment.DatePickedListener, DescriptionSelectedCallback {
private final String decimalSeparator;
private final String decimalDot;
private final TextView tvCurrency;
syncData();
Logger.debug("textWatcher",
"syncData() returned, checking if transaction is submittable");
- adapter.model.checkTransactionSubmittable(adapter);
+ adapter.checkTransactionSubmittable();
Logger.debug("textWatcher", "done");
}
};
}
if (syncData())
- adapter.model.checkTransactionSubmittable(adapter);
+ adapter.checkTransactionSubmittable();
}
};
tvDescription.addTextChangedListener(tw);
tvCurrency.setOnClickListener(v -> {
CurrencySelectorFragment cpf = new CurrencySelectorFragment();
- cpf.setOnCurrencySelectedListener(this);
+ cpf.showPositionAndPadding();
+ cpf.setOnCurrencySelectedListener(c -> item.setCurrency(c));
final AppCompatActivity activity = (AppCompatActivity) v.getContext();
cpf.show(activity.getSupportFragmentManager(), "currency-selector");
});
currencyObserver = currency -> {
setCurrency(currency);
- adapter.model.checkTransactionSubmittable(adapter);
+ adapter.checkTransactionSubmittable();
};
currencyGapObserver = hasGap -> {
tvAccount.setEnabled(editable);
tvAmount.setEnabled(editable);
}
- private void setCommentVisible(Boolean visible) {
+ private void setCommentVisible(@NotNull Boolean visible) {
if (visible) {
// showing; show the comment view and align the comment button to it
tvComment.setVisibility(View.VISIBLE);
}
@Override
- public void onCurrencySelected(Currency currency) {
- adapter.model.setItemCurrency(this.item, currency, adapter);
- }
- @Override
public void descriptionSelected(String description) {
tvAccount.setText(description);
tvAmount.requestFocus(View.FOCUS_FORWARD);