app-mobile/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java
2018-11-18 15:16:59 +01:00

145 lines
4.4 KiB
Java

package monnethic.mobile.user;
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 java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import monnethic.mobile.blockchainApi.UrlApi;
import monnethic.mobile.transaction.MakePayementActivity;
import monnethic.mobile.transaction.ReceivePayementActivity;
public class UserAccountActivity extends AppCompatActivity {
private TextView balance;
private String strUrl = UrlApi.URL_BALANCE+"b";
private String result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_account);
balance = findViewById(R.id.balanceView);
Button buttonPayement = findViewById(R.id.buttonPayement);
Button buttonReceive = findViewById(R.id.buttonReceive);
Button buttonSettings = findViewById(R.id.buttonSettings);
Button buttonRefresh = findViewById(R.id.buttonRefreshBalance);
buttonPayement.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sendPayement();
}
});
buttonReceive.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
receivePayement();
}
});
buttonSettings.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
settings();
}
});
buttonRefresh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
refreshBalance("b");
}
});
new GetUserBalanceTask().execute(strUrl);
}
public void sendPayement(){
Intent payementIntent = new Intent(UserAccountActivity.this, MakePayementActivity.class);
UserAccountActivity.this.startActivity(payementIntent);
}
public void receivePayement(){
Intent receivePayementIntent = new Intent(UserAccountActivity.this, ReceivePayementActivity.class);
UserAccountActivity.this.startActivity(receivePayementIntent);
}
public void settings(){
Toast.makeText(this, "Coming soon", Toast.LENGTH_SHORT).show();
}
public void refreshBalance(String userHash){
String url = UrlApi.URL_BALANCE+userHash;
new GetUserBalanceTask().execute(url);
}
public void setBalance(String value){
balance.setText(value);
}
public class GetUserBalanceTask extends AsyncTask<String,String,String>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(String s) {
balance.setText(s);
}
@Override
protected String doInBackground(String... params) {
System.out.println(params[0]);
InputStream inputStream = null;
HttpURLConnection conn = null;
try{
URL url = new URL(params[0]);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
int response = conn.getResponseCode();
if(response != 200){
return "Error response";
}
inputStream = conn.getInputStream();
if(inputStream == null){
return "Error inputStream";
}
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
StringBuffer buffer = new StringBuffer();
String line;
while ((line = reader.readLine())!=null){
buffer.append(line);
}
String value = new String(buffer);
System.out.println("result is "+value);
result = value;
} catch (Exception e){
System.out.println("Exception : "+e);
}
return result;
}
}
}