Fix invalid API keys crash

This commit is contained in:
Tanguy Herbron 2018-02-28 11:44:10 +01:00
parent 04f997c675
commit 9cacb7a380
4 changed files with 34 additions and 15 deletions

View File

@ -27,6 +27,7 @@ import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.view.Window; import android.view.Window;
import android.view.WindowManager; import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ProgressBar; import android.widget.ProgressBar;
@ -729,8 +730,13 @@ public class HomeActivity extends AppCompatActivity {
} }
else else
{ {
runOnUiThread(new Runnable() {
@Override
public void run() {
countCoins(false, false); countCoins(false, false);
} }
});
}
} }
public void onError(String error) public void onError(String error)
@ -739,12 +745,21 @@ public class HomeActivity extends AppCompatActivity {
{ {
case "com.android.volley.AuthFailureError": case "com.android.volley.AuthFailureError":
preferencesManager.disableHitBTC(); preferencesManager.disableHitBTC();
Snackbar.make(findViewById(R.id.currencyListLayout), "HitBTC synchronization error : Invalid keys", Snackbar.LENGTH_LONG) Snackbar.make(findViewById(R.id.viewFlipperSummary), "HitBTC synchronization error : Invalid keys", Snackbar.LENGTH_LONG)
.show(); .show();
refreshLayout.setRefreshing(false); refreshLayout.setRefreshing(false);
updateAll(true); updateAll(true);
break; break;
case "API-key format invalid.":
preferencesManager.disableBinance();
Snackbar.make(findViewById(R.id.viewFlipperSummary), "Binance synchronization error : Invalid keys", Snackbar.LENGTH_LONG)
.show();
updateAll(true);
break;
default: default:
Snackbar.make(findViewById(R.id.viewFlipperSummary), "Unexpected error", Snackbar.LENGTH_LONG)
.show();
Log.d("coinfolio", error);
updateAll(true); updateAll(true);
} }
} }

View File

@ -185,7 +185,7 @@ public class BalanceManager {
@Override @Override
public void onError(String error) { public void onError(String error) {
callBack.onError(error);
} }
}); });
} }
@ -205,7 +205,7 @@ public class BalanceManager {
@Override @Override
public void onError(String error) { public void onError(String error) {
callBack.onError(error);
} }
}); });
} }
@ -240,8 +240,6 @@ public class BalanceManager {
for(int i = 0; i < binanceManagers.size(); i++) for(int i = 0; i < binanceManagers.size(); i++)
{ {
Log.d("coinfolio", "Merging binance " + i);
mergeBalanceTotal(binanceManagers.get(i).getBalance()); mergeBalanceTotal(binanceManagers.get(i).getBalance());
} }

View File

@ -7,6 +7,7 @@ import com.binance.api.client.BinanceApiClientFactory;
import com.binance.api.client.BinanceApiRestClient; import com.binance.api.client.BinanceApiRestClient;
import com.binance.api.client.domain.account.Account; import com.binance.api.client.domain.account.Account;
import com.binance.api.client.domain.account.AssetBalance; import com.binance.api.client.domain.account.AssetBalance;
import com.binance.api.client.exception.BinanceApiException;
import com.nauk.coinfolio.DataManagers.CurrencyData.Currency; import com.nauk.coinfolio.DataManagers.CurrencyData.Currency;
import java.util.ArrayList; import java.util.ArrayList;
@ -38,6 +39,7 @@ public class BinanceManager {
BinanceApiClientFactory factory = BinanceApiClientFactory.newInstance(publicKey, privateKey); BinanceApiClientFactory factory = BinanceApiClientFactory.newInstance(publicKey, privateKey);
BinanceApiRestClient client = factory.newRestClient(); BinanceApiRestClient client = factory.newRestClient();
try {
Account account = client.getAccount(); Account account = client.getAccount();
List<AssetBalance> assets = account.getBalances(); List<AssetBalance> assets = account.getBalances();
@ -52,6 +54,9 @@ public class BinanceManager {
} }
callBack.onSuccess(); callBack.onSuccess();
} catch (BinanceApiException e) {
callBack.onError(e.getMessage());
}
} }
public void setPublicKey(String publicKey) public void setPublicKey(String publicKey)

View File

@ -82,6 +82,7 @@
<!--Exchange strings--> <!--Exchange strings-->
<string name="pref_header_exchange">Exchanges settings</string> <string name="pref_header_exchange">Exchanges settings</string>
<string name="pref_fingerprint">Touch ID</string>
<!--HitBTC--> <!--HitBTC-->
<string name="pref_title_enable_synchronization_hitbtc">Enable synchronization</string> <string name="pref_title_enable_synchronization_hitbtc">Enable synchronization</string>