[BETA] Manually add cryptocurrencies

Possibility to manually add cryptocurrencies into the database
It's yet impossible to remove any of those without uninstalling the app or manually send a SQLite request to the database
This commit is contained in:
Tanguy Herbron 2018-01-29 00:20:40 +01:00
parent 28c7d39466
commit 00fc47b4ec
8 changed files with 37 additions and 28 deletions

View File

@ -3,6 +3,7 @@ package com.nauk.coinfolio.Activities;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.Window;
@ -46,9 +47,10 @@ public class CurrencySelectionActivity extends AppCompatActivity {
searchAutoComplete.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Currency selectedCurrency = (Currency) adapterView.getItemAtPosition(i);
Intent intent = new Intent(CurrencySelectionActivity.this, RecordTransactionActivity.class);
intent.putExtra("coin", searchAutoComplete.getText().toString());
intent.putExtra("symbol", searchAutoComplete.getCompletionHint().toString());
intent.putExtra("coin", selectedCurrency.getName());
intent.putExtra("symbol", selectedCurrency.getSymbol());
startActivity(intent);
finish();
}

View File

@ -150,7 +150,6 @@ public class HomeActivity extends AppCompatActivity {
});
databaseManager = new DatabaseManager(this);
databaseManager.getAllCurrencyFromManualCurrency();
updateViewButtonIcon();
}
@ -232,7 +231,6 @@ public class HomeActivity extends AppCompatActivity {
{
currencyLayout.addView(layoutGenerator.getInfoLayout(currency, 12369084));
}
}
}
}
@ -409,7 +407,7 @@ public class HomeActivity extends AppCompatActivity {
final List<Currency> balance = balanceManager.getTotalBalance();
if(balanceManager.getTotalBalance().size() < 0)
if(balanceManager.getTotalBalance().size() > 0)
{
for(int i = 0; i < balanceManager.getTotalBalance().size(); i++)
{

View File

@ -12,11 +12,12 @@ import com.nauk.coinfolio.R;
public class RecordTransactionActivity extends AppCompatActivity {
String coin;
String symbol;
TextView symbolTxtView;
Button validateButton;
DatabaseManager databaseManager;
private String coin;
private String symbol;
private TextView symbolTxtView;
private TextView amountTxtView;
private Button validateButton;
private DatabaseManager databaseManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
@ -33,10 +34,16 @@ public class RecordTransactionActivity extends AppCompatActivity {
validateButton = findViewById(R.id.validateButton);
amountTxtView = findViewById(R.id.currencyAmount);
validateButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//databaseManager.addCurrencyToManualCurrency();
databaseManager.addCurrencyToManualCurrency(symbol, Double.parseDouble(amountTxtView.getText().toString()));
Intent intent = new Intent(RecordTransactionActivity.this, HomeActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
finish();
}
});
}

View File

@ -43,12 +43,13 @@ public class BalanceManager {
final private String binanceTimeUrl = "https://api.binance.com/api/v1/time";
private RequestQueue requestQueue;
private List<Currency> hitBalance;
private List<Currency> otherBalances;
private List<Currency> manualBalances;
private List<Currency> totalBalance;
private android.content.Context context;
private Map<String, String> iconUrlList;
private Map<String, String> coinList;
private PreferencesManager preferenceManager;
private DatabaseManager databaseManager;
public BalanceManager(android.content.Context context)
{
@ -56,7 +57,8 @@ public class BalanceManager {
preferenceManager = new PreferencesManager(context);
requestQueue = Volley.newRequestQueue(context);
hitBalance = new ArrayList<Currency>();
otherBalances = new ArrayList<Currency>();
manualBalances = new ArrayList<Currency>();
databaseManager = new DatabaseManager(context);
}
public List<String> getCurrenciesName()
@ -107,13 +109,15 @@ public class BalanceManager {
return hitBalance;
}
public List<Currency> getOtherBalances()
public List<Currency> getManualBalances()
{
return otherBalances;
return manualBalances;
}
public void updateTotalBalance(final VolleyCallBack callBack)
{
manualBalances = databaseManager.getAllCurrencyFromManualCurrency();
if(privateHitKey != null && publicHitKey != null && preferenceManager.isHitBTCActivated())
{
updateHitBalance(callBack);
@ -190,15 +194,15 @@ public class BalanceManager {
totalBalance.addAll(hitBalance);
for(int i = 0; i < otherBalances.size(); i++)
for(int i = 0; i < manualBalances.size(); i++)
{
boolean isIn = false;
for(int j = 0; j < totalBalance.size(); j++)
{
if(otherBalances.get(i).getSymbol().equals(totalBalance.get(j).getSymbol()))
if(manualBalances.get(i).getSymbol().equals(totalBalance.get(j).getSymbol()))
{
totalBalance.get(j).setBalance(totalBalance.get(j).getBalance() + otherBalances.get(i).getBalance());
totalBalance.get(j).setBalance(totalBalance.get(j).getBalance() + manualBalances.get(i).getBalance());
isIn = true;
}
@ -206,7 +210,7 @@ public class BalanceManager {
if(!isIn)
{
totalBalance.add(otherBalances.get(i));
totalBalance.add(manualBalances.get(i));
}
}
@ -284,7 +288,7 @@ public class BalanceManager {
coinList.put(jsonObject.getString("Symbol"), jsonObject.getString("CoinName"));
} catch (JSONException e) {
e.printStackTrace();
Log.d(context.getResources().getString(R.string.debug), "ImageUrl not found.");
}
}

View File

@ -18,7 +18,7 @@ import java.util.List;
public class DatabaseManager extends SQLiteOpenHelper{
private static final int DATABASE_VERSION = 4;
private static final int DATABASE_VERSION = 5;
private static final String DATABASE_NAME = "Currencies.db";
@ -99,9 +99,7 @@ public class DatabaseManager extends SQLiteOpenHelper{
while(resultatList.moveToNext())
{
//Currency currency = new Currency(resultatList.getString(1), resultatList.getString(2));
Log.d("CrystalVault", "Database result : " + resultatList.getString(1) + " " + resultatList.getString(2) + " " + resultatList.getCount());
//currencyList.add(new Currency(resultatList.getString(1), resultatList.getDouble(2)));
currencyList.add(new Currency(resultatList.getString(1), resultatList.getDouble(3)));
}
resultatList.close();

View File

@ -54,7 +54,6 @@ public class CurrencyAdapter extends ArrayAdapter<Currency> {
return convertView;
}
@Override
public Filter getFilter() {
return myFilter;

View File

@ -18,6 +18,7 @@
android:textSize="25dp"/>
<EditText
android:id="@+id/currencyAmount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/activity_add_amount"/>

View File

@ -2,8 +2,8 @@
<string name="app_name">Coinfolio</string>
<string name="action_settings">Settings</string>
<string name="donation">Fais un don wallah</string>
<string name="debug">CrystalVault_debug</string>
<string name="debug_volley">CrystalVault_debugVolley</string>
<string name="debug">Coinfolio_debug</string>
<string name="debug_volley">Coinfolio_debugVolley</string>
<string name="quick_button">Switch view</string>
<string name="title_activity_settings">Settings</string>
@ -115,5 +115,5 @@
<!--Add transaction activity-->
<string name="activity_add_amount">Amount</string>
<string name="activity_purchased_price">Purchased prive</string>
<string name="activity_purchased_price">Purchased price</string>
</resources>