diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser
index 19b65ad..f959c36 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 d1b92eb..1245179 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -42,7 +42,8 @@
-
+
+
\ No newline at end of file
diff --git a/app/src/main/java/monnethic/mobile/database/Transaction.java b/app/src/main/java/monnethic/mobile/database/Transaction.java
index 82cec14..178ac07 100644
--- a/app/src/main/java/monnethic/mobile/database/Transaction.java
+++ b/app/src/main/java/monnethic/mobile/database/Transaction.java
@@ -1,6 +1,8 @@
package monnethic.mobile.database;
-public class Transaction {
+import java.io.Serializable;
+
+public class Transaction implements Serializable {
private int transactionId;
private long transactionDate;
private String transactionFrom;
diff --git a/app/src/main/java/monnethic/mobile/history/HistoryActivity.java b/app/src/main/java/monnethic/mobile/history/HistoryActivity.java
index e057c25..2c7c7fc 100644
--- a/app/src/main/java/monnethic/mobile/history/HistoryActivity.java
+++ b/app/src/main/java/monnethic/mobile/history/HistoryActivity.java
@@ -202,19 +202,18 @@ public class HistoryActivity extends AppCompatActivity {
ArrayList transactions = new ArrayList<>();
//function, wallet_hash, size, start_date, end_date
try{
- String myFormat = "dd-MM-yyyy";
- SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE);
- Date start_d = sdf.parse(fromDate.getText().toString());
- String start_date = String.valueOf(start_d.getTime());
- Date end_d = sdf.parse(toDate.getText().toString());
- String end_date = String.valueOf(end_d.getTime());
-
String size = inputSize.getText().toString();
if(Integer.parseInt(function)==0){
transactions = new getTransactionTask().execute(function,wallet_hash).get();
} else if(Integer.parseInt(function)==1 || Integer.parseInt(function)==2 || Integer.parseInt(function)==3){
transactions = new getTransactionTask().execute(function,wallet_hash,size).get();
} else {
+ String myFormat = "dd-MM-yyyy";
+ SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE);
+ Date start_d = sdf.parse(fromDate.getText().toString());
+ String start_date = String.valueOf(start_d.getTime());
+ Date end_d = sdf.parse(toDate.getText().toString());
+ String end_date = String.valueOf(end_d.getTime());
transactions = new getTransactionTask().execute(function,wallet_hash,size,start_date,end_date).get();
}
}catch (Exception e){
@@ -228,7 +227,13 @@ public class HistoryActivity extends AppCompatActivity {
@Override
public void onItemClick(AdapterView> adapterView, View view, int i, long l) {
Transaction t = (Transaction) listView.getItemAtPosition(i);
- Toast.makeText(HistoryActivity.this,"TxID: "+t.getTransactionHash(),Toast.LENGTH_SHORT).show();
+ Intent transactionDetailsIntent = new Intent(HistoryActivity.this, HistoryDetailsActivity.class);
+ transactionDetailsIntent.putExtra("USER_HASH",user_hash);
+ transactionDetailsIntent.putExtra("USER_PWD",user_password);
+ transactionDetailsIntent.putExtra("SESSION_ID",session_id);
+ transactionDetailsIntent.putExtra("WALLET_HASH",wallet_hash);
+ transactionDetailsIntent.putExtra("TRANSACTION",t);
+ HistoryActivity.this.startActivity(transactionDetailsIntent);
}
});
diff --git a/app/src/main/java/monnethic/mobile/history/HistoryDetailsActivity.java b/app/src/main/java/monnethic/mobile/history/HistoryDetailsActivity.java
new file mode 100644
index 0000000..2e0b331
--- /dev/null
+++ b/app/src/main/java/monnethic/mobile/history/HistoryDetailsActivity.java
@@ -0,0 +1,119 @@
+package monnethic.mobile.history;
+
+import android.content.Intent;
+import android.net.Uri;
+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 com.example.monnthic.monnethicmobile.R;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import monnethic.mobile.database.Transaction;
+import monnethic.mobile.restApi.SessionApiHandler;
+
+public class HistoryDetailsActivity extends AppCompatActivity {
+ private String wallet_hash;
+ private String user_hash;
+ private String user_password;
+ private String session_id;
+ private Transaction transaction;
+
+ private TextView txID;
+ private TextView txDate;
+ private TextView txFrom;
+ private TextView txTo;
+ private TextView txAmount;
+ private TextView txUnit;
+ private Button goToExplorer;
+ private Button closeActivity;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_history_details);
+ getIntentValue();
+ initView();
+ }
+
+ private void getIntentValue(){
+ Intent intent = getIntent();
+ user_hash = intent.getStringExtra("USER_HASH");
+ user_password = intent.getStringExtra("USER_PWD");
+ session_id = intent.getStringExtra("SESSION_ID");
+ wallet_hash = intent.getStringExtra("WALLET_HASH");
+ transaction = (Transaction) intent.getSerializableExtra("TRANSACTION");
+ }
+
+ private void initView(){
+ txID = findViewById(R.id.displayTxID);
+ txID.setText(transaction.getTransactionHash());
+
+ Log.i("HistoryDetails","transaction : "+transaction.toString());
+ Log.i("HistoryDetails","transaction Date : "+transaction.getTransactionDate());
+
+ txDate = findViewById(R.id.dateDisplay);
+ String myFormat = "dd-MM-yyyy HH:mm:ss";
+ SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE);
+ Date dateTransaction = new Date(transaction.getTransactionDate());
+ txDate.setText(sdf.format(dateTransaction));
+
+ txFrom = findViewById(R.id.fromDisplay);
+ txFrom.setText(transaction.getTransactionFrom());
+
+ txTo = findViewById(R.id.toDisplay);
+ txTo.setText(transaction.getTransactionTo());
+
+ txAmount = findViewById(R.id.amountDisplay);
+ String amountDisplay = String.valueOf(transaction.getTransactionAmount())+" "+transaction.getTransactionUnit();
+ txAmount.setText(amountDisplay);
+
+ goToExplorer = findViewById(R.id.btnGoToExplorer);
+ closeActivity = findViewById(R.id.btnCloseDetails);
+
+ setButtonListener();
+ }
+
+ private void setButtonListener(){
+ goToExplorer.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ String url = "http://monitor.monnethic.fr:8080/#/transactions";
+ Intent i = new Intent(Intent.ACTION_VIEW);
+ i.setData(Uri.parse(url));
+ startActivity(i);
+ }
+ });
+
+ closeActivity.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ finish();
+ }
+ });
+ }
+
+
+ @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/res/layout/activity_history_details.xml b/app/src/main/res/layout/activity_history_details.xml
new file mode 100644
index 0000000..e1e54d3
--- /dev/null
+++ b/app/src/main/res/layout/activity_history_details.xml
@@ -0,0 +1,165 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index 63cb7b8..d978006 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -55,6 +55,7 @@
android:layout_alignParentTop="true"
android:layout_marginStart="83dp"
android:layout_marginTop="0dp"
+
android:clickable="true"
android:onClick="onClickForgetPassword"
android:text="forget password?"
diff --git a/app/src/main/res/layout/activity_user_account.xml b/app/src/main/res/layout/activity_user_account.xml
index 253f394..3276523 100644
--- a/app/src/main/res/layout/activity_user_account.xml
+++ b/app/src/main/res/layout/activity_user_account.xml
@@ -51,13 +51,13 @@
+ android:textSize="16sp" />