diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index db69f3e..4b36066 100644
Binary files a/.idea/caches/build_file_checksums.ser and b/.idea/caches/build_file_checksums.ser differ
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">
+ android:layout_width="100dp"
+ android:layout_height="45dp"
+ android:layout_alignParentStart="true"
+ android:layout_marginStart="20dp"
+ android:text="Approve" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_user_account.xml b/app/src/main/res/layout/activity_user_account.xml
index 6edc70c..66edf37 100644
--- a/app/src/main/res/layout/activity_user_account.xml
+++ b/app/src/main/res/layout/activity_user_account.xml
@@ -2,32 +2,17 @@
-
-
-
-
-
@@ -44,9 +29,9 @@
android:id="@+id/walletHash"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginStart="5dp"
+ android:layout_marginStart="2dp"
android:layout_marginTop="15dp"
- android:layout_marginEnd="5dp"
+ android:layout_marginEnd="2dp"
android:textIsSelectable="true"
android:textSize="16sp"
android:textStyle="bold" />
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 3ab3e9c..67ca476 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -3,4 +3,5 @@
#3F51B5
#303F9F
#FF4081
+ #aaa