diff --git a/app/src/main/java/com/flashwifi/wifip2p/MainActivity.java b/app/src/main/java/com/flashwifi/wifip2p/MainActivity.java index e2f6c10..83b1c05 100644 --- a/app/src/main/java/com/flashwifi/wifip2p/MainActivity.java +++ b/app/src/main/java/com/flashwifi/wifip2p/MainActivity.java @@ -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(); + } + } \ No newline at end of file diff --git a/app/src/main/java/com/flashwifi/wifip2p/SettingsFragment.java b/app/src/main/java/com/flashwifi/wifip2p/SettingsFragment.java index 1528867..89029de 100644 --- a/app/src/main/java/com/flashwifi/wifip2p/SettingsFragment.java +++ b/app/src/main/java/com/flashwifi/wifip2p/SettingsFragment.java @@ -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"); diff --git a/app/src/main/java/com/flashwifi/wifip2p/iotaAPI/Requests/WalletBalanceChecker.java b/app/src/main/java/com/flashwifi/wifip2p/iotaAPI/Requests/WalletBalanceChecker.java index d587a47..c64d856 100644 --- a/app/src/main/java/com/flashwifi/wifip2p/iotaAPI/Requests/WalletBalanceChecker.java +++ b/app/src/main/java/com/flashwifi/wifip2p/iotaAPI/Requests/WalletBalanceChecker.java @@ -26,6 +26,7 @@ public class WalletBalanceChecker extends AsyncTask { 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 { @Override protected Void doInBackground(Void... voids) { + if(context != null){ WalletAddressChecker addressChecker = new WalletAddressChecker(context,prefFile);