From c8583bebe6b64568aebaaec3b9de4b5fcdedf085 Mon Sep 17 00:00:00 2001 From: GME Date: Thu, 13 Jun 2019 21:34:17 +0200 Subject: [PATCH] update app mobile --- .idea/caches/build_file_checksums.ser | Bin 541 -> 541 bytes app/src/main/AndroidManifest.xml | 3 +- .../mobile/history/HistoryActivity.java | 1 - .../java/monnethic/mobile/restApi/Config.java | 25 +- .../mobile/restApi/SettingsApiHandler.java | 26 ++ .../mobile/restApi/WalletApiHandler.java | 19 + .../mobile/settings/SettingsActivity.java | 435 ++++++++++++++++++ .../transaction/TransactionActivity.java | 6 - .../mobile/user/UserAccountActivity.java | 13 +- .../mobile/wallet/CreateWalletActivity.java | 1 - .../mobile/wallet/HomeWalletActivity.java | 37 +- .../main/res/layout/activity_home_wallet.xml | 34 +- app/src/main/res/layout/activity_settings.xml | 138 ++++++ .../main/res/layout/activity_user_account.xml | 21 +- app/src/main/res/values/colors.xml | 1 + 15 files changed, 701 insertions(+), 59 deletions(-) create mode 100644 app/src/main/java/monnethic/mobile/restApi/SettingsApiHandler.java create mode 100644 app/src/main/java/monnethic/mobile/settings/SettingsActivity.java create mode 100644 app/src/main/res/layout/activity_settings.xml diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index db69f3ed81d6904fe88c2551b162320cf154826d..4b360669516f47071506da47891cec6255aafbbf 100644 GIT binary patch delta 16 XcmbQsGM8n-bk^)ZK8KWza~c@|FcAf; delta 16 YcmbQsGM8n-bk?kQp7!rH&S_)>0694a3;+NC diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0e08622..8f777c6 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -44,7 +44,8 @@ - + + \ No newline at end of file diff --git a/app/src/main/java/monnethic/mobile/history/HistoryActivity.java b/app/src/main/java/monnethic/mobile/history/HistoryActivity.java index 2c7c7fc..1def27a 100644 --- a/app/src/main/java/monnethic/mobile/history/HistoryActivity.java +++ b/app/src/main/java/monnethic/mobile/history/HistoryActivity.java @@ -130,7 +130,6 @@ public class HistoryActivity extends AppCompatActivity { } catch (Exception e){ e.printStackTrace(); } - } public void buttonInit(){ diff --git a/app/src/main/java/monnethic/mobile/restApi/Config.java b/app/src/main/java/monnethic/mobile/restApi/Config.java index 565482a..5143323 100644 --- a/app/src/main/java/monnethic/mobile/restApi/Config.java +++ b/app/src/main/java/monnethic/mobile/restApi/Config.java @@ -51,11 +51,20 @@ public class Config { } static private String getConfigBaseUrl(){ if(API==0){ - return "http://5.39.76.139:10053/api/rest/demo/conf"; - //return "http://10.0.2.2:10053/api/rest/demo/conf"; + return "http://5.39.76.139:10053/api/rest/demo/conf/"; + //return "http://10.0.2.2:10053/api/rest/demo/conf/"; //return "http://localhost:10053/api/rest/demo/conf/"; } else { - return "http://37.187.101.44:10053/api/rest/demo/conf"; + return "http://37.187.101.44:10053/api/rest/demo/conf/"; + } + } + static private String getSettingBaseUrl(){ + if(API==0){ + return "http://5.39.76.139:10053/api/rest/settings/"; + //return "http://10.0.2.2:10053/api/rest/settings/"; + //return "http://localhost:10053/api/rest/settings/"; + } else { + return "http://37.187.101.44:10053/api/rest/settings/"; } } @@ -66,6 +75,7 @@ public class Config { static public String USER_GET = getBaseUrlUser()+"get"; static public String USER_APPROVAL = getBaseUrlUser()+"getApproval"; static public String USER_APPROVE = getBaseUrlUser()+"approve"; + static public String UPDATE_PASSWORD = getBaseUrlUser()+"update/password"; //Search static public String FIND_BY_EMAIL= getBaseUrlUser()+"findByEmail"; static public String FIND_BY_PHONE = getBaseUrlUser()+"findByPhone"; @@ -75,11 +85,9 @@ public class Config { static public String END_SESSION = getBaseUrlSession()+"end"; //Config - - static public String CONFIG_ENVIRONMENT = getConfigBaseUrl()+"/env"; - static public String CONFIG_CHAINCODE = getConfigBaseUrl()+"/chaincode"; - static public String CONFIG_DB = getConfigBaseUrl()+"/db"; - + static public String CONFIG_ENVIRONMENT = getConfigBaseUrl()+"env"; + static public String CONFIG_CHAINCODE = getConfigBaseUrl()+"chaincode"; + static public String CONFIG_DB = getConfigBaseUrl()+"db"; //TRANSACTION static public String TRANSACTION_SEND = getBaseUrlTransaction()+"send"; @@ -96,6 +104,7 @@ public class Config { static public String WALLET_DELETE = getBaseUrlWallet()+"delete"; static public String WALLET_TRANSFER = getBaseUrlWallet()+"transfer"; + static public void setAPI(String newApi){ API = Integer.parseInt(newApi); } static public String getAPI(){ return String.valueOf(API); } } \ No newline at end of file diff --git a/app/src/main/java/monnethic/mobile/restApi/SettingsApiHandler.java b/app/src/main/java/monnethic/mobile/restApi/SettingsApiHandler.java new file mode 100644 index 0000000..4203acd --- /dev/null +++ b/app/src/main/java/monnethic/mobile/restApi/SettingsApiHandler.java @@ -0,0 +1,26 @@ +package monnethic.mobile.restApi; + +import org.json.JSONObject; + +import java.net.URL; +import java.util.HashMap; +import java.util.Map; + +public class SettingsApiHandler { + public String updatePassword(String[] params){ + HttpCallHandler httpCallHandler = new HttpCallHandler(); + try{ + String url = Config.UPDATE_PASSWORD; + Map map = new HashMap<>(); + map.put("user_email",params[0]); + map.put("current_password",params[1]); + map.put("new_password",params[2]); + String responseCall = httpCallHandler.postHttp(new URL(url), map); + JSONObject jsonObject = new JSONObject(responseCall); + return jsonObject.getString("response"); + }catch (Exception e){ + e.printStackTrace(); + return "false"; + } + } +} diff --git a/app/src/main/java/monnethic/mobile/restApi/WalletApiHandler.java b/app/src/main/java/monnethic/mobile/restApi/WalletApiHandler.java index bded32f..2dfb74e 100644 --- a/app/src/main/java/monnethic/mobile/restApi/WalletApiHandler.java +++ b/app/src/main/java/monnethic/mobile/restApi/WalletApiHandler.java @@ -72,4 +72,23 @@ public class WalletApiHandler { } return null; } + + public String deleteWallet(String[] params){ + HttpCallHandler httpCallHandler = new HttpCallHandler(); + try{ + String url = Config.WALLET_DELETE; + Map map = new HashMap<>(); + map.put("user_email",params[0]); + map.put("user_hash",params[1]); + map.put("user_password",params[2]); + map.put("wallet_hash_source",params[3]); + map.put("wallet_hash_dest",params[4]); + String responseCall = httpCallHandler.postHttp(new URL(url), map); + JSONObject jsonObject = new JSONObject(responseCall); + return jsonObject.getString("response"); + } catch (Exception e){ + e.printStackTrace(); + return "false"; + } + } } diff --git a/app/src/main/java/monnethic/mobile/settings/SettingsActivity.java b/app/src/main/java/monnethic/mobile/settings/SettingsActivity.java new file mode 100644 index 0000000..7522708 --- /dev/null +++ b/app/src/main/java/monnethic/mobile/settings/SettingsActivity.java @@ -0,0 +1,435 @@ +package monnethic.mobile.settings; + +import android.app.ProgressDialog; +import android.content.Context; +import android.content.Intent; +import android.os.AsyncTask; +import android.support.v7.app.AppCompatActivity; +import com.example.monnthic.monnethicmobile.R; +import android.os.Bundle; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.Button; +import android.widget.CompoundButton; +import android.widget.EditText; +import android.widget.LinearLayout; +import android.widget.Spinner; +import android.widget.Switch; +import android.widget.Toast; +import java.util.ArrayList; +import java.util.List; +import monnethic.mobile.homepage.InputController; +import monnethic.mobile.restApi.SessionApiHandler; +import monnethic.mobile.restApi.SettingsApiHandler; +import monnethic.mobile.restApi.WalletApiHandler; +import monnethic.mobile.wallet.Wallet; + +public class SettingsActivity extends AppCompatActivity { + private Context context = SettingsActivity.this; + private ArrayList userWallets; + private String user_hash; + private String user_email; + private String user_password; + private String session_id; + + private EditText currentPassword; + private EditText newPassword; + private EditText confirmedNewPassword; + private Button buttonConfirm; + private Button buttonCancel; + private Switch enableDeleteWallet; + private Switch enableChangePassword; + private Spinner walletToDelete; + private Spinner walletToTransfer; + private EditText confirmWalletToDelete; + private LinearLayout l1; + private LinearLayout l2; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_settings); + + Intent intent = getIntent(); + user_hash = intent.getStringExtra("USER_HASH"); + user_email = intent.getStringExtra("USER_EMAIL"); + user_password = intent.getStringExtra("USER_PWD"); + session_id = intent.getStringExtra("SESSION_ID"); + + initView(); + } + + private void initView(){ + l1 = (LinearLayout) findViewById(R.id.l1); + l2 = (LinearLayout) findViewById(R.id.l2); + currentPassword = findViewById(R.id.currentPwd); + newPassword = findViewById(R.id.newPwd1); + confirmedNewPassword = findViewById(R.id.newPwd2); + currentPassword.setEnabled(false); + newPassword.setEnabled(false); + confirmedNewPassword.setEnabled(false); + + walletToDelete = findViewById(R.id.spinnerWalletToDelete); + walletToTransfer = findViewById(R.id.spinnerWalletToMoveFund); + confirmWalletToDelete = findViewById(R.id.editTextConfirmDeleteWallet); + walletToTransfer.setEnabled(false); + confirmWalletToDelete.setEnabled(false); + walletToDelete.setEnabled(false); + + enableChangePassword = findViewById(R.id.switchChangePassword); + enableChangePassword.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean b) { + if(enableChangePassword.isChecked()){ + l1.setBackgroundResource(R.color.zxing_transparent); + currentPassword.setEnabled(true); + newPassword.setEnabled(true); + confirmedNewPassword.setEnabled(true); + }else{ + l1.setBackgroundResource(R.color.darker_gray); + currentPassword.setEnabled(false); + newPassword.setEnabled(false); + confirmedNewPassword.setEnabled(false); + } + } + }); + + try{ + String[] params = {user_hash}; + userWallets = new SettingsActivity.getUserWalletTask().execute(params).get(); + } catch (Exception e){ + e.printStackTrace(); + } + + if(!userWallets.isEmpty()){ + List listOptions = new ArrayList<>(); + for(Wallet w : userWallets){ + listOptions.add(w.getType()); + } + ArrayAdapter adapterOptions = new ArrayAdapter<>(SettingsActivity.this,android.R.layout.simple_spinner_dropdown_item,listOptions); + adapterOptions.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + walletToDelete.setAdapter(adapterOptions); + walletToTransfer.setAdapter(adapterOptions); + + if(userWallets.size()>1 && walletToDelete.getSelectedItemId()==walletToTransfer.getSelectedItemId()){ + walletToTransfer.setSelection((int) walletToDelete.getSelectedItemId()+1); + } + } + + walletToDelete.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView adapterView, View view, int i, long l) { + if(userWallets.size()>1 && walletToTransfer.getSelectedItemId()==(int)l){ + if(walletToTransfer.getSelectedItemId()+1==userWallets.size()){ + walletToTransfer.setSelection(0); + }else{ + walletToTransfer.setSelection((int) walletToDelete.getSelectedItemId()+1); + } + } + } + + @Override + public void onNothingSelected(AdapterView adapterView) { + + } + }); + + enableDeleteWallet = findViewById(R.id.switchDeleteWallet); + enableDeleteWallet.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean b) { + if(userWallets.size()<=1){ + Toast.makeText(SettingsActivity.this,"You can't delete a wallet with one or less wallet",Toast.LENGTH_LONG).show(); + enableDeleteWallet.setChecked(false); + }else{ + if(enableDeleteWallet.isChecked()){ + l2.setBackgroundResource(R.color.zxing_transparent); + walletToTransfer.setEnabled(true); + confirmWalletToDelete.setEnabled(true); + walletToDelete.setEnabled(true); + }else{ + l2.setBackgroundResource(R.color.darker_gray); + walletToTransfer.setEnabled(false); + confirmWalletToDelete.setEnabled(false); + walletToDelete.setEnabled(false); + } + } + } + }); + + buttonConfirm = findViewById(R.id.buttonConfirmSettings); + buttonConfirm.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(!enableDeleteWallet.isChecked() && !enableChangePassword.isChecked()){ + Intent intent2 = new Intent(); + intent2.putExtra("new_password",user_password); + setResult(1,intent2); + finish(); + } + else if (!enableDeleteWallet.isChecked() && enableChangePassword.isChecked()){ + String newPwd = changePwd(); + if(newPwd!=null){ + Intent intent1 = new Intent(); + intent1.putExtra("new_password",newPwd); + setResult(1,intent1); + finish(); + } + } + else if (enableDeleteWallet.isChecked() && !enableChangePassword.isChecked()){ + if(deleteWallet()){ + Intent intent2 = new Intent(); + intent2.putExtra("new_password",user_password); + setResult(1,intent2); + finish(); + } + } + else { + String newPwd = changePwd(); + if(newPwd!=null){ + if(deleteWallet()){ + Intent intent2 = new Intent(); + intent2.putExtra("new_password",newPwd); + setResult(1,intent2); + finish(); + } + } + } + } + }); + buttonCancel = findViewById(R.id.buttonCancelSettings); + buttonCancel.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent3 = new Intent(); + intent3.putExtra("new_password",user_password); + setResult(1,intent3); + finish(); + } + }); + } + + private String changePwd(){ + if(checkInputEmptyPassword()){ + if(currentPassword.getText().toString().equals(user_password)){ + try{ + String[] p = {user_email,user_password,newPassword.getText().toString()}; + String v = new changeUserPasswordTask().execute(p).get(); + if(Boolean.parseBoolean(v)){ + Toast.makeText(SettingsActivity.this,"Password updated",Toast.LENGTH_SHORT).show(); + return newPassword.getText().toString(); + }else{ + Toast.makeText(SettingsActivity.this,"An error occured",Toast.LENGTH_SHORT).show(); + return null; + } + } catch (Exception e){ + e.printStackTrace(); + Toast.makeText(SettingsActivity.this,"An error occured",Toast.LENGTH_SHORT).show(); + return null; + } + }else{ + Toast.makeText(SettingsActivity.this,"Current password don't match actual password",Toast.LENGTH_SHORT).show(); + return null; + } + }else{ + return null; + } + } + + + private Boolean deleteWallet(){ + if(checkInputEmptyWallet()){ + try{ + String[] p = {user_email,user_hash,user_password, + userWallets.get((int) walletToDelete.getSelectedItemId()).getWallet_hash(), + userWallets.get((int) walletToTransfer.getSelectedItemId()).getWallet_hash()}; + + String v = new deleteWalletTask(context).execute(p).get(); + if(Boolean.parseBoolean(v)){ + Toast.makeText(SettingsActivity.this,"Wallet has been deleted",Toast.LENGTH_SHORT).show(); + return true; + }else{ + Toast.makeText(SettingsActivity.this,"An error occured",Toast.LENGTH_SHORT).show(); + return false; + } + }catch (Exception e){ + e.printStackTrace(); + Toast.makeText(SettingsActivity.this,"An error occured",Toast.LENGTH_SHORT).show(); + return false; + } + }else{ + return false; + } + } + + + private boolean checkInputEmptyPassword(){ + if(InputController.isEmptyEdit(currentPassword)){ + Toast.makeText(this, "You didn't enter current password", Toast.LENGTH_SHORT).show(); + return false; + } else if(InputController.isEmptyEdit(newPassword)){ + Toast.makeText(this, "You didn't enter new password", Toast.LENGTH_SHORT).show(); + return false; + } else if(InputController.isEmptyEdit(confirmedNewPassword)){ + Toast.makeText(this, "You didn't enter confirmation password", Toast.LENGTH_SHORT).show(); + return false; + } else { + if(!InputController.passwordValidator(newPassword.getText().toString())){ + Toast.makeText(this, "Password must contains 6 to 20 characters, one lowercase, one uppercase and one digit", Toast.LENGTH_LONG).show(); + return false; + } else if (!(newPassword.getText().toString().equals(confirmedNewPassword.getText().toString()))) { + Toast.makeText(this, "New Password don't match Confirmation Password", Toast.LENGTH_SHORT).show(); + return false; + } else{ + return true; + } + } + } + + private boolean checkInputEmptyWallet(){ + if(InputController.isEmptyEdit(confirmWalletToDelete)){ + Toast.makeText(this, "You didn't confirm wallet deletion", Toast.LENGTH_SHORT).show(); + return false; + }else{ + if(!confirmWalletToDelete.getText().toString().equals(userWallets.get((int) walletToDelete.getSelectedItemId()).getType())){ + Toast.makeText(this, "Confirmation wallet don't match wallet to delete", Toast.LENGTH_SHORT).show(); + return false; + } else if(walletToDelete.getSelectedItemId()==walletToTransfer.getSelectedItemId()) { + Toast.makeText(this, "Delete wallet and Wallet to transfer fund can't be the same", Toast.LENGTH_SHORT).show(); + return false; + } else { + return true; + } + } + } + + + + + //AsyncTask to change userPassword + private class changeUserPasswordTask extends AsyncTask { + ProgressDialog progDailog = new ProgressDialog(SettingsActivity.this); + @Override + protected void onPreExecute() { + progDailog.setMessage("Updating Password..."); + progDailog.setIndeterminate(false); + progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER); + progDailog.setCancelable(true); + progDailog.show(); + super.onPreExecute(); + } + + @Override + protected String doInBackground(String... params) { + try{ + SettingsApiHandler settingsApiHandler = new SettingsApiHandler(); + return settingsApiHandler.updatePassword(params); + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } + + @Override + protected void onPostExecute(String v) { + progDailog.dismiss(); + } + } + + + private class deleteWalletTask extends AsyncTask { + Context mContext; + ProgressDialog progDialog; + private deleteWalletTask(final Context context){ + mContext = context; + progDialog = new ProgressDialog(mContext); + } + + @Override + protected void onPreExecute() { + super.onPreExecute(); + progDialog.setMessage("Deleting Wallet..."); + progDialog.setCancelable(true); + progDialog.setIndeterminate(false); + progDialog.show(); + } + + @Override + protected String doInBackground(String... params) { + try{ + WalletApiHandler walletApiHandler = new WalletApiHandler(); + return walletApiHandler.deleteWallet(params); + }catch (Exception e){ + e.printStackTrace(); + return null; + } + } + + @Override + protected void onPostExecute(String v) { + progDialog.dismiss(); + } + } + + + //AsyncTask to get user wallets + private class getUserWalletTask extends AsyncTask,ArrayList> { + ProgressDialog progDailog = new ProgressDialog(SettingsActivity.this); + @Override + protected void onPreExecute() { + super.onPreExecute(); + progDailog.setMessage("Getting wallets..."); + progDailog.setIndeterminate(false); + progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER); + progDailog.setCancelable(true); + progDailog.show(); + } + + @Override + protected ArrayList doInBackground(String... params) { + ArrayList walletsList = new ArrayList<>(); + try{ + WalletApiHandler walletApiHandler = new WalletApiHandler(); + walletsList = walletApiHandler.getUserWallets(params); + }catch (Exception e){ + e.printStackTrace(); + } + return walletsList; + } + + @Override + protected void onPostExecute(ArrayList listWallet) { + progDailog.dismiss(); + } + } + + + @Override + public void onBackPressed() { + Intent intent4 = new Intent(); + intent4.putExtra("new_password",user_password); + setResult(1,intent4); + super.onBackPressed(); + } + + @Override + protected void onStop() { + super.onStop(); // Always call the superclass method first + new EndSessionTask().execute(session_id); + + } + + private class EndSessionTask extends AsyncTask { + @Override + protected Void doInBackground(String... strings) { + try{ + SessionApiHandler sessionApiHandler = new SessionApiHandler(); + sessionApiHandler.endSession(strings[0]); + }catch (Exception e){ + e.printStackTrace(); + } + return null; + } + } +} diff --git a/app/src/main/java/monnethic/mobile/transaction/TransactionActivity.java b/app/src/main/java/monnethic/mobile/transaction/TransactionActivity.java index 3d4ced0..7c99ea8 100644 --- a/app/src/main/java/monnethic/mobile/transaction/TransactionActivity.java +++ b/app/src/main/java/monnethic/mobile/transaction/TransactionActivity.java @@ -68,14 +68,8 @@ public class TransactionActivity extends AppCompatActivity { } else if(InputController.isEmptyEdit(amountEditText)) { Toast.makeText(this, "No amount", Toast.LENGTH_SHORT).show(); } else { - System.out.println("HERE"); String wallet_dest = addressDestination.getText().toString(); - System.out.println("wallet_dest : "+wallet_dest); String amount = amountEditText.getText().toString(); - System.out.println("amount : "+amount); - System.out.println("user_hash : "+user_hash); - System.out.println("user_password : "+user_password); - System.out.println("wallet_hash : "+wallet_hash); SendingTransaction sendingTransaction = new SendingTransaction(user_hash,user_password,wallet_hash,wallet_dest,amount,"gonette"); try { String transaction_hash = new TransactionTask().execute(sendingTransaction).get(); diff --git a/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java b/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java index e197d9f..4705865 100644 --- a/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java +++ b/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java @@ -13,6 +13,7 @@ import com.example.monnthic.monnethicmobile.R; import monnethic.mobile.history.HistoryActivity; import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.WalletApiHandler; +import monnethic.mobile.settings.SettingsActivity; import monnethic.mobile.transaction.MakePayementActivity; import monnethic.mobile.transaction.ReceivePayementActivity; @@ -31,7 +32,7 @@ public class UserAccountActivity extends AppCompatActivity { TextView walletHashView = findViewById(R.id.walletHash); Button buttonPayement = findViewById(R.id.buttonPayement); Button buttonReceive = findViewById(R.id.buttonReceive); - Button buttonSettings = findViewById(R.id.buttonSettings); + Button buttonRefresh = findViewById(R.id.buttonRefreshBalance); Button buttonHistory = findViewById(R.id.goToHistory); @@ -58,13 +59,6 @@ public class UserAccountActivity extends AppCompatActivity { receivePayement(); } }); - buttonSettings.setVisibility(View.INVISIBLE); - buttonSettings.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - settings(); - } - }); buttonRefresh.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -98,9 +92,6 @@ public class UserAccountActivity extends AppCompatActivity { receivePayementIntent.putExtra("SESSION_ID",session_id); UserAccountActivity.this.startActivity(receivePayementIntent); } - public void settings(){ - Toast.makeText(this, "Coming soon", Toast.LENGTH_SHORT).show(); - } public void history(){ Intent historyIntent = new Intent(UserAccountActivity.this, HistoryActivity.class); diff --git a/app/src/main/java/monnethic/mobile/wallet/CreateWalletActivity.java b/app/src/main/java/monnethic/mobile/wallet/CreateWalletActivity.java index 32e2c06..1df1e64 100644 --- a/app/src/main/java/monnethic/mobile/wallet/CreateWalletActivity.java +++ b/app/src/main/java/monnethic/mobile/wallet/CreateWalletActivity.java @@ -38,7 +38,6 @@ public class CreateWalletActivity extends AppCompatActivity { buttonValidate.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - //TODO ASYNC wallet_type Wallet wallet = new Wallet(wallet_type.getText().toString(),user_hash); new CreateWalletTask(context).execute(wallet); } diff --git a/app/src/main/java/monnethic/mobile/wallet/HomeWalletActivity.java b/app/src/main/java/monnethic/mobile/wallet/HomeWalletActivity.java index eecf535..75ca42b 100644 --- a/app/src/main/java/monnethic/mobile/wallet/HomeWalletActivity.java +++ b/app/src/main/java/monnethic/mobile/wallet/HomeWalletActivity.java @@ -5,6 +5,7 @@ import android.content.Intent; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.Toast; @@ -16,6 +17,7 @@ import org.json.JSONObject; import monnethic.mobile.database.User; import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.UserApiHandler; +import monnethic.mobile.settings.SettingsActivity; public class HomeWalletActivity extends AppCompatActivity { private String user_hash; @@ -23,6 +25,7 @@ public class HomeWalletActivity extends AppCompatActivity { private String session_id; private String email; private Boolean approved; + private Button buttonApproveUser; @Override protected void onCreate(Bundle savedInstanceState) { @@ -30,7 +33,8 @@ public class HomeWalletActivity extends AppCompatActivity { setContentView(R.layout.activity_home_wallet); Button buttonCreateWallet = findViewById(R.id.buttonCreateWallet); Button buttonSelectWallet = findViewById(R.id.buttonSelectWallet); - Button buttonApproveUser = findViewById(R.id.buttonApproveUser); + buttonApproveUser = findViewById(R.id.buttonApproveUser); + Button buttonSettings = findViewById(R.id.buttonSettings); Intent intent = getIntent(); user_hash = intent.getStringExtra("USER_HASH"); @@ -46,7 +50,12 @@ public class HomeWalletActivity extends AppCompatActivity { launchCreateWalletActivity(); } }); - + buttonSettings.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + settings(); + } + }); buttonSelectWallet.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -99,6 +108,29 @@ public class HomeWalletActivity extends AppCompatActivity { } } + public void settings(){ + if(approved){ + Intent settingsIntent = new Intent(HomeWalletActivity.this, SettingsActivity.class); + settingsIntent.putExtra("USER_HASH",user_hash); + settingsIntent.putExtra("USER_PWD",user_password); + settingsIntent.putExtra("USER_EMAIL",email); + settingsIntent.putExtra("SESSION_ID",session_id); + startActivityForResult(settingsIntent,1); + }else { + Toast.makeText(HomeWalletActivity.this,"You are not approved",Toast.LENGTH_SHORT).show(); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data){ + super.onActivityResult(requestCode, resultCode, data); + Log.i("RESULT","HERE"); + if(requestCode==1){ + user_password = data.getStringExtra("new_password"); + } + Log.i("NEW_PWD",user_password); + } + public void approveUser(){ new ApproveTask().execute(user_hash,email); } @@ -166,6 +198,7 @@ public class HomeWalletActivity extends AppCompatActivity { @Override protected void onPostExecute(String result) { + buttonApproveUser.setVisibility(View.INVISIBLE); progDailog.dismiss(); } diff --git a/app/src/main/res/layout/activity_home_wallet.xml b/app/src/main/res/layout/activity_home_wallet.xml index d427d4f..5f8302b 100644 --- a/app/src/main/res/layout/activity_home_wallet.xml +++ b/app/src/main/res/layout/activity_home_wallet.xml @@ -7,24 +7,36 @@ tools:context="monnethic.mobile.wallet.HomeWalletActivity"> + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:layout_marginTop="5dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent">