Fix fee format when editing a transaction
This commit is contained in:
parent
4bdffe22c4
commit
e308e962d7
@ -32,6 +32,7 @@ import android.widget.LinearLayout;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.TimePicker;
|
import android.widget.TimePicker;
|
||||||
|
|
||||||
|
import com.herbron.moodl.Activities.RecordTransactionFragments.BuyFragment;
|
||||||
import com.herbron.moodl.CurrencyInfoUpdateNotifierInterface;
|
import com.herbron.moodl.CurrencyInfoUpdateNotifierInterface;
|
||||||
import com.herbron.moodl.CustomAdapters.PairRecordListAdapter;
|
import com.herbron.moodl.CustomAdapters.PairRecordListAdapter;
|
||||||
import com.herbron.moodl.CustomLayouts.CustomRecordFragment;
|
import com.herbron.moodl.CustomLayouts.CustomRecordFragment;
|
||||||
@ -227,6 +228,8 @@ public class RecordTransactionActivity extends AppCompatActivity implements Curr
|
|||||||
pair_autoCompleteTextView.setText(PlaceholderManager.getPairString(pair.getFrom(), pair.getTo(), getBaseContext()));
|
pair_autoCompleteTextView.setText(PlaceholderManager.getPairString(pair.getFrom(), pair.getTo(), getBaseContext()));
|
||||||
pair_autoCompleteTextView.setEnabled(true);
|
pair_autoCompleteTextView.setEnabled(true);
|
||||||
|
|
||||||
|
((BuyFragment) pageAdapter.getItem(0)).updatePair(pair);
|
||||||
|
|
||||||
updatePairData();
|
updatePairData();
|
||||||
|
|
||||||
found = true;
|
found = true;
|
||||||
|
@ -63,6 +63,7 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
private List<String> symbolStrings;
|
private List<String> symbolStrings;
|
||||||
|
|
||||||
private int transactionId;
|
private int transactionId;
|
||||||
|
private Transaction transaction;
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
@ -78,8 +79,6 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
|
|
||||||
initializeViewElements();
|
initializeViewElements();
|
||||||
|
|
||||||
checkCallingIntent();
|
|
||||||
|
|
||||||
return view;
|
return view;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,16 +90,16 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
if(transactionId != -1)
|
if(transactionId != -1)
|
||||||
{
|
{
|
||||||
DatabaseManager databaseManager = new DatabaseManager(context);
|
DatabaseManager databaseManager = new DatabaseManager(context);
|
||||||
Transaction transaction = databaseManager.getCurrencyTransactionById(transactionId);
|
transaction = databaseManager.getCurrencyTransactionById(transactionId);
|
||||||
|
|
||||||
if(transaction.getType().equals("b"))
|
if(transaction.getType().equals("b"))
|
||||||
{
|
{
|
||||||
fillFields(transaction);
|
fillFields();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void fillFields(Transaction transaction)
|
private void fillFields()
|
||||||
{
|
{
|
||||||
amoutEditText.setText(String.valueOf(transaction.getAmount()));
|
amoutEditText.setText(String.valueOf(transaction.getAmount()));
|
||||||
buyPriceEditText.setText(String.valueOf(transaction.getPurchasePrice()));
|
buyPriceEditText.setText(String.valueOf(transaction.getPurchasePrice()));
|
||||||
@ -109,6 +108,31 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
totalValueEditText.setText(String.valueOf(transaction.getAmount() * transaction.getPurchasePrice()));
|
totalValueEditText.setText(String.valueOf(transaction.getAmount() * transaction.getPurchasePrice()));
|
||||||
fees_editText.setText(String.valueOf(transaction.getFees()));
|
fees_editText.setText(String.valueOf(transaction.getFees()));
|
||||||
note_editText.setText(transaction.getNote());
|
note_editText.setText(transaction.getNote());
|
||||||
|
|
||||||
|
Log.d("moodl", "> " + fragmentPair);
|
||||||
|
|
||||||
|
/*if(transaction.getSymbol().equals(fragmentPair.getFrom()))
|
||||||
|
{
|
||||||
|
if(transaction.getFeeFormat().equals("p"))
|
||||||
|
{
|
||||||
|
feesCurrencySpinner.setSelection(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
feesCurrencySpinner.setSelection(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(transaction.getFeeFormat().equals("p"))
|
||||||
|
{
|
||||||
|
feesCurrencySpinner.setSelection(2);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
feesCurrencySpinner.setSelection(3);
|
||||||
|
}
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initializeViewElements()
|
private void initializeViewElements()
|
||||||
@ -208,7 +232,8 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
, fragmentPair.getFrom().equals(fragmentCurrency.getSymbol()) ? fragmentPair.getTo() : fragmentPair.getFrom()
|
, fragmentPair.getFrom().equals(fragmentCurrency.getSymbol()) ? fragmentPair.getTo() : fragmentPair.getFrom()
|
||||||
, feeCurrency
|
, feeCurrency
|
||||||
, fragmentExchange.getName()
|
, fragmentExchange.getName()
|
||||||
, "b");
|
, "b"
|
||||||
|
, feesCurrencySpinner.getSelectedItemPosition() % 2 == 0 ? "p" : "f");
|
||||||
|
|
||||||
Intent intent = new Intent(getActivity(), HomeActivity.class);
|
Intent intent = new Intent(getActivity(), HomeActivity.class);
|
||||||
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
|
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
|
||||||
@ -225,7 +250,8 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
, fragmentPair.getFrom().equals(fragmentCurrency.getSymbol()) ? fragmentPair.getTo() : fragmentPair.getFrom()
|
, fragmentPair.getFrom().equals(fragmentCurrency.getSymbol()) ? fragmentPair.getTo() : fragmentPair.getFrom()
|
||||||
, feeCurrency
|
, feeCurrency
|
||||||
, fragmentExchange.getName()
|
, fragmentExchange.getName()
|
||||||
, "b");
|
, "b"
|
||||||
|
, feesCurrencySpinner.getSelectedItemPosition() % 2 == 0 ? "p" : "f");
|
||||||
}
|
}
|
||||||
|
|
||||||
getActivity().finish();
|
getActivity().finish();
|
||||||
@ -235,6 +261,8 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
|
|
||||||
fees_editText = view.findViewById(R.id.fees_editText);
|
fees_editText = view.findViewById(R.id.fees_editText);
|
||||||
note_editText = view.findViewById(R.id.note_editText);
|
note_editText = view.findViewById(R.id.note_editText);
|
||||||
|
|
||||||
|
checkCallingIntent();
|
||||||
}
|
}
|
||||||
|
|
||||||
private double getFees(String feeCurrency, double amount, double purchasedPrice)
|
private double getFees(String feeCurrency, double amount, double purchasedPrice)
|
||||||
@ -367,6 +395,19 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
fragmentExchange = exchange;
|
fragmentExchange = exchange;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
|
||||||
|
symbolStrings = new ArrayList<>();
|
||||||
|
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(pair.getFrom(), getSecureContext()));
|
||||||
|
symbolStrings.addAll(PlaceholderManager.getFeeOptionsForSymbol(pair.getTo(), getSecureContext()));
|
||||||
|
currencyAdapter.addAll(symbolStrings);
|
||||||
|
currencyAdapter.notifyDataSetChanged();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPairUpdated() {
|
public void onPairUpdated() {
|
||||||
fragmentPair = pair;
|
fragmentPair = pair;
|
||||||
@ -393,7 +434,7 @@ public class BuyFragment extends CustomRecordFragment {
|
|||||||
calendar = Calendar.getInstance();
|
calendar = Calendar.getInstance();
|
||||||
}
|
}
|
||||||
|
|
||||||
fragmentCurrency.getTimestampPrice(getSecureContext(), preferenceManager.getDefaultCurrency(), calendar.getTimeInMillis() / 1000);
|
fragmentCurrency.getTimestampPrice(getSecureContext(), fragmentCurrency.getSymbol().equals(fragmentPair.getFrom()) ? fragmentPair.getTo() : fragmentPair.getFrom(), calendar.getTimeInMillis() / 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -12,14 +12,15 @@ public class Transaction {
|
|||||||
private long timestamp;
|
private long timestamp;
|
||||||
private double purchasePrice;
|
private double purchasePrice;
|
||||||
private double fees;
|
private double fees;
|
||||||
|
private String feeCurrency;
|
||||||
|
private String feeFormat;
|
||||||
private String note;
|
private String note;
|
||||||
private String symPair;
|
private String symPair;
|
||||||
private String feeCurrency;
|
|
||||||
private String source;
|
private String source;
|
||||||
private String destination;
|
private String destination;
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
public Transaction(int transactionId, String symbol, String symPair, double amount, long timestamp, double purchasedPrice, double fees, String note, String feeCurrency, String source, String destination, String type)
|
public Transaction(int transactionId, String symbol, String symPair, double amount, long timestamp, double purchasedPrice, double fees, String note, String feeCurrency, String source, String destination, String type, String feeFormat)
|
||||||
{
|
{
|
||||||
this.transactionId = transactionId;
|
this.transactionId = transactionId;
|
||||||
this.symbol = symbol;
|
this.symbol = symbol;
|
||||||
@ -33,6 +34,7 @@ public class Transaction {
|
|||||||
this.source = source;
|
this.source = source;
|
||||||
this.destination = destination;
|
this.destination = destination;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
|
this.feeFormat = feeFormat;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getTransactionId() {
|
public int getTransactionId() {
|
||||||
@ -133,4 +135,12 @@ public class Transaction {
|
|||||||
public void setType(String type) {
|
public void setType(String type) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getFeeFormat() {
|
||||||
|
return feeFormat;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFeeFormat(String feeFormat) {
|
||||||
|
this.feeFormat = feeFormat;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public class DatabaseManager extends SQLiteOpenHelper{
|
public class DatabaseManager extends SQLiteOpenHelper{
|
||||||
|
|
||||||
private static final int DATABASE_VERSION = 15;
|
private static final int DATABASE_VERSION = 16;
|
||||||
|
|
||||||
private static final String DATABASE_NAME = "mdn.db";
|
private static final String DATABASE_NAME = "mdn.db";
|
||||||
|
|
||||||
@ -45,6 +45,7 @@ public class DatabaseManager extends SQLiteOpenHelper{
|
|||||||
private static final String KEY_TRANSACTION_DESTINATION = "destination";
|
private static final String KEY_TRANSACTION_DESTINATION = "destination";
|
||||||
private static final String KEY_TRANSACTION_FEES = "fees";
|
private static final String KEY_TRANSACTION_FEES = "fees";
|
||||||
private static final String KEY_TRANSACTION_FEE_CURRENCY = "feeCurrency";
|
private static final String KEY_TRANSACTION_FEE_CURRENCY = "feeCurrency";
|
||||||
|
private static final String KEY_TRANSACTION_FEE_FORMAT = "feeFormat";
|
||||||
private static final String KEY_TRANSACTION_NOTES = "notes";
|
private static final String KEY_TRANSACTION_NOTES = "notes";
|
||||||
private static final String KEY_TRANSACTION_TYPE = "transactionType";
|
private static final String KEY_TRANSACTION_TYPE = "transactionType";
|
||||||
|
|
||||||
@ -78,10 +79,11 @@ public class DatabaseManager extends SQLiteOpenHelper{
|
|||||||
+ KEY_TRANSACTION_AMOUNT + " TEXT,"
|
+ KEY_TRANSACTION_AMOUNT + " TEXT,"
|
||||||
+ KEY_TRANSACTION_DATE + " TEXT,"
|
+ KEY_TRANSACTION_DATE + " TEXT,"
|
||||||
+ KEY_TRANSACTION_PURCHASE_PRICE + " REAL,"
|
+ KEY_TRANSACTION_PURCHASE_PRICE + " REAL,"
|
||||||
+ KEY_TRANSACTION_FEES + " REAL,"
|
|
||||||
+ KEY_TRANSACTION_NOTES + " TEXT,"
|
+ KEY_TRANSACTION_NOTES + " TEXT,"
|
||||||
+ KEY_TRANSACTION_PAIR + " VARCHAR(4),"
|
+ KEY_TRANSACTION_PAIR + " VARCHAR(4),"
|
||||||
+ KEY_TRANSACTION_FEE_CURRENCY + " VARCHAR(4),"
|
+ KEY_TRANSACTION_FEE_CURRENCY + " VARCHAR(4),"
|
||||||
|
+ KEY_TRANSACTION_FEES + " REAL,"
|
||||||
|
+ KEY_TRANSACTION_FEE_FORMAT + " VARCHAT(1),"
|
||||||
+ KEY_TRANSACTION_SOURCE + " TEXT,"
|
+ KEY_TRANSACTION_SOURCE + " TEXT,"
|
||||||
+ KEY_TRANSACTION_DESTINATION + " TEXT,"
|
+ KEY_TRANSACTION_DESTINATION + " TEXT,"
|
||||||
+ KEY_TRANSACTION_TYPE + " VARCHAR(1)"
|
+ KEY_TRANSACTION_TYPE + " VARCHAR(1)"
|
||||||
@ -148,7 +150,7 @@ public class DatabaseManager extends SQLiteOpenHelper{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateTransactionWithId(int transactionId, double amount, Date date, double purchasedPrice, double fees, String note, String symbolFrom, String feeCurrency, String exchange, String type)
|
public void updateTransactionWithId(int transactionId, double amount, Date date, double purchasedPrice, double fees, String note, String symbolFrom, String feeCurrency, String exchange, String type, String feeFormat)
|
||||||
{
|
{
|
||||||
SQLiteDatabase db = this.getWritableDatabase();
|
SQLiteDatabase db = this.getWritableDatabase();
|
||||||
ContentValues cv = new ContentValues();
|
ContentValues cv = new ContentValues();
|
||||||
@ -162,12 +164,13 @@ public class DatabaseManager extends SQLiteOpenHelper{
|
|||||||
cv.put(KEY_TRANSACTION_FEE_CURRENCY, feeCurrency);
|
cv.put(KEY_TRANSACTION_FEE_CURRENCY, feeCurrency);
|
||||||
cv.put(KEY_TRANSACTION_SOURCE, exchange);
|
cv.put(KEY_TRANSACTION_SOURCE, exchange);
|
||||||
cv.put(KEY_TRANSACTION_TYPE, type);
|
cv.put(KEY_TRANSACTION_TYPE, type);
|
||||||
|
cv.put(KEY_TRANSACTION_FEE_FORMAT, feeFormat);
|
||||||
|
|
||||||
db.update(TABLE_MANUAL_TRANSACTIONS, cv, KEY_TRANSACTION_ID + "=" + transactionId, null);
|
db.update(TABLE_MANUAL_TRANSACTIONS, cv, KEY_TRANSACTION_ID + "=" + transactionId, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addTransaction(String symbol, Double amount, Date date, Double purchasePrice, double fees, String note, String symbolFrom, String feeCurrency, String exchange, String type)
|
public void addTransaction(String symbol, Double amount, Date date, Double purchasePrice, double fees, String note, String symbolFrom, String feeCurrency, String exchange, String type, String feeFormat)
|
||||||
{
|
{
|
||||||
SQLiteDatabase db = this.getWritableDatabase();
|
SQLiteDatabase db = this.getWritableDatabase();
|
||||||
ContentValues values = new ContentValues();
|
ContentValues values = new ContentValues();
|
||||||
@ -182,6 +185,7 @@ public class DatabaseManager extends SQLiteOpenHelper{
|
|||||||
values.put(KEY_TRANSACTION_FEE_CURRENCY, feeCurrency);
|
values.put(KEY_TRANSACTION_FEE_CURRENCY, feeCurrency);
|
||||||
values.put(KEY_TRANSACTION_SOURCE, exchange);
|
values.put(KEY_TRANSACTION_SOURCE, exchange);
|
||||||
values.put(KEY_TRANSACTION_TYPE, type);
|
values.put(KEY_TRANSACTION_TYPE, type);
|
||||||
|
values.put(KEY_TRANSACTION_FEE_FORMAT, feeFormat);
|
||||||
|
|
||||||
db.insert(TABLE_MANUAL_TRANSACTIONS, null, values);
|
db.insert(TABLE_MANUAL_TRANSACTIONS, null, values);
|
||||||
db.close();
|
db.close();
|
||||||
@ -572,7 +576,8 @@ public class DatabaseManager extends SQLiteOpenHelper{
|
|||||||
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_FEE_CURRENCY))
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_FEE_CURRENCY))
|
||||||
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_SOURCE))
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_SOURCE))
|
||||||
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_DESTINATION))
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_DESTINATION))
|
||||||
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_TYPE)));
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_TYPE))
|
||||||
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_FEE_FORMAT)));
|
||||||
}
|
}
|
||||||
|
|
||||||
resultatList.close();
|
resultatList.close();
|
||||||
@ -603,7 +608,8 @@ public class DatabaseManager extends SQLiteOpenHelper{
|
|||||||
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_FEE_CURRENCY))
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_FEE_CURRENCY))
|
||||||
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_SOURCE))
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_SOURCE))
|
||||||
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_DESTINATION))
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_DESTINATION))
|
||||||
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_TYPE))));
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_TYPE))
|
||||||
|
, resultatList.getString(resultatList.getColumnIndex(KEY_TRANSACTION_FEE_FORMAT))));
|
||||||
}
|
}
|
||||||
|
|
||||||
resultatList.close();
|
resultatList.close();
|
||||||
|
@ -33,4 +33,9 @@ public class Pair {
|
|||||||
{
|
{
|
||||||
return to;
|
return to;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return from + "/" + to;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user