Merge branch 'features/transaction' into develop
This commit is contained in:
commit
6c47bf8458
|
@ -8,6 +8,7 @@ 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;
|
||||
|
@ -22,6 +23,11 @@ public class QrCodeActivity extends AppCompatActivity {
|
|||
TextView adresseView;
|
||||
TextView amountView;
|
||||
|
||||
private String user_hash;
|
||||
private String user_password;
|
||||
private String session_id;
|
||||
private String wallet_hash;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
@ -32,7 +38,10 @@ public class QrCodeActivity extends AppCompatActivity {
|
|||
amountView=findViewById(R.id.textViewAmountDisplay);
|
||||
|
||||
Intent intent = getIntent();
|
||||
String wallet_hash = intent.getStringExtra("WALLET_HASH");
|
||||
user_hash = intent.getStringExtra("USER_HASH");
|
||||
user_password = intent.getStringExtra("USER_PWD");
|
||||
session_id = intent.getStringExtra("SESSION_ID");
|
||||
wallet_hash = intent.getStringExtra("WALLET_HASH");
|
||||
String amount = intent.getStringExtra("AMOUNT");
|
||||
try{
|
||||
generateQrCode(wallet_hash,amount);
|
||||
|
@ -51,7 +60,7 @@ public class QrCodeActivity extends AppCompatActivity {
|
|||
BitMatrix bitMatrix;
|
||||
String valueToEncode = wallet_hash+";"+amount;
|
||||
try{
|
||||
bitMatrix = new MultiFormatWriter().encode(valueToEncode, BarcodeFormat.QR_CODE,350,350);
|
||||
bitMatrix = new MultiFormatWriter().encode(valueToEncode, BarcodeFormat.QR_CODE,300,300);
|
||||
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
|
||||
Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix);
|
||||
qrCode.setImageBitmap(bitmap);
|
||||
|
@ -61,4 +70,10 @@ public class QrCodeActivity extends AppCompatActivity {
|
|||
e.getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop(); // Always call the superclass method first
|
||||
Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -21,6 +21,11 @@ import com.google.android.gms.vision.barcode.BarcodeDetector;
|
|||
import monnethic.mobile.transaction.ApprovePayementActivity;
|
||||
|
||||
public class QrCodeScannerActivity extends AppCompatActivity {
|
||||
private String wallet_hash;
|
||||
private String user_hash;
|
||||
private String user_password;
|
||||
private String session_id;
|
||||
|
||||
SurfaceView surfaceView;
|
||||
private BarcodeDetector barcodeDector;
|
||||
private CameraSource cameraSource;
|
||||
|
@ -32,6 +37,11 @@ public class QrCodeScannerActivity extends AppCompatActivity {
|
|||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_qr_code_scanner);
|
||||
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");
|
||||
initViews();
|
||||
}
|
||||
|
||||
|
@ -82,8 +92,11 @@ public class QrCodeScannerActivity extends AppCompatActivity {
|
|||
if(barcodes.size()!=0){
|
||||
intentData = barcodes.valueAt(0).displayValue;
|
||||
Intent scannedQrIntent = new Intent(QrCodeScannerActivity.this, ApprovePayementActivity.class);
|
||||
scannedQrIntent.putExtra("valueScanned",intentData);
|
||||
//TODO INTENT
|
||||
scannedQrIntent.putExtra("VALUE",intentData);
|
||||
scannedQrIntent.putExtra("USER_HASH",user_hash);
|
||||
scannedQrIntent.putExtra("USER_PDW",user_password);
|
||||
scannedQrIntent.putExtra("WALLET_HASH",wallet_hash);
|
||||
scannedQrIntent.putExtra("SESSION_ID",session_id);
|
||||
QrCodeScannerActivity.this.startActivity(scannedQrIntent);
|
||||
finish();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
package monnethic.mobile.restApi;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.net.URL;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import monnethic.mobile.transaction.SendingTransaction;
|
||||
|
||||
public class TransactionApiHandler {
|
||||
|
||||
public String doTransaction(SendingTransaction sendingTransaction){
|
||||
HttpCallHandler httpCallHandler = new HttpCallHandler();
|
||||
try{
|
||||
String url = Config.TRANSACTION_SENT;
|
||||
Map<String,String> map = new HashMap<>();
|
||||
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());
|
||||
map.put("transaction_to",sendingTransaction.getTransaction_to());
|
||||
map.put("transaction_amount",sendingTransaction.getTransaction_amount());
|
||||
map.put("transaction_unit",sendingTransaction.getTransaction_unit());
|
||||
String response = httpCallHandler.postHttp(new URL(url),map);
|
||||
JSONObject jsonObject = new JSONObject(response);
|
||||
return jsonObject.getString("message");
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
|
@ -1,14 +1,29 @@
|
|||
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.TextView;
|
||||
|
||||
import android.widget.Toast;
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
import monnethic.mobile.restApi.TransactionApiHandler;
|
||||
|
||||
public class ApprovePayementActivity extends AppCompatActivity {
|
||||
TextView textDisplay;
|
||||
TextView destAddress;
|
||||
TextView amountDisplay;
|
||||
Button buttonCancel;
|
||||
Button buttonVal;
|
||||
|
||||
private String wallet_hash;
|
||||
private String user_hash;
|
||||
private String user_password;
|
||||
private String session_id;
|
||||
|
||||
String wallet_dest;
|
||||
String amount;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
|
@ -16,14 +31,72 @@ public class ApprovePayementActivity extends AppCompatActivity {
|
|||
setContentView(R.layout.activity_approve_payement);
|
||||
|
||||
Intent intent = getIntent();
|
||||
String stringToDisplay = intent.getStringExtra("valueScanned");
|
||||
String[] value = intent.getStringExtra("VALUE").split(";");
|
||||
wallet_dest = value[0];
|
||||
amount = value[1];
|
||||
|
||||
initViews(stringToDisplay);
|
||||
user_hash = intent.getStringExtra("USER_HASH");
|
||||
user_password = intent.getStringExtra("USER_PWD");
|
||||
session_id = intent.getStringExtra("SESSION_ID");
|
||||
wallet_hash = intent.getStringExtra("WALLET_HASH");
|
||||
initViews();
|
||||
}
|
||||
|
||||
private void initViews(String stringToDisplay){
|
||||
textDisplay = findViewById(R.id.textDisplay);
|
||||
private void initViews(){
|
||||
destAddress = findViewById(R.id.destAddress);
|
||||
amountDisplay = findViewById(R.id.amountApprove);
|
||||
buttonCancel = findViewById(R.id.buttonCancel);
|
||||
buttonVal = findViewById(R.id.buttonValidate);
|
||||
|
||||
textDisplay.setText(stringToDisplay);
|
||||
destAddress.setText(wallet_dest);
|
||||
amountDisplay.setText(amount);
|
||||
|
||||
buttonCancel.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
buttonVal.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
sendTransaction();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void sendTransaction(){
|
||||
SendingTransaction sendingTransaction = new SendingTransaction(user_hash,user_password,wallet_hash,wallet_dest,amount,"gonette");
|
||||
try {
|
||||
String transaction_hash = new TransactionTask().execute(sendingTransaction).get();
|
||||
if(transaction_hash!=null){
|
||||
Toast.makeText(this, "transaction id : "+transaction_hash, Toast.LENGTH_LONG).show();
|
||||
} else {
|
||||
Toast.makeText(this, "couldn't get transaction id", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
finish();
|
||||
}
|
||||
|
||||
private class TransactionTask extends AsyncTask<SendingTransaction,String,String> {
|
||||
@Override
|
||||
protected String doInBackground(SendingTransaction... sendingTransactions) {
|
||||
try{
|
||||
TransactionApiHandler transactionApiHandler = new TransactionApiHandler();
|
||||
return transactionApiHandler.doTransaction(sendingTransactions[0]);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop(); // Always call the superclass method first
|
||||
Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,6 +52,9 @@ public class ReceivePayementActivity extends AppCompatActivity {
|
|||
|
||||
public void generateQrCodeWithValue(String amount){
|
||||
Intent generateQrIntent = new Intent(ReceivePayementActivity.this, QrCodeActivity.class);
|
||||
generateQrIntent.putExtra("USER_HASH",user_hash);
|
||||
generateQrIntent.putExtra("USER_PDW",user_password);
|
||||
generateQrIntent.putExtra("SESSION_ID",session_id);
|
||||
generateQrIntent.putExtra("WALLET_HASH",wallet_hash);
|
||||
generateQrIntent.putExtra("AMOUNT",amount);
|
||||
ReceivePayementActivity.this.startActivity(generateQrIntent);
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
package monnethic.mobile.transaction;
|
||||
|
||||
public class SendingTransaction {
|
||||
private String source_user_hash;
|
||||
private String source_user_pwd;
|
||||
private String transaction_from;
|
||||
private String transaction_to;
|
||||
private String transaction_amount;
|
||||
private String transaction_unit;
|
||||
|
||||
public SendingTransaction() {
|
||||
}
|
||||
|
||||
public SendingTransaction(String source_user_hash, String source_user_pwd, String transaction_from, String transaction_to, String transaction_amount, String transaction_unit) {
|
||||
this.source_user_hash = source_user_hash;
|
||||
this.source_user_pwd = source_user_pwd;
|
||||
this.transaction_from = transaction_from;
|
||||
this.transaction_to = transaction_to;
|
||||
this.transaction_amount = transaction_amount;
|
||||
this.transaction_unit = transaction_unit;
|
||||
}
|
||||
|
||||
|
||||
public String getSource_user_hash() {
|
||||
return source_user_hash;
|
||||
}
|
||||
|
||||
public void setSource_user_hash(String source_user_hash) {
|
||||
this.source_user_hash = source_user_hash;
|
||||
}
|
||||
|
||||
public String getSource_user_pwd() {
|
||||
return source_user_pwd;
|
||||
}
|
||||
|
||||
public void setSource_user_pwd(String source_user_pwd) {
|
||||
this.source_user_pwd = source_user_pwd;
|
||||
}
|
||||
|
||||
public String getTransaction_from() {
|
||||
return transaction_from;
|
||||
}
|
||||
|
||||
public void setTransaction_from(String transaction_from) {
|
||||
this.transaction_from = transaction_from;
|
||||
}
|
||||
|
||||
public String getTransaction_to() {
|
||||
return transaction_to;
|
||||
}
|
||||
|
||||
public void setTransaction_to(String transaction_to) {
|
||||
this.transaction_to = transaction_to;
|
||||
}
|
||||
|
||||
public String getTransaction_amount() {
|
||||
return transaction_amount;
|
||||
}
|
||||
|
||||
public void setTransaction_amount(String transaction_amount) {
|
||||
this.transaction_amount = transaction_amount;
|
||||
}
|
||||
|
||||
public String getTransaction_unit() {
|
||||
return transaction_unit;
|
||||
}
|
||||
|
||||
public void setTransaction_unit(String transaction_unit) {
|
||||
this.transaction_unit = transaction_unit;
|
||||
}
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
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;
|
||||
|
@ -9,9 +10,13 @@ import android.widget.EditText;
|
|||
import android.widget.Toast;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
import com.j256.ormlite.stmt.query.In;
|
||||
|
||||
import java.math.BigInteger;
|
||||
|
||||
import monnethic.mobile.homepage.InputController;
|
||||
import monnethic.mobile.restApi.TransactionApiHandler;
|
||||
|
||||
public class TransactionActivity extends AppCompatActivity {
|
||||
private String wallet_hash;
|
||||
private String user_hash;
|
||||
|
@ -51,17 +56,26 @@ public class TransactionActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
public void sendTransaction(){
|
||||
String wallet_dest = addressDestination.getText().toString();
|
||||
String amount = amountEditText.getText().toString();
|
||||
|
||||
/*
|
||||
if(AccessBlockchain.sendTransationTo(address, adD, amt)){
|
||||
Toast.makeText(this, "OK.", Toast.LENGTH_SHORT).show();
|
||||
if(InputController.isEmptyEdit(addressDestination)){
|
||||
Toast.makeText(this, "No destination address", Toast.LENGTH_SHORT).show();
|
||||
} else if(InputController.isEmptyEdit(amountEditText)) {
|
||||
Toast.makeText(this, "No amount", Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
String wallet_dest = addressDestination.getText().toString();
|
||||
String amount = amountEditText.getText().toString();
|
||||
SendingTransaction sendingTransaction = new SendingTransaction(user_hash,user_password,wallet_hash,wallet_dest,amount,"gonette");
|
||||
try {
|
||||
String transaction_hash = new TransactionTask().execute(sendingTransaction).get();
|
||||
if(transaction_hash!=null){
|
||||
Toast.makeText(this, "transaction id : "+transaction_hash, Toast.LENGTH_LONG).show();
|
||||
} else {
|
||||
Toast.makeText(this, "couldn't get transaction id", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
finish();
|
||||
}
|
||||
*/
|
||||
String message = "Comming soon, addressDestination "+wallet_dest+" Amount : "+amount;
|
||||
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
|
||||
finish();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -70,4 +84,18 @@ public class TransactionActivity extends AppCompatActivity {
|
|||
Toast.makeText(getApplicationContext(), "onStop called", Toast.LENGTH_LONG).show();
|
||||
}
|
||||
|
||||
private class TransactionTask extends AsyncTask<SendingTransaction,String,String> {
|
||||
|
||||
@Override
|
||||
protected String doInBackground(SendingTransaction... sendingTransactions) {
|
||||
try{
|
||||
TransactionApiHandler transactionApiHandler = new TransactionApiHandler();
|
||||
return transactionApiHandler.doTransaction(sendingTransactions[0]);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,20 +1,71 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="monnethic.mobile.transaction.ApprovePayementActivity">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textDisplay"
|
||||
android:layout_width="183dp"
|
||||
android:layout_height="195dp"
|
||||
android:layout_marginBottom="184dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.502"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewAmount"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginStart="61dp"
|
||||
android:layout_marginTop="284dp"
|
||||
android:text="AMOUNT :" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewDestAddress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignStart="@+id/textViewAmount"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_marginStart="1dp"
|
||||
android:layout_marginTop="188dp"
|
||||
android:text="TO :" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/destAddress"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/textViewDestAddress"
|
||||
android:layout_marginStart="-27dp"
|
||||
android:layout_marginTop="9dp"
|
||||
android:layout_toEndOf="@+id/textViewDestAddress" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/amountApprove"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignStart="@+id/textViewAmount"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginBottom="235dp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonCancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_marginStart="79dp"
|
||||
android:layout_marginBottom="111dp"
|
||||
android:text="CANCEL" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonValidate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@+id/buttonCancel"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginEnd="81dp"
|
||||
android:layout_marginBottom="-1dp"
|
||||
android:text="VALIDATE" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</android.support.constraint.ConstraintLayout>
|
||||
|
|
Loading…
Reference in a new issue