Update Sell tab in the RecordTransactionActivity allowing to register sell transaction
This commit is contained in:
parent
1f433ba708
commit
1efbaea351
@ -33,6 +33,7 @@ import android.widget.TextView;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import com.herbron.moodl.Activities.RecordTransactionFragments.BuyFragment;
|
||||
import com.herbron.moodl.Activities.RecordTransactionFragments.SellFragment;
|
||||
import com.herbron.moodl.CurrencyInfoUpdateNotifierInterface;
|
||||
import com.herbron.moodl.CustomAdapters.PairRecordListAdapter;
|
||||
import com.herbron.moodl.CustomLayouts.CustomRecordFragment;
|
||||
@ -150,6 +151,8 @@ public class RecordTransactionActivity extends AppCompatActivity implements Curr
|
||||
|
||||
if(transactionId != -1)
|
||||
{
|
||||
List<Exchange> exchangeList;
|
||||
List<Pair> pairList;
|
||||
DatabaseManager databaseManager = new DatabaseManager(getBaseContext());
|
||||
Transaction transaction = databaseManager.getCurrencyTransactionById(transactionId);
|
||||
List<Currency> denominationList = cryptocompareApiManager.getCurrenciesDenomination();
|
||||
@ -194,7 +197,7 @@ public class RecordTransactionActivity extends AppCompatActivity implements Curr
|
||||
switch (transaction.getType())
|
||||
{
|
||||
case "b":
|
||||
List<Exchange> exchangeList = cryptocompareApiManager.getExchangeList(currency.getSymbol());
|
||||
exchangeList = cryptocompareApiManager.getExchangeList(currency.getSymbol());
|
||||
|
||||
while(index < exchangeList.size() && !found)
|
||||
{
|
||||
@ -214,7 +217,7 @@ public class RecordTransactionActivity extends AppCompatActivity implements Curr
|
||||
index++;
|
||||
}
|
||||
|
||||
List<Pair> pairList = exchange.getPairsFor(currency.getSymbol());
|
||||
pairList = exchange.getPairsFor(currency.getSymbol());
|
||||
|
||||
found = false;
|
||||
index = 0;
|
||||
@ -242,6 +245,50 @@ public class RecordTransactionActivity extends AppCompatActivity implements Curr
|
||||
|
||||
break;
|
||||
case "s":
|
||||
exchangeList = cryptocompareApiManager.getExchangeList(currency.getSymbol());
|
||||
|
||||
while(index < exchangeList.size() && !found)
|
||||
{
|
||||
if(exchangeList.get(index).getName().equals(transaction.getSource()))
|
||||
{
|
||||
exchange = exchangeList.get(index);
|
||||
|
||||
exchange_autoCompleteTextView.setText(exchange.getName());
|
||||
exchange_autoCompleteTextView.setEnabled(true);
|
||||
|
||||
updateExchangeData();
|
||||
|
||||
updatePairAdapter();
|
||||
found = true;
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
pairList = exchange.getPairsFor(currency.getSymbol());
|
||||
|
||||
found = false;
|
||||
index = 0;
|
||||
|
||||
while(index < pairList.size() && !found)
|
||||
{
|
||||
if(pairList.get(index).contains(currency.getSymbol()) && pairList.get(index).contains(transaction.getSymPair()))
|
||||
{
|
||||
pair = pairList.get(index);
|
||||
|
||||
pair_autoCompleteTextView.setText(PlaceholderManager.getPairString(pair.getFrom(), pair.getTo(), getBaseContext()));
|
||||
pair_autoCompleteTextView.setEnabled(true);
|
||||
|
||||
((SellFragment) pageAdapter.getItem(1)).updatePair(pair);
|
||||
|
||||
updatePairData();
|
||||
|
||||
found = true;
|
||||
}
|
||||
|
||||
index++;
|
||||
}
|
||||
|
||||
tabLayout.getTabAt(1).select();
|
||||
break;
|
||||
case "t":
|
||||
|
@ -10,7 +10,6 @@ import android.support.design.widget.TextInputEditText;
|
||||
import android.support.v7.widget.AppCompatButton;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@ -48,7 +47,7 @@ public class BuyFragment extends CustomRecordFragment {
|
||||
private static Spinner feesCurrencySpinner;
|
||||
private static View view;
|
||||
|
||||
private ArrayAdapter<String> currencyAdapter;
|
||||
private ArrayAdapter<String> currencyFeeAdapter;
|
||||
|
||||
private SimpleDateFormat sdf;
|
||||
private Calendar calendar;
|
||||
@ -179,10 +178,10 @@ public class BuyFragment extends CustomRecordFragment {
|
||||
|
||||
private void initializeViewElements()
|
||||
{
|
||||
totalValueEditText = view.findViewById(R.id.totalValue_editText);
|
||||
totalValueEditText = view.findViewById(R.id.totalValue_editText_buy);
|
||||
totalValueEditText.addTextChangedListener(totalValueTextWatcher);
|
||||
|
||||
amoutEditText = view.findViewById(R.id.amount_editText);
|
||||
amoutEditText = view.findViewById(R.id.amount_editText_buy);
|
||||
amoutEditText.addTextChangedListener(amountTextWatcher);
|
||||
|
||||
buyPriceEditText = view.findViewById(R.id.buyPrice_editText);
|
||||
@ -195,11 +194,11 @@ public class BuyFragment extends CustomRecordFragment {
|
||||
createDatePicker();
|
||||
}
|
||||
});
|
||||
feesCurrencySpinner = view.findViewById(R.id.feesCurrency_editText);
|
||||
feesCurrencySpinner = view.findViewById(R.id.feesCurrency_editText_buy);
|
||||
|
||||
currencyAdapter = new ArrayAdapter<String>(getSecureContext(), android.R.layout.simple_spinner_item, new ArrayList<>());
|
||||
currencyAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
feesCurrencySpinner.setAdapter(currencyAdapter);
|
||||
currencyFeeAdapter = new ArrayAdapter<String>(getSecureContext(), android.R.layout.simple_spinner_item, new ArrayList<>());
|
||||
currencyFeeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
feesCurrencySpinner.setAdapter(currencyFeeAdapter);
|
||||
|
||||
if(fragmentPair != null)
|
||||
{
|
||||
@ -272,7 +271,7 @@ public class BuyFragment extends CustomRecordFragment {
|
||||
}
|
||||
});
|
||||
|
||||
fees_editText = view.findViewById(R.id.fees_editText);
|
||||
fees_editText = view.findViewById(R.id.fees_editText_buy);
|
||||
fees_editText.addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
@ -372,7 +371,7 @@ public class BuyFragment extends CustomRecordFragment {
|
||||
}
|
||||
});
|
||||
|
||||
note_editText = view.findViewById(R.id.note_editText);
|
||||
note_editText = view.findViewById(R.id.note_editText_buy);
|
||||
|
||||
checkCallingIntent();
|
||||
}
|
||||
@ -443,9 +442,9 @@ public class BuyFragment extends CustomRecordFragment {
|
||||
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(fragmentPair.getFrom(), getSecureContext()));
|
||||
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(fragmentPair.getTo(), getSecureContext()));
|
||||
|
||||
currencyAdapter.clear();
|
||||
currencyAdapter.addAll(symbolStrings);
|
||||
currencyAdapter.notifyDataSetChanged();
|
||||
currencyFeeAdapter.clear();
|
||||
currencyFeeAdapter.addAll(symbolStrings);
|
||||
currencyFeeAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
private void createDatePicker()
|
||||
@ -511,30 +510,27 @@ public class BuyFragment extends CustomRecordFragment {
|
||||
|
||||
public void updatePair(Pair pair)
|
||||
{
|
||||
currencyAdapter = new ArrayAdapter<String>(getSecureContext(), android.R.layout.simple_spinner_item, new ArrayList<>());
|
||||
currencyAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
feesCurrencySpinner.setAdapter(currencyAdapter);
|
||||
currencyFeeAdapter = new ArrayAdapter<String>(getSecureContext(), android.R.layout.simple_spinner_item, new ArrayList<>());
|
||||
currencyFeeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
feesCurrencySpinner.setAdapter(currencyFeeAdapter);
|
||||
|
||||
symbolStrings = new ArrayList<>();
|
||||
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(pair.getFrom(), getSecureContext()));
|
||||
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(pair.getTo(), getSecureContext()));
|
||||
currencyAdapter.addAll(symbolStrings);
|
||||
currencyAdapter.notifyDataSetChanged();
|
||||
currencyFeeAdapter.addAll(symbolStrings);
|
||||
currencyFeeAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPairUpdated() {
|
||||
fragmentPair = pair;
|
||||
|
||||
fragmentCurrency.setOnTimestampPriceUpdatedListener(new Currency.OnTimestampPriceUpdatedListener() {
|
||||
fragmentCurrency.addOnTimestampPriceUpdatedListener(new Currency.OnTimestampPriceUpdatedListener() {
|
||||
@Override
|
||||
public void onTimeStampPriceUpdated(String price) {
|
||||
((TextInputEditText) view.findViewById(R.id.buyPrice_editText)).setText(price);
|
||||
|
||||
if(currencyAdapter != null)
|
||||
{
|
||||
updateAdapter();
|
||||
}
|
||||
updatePair(fragmentPair);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -1,37 +1,550 @@
|
||||
package com.herbron.moodl.Activities.RecordTransactionFragments;
|
||||
|
||||
import android.app.DatePickerDialog;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.design.widget.TextInputEditText;
|
||||
import android.support.v7.widget.AppCompatButton;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.DatePicker;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.TimePicker;
|
||||
|
||||
import com.herbron.moodl.Activities.HomeActivity;
|
||||
import com.herbron.moodl.CustomLayouts.CustomRecordFragment;
|
||||
import com.herbron.moodl.DataManagers.CurrencyData.Currency;
|
||||
import com.herbron.moodl.DataManagers.CurrencyData.Transaction;
|
||||
import com.herbron.moodl.DataManagers.DatabaseManager;
|
||||
import com.herbron.moodl.DataManagers.ExchangeManager.Exchange;
|
||||
import com.herbron.moodl.DataManagers.InfoAPIManagers.Pair;
|
||||
import com.herbron.moodl.DataManagers.PreferencesManager;
|
||||
import com.herbron.moodl.PlaceholderManager;
|
||||
import com.herbron.moodl.R;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class SellFragment extends CustomRecordFragment {
|
||||
|
||||
private TextInputEditText amoutEditText;
|
||||
private TextInputEditText sellPriceEditText;
|
||||
private TextInputEditText sellDateEditText;
|
||||
private TextInputEditText totalValueEditText;
|
||||
private TextInputEditText fees_editText;
|
||||
private TextInputEditText note_editText;
|
||||
private AppCompatButton saveSellButton;
|
||||
private static Spinner feesCurrencySpinner;
|
||||
private static View view;
|
||||
|
||||
private ArrayAdapter<String> currencyFeeAdapter;
|
||||
|
||||
private SimpleDateFormat sdf;
|
||||
private Calendar calendar;
|
||||
private PreferencesManager preferenceManager;
|
||||
|
||||
private static Context context;
|
||||
|
||||
private static Currency fragmentCurrency;
|
||||
private static Exchange fragmentExchange;
|
||||
private static Pair fragmentPair;
|
||||
private List<String> symbolStrings;
|
||||
|
||||
private int transactionId;
|
||||
private Transaction transaction;
|
||||
|
||||
private boolean isAmountLastUpdated;
|
||||
|
||||
private TextWatcher amountTextWatcher = new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
totalValueEditText.removeTextChangedListener(totalValueTextWatcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
if(isFieldCorrectlyFilled(sellPriceEditText, false) && isFieldCorrectlyFilled(amoutEditText, false))
|
||||
{
|
||||
if(Double.parseDouble(amoutEditText.getText().toString()) > 0)
|
||||
{
|
||||
Double totalValue = Double.parseDouble(sellPriceEditText.getText().toString()) * Double.parseDouble(s.toString());
|
||||
totalValueEditText.setText(String.format("%f", totalValue));
|
||||
}
|
||||
else
|
||||
{
|
||||
totalValueEditText.setText("0");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
totalValueEditText.setText("");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
totalValueEditText.addTextChangedListener(totalValueTextWatcher);
|
||||
isAmountLastUpdated = true;
|
||||
}
|
||||
};
|
||||
|
||||
private TextWatcher totalValueTextWatcher = new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
amoutEditText.removeTextChangedListener(amountTextWatcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
if(isFieldCorrectlyFilled(sellPriceEditText, false) && isFieldCorrectlyFilled(totalValueEditText, false))
|
||||
{
|
||||
if(Double.parseDouble(totalValueEditText.getText().toString()) > 0)
|
||||
{
|
||||
Double amount = Double.parseDouble(s.toString()) / Double.parseDouble(sellPriceEditText.getText().toString());
|
||||
amoutEditText.setText(String.format("%f", amount));
|
||||
}
|
||||
else
|
||||
{
|
||||
amoutEditText.setText("0");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
amoutEditText.setText("");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
amoutEditText.addTextChangedListener(amountTextWatcher);
|
||||
isAmountLastUpdated = false;
|
||||
}
|
||||
};
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
View view = inflater.inflate(R.layout.fragment_sell, container, false);
|
||||
view = inflater.inflate(R.layout.fragment_sell, container, false);
|
||||
|
||||
context = getActivity().getApplicationContext();
|
||||
|
||||
calendar = Calendar.getInstance();
|
||||
sdf = new SimpleDateFormat(" HH:mm dd/MM/yyyy", Locale.UK);
|
||||
|
||||
preferenceManager = new PreferencesManager(getContext());
|
||||
|
||||
initializeViewElements();
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
private void initializeViewElements()
|
||||
{
|
||||
totalValueEditText = view.findViewById(R.id.totalValue_editText_sell);
|
||||
totalValueEditText.addTextChangedListener(totalValueTextWatcher);
|
||||
|
||||
amoutEditText = view.findViewById(R.id.amount_editText_sell);
|
||||
amoutEditText.addTextChangedListener(amountTextWatcher);
|
||||
|
||||
sellPriceEditText = view.findViewById(R.id.sellPrice_editText);
|
||||
sellDateEditText = view.findViewById(R.id.sellDate_editText);
|
||||
sellDateEditText.setText(sdf.format(calendar.getTime()));
|
||||
|
||||
sellDateEditText.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
createDatePicker();
|
||||
}
|
||||
});
|
||||
feesCurrencySpinner = view.findViewById(R.id.feesCurrency_editText_sell);
|
||||
|
||||
currencyFeeAdapter = new ArrayAdapter<String>(getSecureContext(), android.R.layout.simple_spinner_item, new ArrayList<>());
|
||||
currencyFeeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
feesCurrencySpinner.setAdapter(currencyFeeAdapter);
|
||||
|
||||
if(fragmentPair != null)
|
||||
{
|
||||
updateAdapter();
|
||||
}
|
||||
|
||||
saveSellButton = view.findViewById(R.id.saveSellButton);
|
||||
saveSellButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if(isFieldCorrectlyFilled(amoutEditText, true) && isFieldCorrectlyFilled(sellPriceEditText, true) && isFieldCorrectlyFilled(totalValueEditText, true))
|
||||
{
|
||||
double amount = Double.parseDouble(amoutEditText.getText().toString());
|
||||
double purchasePrice = Double.parseDouble(sellPriceEditText.getText().toString());
|
||||
double fees;
|
||||
String feeCurrency;
|
||||
|
||||
if(feesCurrencySpinner.getSelectedItemPosition() < 1)
|
||||
{
|
||||
feeCurrency = fragmentPair.getFrom();
|
||||
}
|
||||
else
|
||||
{
|
||||
feeCurrency = fragmentPair.getTo();
|
||||
}
|
||||
|
||||
fees = getFees(feeCurrency, amount, purchasePrice);
|
||||
|
||||
String note = note_editText.getText().toString();
|
||||
|
||||
DatabaseManager databaseManager = new DatabaseManager(getContext());
|
||||
|
||||
preferenceManager.setMustUpdateSummary(true);
|
||||
|
||||
if(transactionId == -1)
|
||||
{
|
||||
databaseManager.addTransaction(fragmentCurrency.getSymbol()
|
||||
, amount
|
||||
, calendar.getTime()
|
||||
, purchasePrice
|
||||
, fees
|
||||
, note
|
||||
, fragmentPair.getFrom().equals(fragmentCurrency.getSymbol()) ? fragmentPair.getTo() : fragmentPair.getFrom()
|
||||
, feeCurrency
|
||||
, fragmentExchange.getName()
|
||||
, "s"
|
||||
, feesCurrencySpinner.getSelectedItemPosition() % 2 == 0 ? "p" : "f");
|
||||
|
||||
Intent intent = new Intent(getActivity(), HomeActivity.class);
|
||||
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
|
||||
startActivity(intent);
|
||||
}
|
||||
else
|
||||
{
|
||||
databaseManager.updateTransactionWithId(transactionId
|
||||
, amount
|
||||
, calendar.getTime()
|
||||
, purchasePrice
|
||||
, fees
|
||||
, note
|
||||
, fragmentPair.getFrom().equals(fragmentCurrency.getSymbol()) ? fragmentPair.getTo() : fragmentPair.getFrom()
|
||||
, feeCurrency
|
||||
, fragmentExchange.getName()
|
||||
, "s"
|
||||
, feesCurrencySpinner.getSelectedItemPosition() % 2 == 0 ? "p" : "f");
|
||||
}
|
||||
|
||||
getActivity().finish();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
fees_editText = view.findViewById(R.id.fees_editText_sell);
|
||||
fees_editText.addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
|
||||
totalValueEditText.removeTextChangedListener(totalValueTextWatcher);
|
||||
amoutEditText.removeTextChangedListener(amountTextWatcher);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence s, int start, int before, int count) {
|
||||
|
||||
if((isFieldCorrectlyFilled(amoutEditText, false) || isFieldCorrectlyFilled(totalValueEditText, false)) && isFieldCorrectlyFilled(sellPriceEditText, false))
|
||||
{
|
||||
double amount = Double.parseDouble(amoutEditText.getText().toString());
|
||||
double purchasePrice = Double.parseDouble(sellPriceEditText.getText().toString());
|
||||
double fees;
|
||||
double totalValue = Double.parseDouble(totalValueEditText.getText().toString());
|
||||
String feeCurrency;
|
||||
|
||||
if(isAmountLastUpdated)
|
||||
{
|
||||
totalValue = amount * purchasePrice;
|
||||
}
|
||||
else
|
||||
{
|
||||
amount = totalValue / purchasePrice;
|
||||
}
|
||||
|
||||
if(fees_editText.getText().toString().equals("0") || (start == 0 && before == 1 && count == 0))
|
||||
{
|
||||
if(isAmountLastUpdated)
|
||||
{
|
||||
totalValueEditText.setText(String.valueOf(amount * purchasePrice));
|
||||
}
|
||||
else
|
||||
{
|
||||
amoutEditText.setText(String.valueOf(totalValue / purchasePrice));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if(feesCurrencySpinner.getSelectedItemPosition() < 2)
|
||||
{
|
||||
feeCurrency = fragmentPair.getFrom();
|
||||
}
|
||||
else
|
||||
{
|
||||
feeCurrency = fragmentPair.getTo();
|
||||
}
|
||||
|
||||
fees = getFees(feeCurrency, amount, purchasePrice);
|
||||
|
||||
if(feesCurrencySpinner.getSelectedItemPosition() % 2 == 0)
|
||||
{
|
||||
if(isAmountLastUpdated)
|
||||
{
|
||||
totalValueEditText.setText(String.valueOf(totalValue + fees));
|
||||
}
|
||||
else
|
||||
{
|
||||
amoutEditText.setText(String.valueOf(amount - (fees / purchasePrice)));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(fragmentCurrency.getSymbol().equals(feeCurrency))
|
||||
{
|
||||
if(isAmountLastUpdated)
|
||||
{
|
||||
totalValueEditText.setText(String.valueOf(totalValue + (fees * purchasePrice)));
|
||||
}
|
||||
else
|
||||
{
|
||||
amoutEditText.setText(String.valueOf((totalValue / purchasePrice) - fees));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isAmountLastUpdated)
|
||||
{
|
||||
totalValueEditText.setText(String.valueOf(totalValue + fees));
|
||||
}
|
||||
else
|
||||
{
|
||||
amoutEditText.setText(String.valueOf((totalValue - fees) / purchasePrice));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable s) {
|
||||
totalValueEditText.addTextChangedListener(totalValueTextWatcher);
|
||||
amoutEditText.addTextChangedListener(amountTextWatcher);
|
||||
}
|
||||
});
|
||||
|
||||
note_editText = view.findViewById(R.id.note_editText_sell);
|
||||
|
||||
checkCallingIntent();
|
||||
}
|
||||
|
||||
private double getFees(String feeCurrency, double amount, double purchasedPrice)
|
||||
{
|
||||
double fees;
|
||||
|
||||
if(fees_editText.getText().toString().equals(""))
|
||||
{
|
||||
fees = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
fees = Double.parseDouble(fees_editText.getText().toString());
|
||||
|
||||
if(feesCurrencySpinner.getSelectedItemPosition() % 2 == 0)
|
||||
{
|
||||
if(fragmentCurrency.getSymbol().equals(feeCurrency))
|
||||
{
|
||||
fees = (100 * amount) / (100 + fees);
|
||||
}
|
||||
else
|
||||
{
|
||||
double base = (100 * purchasedPrice * amount) / (100 + fees);
|
||||
|
||||
fees = purchasedPrice * amount - base;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return fees;
|
||||
}
|
||||
|
||||
private void checkCallingIntent()
|
||||
{
|
||||
Intent intent = getActivity().getIntent();
|
||||
transactionId = intent.getIntExtra("transactionId", -1);
|
||||
|
||||
if(transactionId != -1)
|
||||
{
|
||||
DatabaseManager databaseManager = new DatabaseManager(context);
|
||||
transaction = databaseManager.getCurrencyTransactionById(transactionId);
|
||||
|
||||
if(transaction.getType().equals("b"))
|
||||
{
|
||||
fillFields();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void fillFields()
|
||||
{
|
||||
amoutEditText.setText(String.valueOf(transaction.getAmount()));
|
||||
sellPriceEditText.setText(String.valueOf(transaction.getPrice()));
|
||||
calendar.setTimeInMillis(transaction.getTimestamp());
|
||||
sellDateEditText.setText(sdf.format(calendar.getTime()));
|
||||
totalValueEditText.setText(String.valueOf(transaction.getAmount() * transaction.getPrice()));
|
||||
fees_editText.setText(String.valueOf(transaction.getFees()));
|
||||
note_editText.setText(transaction.getNote());
|
||||
}
|
||||
|
||||
private void updateAdapter()
|
||||
{
|
||||
symbolStrings = new ArrayList<>();
|
||||
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(fragmentPair.getFrom(), getSecureContext()));
|
||||
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(fragmentPair.getTo(), getSecureContext()));
|
||||
|
||||
currencyFeeAdapter.clear();
|
||||
currencyFeeAdapter.addAll(symbolStrings);
|
||||
currencyFeeAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
private static Context getSecureContext()
|
||||
{
|
||||
return context;
|
||||
}
|
||||
|
||||
private void createDatePicker()
|
||||
{
|
||||
DatePickerDialog datePickerDialog = new DatePickerDialog(
|
||||
getContext(),
|
||||
new DatePickerDialog.OnDateSetListener() {
|
||||
@Override
|
||||
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
|
||||
calendar.set(Calendar.YEAR, year);
|
||||
calendar.set(Calendar.MONTH, month);
|
||||
calendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
|
||||
sellDateEditText.setText(sdf.format(calendar.getTime()));
|
||||
createTimePicker();
|
||||
}
|
||||
},
|
||||
calendar.get(Calendar.YEAR),
|
||||
calendar.get(Calendar.MONTH),
|
||||
calendar.get(Calendar.DAY_OF_MONTH)
|
||||
);
|
||||
|
||||
datePickerDialog.getDatePicker().setMaxDate(Calendar.getInstance().getTimeInMillis());
|
||||
datePickerDialog.show();
|
||||
}
|
||||
|
||||
private void createTimePicker()
|
||||
{
|
||||
new android.app.TimePickerDialog(
|
||||
getContext(),
|
||||
new android.app.TimePickerDialog.OnTimeSetListener() {
|
||||
@Override
|
||||
public void onTimeSet(TimePicker view, int hour, int minute) {
|
||||
calendar.set(Calendar.HOUR_OF_DAY, hour);
|
||||
calendar.set(Calendar.MINUTE, minute);
|
||||
sellDateEditText.setText(sdf.format(calendar.getTime()));
|
||||
|
||||
if(fragmentCurrency != null)
|
||||
{
|
||||
fragmentCurrency.getTimestampPrice(getContext(), fragmentCurrency.getSymbol().equals(fragmentPair.getFrom()) ? fragmentPair.getTo() : fragmentPair.getFrom(),calendar.getTimeInMillis() / 1000);
|
||||
}
|
||||
}
|
||||
},
|
||||
calendar.get(Calendar.HOUR_OF_DAY),
|
||||
calendar.get(Calendar.MINUTE),
|
||||
true
|
||||
).show();
|
||||
}
|
||||
|
||||
private boolean isFieldCorrectlyFilled(TextInputEditText editText, boolean displayError)
|
||||
{
|
||||
String purchasedPriceText = editText.getText().toString();
|
||||
double purchasedPrice;
|
||||
|
||||
try {
|
||||
purchasedPrice = Double.parseDouble(purchasedPriceText);
|
||||
|
||||
if(purchasedPrice < 0)
|
||||
{
|
||||
if(displayError) editText.setError(getResources().getString(R.string.field_negative));
|
||||
|
||||
return false;
|
||||
}
|
||||
} catch (NumberFormatException e) {
|
||||
if(displayError) editText.setError(getResources().getString(R.string.field_nan));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
if(purchasedPriceText.equals(""))
|
||||
{
|
||||
if(displayError) editText.setError(getResources().getString(R.string.field_empty));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCurrencyUpdated() {
|
||||
|
||||
fragmentCurrency = currency;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onExchangeUpdated() {
|
||||
fragmentExchange = exchange;
|
||||
}
|
||||
|
||||
public void updatePair(Pair pair)
|
||||
{
|
||||
currencyFeeAdapter = new ArrayAdapter<String>(getSecureContext(), android.R.layout.simple_spinner_item, new ArrayList<>());
|
||||
currencyFeeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
feesCurrencySpinner.setAdapter(currencyFeeAdapter);
|
||||
|
||||
symbolStrings = new ArrayList<>();
|
||||
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(pair.getFrom(), getSecureContext()));
|
||||
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(pair.getTo(), getSecureContext()));
|
||||
currencyFeeAdapter.addAll(symbolStrings);
|
||||
currencyFeeAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPairUpdated() {
|
||||
fragmentPair = pair;
|
||||
|
||||
fragmentCurrency.addOnTimestampPriceUpdatedListener(new Currency.OnTimestampPriceUpdatedListener() {
|
||||
@Override
|
||||
public void onTimeStampPriceUpdated(String price) {
|
||||
((TextInputEditText) view.findViewById(R.id.sellPrice_editText)).setText(price);
|
||||
|
||||
updatePair(fragmentPair);
|
||||
}
|
||||
});
|
||||
|
||||
if(preferenceManager == null)
|
||||
{
|
||||
preferenceManager = new PreferencesManager(getSecureContext());
|
||||
}
|
||||
|
||||
if(calendar == null)
|
||||
{
|
||||
calendar = Calendar.getInstance();
|
||||
}
|
||||
|
||||
fragmentCurrency.getTimestampPrice(getSecureContext(), fragmentCurrency.getSymbol().equals(fragmentPair.getFrom()) ? fragmentPair.getTo() : fragmentPair.getFrom(), calendar.getTimeInMillis() / 1000);
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ public class Currency implements Parcelable {
|
||||
private int rank;
|
||||
private String startDate;
|
||||
private List<String> socialMediaLinks;
|
||||
private OnTimestampPriceUpdatedListener onTimestampPriceUpdatedListener;
|
||||
private List<OnTimestampPriceUpdatedListener> onTimestampPriceUpdatedListenerList;
|
||||
//private String proofType
|
||||
|
||||
private CurrencyInfoUpdateNotifierInterface currencyInfoUpdateNotifierInterface;
|
||||
@ -82,8 +82,6 @@ public class Currency implements Parcelable {
|
||||
this.currencyInfoUpdateNotifierInterface = currencyInfoUpdateNotifierInterface;
|
||||
}
|
||||
|
||||
//public Currency(int id, String symbol, String name, String algorithm, String proofType, )
|
||||
|
||||
public void getTimestampPrice(android.content.Context context, String toSymbol, long timestamp)
|
||||
{
|
||||
dataRetriver = new CurrencyDataRetriever(context);
|
||||
@ -96,9 +94,12 @@ public class Currency implements Parcelable {
|
||||
public void onSuccess(String price) {
|
||||
currencyInfoUpdateNotifierInterface.onTimestampPriceUpdated(price);
|
||||
|
||||
if(onTimestampPriceUpdatedListener != null)
|
||||
if(onTimestampPriceUpdatedListenerList != null)
|
||||
{
|
||||
onTimestampPriceUpdatedListener.onTimeStampPriceUpdated(price);
|
||||
for(int i = 0; i < onTimestampPriceUpdatedListenerList.size(); i++)
|
||||
{
|
||||
onTimestampPriceUpdatedListenerList.get(i).onTimeStampPriceUpdated(price);
|
||||
}
|
||||
}
|
||||
}
|
||||
}, timestamp);
|
||||
@ -221,12 +222,6 @@ public class Currency implements Parcelable {
|
||||
}, CurrencyDataRetriever.DAYS);
|
||||
}
|
||||
|
||||
public void updateDetails(android.content.Context context, final CurrencyCallBack callBack)
|
||||
{
|
||||
dataRetriver = new CurrencyDataRetriever(context);
|
||||
|
||||
}
|
||||
|
||||
private int getDarkenColor(int color)
|
||||
{
|
||||
int transColor;
|
||||
@ -542,8 +537,13 @@ public class Currency implements Parcelable {
|
||||
void onTimeStampPriceUpdated(String price);
|
||||
}
|
||||
|
||||
public void setOnTimestampPriceUpdatedListener(OnTimestampPriceUpdatedListener onTimestampPriceUpdatedListener)
|
||||
public void addOnTimestampPriceUpdatedListener(OnTimestampPriceUpdatedListener onTimestampPriceUpdatedListener)
|
||||
{
|
||||
this.onTimestampPriceUpdatedListener = onTimestampPriceUpdatedListener;
|
||||
if(onTimestampPriceUpdatedListenerList == null)
|
||||
{
|
||||
onTimestampPriceUpdatedListenerList = new ArrayList<>();
|
||||
}
|
||||
|
||||
onTimestampPriceUpdatedListenerList.add(onTimestampPriceUpdatedListener);
|
||||
}
|
||||
}
|
||||
|
@ -1,135 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/record_transaction_layout_background_buy">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_amount"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/amount_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_add_amount"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:baselineAligned="false">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_buyPrice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1.5">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/buyPrice_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_purchase_price"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_buyDate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/buyDate_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/activity_purchase_date"
|
||||
android:focusable="false"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_totalValue"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/totalValue_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/total_value"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_fees"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.7">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/fees_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_fees"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/feesCurrency_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_note"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/note_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/notes"
|
||||
android:maxLines="4"
|
||||
android:lines="4"
|
||||
android:gravity="top"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.v7.widget.AppCompatButton
|
||||
android:id="@+id/saveBuyButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:text="@string/save"
|
||||
android:layout_marginBottom="@dimen/mdtp_minimum_margin_top_bottom"
|
||||
android:layout_gravity="end"
|
||||
style="@style/Widget.AppCompat.Button.Colored"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
@ -1,135 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/record_transaction_layout_background_sell">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="@dimen/margin"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_amount"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/amount_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_add_amount"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:baselineAligned="false">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_sellPrice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1.5">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/sellPrice_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_sell_price"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_sellDate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/sellDate_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/activity_sell_date"
|
||||
android:focusable="false"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_totalValue"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/totalValue_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/total_value"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_fees"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.7">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/fees_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_fees"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/feesCurrency_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_note"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/note_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/notes"
|
||||
android:maxLines="4"
|
||||
android:lines="4"
|
||||
android:gravity="top"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.v7.widget.AppCompatButton
|
||||
android:id="@+id/saveSellButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:text="@string/save"
|
||||
android:layout_marginBottom="@dimen/mdtp_minimum_margin_top_bottom"
|
||||
android:layout_gravity="end"
|
||||
style="@style/Widget.AppCompat.Button.Colored"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/record_transaction_layout_background_transfer">
|
||||
|
||||
<TextView
|
||||
android:text="transfer fragment"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_centerHorizontal="true"/>
|
||||
|
||||
</RelativeLayout>
|
@ -11,12 +11,12 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_amount"
|
||||
android:id="@+id/input_amount_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/amount_editText"
|
||||
android:id="@+id/amount_editText_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
@ -63,12 +63,12 @@
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_totalValue"
|
||||
android:id="@+id/input_totalValue_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/totalValue_editText"
|
||||
android:id="@+id/totalValue_editText_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
@ -82,13 +82,13 @@
|
||||
android:orientation="horizontal">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_fees"
|
||||
android:id="@+id/input_fees_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.7">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/fees_editText"
|
||||
android:id="@+id/fees_editText_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
@ -97,7 +97,7 @@
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/feesCurrency_editText"
|
||||
android:id="@+id/feesCurrency_editText_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"/>
|
||||
@ -105,12 +105,12 @@
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_note"
|
||||
android:id="@+id/input_note_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/note_editText"
|
||||
android:id="@+id/note_editText_buy"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/notes"
|
||||
|
@ -1,15 +1,135 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/record_transaction_layout_background_sell">
|
||||
|
||||
<TextView
|
||||
android:text="sell fragment"
|
||||
android:layout_width="wrap_content"
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_centerHorizontal="true"/>
|
||||
android:layout_margin="@dimen/margin"
|
||||
android:orientation="vertical">
|
||||
|
||||
</RelativeLayout>
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_amount_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/amount_editText_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_add_amount"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:baselineAligned="false">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_sellPrice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1.5">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/sellPrice_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_sell_price"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_sellDate"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/sellDate_editText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/activity_sell_date"
|
||||
android:focusable="false"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_totalValue_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/totalValue_editText_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/total_value"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_fees_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="0.7">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/fees_editText_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberDecimal"
|
||||
android:hint="@string/activity_fees"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<Spinner
|
||||
android:id="@+id/feesCurrency_editText_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:id="@+id/input_note_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<android.support.design.widget.TextInputEditText
|
||||
android:id="@+id/note_editText_sell"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="@string/notes"
|
||||
android:maxLines="4"
|
||||
android:lines="4"
|
||||
android:gravity="top"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.v7.widget.AppCompatButton
|
||||
android:id="@+id/saveSellButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/white"
|
||||
android:text="@string/save"
|
||||
android:layout_marginBottom="@dimen/mdtp_minimum_margin_top_bottom"
|
||||
android:layout_gravity="end"
|
||||
style="@style/Widget.AppCompat.Button.Colored"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
Loading…
Reference in New Issue
Block a user