From e547852d79a109c60b2e4884646f7b0e387625c7 Mon Sep 17 00:00:00 2001 From: GME Date: Sun, 18 Nov 2018 15:16:59 +0100 Subject: [PATCH] setup async for user balance --- .idea/caches/build_file_checksums.ser | Bin 535 -> 541 bytes .idea/misc.xml | 12 ++- .idea/vcs.xml | 2 +- app/build.gradle | 6 +- app/src/main/AndroidManifest.xml | 1 + .../mobile/blockchainApi/UrlApi.java | 5 + .../mobile/homepage/HomepageActivity.java | 6 +- .../mobile/homepage/LoginActivity.java | 7 +- .../mobile/user/UserAccountActivity.java | 91 ++++++++++++++++-- app/src/main/res/layout/activity_homepage.xml | 4 +- app/src/main/res/layout/activity_login.xml | 4 +- .../res/layout/activity_make_payement.xml | 13 ++- .../main/res/layout/activity_user_account.xml | 65 +++++++++---- app/src/main/res/values/strings.xml | 2 +- 14 files changed, 173 insertions(+), 45 deletions(-) create mode 100644 app/src/main/java/monnethic/mobile/blockchainApi/UrlApi.java diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser index a39985af31bf5604fd52cefda571672295a8b4f9..f0067cfc05906dfef81784ee22dd1811bb771922 100644 GIT binary patch delta 92 zcmV-i0Hgnx1f2wsmj!1gf@biMoOcis1yLS=s?hTq%L*p!>3j8)BLOZGEJHe6RdZ!> yb6iJtX>4p^b!}ynv;j7gQ2|5~$qtAbYSi+sZCEyZdooSVbN~^Py#X7O1_BYN9wSTu delta 93 zcmV-j0HXh$1eXMmmjz~#pPiGDoOcj7b+S5x4SVqK=FvlhdlM#;BLOaxngK*8dv;3M zYmG)#f35NhEw)UpbO0tpI$TwAWpZ;|M@>asE@yIKWNc+zlkou?lZXKllkfp8CjKQ+ diff --git a/.idea/misc.xml b/.idea/misc.xml index 2827fab..b0c7b20 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,27 +5,33 @@ - + + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7..35eb1dd 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index faf6245..ef38851 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 26 + compileSdkVersion 27 defaultConfig { applicationId 'com.monnethic.appmobile' multiDexEnabled true minSdkVersion 19 - targetSdkVersion 26 + targetSdkVersion 27 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" @@ -28,7 +28,7 @@ android { dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') - implementation 'com.android.support:appcompat-v7:26.1.0' + implementation 'com.android.support:appcompat-v7:27.1.1' testImplementation 'junit:junit:4.12' implementation 'com.android.support.constraint:constraint-layout:1.1.3' androidTestImplementation 'com.android.support.test:runner:1.0.2' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 31e5f56..2284222 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -4,6 +4,7 @@ + diff --git a/app/src/main/java/monnethic/mobile/blockchainApi/UrlApi.java b/app/src/main/java/monnethic/mobile/blockchainApi/UrlApi.java new file mode 100644 index 0000000..64d53dc --- /dev/null +++ b/app/src/main/java/monnethic/mobile/blockchainApi/UrlApi.java @@ -0,0 +1,5 @@ +package monnethic.mobile.blockchainApi; + +public class UrlApi { + static public String URL_BALANCE = "http://10.0.2.2:8083/balance?name="; +} diff --git a/app/src/main/java/monnethic/mobile/homepage/HomepageActivity.java b/app/src/main/java/monnethic/mobile/homepage/HomepageActivity.java index 4d3ea29..4ba326d 100644 --- a/app/src/main/java/monnethic/mobile/homepage/HomepageActivity.java +++ b/app/src/main/java/monnethic/mobile/homepage/HomepageActivity.java @@ -22,7 +22,7 @@ public class HomepageActivity extends AppCompatActivity { setContentView(R.layout.activity_homepage); Button bRegister = findViewById(R.id.register); Button bLogin = findViewById(R.id.login); - Button bDemo = findViewById(R.id.demo); + //Button bDemo = findViewById(R.id.demo); bRegister.setOnClickListener(new View.OnClickListener() { @Override @@ -36,11 +36,13 @@ public class HomepageActivity extends AppCompatActivity { launchLoginActivity(); } }); + /* bDemo.setOnClickListener(new View.OnClickListener(){ public void onClick(View view){ launchDemoActivity(); } }); + */ } public void launchRegisterActivity(){ @@ -51,8 +53,10 @@ public class HomepageActivity extends AppCompatActivity { Intent loginIntent = new Intent(HomepageActivity.this, LoginActivity.class); HomepageActivity.this.startActivity(loginIntent); } + /* public void launchDemoActivity(){ Intent demoIntent = new Intent(HomepageActivity.this, DemoActivity.class); HomepageActivity.this.startActivity(demoIntent); } + */ } diff --git a/app/src/main/java/monnethic/mobile/homepage/LoginActivity.java b/app/src/main/java/monnethic/mobile/homepage/LoginActivity.java index 819a60f..ea36137 100644 --- a/app/src/main/java/monnethic/mobile/homepage/LoginActivity.java +++ b/app/src/main/java/monnethic/mobile/homepage/LoginActivity.java @@ -10,6 +10,7 @@ import android.widget.Toast; import com.example.monnthic.monnethicmobile.R; +import monnethic.mobile.user.UserAccountActivity; import monnethic.mobile.wallet.WalletActivity; public class LoginActivity extends AppCompatActivity { @@ -64,9 +65,9 @@ public class LoginActivity extends AppCompatActivity { } public void launchWalletActivity(int ldapId){ //LAUNCH APP WALLET WITH ID USER - Intent walletIntent = new Intent(LoginActivity.this, WalletActivity.class); - walletIntent.putExtra("idUser", ldapId); - LoginActivity.this.startActivity(walletIntent); + Intent accountIntent = new Intent(LoginActivity.this, UserAccountActivity.class); + accountIntent.putExtra("idUser", ldapId); + LoginActivity.this.startActivity(accountIntent); finish(); } } diff --git a/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java b/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java index a5eee8a..043788b 100644 --- a/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java +++ b/app/src/main/java/monnethic/mobile/user/UserAccountActivity.java @@ -1,6 +1,7 @@ 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; @@ -10,23 +11,34 @@ 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 solde; + + 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); - solde = findViewById(R.id.viewSolde); + 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); + - //refreshSolde(); buttonPayement.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -45,13 +57,21 @@ public class UserAccountActivity extends AppCompatActivity { 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); } @@ -59,7 +79,66 @@ public class UserAccountActivity extends AppCompatActivity { Toast.makeText(this, "Coming soon", Toast.LENGTH_SHORT).show(); } - public void refreshSolde(){ - solde.setText("0.00"); + 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 + { + @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; + } } } diff --git a/app/src/main/res/layout/activity_homepage.xml b/app/src/main/res/layout/activity_homepage.xml index 86faf34..14baf3e 100644 --- a/app/src/main/res/layout/activity_homepage.xml +++ b/app/src/main/res/layout/activity_homepage.xml @@ -43,7 +43,7 @@ android:layout_gravity="center" android:text="version v0.1" android:textAlignment="center" /> - + + android:inputType="textPassword" /> + app:layout_constraintHorizontal_bias="0.502" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintVertical_bias="0.905" /> diff --git a/app/src/main/res/layout/activity_user_account.xml b/app/src/main/res/layout/activity_user_account.xml index 2c0c4a0..76368f3 100644 --- a/app/src/main/res/layout/activity_user_account.xml +++ b/app/src/main/res/layout/activity_user_account.xml @@ -13,8 +13,8 @@