diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a5b58a7..b5c41ae 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -31,7 +31,6 @@ - diff --git a/app/src/main/java/monnethic/mobile/homepage/LoginActivity.java b/app/src/main/java/monnethic/mobile/homepage/LoginActivity.java index 181e264..7dd1d03 100644 --- a/app/src/main/java/monnethic/mobile/homepage/LoginActivity.java +++ b/app/src/main/java/monnethic/mobile/homepage/LoginActivity.java @@ -6,6 +6,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.EditText; @@ -38,7 +39,6 @@ public class LoginActivity extends AppCompatActivity { buttonOk.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { - System.out.println("CLICKED"); validateInput(); } }); @@ -118,10 +118,4 @@ public class LoginActivity extends AppCompatActivity { } } - - @Override - protected void onStop() { - super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); - } } diff --git a/app/src/main/java/monnethic/mobile/qrcode/QrCodeActivity.java b/app/src/main/java/monnethic/mobile/qrcode/QrCodeActivity.java index 92ddbde..8cb348f 100644 --- a/app/src/main/java/monnethic/mobile/qrcode/QrCodeActivity.java +++ b/app/src/main/java/monnethic/mobile/qrcode/QrCodeActivity.java @@ -2,20 +2,21 @@ package monnethic.mobile.qrcode; import android.content.Intent; import android.graphics.Bitmap; +import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; -import android.widget.Toast; - import com.example.monnthic.monnethicmobile.R; import com.google.zxing.BarcodeFormat; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.journeyapps.barcodescanner.BarcodeEncoder; +import monnethic.mobile.restApi.SessionApiHandler; + public class QrCodeActivity extends AppCompatActivity { ImageView qrCode; @@ -74,6 +75,19 @@ public class QrCodeActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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/qrcode/QrCodeScannerActivity.java b/app/src/main/java/monnethic/mobile/qrcode/QrCodeScannerActivity.java index 11c2bc9..baa7a91 100644 --- a/app/src/main/java/monnethic/mobile/qrcode/QrCodeScannerActivity.java +++ b/app/src/main/java/monnethic/mobile/qrcode/QrCodeScannerActivity.java @@ -3,6 +3,7 @@ package monnethic.mobile.qrcode; import android.Manifest; import android.content.Intent; import android.content.pm.PackageManager; +import android.os.AsyncTask; import android.support.v4.app.ActivityCompat; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; @@ -15,6 +16,8 @@ import com.google.android.gms.vision.CameraSource; import com.google.android.gms.vision.Detector; import com.google.android.gms.vision.barcode.Barcode; import com.google.android.gms.vision.barcode.BarcodeDetector; + +import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.transaction.ApprovePayementActivity; public class QrCodeScannerActivity extends AppCompatActivity { @@ -116,6 +119,19 @@ public class QrCodeScannerActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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/restApi/Config.java b/app/src/main/java/monnethic/mobile/restApi/Config.java index 40c9ce2..c699697 100644 --- a/app/src/main/java/monnethic/mobile/restApi/Config.java +++ b/app/src/main/java/monnethic/mobile/restApi/Config.java @@ -8,6 +8,7 @@ public class Config { static private String BASE_URL_USER = BASE_URL+"api/rest/user/"; static private String BASE_URL_TRANSACTION = BASE_URL+"api/rest/transaction/"; static private String BASE_URL_WALLET = BASE_URL+"api/rest/wallet/"; + static private String BASE_URL_SESSION = BASE_URL+"api/rest/session/"; //USER static public String USER_LOGIN = BASE_URL_USER+"login"; @@ -17,6 +18,9 @@ public class Config { static public String FIND_BY_EMAIL= BASE_URL_USER+"findByEmail"; static public String FIND_BY_PHONE = BASE_URL_USER+"findByPhone"; static public String FIND_BY_EMAIL_AND_PHONE = BASE_URL_USER+"findByEmailAndPhone"; + //Session + static public String START_SESSION = BASE_URL_SESSION+"start"; + static public String END_SESSION = BASE_URL_SESSION+"end"; //TRANSACTION static public String TRANSACTION_SEND = BASE_URL_TRANSACTION+"send"; diff --git a/app/src/main/java/monnethic/mobile/restApi/HttpCallHandler.java b/app/src/main/java/monnethic/mobile/restApi/HttpCallHandler.java index 97712fc..86e53df 100644 --- a/app/src/main/java/monnethic/mobile/restApi/HttpCallHandler.java +++ b/app/src/main/java/monnethic/mobile/restApi/HttpCallHandler.java @@ -1,18 +1,14 @@ package monnethic.mobile.restApi; -import android.util.Log; import org.json.JSONObject; import java.io.BufferedReader; import java.io.DataOutputStream; -import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; -import monnethic.mobile.database.User; - public class HttpCallHandler { public String getHttp(URL url) throws Exception { @@ -63,11 +59,7 @@ public class HttpCallHandler { DataOutputStream os = new DataOutputStream(urlConnection.getOutputStream()); os.writeBytes(jsonParam.toString()); - Log.i("HttpCallHandler",jsonParam.toString()); - - int statusCode = urlConnection.getResponseCode(); - Log.i("HttpCallHandler",String.valueOf(statusCode)); if(statusCode != 200){ JSONObject jsonReturn = new JSONObject(); if(statusCode == 404){ @@ -89,7 +81,6 @@ public class HttpCallHandler { stringBuilder.append(line); } - //stringBuilder.append("{\"status\":"+200+"}"); JSONObject json = new JSONObject(stringBuilder.toString()); json.put("status",200); returnValue = json.toString(); @@ -97,129 +88,22 @@ public class HttpCallHandler { return returnValue; } + public void postHttpSession(URL url, Map params) throws Exception { + HttpURLConnection urlConnection = null; + urlConnection = (HttpURLConnection) url.openConnection(); + urlConnection.setRequestMethod("POST"); + urlConnection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); + urlConnection.setRequestProperty("Accept","application/json"); + urlConnection.setDoOutput(true); + urlConnection.setDoInput(true); - public String executeLoginHttp(String urlParam, String[] params){ - BufferedReader bufferedReader = null; - HttpURLConnection connection = null; - String res = null; - try{ - URL url = new URL(urlParam); - connection = (HttpURLConnection) url.openConnection(); - connection.setRequestMethod("POST"); - connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); - connection.setRequestProperty("Accept","application/json"); - connection.setDoOutput(true); - connection.setDoInput(true); - JSONObject jsonParam = new JSONObject(); - jsonParam.put("email",params[0]); - jsonParam.put("password",params[1]); - DataOutputStream os = new DataOutputStream(connection.getOutputStream()); - os.writeBytes(jsonParam.toString()); - - int statusCode = connection.getResponseCode(); - if(statusCode != 200){ - JSONObject jsonReturn = new JSONObject(); - System.out.println("Response code is : "+statusCode); - if(statusCode == 404){ - jsonReturn.put("status",404); - jsonReturn.put("response","Not Found"); - return jsonReturn.toString(); - }else if(statusCode == 403){ - jsonReturn.put("status",403); - jsonReturn.put("response","Wrong Password"); - return jsonReturn.toString(); - } - }else{ - bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream())); - StringBuilder stringBuilder = new StringBuilder(); - String line; - while ((line = bufferedReader.readLine())!=null){ - stringBuilder.append(line); - } - JSONObject jsonSuccess = new JSONObject(stringBuilder.toString()); - jsonSuccess.put("status",200); - res = jsonSuccess.toString(); - os.flush(); - os.close(); - } - return res; - }catch (Exception e){ - e.printStackTrace(); - return null; - } finally { - if(connection != null){ - connection.disconnect(); - } - if(bufferedReader != null){ - try { - bufferedReader.close(); - }catch (IOException e){ - e.printStackTrace(); - } - } + JSONObject jsonParam = new JSONObject(); + for(Map.Entry pair : params.entrySet()){ + jsonParam.put(pair.getKey(),pair.getValue()); } - } - public String executeRegisterHttp(String urlParam, User user){ - BufferedReader bufferedReader = null; - HttpURLConnection connection = null; - String res = null; - try{ - URL url = new URL(urlParam); - connection = (HttpURLConnection) url.openConnection(); - connection.setRequestMethod("POST"); - connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); - connection.setRequestProperty("Accept","application/json"); - connection.setDoOutput(true); - connection.setDoInput(true); - JSONObject jsonParam = new JSONObject(); - jsonParam.put("name",user.getName()); - jsonParam.put("firstname",user.getFirstname()); - jsonParam.put("email",user.getEmail()); - jsonParam.put("password",user.getPassword()); - - DataOutputStream os = new DataOutputStream(connection.getOutputStream()); - os.writeBytes(jsonParam.toString()); - - int statusCode = connection.getResponseCode(); - if(statusCode!=200){ - JSONObject jsonReturn = new JSONObject(); - System.out.println("Response code is : "+statusCode); - if(statusCode == 302){ - jsonReturn.put("status",302); - jsonReturn.put("response","User Already Exist !"); - return jsonReturn.toString(); - }else { - return null; - } - }else { - bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream())); - StringBuilder stringBuilder = new StringBuilder(); - String line; - while ((line = bufferedReader.readLine())!=null){ - stringBuilder.append(line); - } - JSONObject jsonSuccess = new JSONObject(stringBuilder.toString()); - jsonSuccess.put("status",200); - res = jsonSuccess.toString(); - os.flush(); - os.close(); - } - return res; - }catch (Exception e){ - e.printStackTrace(); - return null; - } finally { - if(connection != null){ - connection.disconnect(); - } - if(bufferedReader != null){ - try { - bufferedReader.close(); - }catch (IOException e){ - e.printStackTrace(); - } - } - } + DataOutputStream os = new DataOutputStream(urlConnection.getOutputStream()); + os.writeBytes(jsonParam.toString()); + urlConnection.getResponseCode(); } } diff --git a/app/src/main/java/monnethic/mobile/restApi/SessionApiHandler.java b/app/src/main/java/monnethic/mobile/restApi/SessionApiHandler.java new file mode 100644 index 0000000..c2f9432 --- /dev/null +++ b/app/src/main/java/monnethic/mobile/restApi/SessionApiHandler.java @@ -0,0 +1,19 @@ +package monnethic.mobile.restApi; + +import java.net.URL; +import java.util.HashMap; +import java.util.Map; + +public class SessionApiHandler { + public void endSession(String session_id){ + HttpCallHandler httpCallHandler = new HttpCallHandler(); + try{ + String url = Config.END_SESSION; + Map map = new HashMap<>(); + map.put("session_id",Integer.parseInt(session_id)); + httpCallHandler.postHttpSession(new URL(url), map); + }catch (Exception e){ + e.printStackTrace(); + } + } +} diff --git a/app/src/main/java/monnethic/mobile/restApi/TransactionApiHandler.java b/app/src/main/java/monnethic/mobile/restApi/TransactionApiHandler.java index 45cbd37..5228e89 100644 --- a/app/src/main/java/monnethic/mobile/restApi/TransactionApiHandler.java +++ b/app/src/main/java/monnethic/mobile/restApi/TransactionApiHandler.java @@ -1,6 +1,5 @@ package monnethic.mobile.restApi; -import android.util.Log; import org.json.JSONObject; import java.net.URL; import java.util.HashMap; @@ -14,7 +13,6 @@ public class TransactionApiHandler { try{ String url = Config.TRANSACTION_SEND; Map map = new HashMap<>(); - Log.i("TransactionApiHandler",sendingTransaction.toString()); map.put("source_user_hash",sendingTransaction.getSource_user_hash()); map.put("source_user_pwd",sendingTransaction.getSource_user_pwd()); map.put("transaction_from",sendingTransaction.getTransaction_from()); @@ -23,7 +21,6 @@ public class TransactionApiHandler { map.put("transaction_unit",sendingTransaction.getTransaction_unit()); String response = httpCallHandler.postHttp(new URL(url),map); JSONObject jsonObject = new JSONObject(response); - Log.i("TransactionApiHandler",jsonObject.toString()); return jsonObject.getString("response"); }catch (Exception e){ e.printStackTrace(); diff --git a/app/src/main/java/monnethic/mobile/restApi/UserApiHandler.java b/app/src/main/java/monnethic/mobile/restApi/UserApiHandler.java index dd3c050..aaaddfa 100644 --- a/app/src/main/java/monnethic/mobile/restApi/UserApiHandler.java +++ b/app/src/main/java/monnethic/mobile/restApi/UserApiHandler.java @@ -1,6 +1,5 @@ package monnethic.mobile.restApi; -import android.util.Log; import org.json.JSONObject; import java.net.URL; import java.util.HashMap; @@ -25,12 +24,17 @@ public class UserApiHandler { String responseCall = httpCallHandler.postHttp(new URL(url), map); JSONObject jsonObject = new JSONObject(responseCall); u.setUser_hash(jsonObject.getString("user_hash")); - Log.i("UserApiHandler-register","user_hash :"+jsonObject.getString("user_hash")); JSONObject jsonReturn = new JSONObject(); jsonReturn.put("user_hash",u.getUser_hash()); - //jsonReturn.put("session_id",String.valueOf(jsonObject.getString("session_id"))); //TODO - jsonReturn.put("session_id",String.valueOf(0)); + + String urlSession = Config.START_SESSION; + Map mapSession = new HashMap<>(); + mapSession.put("user_email",u.getEmail()); + mapSession.put("user_hash",u.getUser_hash()); + String responseCallSession = httpCallHandler.postHttp(new URL(urlSession), mapSession); + JSONObject jsonObjectSession = new JSONObject(responseCallSession); + jsonReturn.put("session_id",String.valueOf(jsonObjectSession.getInt("session_id"))); return jsonReturn; }catch (Exception e){ @@ -57,10 +61,14 @@ public class UserApiHandler { JSONObject jsonReturn = new JSONObject(); jsonReturn.put("status",200); jsonReturn.put("user_hash",u.getUser_hash()); - //jsonReturn.put("session_id",String.valueOf(jsonObject.getString("session_id"))); //TODO - - jsonReturn.put("session_id",String.valueOf(0)); + String urlSession = Config.START_SESSION; + Map mapSession = new HashMap<>(); + mapSession.put("user_email",u.getEmail()); + mapSession.put("user_hash",u.getUser_hash()); + String responseCallSession = httpCallHandler.postHttp(new URL(urlSession), mapSession); + JSONObject jsonObjectSession = new JSONObject(responseCallSession); + jsonReturn.put("session_id",String.valueOf(jsonObjectSession.getInt("session_id"))); return jsonReturn; } diff --git a/app/src/main/java/monnethic/mobile/search/DisplayWalletSearch.java b/app/src/main/java/monnethic/mobile/search/DisplayWalletSearch.java index 4051842..9bc13fe 100644 --- a/app/src/main/java/monnethic/mobile/search/DisplayWalletSearch.java +++ b/app/src/main/java/monnethic/mobile/search/DisplayWalletSearch.java @@ -10,11 +10,13 @@ import android.widget.AdapterView; import android.widget.ListView; import com.example.monnthic.monnethicmobile.R; import java.util.ArrayList; +import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.WalletApiHandler; import monnethic.mobile.wallet.Wallet; public class DisplayWalletSearch extends AppCompatActivity { private ArrayList userWallets; + private String session_id; @Override protected void onCreate(Bundle savedInstanceState) { @@ -26,6 +28,7 @@ public class DisplayWalletSearch extends AppCompatActivity { String user_name = intent.getStringExtra("user_name"); String user_firstname = intent.getStringExtra("user_firstname"); String user_hash = intent.getStringExtra("user_hash"); + session_id = intent.getStringExtra("SESSION_ID"); try { userWallets = new SearchWalletTask().execute(user_hash).get(); @@ -84,4 +87,23 @@ public class DisplayWalletSearch extends AppCompatActivity { } } + @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/search/SearchUser.java b/app/src/main/java/monnethic/mobile/search/SearchUser.java index dcb72e0..6b8d752 100644 --- a/app/src/main/java/monnethic/mobile/search/SearchUser.java +++ b/app/src/main/java/monnethic/mobile/search/SearchUser.java @@ -13,6 +13,7 @@ import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; import monnethic.mobile.database.User; import monnethic.mobile.homepage.InputController; +import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.UserApiHandler; public class SearchUser extends AppCompatActivity { @@ -20,12 +21,20 @@ public class SearchUser extends AppCompatActivity { EditText phoneNumber; Button buttonCancel; Button buttonOk; + private String session_id; + private String user_hash; + private String user_password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_search_user); + Intent intent = getIntent(); + user_hash = intent.getStringExtra("USER_HASH"); + user_password = intent.getStringExtra("USER_PWD"); + session_id = intent.getStringExtra("SESSION_ID"); + initView(); } @@ -88,6 +97,7 @@ public class SearchUser extends AppCompatActivity { displayWalletIntent.putExtra("user_name",user.getName()); displayWalletIntent.putExtra("user_firstname",user.getFirstname()); displayWalletIntent.putExtra("user_hash",user.getUser_hash()); + displayWalletIntent.putExtra("SESSION_ID",session_id); displayWalletIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); SearchUser.this.startActivity(displayWalletIntent); finish(); @@ -116,4 +126,23 @@ public class SearchUser extends AppCompatActivity { } } + + @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/ApprovePayementActivity.java b/app/src/main/java/monnethic/mobile/transaction/ApprovePayementActivity.java index d628ce8..e916159 100644 --- a/app/src/main/java/monnethic/mobile/transaction/ApprovePayementActivity.java +++ b/app/src/main/java/monnethic/mobile/transaction/ApprovePayementActivity.java @@ -10,6 +10,7 @@ import android.widget.Button; import android.widget.TextView; import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; +import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.TransactionApiHandler; public class ApprovePayementActivity extends AppCompatActivity { @@ -111,6 +112,19 @@ public class ApprovePayementActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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/MakePayementActivity.java b/app/src/main/java/monnethic/mobile/transaction/MakePayementActivity.java index 955812b..68c9aef 100644 --- a/app/src/main/java/monnethic/mobile/transaction/MakePayementActivity.java +++ b/app/src/main/java/monnethic/mobile/transaction/MakePayementActivity.java @@ -1,14 +1,15 @@ package monnethic.mobile.transaction; 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; import com.example.monnthic.monnethicmobile.R; import monnethic.mobile.qrcode.QrCodeScannerActivity; +import monnethic.mobile.restApi.SessionApiHandler; public class MakePayementActivity extends AppCompatActivity { Button btnScanQr; @@ -70,6 +71,19 @@ public class MakePayementActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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/ReceivePayementActivity.java b/app/src/main/java/monnethic/mobile/transaction/ReceivePayementActivity.java index fdb2cdd..e879163 100644 --- a/app/src/main/java/monnethic/mobile/transaction/ReceivePayementActivity.java +++ b/app/src/main/java/monnethic/mobile/transaction/ReceivePayementActivity.java @@ -1,14 +1,15 @@ package monnethic.mobile.transaction; import android.content.Intent; +import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; -import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; import monnethic.mobile.qrcode.QrCodeActivity; +import monnethic.mobile.restApi.SessionApiHandler; public class ReceivePayementActivity extends AppCompatActivity { Button cancelButton; @@ -61,6 +62,19 @@ public class ReceivePayementActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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 043add1..324a393 100644 --- a/app/src/main/java/monnethic/mobile/transaction/TransactionActivity.java +++ b/app/src/main/java/monnethic/mobile/transaction/TransactionActivity.java @@ -5,13 +5,13 @@ 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.EditText; import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; import monnethic.mobile.homepage.InputController; +import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.TransactionApiHandler; import monnethic.mobile.search.SearchUser; @@ -39,11 +39,6 @@ public class TransactionActivity extends AppCompatActivity { session_id = intent.getStringExtra("SESSION_ID"); wallet_hash = intent.getStringExtra("WALLET_HASH"); - Log.i("UserAccountActivity", "user_hash : "+user_hash); - Log.i("UserAccountActivity", "user_password : "+user_password); - Log.i("UserAccountActivity", "session_id : "+session_id); - Log.i("UserAccountActivity", "wallet_hash : "+wallet_hash); - buttonCancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -98,6 +93,9 @@ public class TransactionActivity extends AppCompatActivity { public void launchSearchActivity(){ Intent searchIntent = new Intent(TransactionActivity.this, SearchUser.class); + searchIntent.putExtra("USER_HASH",user_hash); + searchIntent.putExtra("USER_PWD",user_password); + searchIntent.putExtra("SESSION_ID",session_id); startActivityForResult(searchIntent,1); } @@ -110,12 +108,6 @@ public class TransactionActivity extends AppCompatActivity { } } - @Override - protected void onStop() { - super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); - } - private class TransactionTask extends AsyncTask { @Override @@ -142,4 +134,23 @@ public class TransactionActivity extends AppCompatActivity { } } + @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/user/UserAccountActivity.java b/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java index 7fe1a8f..c43af66 100644 --- a/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java +++ b/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java @@ -4,12 +4,13 @@ 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.TextView; import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; + +import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.WalletApiHandler; import monnethic.mobile.transaction.MakePayementActivity; import monnethic.mobile.transaction.ReceivePayementActivity; @@ -69,11 +70,6 @@ public class UserAccountActivity extends AppCompatActivity { } }); - Log.i("UserAccountActivity", "user_hash : "+user_hash); - Log.i("UserAccountActivity", "user_password : "+user_password); - Log.i("UserAccountActivity", "session_id : "+session_id); - Log.i("UserAccountActivity", "wallet_hash : "+wallet_hash); - String[] params = {wallet_hash}; new GetUserBalanceTask().execute(params); } @@ -134,14 +130,25 @@ public class UserAccountActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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; + } } @Override protected void onRestart() { super.onRestart(); // Always call the superclass method first - Log.i("UserAccountActivity",wallet_hash); new GetUserBalanceTask().execute(wallet_hash); - Toast.makeText(getApplicationContext(), "onRestart called", Toast.LENGTH_LONG).show(); } } diff --git a/app/src/main/java/monnethic/mobile/wallet/CreateWalletActivity.java b/app/src/main/java/monnethic/mobile/wallet/CreateWalletActivity.java index 6361241..32e2c06 100644 --- a/app/src/main/java/monnethic/mobile/wallet/CreateWalletActivity.java +++ b/app/src/main/java/monnethic/mobile/wallet/CreateWalletActivity.java @@ -9,8 +9,9 @@ import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; -import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; + +import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.WalletApiHandler; import monnethic.mobile.user.UserAccountActivity; @@ -101,6 +102,19 @@ public class CreateWalletActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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/wallet/HomeWalletActivity.java b/app/src/main/java/monnethic/mobile/wallet/HomeWalletActivity.java index fca454c..2a50c78 100644 --- a/app/src/main/java/monnethic/mobile/wallet/HomeWalletActivity.java +++ b/app/src/main/java/monnethic/mobile/wallet/HomeWalletActivity.java @@ -1,12 +1,13 @@ package monnethic.mobile.wallet; import android.content.Intent; +import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; -import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; +import monnethic.mobile.restApi.SessionApiHandler; public class HomeWalletActivity extends AppCompatActivity { private String user_hash; @@ -59,6 +60,19 @@ public class HomeWalletActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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; + } } } \ No newline at end of file diff --git a/app/src/main/java/monnethic/mobile/wallet/SelectWalletActivity.java b/app/src/main/java/monnethic/mobile/wallet/SelectWalletActivity.java index 16159be..beb221d 100644 --- a/app/src/main/java/monnethic/mobile/wallet/SelectWalletActivity.java +++ b/app/src/main/java/monnethic/mobile/wallet/SelectWalletActivity.java @@ -8,9 +8,9 @@ import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ListView; -import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; import java.util.ArrayList; +import monnethic.mobile.restApi.SessionApiHandler; import monnethic.mobile.restApi.WalletApiHandler; import monnethic.mobile.user.UserAccountActivity; @@ -95,6 +95,19 @@ public class SelectWalletActivity extends AppCompatActivity { @Override protected void onStop() { super.onStop(); // Always call the superclass method first - Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show(); + 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/wallet/WalletPresenterActivity.java b/app/src/main/java/monnethic/mobile/wallet/WalletPresenterActivity.java deleted file mode 100644 index a209262..0000000 --- a/app/src/main/java/monnethic/mobile/wallet/WalletPresenterActivity.java +++ /dev/null @@ -1,61 +0,0 @@ -package monnethic.mobile.wallet; - -import android.content.Intent; -import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; -import android.view.View; -import android.widget.Button; -import android.widget.EditText; -import android.widget.TextView; -import com.example.monnthic.monnethicmobile.R; -import monnethic.mobile.transaction.TransactionActivity; - -public class WalletPresenterActivity extends AppCompatActivity { - private EditText addressPublic; - private TextView balance; - private String address; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_wallet_presenter); - addressPublic = findViewById(R.id.address_pub); - balance = findViewById(R.id.balance); - Button refreshBalance = findViewById(R.id.refreshBalance); - Button buttonSendTransaction = findViewById(R.id.send_transaction); - Intent intent = getIntent(); - address = intent.getStringExtra("WALLET_ADDRESS"); - - addressPublic.setText(address); - - if(initiateBalance(address)==null){ - balance.setText("IN DEV"); - }else{ - balance.setText("IN DEV"); - } - - buttonSendTransaction.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - launchTransactionActivity(); - } - }); - - refreshBalance.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - initiateBalance(address); - } - }); - } - - public void launchTransactionActivity(){ - Intent transactionIntent = new Intent(WalletPresenterActivity.this, TransactionActivity.class); - transactionIntent.putExtra("WALLET_ADDRESS",address); - WalletPresenterActivity.this.startActivity(transactionIntent); - } - - public String initiateBalance(String address){ - return ""; - } -} diff --git a/app/src/main/res/layout/activity_wallet_presenter.xml b/app/src/main/res/layout/activity_wallet_presenter.xml deleted file mode 100644 index 5175c18..0000000 --- a/app/src/main/res/layout/activity_wallet_presenter.xml +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - -