Merge branch 'features/history' into develop
This commit is contained in:
commit
c4ec808cd3
Binary file not shown.
|
@ -1,6 +1,7 @@
|
|||
package monnethic.mobile.history;
|
||||
|
||||
import android.app.DatePickerDialog;
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Intent;
|
||||
import android.os.AsyncTask;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
@ -20,10 +21,12 @@ import com.example.monnthic.monnethicmobile.R;
|
|||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import monnethic.mobile.database.Transaction;
|
||||
import monnethic.mobile.restApi.Config;
|
||||
import monnethic.mobile.restApi.SessionApiHandler;
|
||||
import monnethic.mobile.restApi.TransactionApiHandler;
|
||||
import monnethic.mobile.transaction.TransactionAdapter;
|
||||
|
||||
|
@ -61,12 +64,13 @@ public class HistoryActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
private void initView(){
|
||||
inputSize = findViewById(R.id.inputSize);
|
||||
inputSize.setText(String.valueOf(10));
|
||||
dateInit();
|
||||
buttonInit();
|
||||
switchInit();
|
||||
spinnerInit();
|
||||
listViewHandler();
|
||||
inputSize = findViewById(R.id.inputSize);
|
||||
listViewHandler("0");
|
||||
}
|
||||
|
||||
public void dateInit(){
|
||||
|
@ -111,13 +115,22 @@ public class HistoryActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
public void updateLabel(int idDate){
|
||||
String myFormat = "dd-MM-yyyy";
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE);
|
||||
if(idDate==0){
|
||||
fromDate.setText(sdf.format(calendar1.getTime()));
|
||||
}else {
|
||||
toDate.setText(sdf.format(calendar2.getTime()));
|
||||
try{
|
||||
String myFormat = "dd-MM-yyyy";
|
||||
SimpleDateFormat sdf = new SimpleDateFormat(myFormat, Locale.FRANCE);
|
||||
if(idDate==0){
|
||||
fromDate.setText(sdf.format(calendar1.getTime()));
|
||||
}else {
|
||||
if(calendar2.getTime().before(calendar1.getTime())){
|
||||
toDate.setText(sdf.format(calendar1.getTime()));
|
||||
}else {
|
||||
toDate.setText(sdf.format(calendar2.getTime()));
|
||||
}
|
||||
}
|
||||
} catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void buttonInit(){
|
||||
|
@ -125,7 +138,31 @@ public class HistoryActivity extends AppCompatActivity {
|
|||
btnSearchTransactions.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Toast.makeText(HistoryActivity.this,"Spinner :"+String.valueOf(spinner.getSelectedItem()),Toast.LENGTH_SHORT).show();
|
||||
if(!aSwitch.isChecked()){
|
||||
switch (String.valueOf(spinner.getSelectedItem())){
|
||||
case "All":
|
||||
listViewHandler("1");
|
||||
break;
|
||||
case "Sent":
|
||||
listViewHandler("2");
|
||||
break;
|
||||
case "Received":
|
||||
listViewHandler("3");
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
switch (String.valueOf(spinner.getSelectedItem())){
|
||||
case "All":
|
||||
listViewHandler("4");
|
||||
break;
|
||||
case "Sent":
|
||||
listViewHandler("5");
|
||||
break;
|
||||
case "Received":
|
||||
listViewHandler("6");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -160,11 +197,26 @@ public class HistoryActivity extends AppCompatActivity {
|
|||
spinner.setAdapter(adapterOptions);
|
||||
}
|
||||
|
||||
public void listViewHandler(){
|
||||
public void listViewHandler(String function){
|
||||
listView = findViewById(R.id.listViewTransactions);
|
||||
ArrayList<Transaction> transactions = new ArrayList<>();
|
||||
//function, wallet_hash, size, start_date, end_date
|
||||
try{
|
||||
transactions = new getTransactionTask().execute(Config.TRANSACTION_LATEST,wallet_hash).get();
|
||||
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 {
|
||||
transactions = new getTransactionTask().execute(function,wallet_hash,size,start_date,end_date).get();
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -183,13 +235,50 @@ public class HistoryActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
private class getTransactionTask extends AsyncTask<String,ArrayList<Transaction>,ArrayList<Transaction>> {
|
||||
ProgressDialog progDailog = new ProgressDialog(HistoryActivity.this);
|
||||
@Override
|
||||
protected void onPreExecute() {
|
||||
super.onPreExecute();
|
||||
progDailog.setMessage("Searching...");
|
||||
progDailog.setIndeterminate(false);
|
||||
progDailog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
|
||||
progDailog.setCancelable(true);
|
||||
progDailog.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(ArrayList<Transaction> t) {
|
||||
progDailog.dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ArrayList<Transaction> doInBackground(String... strings) {
|
||||
ArrayList<Transaction> transactionsList = new ArrayList<>();
|
||||
try{
|
||||
TransactionApiHandler transactionApiHandler = new TransactionApiHandler();
|
||||
transactionsList = transactionApiHandler.getTransactions(strings[0],strings[1]);
|
||||
switch (Integer.parseInt(strings[0])){
|
||||
case 0:
|
||||
transactionsList = transactionApiHandler.getTransactions(strings[0],Config.TRANSACTION_LATEST,strings[1],null,null,null);
|
||||
break;
|
||||
case 1:
|
||||
transactionsList = transactionApiHandler.getTransactions(strings[0],Config.TRANSACTION_ALL,strings[1],strings[2],null,null);
|
||||
break;
|
||||
case 2:
|
||||
transactionsList = transactionApiHandler.getTransactions(strings[0],Config.TRANSACTION_SENT,strings[1],strings[2],null,null);
|
||||
break;
|
||||
case 3:
|
||||
transactionsList = transactionApiHandler.getTransactions(strings[0],Config.TRANSACTION_RECEIVED,strings[1],strings[2],null,null);
|
||||
break;
|
||||
case 4:
|
||||
transactionsList = transactionApiHandler.getTransactions(strings[0],Config.TRANSACTION_ALL,strings[1],strings[2],strings[3],strings[4]);
|
||||
break;
|
||||
case 5:
|
||||
transactionsList = transactionApiHandler.getTransactions(strings[0],Config.TRANSACTION_SENT,strings[1],strings[2],strings[3],strings[4]);
|
||||
break;
|
||||
case 6:
|
||||
transactionsList = transactionApiHandler.getTransactions(strings[0],Config.TRANSACTION_RECEIVED,strings[1],strings[2],strings[3],strings[4]);
|
||||
break;
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -197,6 +286,23 @@ public class HistoryActivity extends AppCompatActivity {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop(); // Always call the superclass method first
|
||||
new EndSessionTask().execute(session_id);
|
||||
}
|
||||
|
||||
private class EndSessionTask extends AsyncTask<String,Void,Void> {
|
||||
@Override
|
||||
protected Void doInBackground(String... strings) {
|
||||
try{
|
||||
SessionApiHandler sessionApiHandler = new SessionApiHandler();
|
||||
sessionApiHandler.endSession(strings[0]);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -25,11 +25,10 @@ public class Config {
|
|||
//TRANSACTION
|
||||
static public String TRANSACTION_SEND = BASE_URL_TRANSACTION+"send";
|
||||
static public String TRANSACTION_GET = BASE_URL_TRANSACTION+"get";
|
||||
static public String TRANSACTION_LATEST = BASE_URL_TRANSACTION+"/get/latest";
|
||||
static public String TRANSACTION_ALL = BASE_URL_TRANSACTION+"getAll";
|
||||
static public String TRANSACTION_SENT = BASE_URL_TRANSACTION+"sent";
|
||||
static public String TRANSACTION_RECEIVED = BASE_URL_TRANSACTION+"received";
|
||||
static public String TRANSACTION_SAVE = BASE_URL_TRANSACTION+"save";
|
||||
static public String TRANSACTION_LATEST = BASE_URL_TRANSACTION+"get/latest";
|
||||
static public String TRANSACTION_ALL = BASE_URL_TRANSACTION+"getTransactions";
|
||||
static public String TRANSACTION_SENT = BASE_URL_TRANSACTION+"get/sent";
|
||||
static public String TRANSACTION_RECEIVED = BASE_URL_TRANSACTION+"get/received";
|
||||
|
||||
//WALLET
|
||||
static public String WALLET_CREATE = BASE_URL_WALLET+"create";
|
||||
|
|
|
@ -32,13 +32,18 @@ public class TransactionApiHandler {
|
|||
return "";
|
||||
}
|
||||
|
||||
public ArrayList<Transaction> getTransactions(String url, String wallet_hash){
|
||||
public ArrayList<Transaction> getTransactions(String function, String url, String wallet_hash,
|
||||
String size, String start_date, String end_date){
|
||||
ArrayList<Transaction> transactionsList = new ArrayList<>();
|
||||
HttpCallHandler httpCallHandler = new HttpCallHandler();
|
||||
try{
|
||||
url = url+"?wallet_hash="+wallet_hash;
|
||||
|
||||
|
||||
if(Integer.parseInt(function)==0){
|
||||
url = url+"?wallet_hash="+wallet_hash;
|
||||
} else if(Integer.parseInt(function)==1 || Integer.parseInt(function)==2 || Integer.parseInt(function)==3){
|
||||
url = url+"?size="+size+"&wallet_hash="+wallet_hash;
|
||||
} else {
|
||||
url = url+"?size="+size+"&wallet_hash="+wallet_hash+"&start_date="+start_date+"&end_date="+end_date;
|
||||
}
|
||||
|
||||
String response = httpCallHandler.getHttp(new URL(url));
|
||||
JSONArray jsonArray = new JSONArray(response);
|
||||
|
|
Loading…
Reference in a new issue