Code cleaning
This commit is contained in:
parent
e8d30e41f8
commit
87d02b5365
@ -158,6 +158,11 @@ public class HomeActivity extends AppCompatActivity implements BalanceUpdateInte
|
|||||||
currentFragment = fragment;
|
currentFragment = fragment;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Fragment getHoldingsFragment()
|
||||||
|
{
|
||||||
|
return holdingsFragment;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
@ -10,6 +10,7 @@ import android.os.Handler;
|
|||||||
import android.os.Looper;
|
import android.os.Looper;
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.support.design.widget.CollapsingToolbarLayout;
|
import android.support.design.widget.CollapsingToolbarLayout;
|
||||||
|
import android.support.design.widget.Snackbar;
|
||||||
import android.support.v4.app.Fragment;
|
import android.support.v4.app.Fragment;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v4.view.GravityCompat;
|
import android.support.v4.view.GravityCompat;
|
||||||
@ -30,11 +31,13 @@ import android.widget.TextView;
|
|||||||
import com.herbron.moodl.Activities.CurrencySelectionActivity;
|
import com.herbron.moodl.Activities.CurrencySelectionActivity;
|
||||||
import com.herbron.moodl.Activities.HomeActivity;
|
import com.herbron.moodl.Activities.HomeActivity;
|
||||||
import com.herbron.moodl.BalanceUpdateInterface;
|
import com.herbron.moodl.BalanceUpdateInterface;
|
||||||
|
import com.herbron.moodl.DataManagers.BalanceManager;
|
||||||
import com.herbron.moodl.DataManagers.CurrencyData.Currency;
|
import com.herbron.moodl.DataManagers.CurrencyData.Currency;
|
||||||
import com.herbron.moodl.DataManagers.CurrencyData.CurrencyCardview;
|
import com.herbron.moodl.DataManagers.CurrencyData.CurrencyCardview;
|
||||||
import com.herbron.moodl.DataManagers.CurrencyData.CurrencyTickerList;
|
import com.herbron.moodl.DataManagers.CurrencyData.CurrencyTickerList;
|
||||||
import com.herbron.moodl.DataManagers.PreferencesManager;
|
import com.herbron.moodl.DataManagers.PreferencesManager;
|
||||||
import com.herbron.moodl.BalanceSwitchManagerInterface;
|
import com.herbron.moodl.BalanceSwitchManagerInterface;
|
||||||
|
import com.herbron.moodl.DataNotifierInterface;
|
||||||
import com.herbron.moodl.MoodlBox;
|
import com.herbron.moodl.MoodlBox;
|
||||||
import com.herbron.moodl.PlaceholderManager;
|
import com.herbron.moodl.PlaceholderManager;
|
||||||
import com.herbron.moodl.R;
|
import com.herbron.moodl.R;
|
||||||
@ -50,7 +53,7 @@ import static java.lang.Math.abs;
|
|||||||
* Created by Tiji on 13/04/2018.
|
* Created by Tiji on 13/04/2018.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class Summary extends Fragment implements BalanceSwitchManagerInterface {
|
public class Summary extends Fragment implements BalanceSwitchManagerInterface, DataNotifierInterface {
|
||||||
|
|
||||||
private LinearLayout currencyLayout;
|
private LinearLayout currencyLayout;
|
||||||
private PreferencesManager preferencesManager;
|
private PreferencesManager preferencesManager;
|
||||||
@ -84,7 +87,7 @@ public class Summary extends Fragment implements BalanceSwitchManagerInterface {
|
|||||||
View fragmentView = inflater.inflate(R.layout.fragment_summary_homeactivity, container, false);
|
View fragmentView = inflater.inflate(R.layout.fragment_summary_homeactivity, container, false);
|
||||||
|
|
||||||
preferencesManager = new PreferencesManager(getActivity());
|
preferencesManager = new PreferencesManager(getActivity());
|
||||||
balanceManager = new com.herbron.moodl.DataManagers.BalanceManager(getActivity());
|
balanceManager = new BalanceManager(getContext());
|
||||||
currencyTickerList = CurrencyTickerList.getInstance(getActivity());
|
currencyTickerList = CurrencyTickerList.getInstance(getActivity());
|
||||||
|
|
||||||
currencyLayout = fragmentView.findViewById(R.id.currencyListLayout);
|
currencyLayout = fragmentView.findViewById(R.id.currencyListLayout);
|
||||||
@ -305,14 +308,14 @@ public class Summary extends Fragment implements BalanceSwitchManagerInterface {
|
|||||||
|
|
||||||
private void showErrorSnackbar()
|
private void showErrorSnackbar()
|
||||||
{
|
{
|
||||||
/*Snackbar.make(getActivity().findViewById(R.id.snackbar_placer), "Error while updating data", Snackbar.LENGTH_LONG)
|
Snackbar.make(getActivity().findViewById(R.id.content_frame), "Error while updating data", Snackbar.LENGTH_LONG)
|
||||||
.setAction("Update", new View.OnClickListener() {
|
.setAction("Update", new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.show();*/
|
.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void resetCounters()
|
private void resetCounters()
|
||||||
@ -497,6 +500,87 @@ public class Summary extends Fragment implements BalanceSwitchManagerInterface {
|
|||||||
displayBalance(preferencesManager.isBalanceHidden());
|
displayBalance(preferencesManager.isBalanceHidden());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onTickerListUpdated() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDetailsUpdated() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBalanceDataUpdated() {
|
||||||
|
final List<Currency> balance = balanceManager.getTotalBalance();
|
||||||
|
|
||||||
|
if(balanceManager.getTotalBalance().size() > 0)
|
||||||
|
{
|
||||||
|
for(int i = 0; i < balanceManager.getTotalBalance().size(); i++)
|
||||||
|
{
|
||||||
|
balance.get(i).updatePrice(getActivity(), defaultCurrency, new Currency.CurrencyCallBack() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(Currency currency) {
|
||||||
|
countCoins(true, false, false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
getActivity().runOnUiThread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
countCoins(false, false, false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBalanceError(String error)
|
||||||
|
{
|
||||||
|
generateSnackBarError(error);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void generateSnackBarError(String error)
|
||||||
|
{
|
||||||
|
View view = getActivity().findViewById(R.id.content_frame);
|
||||||
|
|
||||||
|
switch (error)
|
||||||
|
{
|
||||||
|
case "com.android.volley.AuthFailureError":
|
||||||
|
preferencesManager.disableHitBTC();
|
||||||
|
Snackbar.make(view, "HitBTC synchronization error : Invalid keys", Snackbar.LENGTH_LONG)
|
||||||
|
.show();
|
||||||
|
|
||||||
|
refreshLayout.setRefreshing(false);
|
||||||
|
|
||||||
|
updateAll(true);
|
||||||
|
break;
|
||||||
|
case "API-key format invalid.":
|
||||||
|
preferencesManager.disableBinance();
|
||||||
|
Snackbar.make(view, "Binance synchronization error : Invalid keys", Snackbar.LENGTH_LONG)
|
||||||
|
.show();
|
||||||
|
|
||||||
|
updateAll(true);
|
||||||
|
break;
|
||||||
|
case "com.android.volley.NoConnectionError: java.net.UnknownHostException: Unable to resolve host \"api.hitbtc.com\": No address associated with hostname":
|
||||||
|
Snackbar.make(view, "Can't resolve host", Snackbar.LENGTH_LONG)
|
||||||
|
.show();
|
||||||
|
break;
|
||||||
|
case "com.android.volley.TimeoutError":
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Snackbar.make(view, "Unexpected error", Snackbar.LENGTH_LONG)
|
||||||
|
.show();
|
||||||
|
|
||||||
|
Log.d("moodl", error);
|
||||||
|
|
||||||
|
updateAll(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private class UiHeavyLoadCalculator extends AsyncTask<Void, Integer, Void>
|
private class UiHeavyLoadCalculator extends AsyncTask<Void, Integer, Void>
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -667,44 +751,6 @@ public class Summary extends Fragment implements BalanceSwitchManagerInterface {
|
|||||||
|
|
||||||
private class DataUpdater extends AsyncTask<Void, Integer, Void>
|
private class DataUpdater extends AsyncTask<Void, Integer, Void>
|
||||||
{
|
{
|
||||||
private void generateSnackBarError(String error)
|
|
||||||
{
|
|
||||||
/*View view = getActivity().findViewById(R.id.snackbar_placer);
|
|
||||||
|
|
||||||
switch (error)
|
|
||||||
{
|
|
||||||
case "com.android.volley.AuthFailureError":
|
|
||||||
preferencesManager.disableHitBTC();
|
|
||||||
Snackbar.make(view, "HitBTC synchronization error : Invalid keys", Snackbar.LENGTH_LONG)
|
|
||||||
.show();
|
|
||||||
|
|
||||||
refreshLayout.setRefreshing(false);
|
|
||||||
|
|
||||||
updateAll(true);
|
|
||||||
break;
|
|
||||||
case "API-key format invalid.":
|
|
||||||
preferencesManager.disableBinance();
|
|
||||||
Snackbar.make(view, "Binance synchronization error : Invalid keys", Snackbar.LENGTH_LONG)
|
|
||||||
.show();
|
|
||||||
|
|
||||||
updateAll(true);
|
|
||||||
break;
|
|
||||||
case "com.android.volley.NoConnectionError: java.net.UnknownHostException: Unable to resolve host \"api.hitbtc.com\": No address associated with hostname":
|
|
||||||
Snackbar.make(view, "Can't resolve host", Snackbar.LENGTH_LONG)
|
|
||||||
.show();
|
|
||||||
break;
|
|
||||||
case "com.android.volley.TimeoutError":
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
Snackbar.make(view, "Unexpected error", Snackbar.LENGTH_LONG)
|
|
||||||
.show();
|
|
||||||
|
|
||||||
Log.d("moodl", error);
|
|
||||||
|
|
||||||
updateAll(false);
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected Void doInBackground(Void... params)
|
protected Void doInBackground(Void... params)
|
||||||
{
|
{
|
||||||
@ -730,39 +776,7 @@ public class Summary extends Fragment implements BalanceSwitchManagerInterface {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
balanceManager.updateTotalBalance(new com.herbron.moodl.DataManagers.BalanceManager.VolleyCallBack() {
|
balanceManager.updateTotalBalance();
|
||||||
@Override
|
|
||||||
public void onSuccess() {
|
|
||||||
final List<Currency> balance = balanceManager.getTotalBalance();
|
|
||||||
|
|
||||||
if(balanceManager.getTotalBalance().size() > 0)
|
|
||||||
{
|
|
||||||
for(int i = 0; i < balanceManager.getTotalBalance().size(); i++)
|
|
||||||
{
|
|
||||||
balance.get(i).updatePrice(getActivity(), defaultCurrency, new Currency.CurrencyCallBack() {
|
|
||||||
@Override
|
|
||||||
public void onSuccess(Currency currency) {
|
|
||||||
countCoins(true, false, false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
getActivity().runOnUiThread(new Runnable() {
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
countCoins(false, false, false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onError(String error)
|
|
||||||
{
|
|
||||||
generateSnackBarError(error);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
@ -4,10 +4,12 @@ import android.util.Log;
|
|||||||
|
|
||||||
import com.android.volley.RequestQueue;
|
import com.android.volley.RequestQueue;
|
||||||
import com.android.volley.toolbox.Volley;
|
import com.android.volley.toolbox.Volley;
|
||||||
|
import com.herbron.moodl.Activities.HomeActivity;
|
||||||
import com.herbron.moodl.DataManagers.CurrencyData.Currency;
|
import com.herbron.moodl.DataManagers.CurrencyData.Currency;
|
||||||
import com.herbron.moodl.DataManagers.CurrencyData.CurrencyDetailsList;
|
import com.herbron.moodl.DataManagers.CurrencyData.CurrencyDetailsList;
|
||||||
import com.herbron.moodl.DataManagers.ExchangeManager.BinanceManager;
|
import com.herbron.moodl.DataManagers.ExchangeManager.BinanceManager;
|
||||||
import com.herbron.moodl.DataManagers.ExchangeManager.HitBtcManager;
|
import com.herbron.moodl.DataManagers.ExchangeManager.HitBtcManager;
|
||||||
|
import com.herbron.moodl.DataNotifierInterface;
|
||||||
import com.herbron.moodl.R;
|
import com.herbron.moodl.R;
|
||||||
|
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
@ -49,6 +51,8 @@ public class BalanceManager {
|
|||||||
private List<HitBtcManager> hitBtcManagers;
|
private List<HitBtcManager> hitBtcManagers;
|
||||||
private List<BinanceManager> binanceManagers;
|
private List<BinanceManager> binanceManagers;
|
||||||
|
|
||||||
|
private DataNotifierInterface dataNotifierInterface;
|
||||||
|
|
||||||
public BalanceManager(android.content.Context context)
|
public BalanceManager(android.content.Context context)
|
||||||
{
|
{
|
||||||
this.context = context;
|
this.context = context;
|
||||||
@ -64,6 +68,13 @@ public class BalanceManager {
|
|||||||
currencyDetailsList = CurrencyDetailsList.getInstance(context);
|
currencyDetailsList = CurrencyDetailsList.getInstance(context);
|
||||||
|
|
||||||
balanceCounter = 0;
|
balanceCounter = 0;
|
||||||
|
|
||||||
|
setListener((DataNotifierInterface) ((HomeActivity) context).getHoldingsFragment());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setListener(DataNotifierInterface dataNotifierInterface)
|
||||||
|
{
|
||||||
|
this.dataNotifierInterface = dataNotifierInterface;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<String> getBiggestCurrencies()
|
public List<String> getBiggestCurrencies()
|
||||||
@ -111,7 +122,7 @@ public class BalanceManager {
|
|||||||
return totalBalance;
|
return totalBalance;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateTotalBalance(final VolleyCallBack callBack)
|
public void updateTotalBalance()
|
||||||
{
|
{
|
||||||
boolean isUpdated = false;
|
boolean isUpdated = false;
|
||||||
|
|
||||||
@ -128,12 +139,12 @@ public class BalanceManager {
|
|||||||
binanceManagers.get(i).updateBalance(new BinanceManager.BinanceCallBack() {
|
binanceManagers.get(i).updateBalance(new BinanceManager.BinanceCallBack() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess() {
|
public void onSuccess() {
|
||||||
countBalances(callBack);
|
countBalances();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(String error) {
|
public void onError(String error) {
|
||||||
callBack.onError(error);
|
dataNotifierInterface.onBalanceError(error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -148,12 +159,12 @@ public class BalanceManager {
|
|||||||
hitBtcManagers.get(i).updateGlobalBalance(new HitBtcManager.HitBtcCallBack() {
|
hitBtcManagers.get(i).updateGlobalBalance(new HitBtcManager.HitBtcCallBack() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess() {
|
public void onSuccess() {
|
||||||
countBalances(callBack);
|
countBalances();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onError(String error) {
|
public void onError(String error) {
|
||||||
callBack.onError(error);
|
dataNotifierInterface.onBalanceError(error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -161,23 +172,23 @@ public class BalanceManager {
|
|||||||
|
|
||||||
if(!isUpdated)
|
if(!isUpdated)
|
||||||
{
|
{
|
||||||
refreshAllBalances(callBack);
|
refreshAllBalances();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void countBalances(VolleyCallBack callBack)
|
private void countBalances()
|
||||||
{
|
{
|
||||||
balanceCounter++;
|
balanceCounter++;
|
||||||
|
|
||||||
if(balanceCounter == hitBtcManagers.size() + binanceManagers.size())
|
if(balanceCounter == hitBtcManagers.size() + binanceManagers.size())
|
||||||
{
|
{
|
||||||
refreshAllBalances(callBack);
|
refreshAllBalances();
|
||||||
|
|
||||||
balanceCounter = 0;
|
balanceCounter = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshAllBalances(final VolleyCallBack callBack)
|
private void refreshAllBalances()
|
||||||
{
|
{
|
||||||
totalBalance = new ArrayList<>();
|
totalBalance = new ArrayList<>();
|
||||||
|
|
||||||
@ -193,7 +204,7 @@ public class BalanceManager {
|
|||||||
|
|
||||||
mergeBalanceTotal(manualBalances);
|
mergeBalanceTotal(manualBalances);
|
||||||
|
|
||||||
callBack.onSuccess();
|
dataNotifierInterface.onBalanceDataUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void mergeBalanceTotal(List<Currency> balance)
|
private void mergeBalanceTotal(List<Currency> balance)
|
||||||
@ -257,23 +268,6 @@ public class BalanceManager {
|
|||||||
{
|
{
|
||||||
callBack.onSuccess();
|
callBack.onSuccess();
|
||||||
}
|
}
|
||||||
/*StringRequest strRequest = new StringRequest(Request.Method.GET, detailUrl,
|
|
||||||
new Response.Listener<String>() {
|
|
||||||
@Override
|
|
||||||
public void onResponse(String response) {
|
|
||||||
if (response.length() > 0) {
|
|
||||||
processDetailResult(response, callBack);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
new Response.ErrorListener() {
|
|
||||||
@Override
|
|
||||||
public void onErrorResponse(VolleyError error) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
requestQueue.add(strRequest);*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getIconUrl(String symbol)
|
public String getIconUrl(String symbol)
|
||||||
|
@ -0,0 +1,16 @@
|
|||||||
|
package com.herbron.moodl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Administrator on 17/06/2018.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public interface DataNotifierInterface {
|
||||||
|
|
||||||
|
void onTickerListUpdated();
|
||||||
|
|
||||||
|
void onDetailsUpdated();
|
||||||
|
|
||||||
|
void onBalanceDataUpdated();
|
||||||
|
|
||||||
|
void onBalanceError(String error);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user