Balance check upon App start

-Added balance update and sharedPrefWrite upon app start
This commit is contained in:
Toby Woerthle 2018-01-24 02:10:30 -05:00
parent 457f202f7f
commit 3e96e2fba6
3 changed files with 49 additions and 4 deletions

View File

@ -14,6 +14,8 @@ import android.net.wifi.p2p.WifiP2pManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.preference.PreferenceManager;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
@ -25,14 +27,13 @@ import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.Switch;
import android.widget.Toast;
import com.flashwifi.wifip2p.billing.Accountant;
import com.flashwifi.wifip2p.broadcast.WiFiDirectBroadcastService;
import com.flashwifi.wifip2p.iotaAPI.Requests.WalletBalanceChecker;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener
@ -41,6 +42,9 @@ public class MainActivity extends AppCompatActivity
private static final String TAG = "MainAct";
private String password;
private String seed;
private static final int PREF_UPDATE = 2;
private static final int BALANCE_RETRIEVE_TASK_COMPLETE = 1;
private Handler balanceHandler;
private DrawerLayout mDrawerLayout;
private ListView mDrawerList;
@ -153,6 +157,9 @@ public class MainActivity extends AppCompatActivity
password = intent.getStringExtra("password");
seed = intent.getStringExtra("seed");
setBalanceHandler();
updateBalance();
Accountant.getInstance().setSeed(seed);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
@ -277,6 +284,11 @@ public class MainActivity extends AppCompatActivity
return true;
}
private void updateBalance() {
WalletBalanceChecker balanceChecker = new WalletBalanceChecker(this,this.getString(R.string.preference_file_key),seed, balanceHandler,PREF_UPDATE,true);
balanceChecker.execute();
}
public void startSearchFragment() {
if (mBound && mService.isInRoleHotspot()) {
Toast.makeText(this, "Can't start search because you are hotspot", Toast.LENGTH_SHORT).show();
@ -421,4 +433,34 @@ public class MainActivity extends AppCompatActivity
mBound = false;
}
};
private void setBalanceHandler() {
//Handle post-asynctask activities
balanceHandler = new Handler(Looper.getMainLooper()) {
@Override
public void handleMessage(Message inputMessage) {
switch (inputMessage.what) {
case BALANCE_RETRIEVE_TASK_COMPLETE:
AddressBalanceTransfer addressBalanceTransfer = (AddressBalanceTransfer) inputMessage.obj;
String returnStatus = addressBalanceTransfer.getMessage();
if (returnStatus.equals("noError")) {
makeToastBalance("Balance updated");
} else if (returnStatus.equals("hostError")) {
makeToastBalance("Unable to reach host (node)");
} else if (returnStatus.equals("addressError")) {
makeToastBalance("Error getting address");
} else if (returnStatus.equals("balanceError")) {
makeToastBalance("Error getting balance. May not be able to resolve host/node");
} else {
makeToastBalance("Unknown error");
}
}
}
};
}
private void makeToastBalance(String message) {
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}

View File

@ -103,13 +103,14 @@ public class SettingsFragment extends PreferenceFragment implements SharedPrefer
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
switch(key){
case "pref_key_security":
makeToastSettingsFragment("Security Changed");
//makeToastSettingsFragment("Security Changed");
break;
case "pref_key_network_timeout":
makeToastSettingsFragment("Network Timeout Changed");
//makeToastSettingsFragment("Network Timeout Changed");
break;
case "pref_key_units":
makeToastSettingsFragment("Units Changed");
//makeToastSettingsFragment("Units Changed");
break;
case "pref_key_switch_testnet":
makeToastSettingsFragment("Testnet on/off Changed");

View File

@ -26,6 +26,7 @@ public class WalletBalanceChecker extends AsyncTask<Void, Void, Void> {
private static final int FUND_WALLET = 0;
private static final int WITHDRAW_WALLET = 1;
private static final int PREF_UPDATE = 2;
private static IotaAPI api;
private static Context context;
@ -78,6 +79,7 @@ public class WalletBalanceChecker extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... voids) {
if(context != null){
WalletAddressChecker addressChecker = new WalletAddressChecker(context,prefFile);