Compare commits
No commits in common. "stableclean" and "master" have entirely different histories.
stableclea
...
master
Binary file not shown.
|
@ -5,26 +5,22 @@
|
|||
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
|
||||
<option name="myNullables">
|
||||
<value>
|
||||
<list size="7">
|
||||
<list size="5">
|
||||
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
|
||||
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
|
||||
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
|
||||
<item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
|
||||
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
|
||||
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
|
||||
<item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
|
||||
</list>
|
||||
</value>
|
||||
</option>
|
||||
<option name="myNotNulls">
|
||||
<value>
|
||||
<list size="6">
|
||||
<list size="4">
|
||||
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
|
||||
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
|
||||
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
|
||||
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
|
||||
<item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
|
||||
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
|
||||
</list>
|
||||
</value>
|
||||
</option>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="" vcs="Git" />
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
|
@ -1,43 +1,32 @@
|
|||
apply plugin: 'com.android.application'
|
||||
|
||||
android {
|
||||
compileSdkVersion 27
|
||||
compileSdkVersion 26
|
||||
defaultConfig {
|
||||
applicationId 'com.monnethic.appmobile'
|
||||
applicationId "com.example.monnthic.monnthicmobile"
|
||||
multiDexEnabled true
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 27
|
||||
targetSdkVersion 26
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
buildToolsVersion '28.0.3'
|
||||
productFlavors {
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||
implementation 'com.android.support:appcompat-v7:27.1.1'
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation 'com.android.support:appcompat-v7:26.1.0'
|
||||
implementation 'com.android.support:design:26.1.0'
|
||||
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
|
||||
testImplementation 'junit:junit:4.12'
|
||||
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
|
||||
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
||||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
||||
implementation 'com.google.code.gson:gson:2.8.5'
|
||||
implementation 'com.google.zxing:core:3.2.1'
|
||||
implementation 'com.journeyapps:zxing-android-embedded:3.2.0@aar'
|
||||
implementation 'com.google.android.gms:play-services-vision:17.0.2'
|
||||
implementation 'com.j256.ormlite:ormlite-core:5.1'
|
||||
implementation 'com.j256.ormlite:ormlite-jdbc:5.1'
|
||||
implementation 'org.postgresql:postgresql:42.2.5'
|
||||
androidTestImplementation 'com.android.support.test:runner:1.0.1'
|
||||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
|
||||
compile ('org.web3j:core:3.3.1-android')
|
||||
compile ('com.j256.ormlite:ormlite-android:4.48')
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.test;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.test.InstrumentationRegistry;
|
|
@ -1,54 +0,0 @@
|
|||
package monnethic.mobile.test;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
|
||||
import org.junit.Test;
|
||||
import java.io.InputStream;
|
||||
|
||||
|
||||
|
||||
|
||||
public class LearningTest {
|
||||
@Test
|
||||
public void useAppContext() throws Exception {
|
||||
// Context of the app under test.
|
||||
Context appContext = InstrumentationRegistry.getTargetContext();
|
||||
|
||||
System.out.println(appContext.getFilesDir());
|
||||
|
||||
System.out.println(appContext.getPackageName());
|
||||
|
||||
InputStream is = appContext.getResources().openRawResource(R.raw.config);
|
||||
/*
|
||||
try (JsonReader reader = Json.createReader(is)) {
|
||||
JsonObject jsonConfig = (JsonObject) reader.read();
|
||||
System.out.println(jsonConfig);
|
||||
System.out.println(jsonConfig.getClass());
|
||||
NetworkConfig config;
|
||||
config = NetworkConfig.fromJsonObject(jsonConfig);
|
||||
//System.out.println(config!=null);
|
||||
}*/
|
||||
|
||||
/*
|
||||
Writer writer = new StringWriter();
|
||||
char[] buffer = new char[1024];
|
||||
try {
|
||||
Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
|
||||
int n;
|
||||
while ((n = reader.read(buffer)) != -1) {
|
||||
writer.write(buffer, 0, n);
|
||||
}
|
||||
} finally {
|
||||
is.close();
|
||||
}
|
||||
|
||||
String jsonString = writer.toString();
|
||||
JSONObject jsonObject = new JSONObject(jsonString);
|
||||
System.out.println(jsonObject.getString("name"));
|
||||
System.out.println(jsonObject.getJSONObject("organizations"));
|
||||
*/
|
||||
}
|
||||
}
|
|
@ -1,14 +1,14 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.example.monnthic.monnethicmobile">
|
||||
package="com.example.monnthic.monnthicmobile">
|
||||
|
||||
<!-- To auto-complete the email text field in the login form with Useruser's emails -->
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||
<uses-permission android:name="android.permission.READ_PROFILE" />
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
|
@ -17,29 +17,20 @@
|
|||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme">
|
||||
<meta-data
|
||||
android:name="com.google.android.gms.vision.DEPENDENCIES"
|
||||
android:value="barcode" />
|
||||
|
||||
<activity android:name="monnethic.mobile.homepage.HomepageActivity">
|
||||
<activity android:name=".HomepageActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="monnethic.mobile.homepage.RegisterActivity" />
|
||||
<activity android:name="monnethic.mobile.homepage.LoginActivity" />
|
||||
<activity android:name="monnethic.mobile.wallet.WalletActivity" />
|
||||
<activity android:name="monnethic.mobile.user.UserAccountActivity" />
|
||||
<activity android:name="monnethic.mobile.demo.DemoActivity" />
|
||||
<activity android:name="monnethic.mobile.wallet.WalletPresenterActivity" />
|
||||
<activity android:name="monnethic.mobile.transaction.TransactionActivity" />
|
||||
<activity android:name="monnethic.mobile.qrcode.QrCodeActivity" />
|
||||
<activity android:name="monnethic.mobile.transaction.ReceivePayementActivity" />
|
||||
<activity android:name="monnethic.mobile.transaction.MakePayementActivity" />
|
||||
<activity android:name="monnethic.mobile.qrcode.QrCodeScannerActivity" />
|
||||
<activity android:name="monnethic.mobile.transaction.ApprovePayementActivity"></activity>
|
||||
<activity android:name=".SignupActivity" />
|
||||
<activity android:name=".LoginActivity" />
|
||||
<activity android:name=".WalletActivity" />
|
||||
<activity android:name=".UserAccountActivity" />
|
||||
<activity android:name=".DemoActivity" />
|
||||
<activity android:name=".WalletPresenterActivity" />
|
||||
<activity android:name=".TransactionActivity"></activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -0,0 +1,161 @@
|
|||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import org.web3j.crypto.RawTransaction;
|
||||
import org.web3j.protocol.Web3j;
|
||||
import org.web3j.protocol.Web3jFactory;
|
||||
import org.web3j.protocol.core.methods.response.EthGetBalance;
|
||||
import org.web3j.protocol.core.methods.response.EthGetTransactionCount;
|
||||
import org.web3j.protocol.core.methods.request.Transaction;
|
||||
import org.web3j.protocol.core.methods.response.EthSendTransaction;
|
||||
import org.web3j.protocol.core.methods.response.TransactionReceipt;
|
||||
import org.web3j.protocol.http.HttpService;
|
||||
import org.web3j.protocol.core.DefaultBlockParameterName;
|
||||
import org.web3j.utils.Convert;
|
||||
|
||||
import java.math.BigInteger;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Created by Guillaume on 28/05/2018.
|
||||
*/
|
||||
|
||||
public class AccessBlockchain {
|
||||
private static final String node3 = "http://5.51.59.70:1403";
|
||||
private static final String node2 = "http://93.30.148.59:1402";
|
||||
private static final String node1 = "http://93.30.148.59:1401";
|
||||
//private static String address_test = "0x5421c79d465a288c28e10aa43f9b7dff1b313c8e";
|
||||
private static String address_node3 = "0x869abc2dadd7e23c8b38f054276813a67d8131a7";
|
||||
//Web3j web3jNode2 = Web3jFactory.build(new HttpService(node2));
|
||||
|
||||
public static void main(String [ ] args)
|
||||
{
|
||||
try{
|
||||
//USED FOR TEST
|
||||
|
||||
/*
|
||||
Web3j web3jNode1 = Web3jFactory.build(new HttpService(node1));
|
||||
System.out.println(web3jNode1.ethCoinbase().sendAsync().get().getResult());
|
||||
|
||||
EthGetTransactionCount transactionCount = web3jNode1.ethGetTransactionCount(address_test, DefaultBlockParameterName.LATEST).sendAsync().get();
|
||||
System.out.println(transactionCount);
|
||||
BigInteger nonce = transactionCount.getTransactionCount();
|
||||
System.out.println(nonce);
|
||||
*/
|
||||
Web3j web3jNode1 = Web3jFactory.build(new HttpService(node1));
|
||||
System.out.println("Node 1 : ethAccounts : "+web3jNode1.ethAccounts().send().getAccounts());
|
||||
EthGetBalance ethGetBalance1 = web3jNode1.ethGetBalance("0x5421c79d465a288c28e10aa43f9b7dff1b313c8e", DefaultBlockParameterName.LATEST).sendAsync().get();
|
||||
|
||||
|
||||
Web3j web3jNode2 = Web3jFactory.build(new HttpService(node2));
|
||||
System.out.println("Noded 2 ethAccounts : "+web3jNode2.ethAccounts().send().getAccounts());
|
||||
EthGetBalance ethGetBalance2 = web3jNode2.ethGetBalance("0xef816528949bda3b87e19b86848fb28767156232", DefaultBlockParameterName.LATEST).sendAsync().get();
|
||||
|
||||
System.out.println("Node 1 ethMining : "+web3jNode1.ethMining().send().getResult());
|
||||
|
||||
System.out.println("Node 1 sync : "+web3jNode1.ethSyncing().send().getResult().toString());
|
||||
|
||||
|
||||
BigInteger wei1 = ethGetBalance1.getBalance();
|
||||
System.out.println("Node 1 balance is : "+wei1);
|
||||
|
||||
BigInteger wei2 = ethGetBalance2.getBalance();
|
||||
System.out.println("Node 2 balance is : "+wei2);
|
||||
|
||||
System.out.println("ethBlockNumber Node 1 : "+web3jNode1.ethBlockNumber().send().getResult());
|
||||
System.out.println("ethGetWork Node 1 : "+web3jNode1.ethGetWork().send().getResult());
|
||||
|
||||
|
||||
Web3j web3jNode3 = Web3jFactory.build(new HttpService(node3));
|
||||
System.out.println("Node 3 : ethAccounts : "+web3jNode3.ethAccounts().send().getAccounts());
|
||||
|
||||
EthGetBalance ethGetBalance_n3 = web3jNode1.ethGetBalance(address_node3, DefaultBlockParameterName.LATEST).sendAsync().get();
|
||||
System.out.println("TEST node 1 wallet 3 : "+ethGetBalance_n3);
|
||||
|
||||
//BigInteger test = getTheBalanceOfWallet(address);
|
||||
//System.out.println(test);
|
||||
|
||||
//Web3j web3jNode1 = Web3jFactory.build(new HttpService(node1));
|
||||
//Web3j web3jNode2 = Web3jFactory.build(new HttpService(node2));
|
||||
//System.out.println("ethAccounts : "+web3jNode1.ethAccounts().send().getAccounts());
|
||||
//System.out.println("ethGasPrice : "+web3jNode1.ethGasPrice().send().getGasPrice());
|
||||
//System.out.println("ethGetWork : "+web3jNode1.ethGetWork().send().getResult());
|
||||
//System.out.println("ethBlockNumber : "+web3jNode1.ethBlockNumber().send().getResult());
|
||||
//EthGetBalance ethGetBalance = web3jNode1.ethGetBalance("0x5421c79d465a288c28e10aa43f9b7dff1b313c8e", DefaultBlockParameterName.LATEST).sendAsync().get();
|
||||
// BigInteger wei = ethGetBalance.getBalance();
|
||||
//System.out.println("wei is : "+wei);
|
||||
|
||||
//System.out.println("*************************************************");
|
||||
//Web3j web3jNode1 = Web3jFactory.build(new HttpService(node1));
|
||||
//Web3j web3jNode2 = Web3jFactory.build(new HttpService(node2));
|
||||
//System.out.println("ethAccounts : "+web3jNode1.ethAccounts().send().getAccounts());
|
||||
//System.out.println("ethAccounts : "+web3jNode2.ethAccounts().send().getAccounts());
|
||||
//System.out.println("ethGasPrice : "+web3jNode2.ethGasPrice().send().getGasPrice());
|
||||
//System.out.println("ethGetWork : "+web3jNode2.ethGetWork().send().getResult());
|
||||
//System.out.println("ethBlockNumber : "+web3jNode2.ethBlockNumber().send().getResult());
|
||||
//EthGetBalance ethGetBalance2 = web3jNode2.ethGetBalance("0x0278467c617c13604b3d88b95c2257a3a8a7bc01", DefaultBlockParameterName.LATEST).sendAsync().get();
|
||||
//BigInteger wei2 = ethGetBalance2.getBalance();
|
||||
//System.out.println("wei is : "+wei2);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Get Balance function
|
||||
public BigInteger getTheBalanceOfWallet(String walletAddress){
|
||||
Web3j web3jNode1 = Web3jFactory.build(new HttpService(node1));
|
||||
try{
|
||||
EthGetBalance ethGetBalance = web3jNode1.ethGetBalance(walletAddress, DefaultBlockParameterName.LATEST).sendAsync().get();
|
||||
BigInteger wei = ethGetBalance.getBalance();
|
||||
return wei;
|
||||
}catch (Exception e){
|
||||
e.getMessage();
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//Send DbTransaction demo function
|
||||
public static boolean sendTransationTo(String addressSource, String addressDestination, BigInteger amountToSend){
|
||||
Web3j n1 = Web3jFactory.build(new HttpService(node1));
|
||||
try{
|
||||
EthGetTransactionCount transactionCount = n1.ethGetTransactionCount(addressSource, DefaultBlockParameterName.LATEST).sendAsync().get();
|
||||
String coinbase = n1.ethCoinbase().sendAsync().get().getResult();
|
||||
BigInteger nonce = transactionCount.getTransactionCount();
|
||||
BigInteger gasPrice = n1.ethGasPrice().send().getGasPrice();
|
||||
BigInteger gasLimit = gasPrice.multiply(BigInteger.valueOf(2));
|
||||
|
||||
BigInteger amountEther = Convert.toWei(amountToSend.toString(), Convert.Unit.ETHER).toBigInteger();
|
||||
Transaction transaction = Transaction.createEtherTransaction(coinbase, nonce, gasPrice, gasLimit, addressDestination, amountEther);
|
||||
String txUnit = "ETHER";
|
||||
|
||||
System.out.println("source : "+coinbase+"\nnonce : "+nonce+"\ngasPrice : "+gasPrice);
|
||||
System.out.println("gasLimit : "+gasLimit+"\ndestination : "+addressDestination+"\namount : "+amountEther);
|
||||
|
||||
/*
|
||||
Send the transaction
|
||||
*/
|
||||
//EthSendTransaction ethSendTransaction = n1.ethSendTransaction(transaction).sendAsync().get();
|
||||
//String txHash = ethSendTransaction.getTransactionHash();
|
||||
//TransactionReceipt txR = n1.ethGetTransactionReceipt(txHash).send().getResult();
|
||||
//txR.getBlockNumber();
|
||||
//insertTransaction(addressSource, addressDestination, amountToSend, txHash, txR.getBlockNumber().toString(), txUnit);
|
||||
|
||||
return true;
|
||||
|
||||
|
||||
}catch (Exception e){
|
||||
e.getMessage();
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void insertTransaction(String adS, String adD, BigInteger amTs, String txH, String blN, String txUnit){
|
||||
|
||||
DbTransaction dbTrs = new DbTransaction();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
|
||||
import android.content.Context;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.util.Log;
|
||||
|
||||
import com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper;
|
||||
import com.j256.ormlite.dao.Dao;
|
||||
import com.j256.ormlite.support.ConnectionSource;
|
||||
import com.j256.ormlite.table.TableUtils;
|
||||
|
||||
public class DatabaseManager extends OrmLiteSqliteOpenHelper{
|
||||
private static final String DATABASE_NAME = "WalletTransaction.db";
|
||||
private static final int DATABASE_VERSION = 1;
|
||||
|
||||
public DatabaseManager(Context context){
|
||||
super(context, DATABASE_NAME, null, DATABASE_VERSION);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) {
|
||||
try{
|
||||
TableUtils.clearTable(connectionSource, DbTransaction.class);
|
||||
Log.i("DATABASE","onCreate invoked");
|
||||
}catch(Exception exception){
|
||||
Log.e("DATABASE","Can't create Database", exception);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) {
|
||||
try{
|
||||
TableUtils.dropTable(connectionSource, DbTransaction.class, true);
|
||||
onCreate(database, connectionSource);
|
||||
Log.i("DATABASE","onUpdate invoked");
|
||||
}catch(Exception exception){
|
||||
Log.e("DATABASE","Can't update Database", exception);
|
||||
}
|
||||
}
|
||||
|
||||
public void insertTransaction(DbTransaction tx){
|
||||
try{
|
||||
Dao<DbTransaction, Integer> dao = getDao(DbTransaction.class);
|
||||
dao.create(tx);
|
||||
} catch(Exception exception){
|
||||
Log.e("DATABASE","Can't insert DbTransaction into Database", exception);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.transaction;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import com.j256.ormlite.field.DatabaseField;
|
||||
import com.j256.ormlite.table.DatabaseTable;
|
||||
|
@ -7,7 +7,7 @@ import java.math.BigInteger;
|
|||
import java.util.Date;
|
||||
|
||||
@DatabaseTable(tableName = "T_TRANSACTION")
|
||||
public class Transaction {
|
||||
public class DbTransaction {
|
||||
@DatabaseField(columnName = "transactionId", generatedId = true, unique = true)
|
||||
private int id;
|
||||
@DatabaseField(columnName = "transactionDate")
|
||||
|
@ -25,11 +25,11 @@ public class Transaction {
|
|||
@DatabaseField(columnName = "transactionUnit")
|
||||
private String unit;
|
||||
|
||||
public Transaction() {
|
||||
public DbTransaction() {
|
||||
super();
|
||||
}
|
||||
|
||||
public Transaction(Date transactionDate, String sourceAddress, String destAddress, String transactionHash, String blockNumber, BigInteger amount, String unit) {
|
||||
public DbTransaction(Date transactionDate, String sourceAddress, String destAddress, String transactionHash, String blockNumber, BigInteger amount, String unit) {
|
||||
super();
|
||||
this.transactionDate = transactionDate;
|
||||
this.sourceAddress = sourceAddress;
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.demo;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
@ -6,10 +6,6 @@ import android.os.Bundle;
|
|||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
import monnethic.mobile.wallet.WalletPresenterActivity;
|
||||
|
||||
public class DemoActivity extends AppCompatActivity {
|
||||
private static final String WALLET_A = "0x5421c79d465a288c28e10aa43f9b7dff1b313c8e";
|
||||
private static final String WALLET_B = "";
|
|
@ -1,14 +1,11 @@
|
|||
package monnethic.mobile.homepage;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
import monnethic.mobile.demo.DemoActivity;
|
||||
import android.widget.EditText;
|
||||
|
||||
public class HomepageActivity extends AppCompatActivity {
|
||||
//TODO MOVE TO LOGIN ACTIVITY
|
||||
|
@ -22,7 +19,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,27 +33,23 @@ public class HomepageActivity extends AppCompatActivity {
|
|||
launchLoginActivity();
|
||||
}
|
||||
});
|
||||
/*
|
||||
bDemo.setOnClickListener(new View.OnClickListener(){
|
||||
public void onClick(View view){
|
||||
launchDemoActivity();
|
||||
}
|
||||
});
|
||||
*/
|
||||
}
|
||||
|
||||
public void launchRegisterActivity(){
|
||||
Intent registerIntent = new Intent(HomepageActivity.this, RegisterActivity.class);
|
||||
Intent registerIntent = new Intent(HomepageActivity.this, SignupActivity.class);
|
||||
HomepageActivity.this.startActivity(registerIntent);
|
||||
}
|
||||
public void launchLoginActivity(){
|
||||
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);
|
||||
}
|
||||
*/
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.homepage;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
@ -8,11 +8,6 @@ import android.widget.Button;
|
|||
import android.widget.EditText;
|
||||
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 {
|
||||
|
||||
private EditText email;
|
||||
|
@ -48,26 +43,31 @@ public class LoginActivity extends AppCompatActivity {
|
|||
public void onClickForgetEmail(View v){
|
||||
Toast.makeText(this, "Forget email", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
private void validateInput(){
|
||||
if(InputController.isEmptyEdit(email)){
|
||||
public void validateInput(){
|
||||
if(isEmptyEdit(email)){
|
||||
Toast.makeText(this, "You did not enter your email", Toast.LENGTH_SHORT).show();
|
||||
} else if(!InputController.validEmail(email.getText().toString())){
|
||||
Toast.makeText(this, "Your email is invalid", Toast.LENGTH_SHORT).show();
|
||||
} else if(InputController.isEmptyEdit(password)) {
|
||||
} else if(isEmptyEdit(password)) {
|
||||
Toast.makeText(this, "You did not enter your password", Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
if(InputController.checkUser(email.getText().toString(),password.getText().toString())){
|
||||
if(checkUser(email.getText().toString(),password.getText().toString())){
|
||||
launchWalletActivity(1);
|
||||
}else{
|
||||
Toast.makeText(this, "Wrong authentication", Toast.LENGTH_SHORT).show();
|
||||
Toast.makeText(this, "Wrong authentification", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
||||
public void launchWalletActivity(int ldapId){
|
||||
private boolean isEmptyEdit(EditText etText) {
|
||||
return etText.getText().toString().trim().length() == 0;
|
||||
}
|
||||
//TODO CHECK USER AND SEND BACK ID
|
||||
private boolean checkUser(String m, String p){
|
||||
return true;
|
||||
}
|
||||
public void launchWalletActivity(int ldapId){;
|
||||
//LAUNCH APP WALLET WITH ID USER
|
||||
Intent accountIntent = new Intent(LoginActivity.this, UserAccountActivity.class);
|
||||
accountIntent.putExtra("idUser", ldapId);
|
||||
LoginActivity.this.startActivity(accountIntent);
|
||||
Intent walletIntent = new Intent(LoginActivity.this, WalletActivity.class);
|
||||
walletIntent.putExtra("idUser", ldapId);
|
||||
LoginActivity.this.startActivity(walletIntent);
|
||||
finish();
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.homepage;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
@ -8,12 +8,7 @@ import android.widget.Button;
|
|||
import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
import monnethic.mobile.user.User;
|
||||
import monnethic.mobile.wallet.WalletActivity;
|
||||
|
||||
public class RegisterActivity extends AppCompatActivity {
|
||||
public class SignupActivity extends AppCompatActivity {
|
||||
|
||||
private EditText name;
|
||||
private EditText firstname;
|
||||
|
@ -53,10 +48,24 @@ public class RegisterActivity extends AppCompatActivity {
|
|||
|
||||
//TODO VERIFY EACH EDIT TEXT
|
||||
public void validateInput(){
|
||||
if(checkInputEmpty()){
|
||||
if(!InputController.passwordValidator(password.getText().toString())){
|
||||
Toast.makeText(this, "Password must contains 6 to 20 characters, one lowercase, one uppercase and one digit", Toast.LENGTH_LONG).show();
|
||||
}else if(InputController.validEmail(email.getText().toString())){
|
||||
if(isEmptyEdit(name)){
|
||||
Toast.makeText(this, "You did not enter your name", Toast.LENGTH_SHORT).show();
|
||||
} else if(isEmptyEdit(firstname)){
|
||||
Toast.makeText(this, "You did not enter your firstname", Toast.LENGTH_SHORT).show();
|
||||
} else if(isEmptyEdit(email)){
|
||||
Toast.makeText(this, "You did not enter your email", Toast.LENGTH_SHORT).show();
|
||||
} else if(isEmptyEdit(confirmEmail)){
|
||||
Toast.makeText(this, "You did not confirm your email", Toast.LENGTH_SHORT).show();
|
||||
} else if(isEmptyEdit(password)){
|
||||
Toast.makeText(this, "You did not enter your password", Toast.LENGTH_SHORT).show();
|
||||
} else if(isEmptyEdit(confirmPassword)){
|
||||
Toast.makeText(this, "You did not confirm your password", Toast.LENGTH_SHORT).show();
|
||||
}else {
|
||||
if(!(password.getText().toString().equals(confirmPassword.getText().toString()))){
|
||||
Toast.makeText(this, "Password don't match confirmation password", Toast.LENGTH_SHORT).show();
|
||||
}else if(!(email.getText().toString().equals(confirmEmail.getText().toString()))){
|
||||
Toast.makeText(this, "Email don't match confirmation email", Toast.LENGTH_SHORT).show();
|
||||
} else{
|
||||
User inputUser = new User(name.getText().toString(),firstname.getText().toString(),email.getText().toString(),password.getText().toString());
|
||||
insertUserLdap(inputUser);
|
||||
}
|
||||
|
@ -64,7 +73,7 @@ public class RegisterActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
//TODO INSERT VALIDE USER INTO LDAP
|
||||
private void insertUserLdap(User u){
|
||||
public void insertUserLdap(User u){
|
||||
//CHECK IF USER ALREADY EXIST
|
||||
|
||||
//IF USER DOESN'T EXIST, INSERT USER INTO LDAP
|
||||
|
@ -74,7 +83,7 @@ public class RegisterActivity extends AppCompatActivity {
|
|||
//IF SUCCESSFULLY INSERTED INTO LDAP CALL LAUNCHWALLET
|
||||
|
||||
//TEMPORARY
|
||||
if(InputController.checkUser(u.getEmail())){
|
||||
if(checkUser(u.getEmail())){
|
||||
Toast.makeText(this, "User already have an account, please log in", Toast.LENGTH_SHORT).show();
|
||||
}else {
|
||||
Toast.makeText(this, "INSERT", Toast.LENGTH_SHORT).show();
|
||||
|
@ -83,49 +92,21 @@ public class RegisterActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
//TODO LAUNCH WALLET ACTIVITY
|
||||
private void launchWalletActivity(int ldapId){
|
||||
public void launchWalletActivity(int ldapId){;
|
||||
//LAUNCH APP WALLET WITH ID USER
|
||||
Intent walletIntent = new Intent(RegisterActivity.this, WalletActivity.class);
|
||||
Intent walletIntent = new Intent(SignupActivity.this, WalletActivity.class);
|
||||
walletIntent.putExtra("idUser", ldapId);
|
||||
RegisterActivity.this.startActivity(walletIntent);
|
||||
SignupActivity.this.startActivity(walletIntent);
|
||||
finish();
|
||||
}
|
||||
|
||||
private boolean checkInputEmpty(){
|
||||
if(InputController.isEmptyEdit(name)){
|
||||
Toast.makeText(this, "You did not enter your name", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
} else if (!InputController.nameValidator(name.getText().toString())){
|
||||
Toast.makeText(this, "Name must be 4 to 30 character long", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
} else if(InputController.isEmptyEdit(firstname)){
|
||||
Toast.makeText(this, "You did not enter your firstname", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
} else if(InputController.isEmptyEdit(email)){
|
||||
Toast.makeText(this, "You did not enter your email", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
} else if(!InputController.validEmail(email.getText().toString())){
|
||||
Toast.makeText(this, "Your email is invalid", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
} else if(InputController.isEmptyEdit(confirmEmail)){
|
||||
Toast.makeText(this, "You did not confirm your email", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
} else if(InputController.isEmptyEdit(password)){
|
||||
Toast.makeText(this, "You did not enter your password", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
} else if(InputController.isEmptyEdit(confirmPassword)){
|
||||
Toast.makeText(this, "You did not confirm your password", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
}else {
|
||||
if (!(password.getText().toString().equals(confirmPassword.getText().toString()))) {
|
||||
Toast.makeText(this, "Password don't match confirmation password", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
} else if (!(email.getText().toString().equals(confirmEmail.getText().toString()))) {
|
||||
Toast.makeText(this, "Email don't match confirmation email", Toast.LENGTH_SHORT).show();
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
private boolean isEmptyEdit(EditText etText) {
|
||||
return etText.getText().toString().trim().length() == 0;
|
||||
}
|
||||
//TODO VERIFY IF INPUTED USER ALREADY EXIST IN LDAP
|
||||
private boolean checkUser(Object mail){
|
||||
//Statement stmt = null;
|
||||
//String query = "SELECT userId FROM USER_TABLE WHERE email="+mail;
|
||||
return false;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.transaction;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
@ -8,8 +8,6 @@ import android.widget.Button;
|
|||
import android.widget.EditText;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
import java.math.BigInteger;
|
||||
|
||||
public class TransactionActivity extends AppCompatActivity {
|
||||
|
@ -47,13 +45,11 @@ public class TransactionActivity extends AppCompatActivity {
|
|||
public void sendTransaction(){
|
||||
String adD = addressDestination.getText().toString();
|
||||
BigInteger amt = new BigInteger(amount.getText().toString());
|
||||
/*
|
||||
|
||||
if(AccessBlockchain.sendTransationTo(address, adD, amt)){
|
||||
Toast.makeText(this, "OK.", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
*/
|
||||
String message = "Comming soon, addressDestination "+adD+" Amount : "+amt.toString();
|
||||
Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
|
||||
//Toast.makeText(this, "Coming soon", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
/**
|
||||
* Created by Guillaume on 15/04/2018.
|
||||
*/
|
||||
|
||||
public class User {
|
||||
private String name;
|
||||
private String firstname;
|
||||
private String email;
|
||||
private String password;
|
||||
|
||||
public User(String name, String firstname, String email, String password) {
|
||||
this.name = name;
|
||||
this.firstname = firstname;
|
||||
this.email = email;
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getFirstname() {
|
||||
return firstname;
|
||||
}
|
||||
|
||||
public void setFirstname(String firstname) {
|
||||
this.firstname = firstname;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
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;
|
||||
|
||||
public class UserAccountActivity extends AppCompatActivity {
|
||||
private TextView solde;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_user_account);
|
||||
|
||||
solde = findViewById(R.id.viewSolde);
|
||||
Button buttonPayement = findViewById(R.id.buttonPayement);
|
||||
Button buttonReceive = findViewById(R.id.buttonReceive);
|
||||
Button buttonSettings = findViewById(R.id.buttonSettings);
|
||||
|
||||
//refreshSolde();
|
||||
|
||||
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();
|
||||
}
|
||||
});
|
||||
}
|
||||
public void sendPayement(){
|
||||
Toast.makeText(this, "Coming soon", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
public void receivePayement(){
|
||||
Toast.makeText(this, "Coming soon", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
public void settings(){
|
||||
Toast.makeText(this, "Coming soon", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
public void refreshSolde(){
|
||||
solde.setText("0.00");
|
||||
}
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.wallet;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
@ -7,10 +7,6 @@ import android.view.View;
|
|||
import android.widget.Button;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
import monnethic.mobile.user.UserAccountActivity;
|
||||
|
||||
public class WalletActivity extends AppCompatActivity {
|
||||
|
||||
@Override
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.wallet;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
|
@ -8,10 +8,9 @@ import android.widget.Button;
|
|||
import android.widget.EditText;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
import org.web3j.utils.Convert;
|
||||
|
||||
|
||||
import monnethic.mobile.transaction.TransactionActivity;
|
||||
import java.math.BigInteger;
|
||||
|
||||
public class WalletPresenterActivity extends AppCompatActivity {
|
||||
private EditText addressPublic;
|
||||
|
@ -32,9 +31,9 @@ public class WalletPresenterActivity extends AppCompatActivity {
|
|||
addressPublic.setText(address);
|
||||
|
||||
if(initiateBalance(address)==null){
|
||||
balance.setText("IN DEV");
|
||||
balance.setText("Error");
|
||||
}else{
|
||||
balance.setText("IN DEV");
|
||||
balance.setText(Convert.fromWei(initiateBalance(address).toString(), Convert.Unit.ETHER).toString());
|
||||
}
|
||||
|
||||
buttonSendTransaction.setOnClickListener(new View.OnClickListener() {
|
||||
|
@ -59,6 +58,9 @@ public class WalletPresenterActivity extends AppCompatActivity {
|
|||
}
|
||||
|
||||
public String initiateBalance(String address){
|
||||
return "";
|
||||
AccessBlockchain ab = new AccessBlockchain();
|
||||
System.out.println("addresse "+ address);
|
||||
String balanceIs = ab.getTheBalanceOfWallet(address).toString();
|
||||
return balanceIs;
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
package monnethic.mobile.blockchainApi;
|
||||
|
||||
public class UrlApi {
|
||||
static public String URL_BALANCE = "http://10.0.2.2:8083/balance?name=";
|
||||
}
|
|
@ -1,39 +0,0 @@
|
|||
package monnethic.mobile.database;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import monnethic.mobile.transaction.Transaction;
|
||||
import monnethic.mobile.user.User;
|
||||
|
||||
import com.j256.ormlite.dao.Dao;
|
||||
import com.j256.ormlite.dao.DaoManager;
|
||||
import com.j256.ormlite.jdbc.JdbcConnectionSource;
|
||||
import com.j256.ormlite.support.ConnectionSource;
|
||||
|
||||
public class DatabaseHelper {
|
||||
private static final String DATABASE_NAME = "monnethic";
|
||||
private static final String DATABASE_USER = "";
|
||||
private static final String DATABASE_PWD = "";
|
||||
private final static String DATABASE_URL = "jdbc:postgresql:///"+DATABASE_NAME;
|
||||
|
||||
|
||||
public ConnectionSource setupDatabaseConnection(){
|
||||
try{
|
||||
return new JdbcConnectionSource(DATABASE_URL, DATABASE_USER, DATABASE_PWD);
|
||||
}catch (Exception e){
|
||||
System.out.print("\n"+e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
public void insertTransaction(Transaction tx){
|
||||
try{
|
||||
//Dao<Transaction, Integer> dao = getDao(Transaction.class);
|
||||
//dao.create(tx);
|
||||
} catch(Exception exception){
|
||||
Log.e("DATABASE","Can't insert Transaction into Database", exception);
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
|
@ -1,40 +0,0 @@
|
|||
package monnethic.mobile.database;
|
||||
|
||||
import com.j256.ormlite.field.DatabaseField;
|
||||
import com.j256.ormlite.table.DatabaseTable;
|
||||
|
||||
@DatabaseTable(tableName = "T_TEST")
|
||||
public class DatabaseTest {
|
||||
private static final String NAME_FIELD_NAME = "name";
|
||||
private static final String ID_FIELD_NAME = "id";
|
||||
|
||||
@DatabaseField(columnName = ID_FIELD_NAME, id = true)
|
||||
private int id;
|
||||
@DatabaseField(columnName = NAME_FIELD_NAME, canBeNull = false)
|
||||
private String name;
|
||||
|
||||
public DatabaseTest(int id, String name) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public DatabaseTest() {
|
||||
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
package monnethic.mobile.homepage;
|
||||
|
||||
import android.widget.EditText;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class InputController {
|
||||
private static Pattern pattern;
|
||||
private static Matcher matcher;
|
||||
private static final String PASSWORD_PATTERN = "((?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})";
|
||||
private static final String NAME_PATTERN = "((?=.*[a-z]).{4,30})";
|
||||
|
||||
public static boolean isEmptyEdit(EditText etText) {
|
||||
return etText.getText().toString().trim().length() == 0;
|
||||
}
|
||||
public static boolean validEmail(String email){
|
||||
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
|
||||
}
|
||||
public static boolean passwordValidator(String password){
|
||||
pattern = Pattern.compile(PASSWORD_PATTERN);
|
||||
matcher = pattern.matcher(password);
|
||||
return matcher.matches();
|
||||
}
|
||||
public static boolean nameValidator(String name){
|
||||
pattern = Pattern.compile(NAME_PATTERN);
|
||||
matcher = pattern.matcher(name);
|
||||
return matcher.matches();
|
||||
}
|
||||
|
||||
//TODO VERIFY IF INPUTED USER ALREADY EXIST IN LDAP
|
||||
public static boolean checkUser(String mail){
|
||||
//Statement stmt = null;
|
||||
//String query = "SELECT userId FROM USER_TABLE WHERE email="+mail+";";
|
||||
return false;
|
||||
}
|
||||
|
||||
//TODO CHECK USER AND SEND BACK ID
|
||||
public static boolean checkUser(String mail, String password){
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -1,64 +0,0 @@
|
|||
package monnethic.mobile.qrcode;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
import com.google.zxing.BarcodeFormat;
|
||||
import com.google.zxing.MultiFormatWriter;
|
||||
import com.google.zxing.WriterException;
|
||||
import com.google.zxing.common.BitMatrix;
|
||||
import com.journeyapps.barcodescanner.BarcodeEncoder;
|
||||
|
||||
public class QrCodeActivity extends AppCompatActivity {
|
||||
ImageView qrCode;
|
||||
Button closeButton;
|
||||
TextView adresseView;
|
||||
TextView amountView;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_qr_code);
|
||||
qrCode=findViewById(R.id.qrCodeViewer);
|
||||
closeButton=findViewById(R.id.buttonClose);
|
||||
adresseView=findViewById(R.id.textViewAdresseDisplay);
|
||||
amountView=findViewById(R.id.textViewAmountDisplay);
|
||||
|
||||
Intent intent = getIntent();
|
||||
String adresse = intent.getStringExtra("adresse");
|
||||
String value = intent.getStringExtra("value");
|
||||
try{
|
||||
generateQrCode(adresse,value);
|
||||
}catch(Exception e){
|
||||
e.getMessage();
|
||||
}
|
||||
closeButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void generateQrCode(String adresse, String value) throws WriterException {
|
||||
BitMatrix bitMatrix;
|
||||
String valueToEncode = adresse+";"+value;
|
||||
try{
|
||||
bitMatrix = new MultiFormatWriter().encode(valueToEncode, BarcodeFormat.QR_CODE,450,450);
|
||||
BarcodeEncoder barcodeEncoder = new BarcodeEncoder();
|
||||
Bitmap bitmap = barcodeEncoder.createBitmap(bitMatrix);
|
||||
qrCode.setImageBitmap(bitmap);
|
||||
adresseView.setText(adresse);
|
||||
amountView.setText(value);
|
||||
}catch (Exception e){
|
||||
e.getMessage();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,104 +0,0 @@
|
|||
package monnethic.mobile.qrcode;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.support.v4.app.ActivityCompat;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.util.SparseArray;
|
||||
import android.view.SurfaceHolder;
|
||||
import android.view.SurfaceView;
|
||||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
import com.google.android.gms.vision.CameraSource;
|
||||
import com.google.android.gms.vision.Detector;
|
||||
import com.google.android.gms.vision.barcode.Barcode;
|
||||
import com.google.android.gms.vision.barcode.BarcodeDetector;
|
||||
|
||||
import monnethic.mobile.transaction.ApprovePayementActivity;
|
||||
|
||||
public class QrCodeScannerActivity extends AppCompatActivity {
|
||||
SurfaceView surfaceView;
|
||||
private BarcodeDetector barcodeDector;
|
||||
private CameraSource cameraSource;
|
||||
private static final int REQUEST_CAMERA_PERMISSION = 201;
|
||||
private String intentData = "";
|
||||
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_qr_code_scanner);
|
||||
initViews();
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
surfaceView = findViewById(R.id.surfaceView);
|
||||
}
|
||||
|
||||
private void initialiseDetector(){
|
||||
Toast.makeText(getApplicationContext(), "QR code scanner started", Toast.LENGTH_SHORT).show();
|
||||
|
||||
barcodeDector = new BarcodeDetector.Builder(this).setBarcodeFormats(Barcode.ALL_FORMATS).build();
|
||||
cameraSource = new CameraSource.Builder(this, barcodeDector).setRequestedPreviewSize(1920,1080).setAutoFocusEnabled(true).build();
|
||||
|
||||
surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
|
||||
@Override
|
||||
public void surfaceCreated(SurfaceHolder surfaceHolder) {
|
||||
try{
|
||||
if(ActivityCompat.checkSelfPermission(QrCodeScannerActivity.this, Manifest.permission.CAMERA)== PackageManager.PERMISSION_GRANTED){
|
||||
cameraSource.start(surfaceView.getHolder());
|
||||
}else{
|
||||
ActivityCompat.requestPermissions(QrCodeScannerActivity.this, new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION);
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
|
||||
cameraSource.stop();
|
||||
}
|
||||
});
|
||||
|
||||
barcodeDector.setProcessor(new Detector.Processor<Barcode>() {
|
||||
@Override
|
||||
public void release() {
|
||||
Toast.makeText(getApplicationContext(),"Barcode scanner has been stopped",Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void receiveDetections(Detector.Detections<Barcode> detections) {
|
||||
final SparseArray<Barcode> barcodes = detections.getDetectedItems();
|
||||
if(barcodes.size()!=0){
|
||||
intentData = barcodes.valueAt(0).displayValue;
|
||||
Intent scannedQrIntent = new Intent(QrCodeScannerActivity.this, ApprovePayementActivity.class);
|
||||
scannedQrIntent.putExtra("valueScanned",intentData);
|
||||
QrCodeScannerActivity.this.startActivity(scannedQrIntent);
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause(){
|
||||
super.onPause();
|
||||
cameraSource.release();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume(){
|
||||
super.onResume();
|
||||
initialiseDetector();
|
||||
}
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
package monnethic.mobile.transaction;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
public class ApprovePayementActivity extends AppCompatActivity {
|
||||
TextView textDisplay;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_approve_payement);
|
||||
|
||||
Intent intent = getIntent();
|
||||
String stringToDisplay = intent.getStringExtra("valueScanned");
|
||||
|
||||
initViews(stringToDisplay);
|
||||
}
|
||||
|
||||
private void initViews(String stringToDisplay){
|
||||
textDisplay = findViewById(R.id.textDisplay);
|
||||
|
||||
textDisplay.setText(stringToDisplay);
|
||||
}
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
package monnethic.mobile.transaction;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
import monnethic.mobile.qrcode.QrCodeScannerActivity;
|
||||
|
||||
public class MakePayementActivity extends AppCompatActivity {
|
||||
Button btnScanQr;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_make_payement);
|
||||
|
||||
initViews();
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
btnScanQr = findViewById(R.id.buttonScanQr);
|
||||
|
||||
btnScanQr.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
Intent payementIntent = new Intent(MakePayementActivity.this, QrCodeScannerActivity.class);
|
||||
MakePayementActivity.this.startActivity(payementIntent);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
|
@ -1,47 +0,0 @@
|
|||
package monnethic.mobile.transaction;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
|
||||
import com.example.monnthic.monnethicmobile.R;
|
||||
|
||||
import monnethic.mobile.qrcode.QrCodeActivity;
|
||||
|
||||
public class ReceivePayementActivity extends AppCompatActivity {
|
||||
Button cancelButton;
|
||||
Button validateButton;
|
||||
EditText amountValueEdit;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_receive_payement);
|
||||
cancelButton=findViewById(R.id.buttonCancel);
|
||||
validateButton=findViewById(R.id.buttonValidate);
|
||||
amountValueEdit=findViewById(R.id.amountValue);
|
||||
|
||||
cancelButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
validateButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
generateQrCodeWithValue(amountValueEdit.getText().toString());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void generateQrCodeWithValue(String value){
|
||||
Intent generateQrIntent = new Intent(ReceivePayementActivity.this, QrCodeActivity.class);
|
||||
generateQrIntent.putExtra("adresse","addresseAAAA");
|
||||
generateQrIntent.putExtra("value",value);
|
||||
ReceivePayementActivity.this.startActivity(generateQrIntent);
|
||||
}
|
||||
}
|
|
@ -1,120 +0,0 @@
|
|||
package monnethic.mobile.user;
|
||||
|
||||
import com.j256.ormlite.field.DatabaseField;
|
||||
import com.j256.ormlite.table.DatabaseTable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* Created by Guillaume on 15/04/2018.
|
||||
*/
|
||||
|
||||
|
||||
//Class User which represent an User in the postgresDB
|
||||
@DatabaseTable(tableName = "T_USER")
|
||||
public class User {
|
||||
@DatabaseField(canBeNull = false)
|
||||
private String name;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private String firstname;
|
||||
@DatabaseField(id = true)
|
||||
private String email;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private String password;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private long creation_date;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private long modification_date;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private boolean verified;
|
||||
@DatabaseField(canBeNull = false)
|
||||
private boolean approved;
|
||||
|
||||
//Constructors
|
||||
//Default constructor for ORMLite
|
||||
public User() {
|
||||
}
|
||||
|
||||
public User(String name, String firstname, String email, String password) {
|
||||
this.name = name;
|
||||
this.firstname = firstname;
|
||||
this.email = email;
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public User(String name, String firstname, String email, String password, long creation_date, long modification_date, boolean verified, boolean approved) {
|
||||
this.name = name;
|
||||
this.firstname = firstname;
|
||||
this.email = email;
|
||||
this.password = password;
|
||||
this.creation_date = creation_date;
|
||||
this.modification_date = modification_date;
|
||||
this.verified = verified;
|
||||
this.approved = approved;
|
||||
}
|
||||
|
||||
|
||||
//Getters and Setters
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getFirstname() {
|
||||
return firstname;
|
||||
}
|
||||
|
||||
public void setFirstname(String firstname) {
|
||||
this.firstname = firstname;
|
||||
}
|
||||
|
||||
public String getEmail() {
|
||||
return email;
|
||||
}
|
||||
|
||||
public void setEmail(String email) {
|
||||
this.email = email;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public long getCreation_date() {
|
||||
return creation_date;
|
||||
}
|
||||
|
||||
public void setCreation_date(long creation_date) {
|
||||
this.creation_date = creation_date;
|
||||
}
|
||||
|
||||
public long getModification_date() {
|
||||
return modification_date;
|
||||
}
|
||||
|
||||
public void setModification_date(long modification_date) {
|
||||
this.modification_date = modification_date;
|
||||
}
|
||||
|
||||
public boolean isVerified() {
|
||||
return verified;
|
||||
}
|
||||
|
||||
public void setVerified(boolean verified) {
|
||||
this.verified = verified;
|
||||
}
|
||||
|
||||
public boolean isApproved() {
|
||||
return approved;
|
||||
}
|
||||
|
||||
public void setApproved(boolean approved) {
|
||||
this.approved = approved;
|
||||
}
|
||||
}
|
|
@ -1,144 +0,0 @@
|
|||
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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,119 +0,0 @@
|
|||
package monnethic.mobile.user;
|
||||
|
||||
import com.j256.ormlite.dao.Dao;
|
||||
import com.j256.ormlite.dao.DaoManager;
|
||||
import com.j256.ormlite.stmt.PreparedQuery;
|
||||
import com.j256.ormlite.stmt.QueryBuilder;
|
||||
import com.j256.ormlite.stmt.UpdateBuilder;
|
||||
import java.sql.Timestamp;
|
||||
import monnethic.mobile.database.DatabaseHelper;
|
||||
|
||||
//Class to communicate with database with ORMLite
|
||||
public class UserDao {
|
||||
private DatabaseHelper dbh = new DatabaseHelper();
|
||||
private Dao<User, String> userDao;
|
||||
|
||||
public Dao createUserDaoConnection(){
|
||||
try {
|
||||
return DaoManager.createDao(dbh.setupDatabaseConnection(),User.class);
|
||||
}catch (Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void addUser(User user)throws Exception {
|
||||
userDao = createUserDaoConnection();
|
||||
userDao.create(user);
|
||||
}
|
||||
|
||||
public boolean checkApprovedUser(String email) throws Exception {
|
||||
userDao = createUserDaoConnection();
|
||||
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
|
||||
queryBuilder.where().eq("email",email);
|
||||
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
|
||||
User user = userDao.queryForFirst(preparedQuery);
|
||||
return user.isApproved();
|
||||
}
|
||||
|
||||
public boolean checkVerifiedUser(String email) throws Exception {
|
||||
userDao = createUserDaoConnection();
|
||||
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
|
||||
queryBuilder.where().eq("email",email);
|
||||
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
|
||||
User user = userDao.queryForFirst(preparedQuery);
|
||||
return user.isVerified();
|
||||
}
|
||||
|
||||
public boolean updateUserPassword(String email, String password) throws Exception {
|
||||
userDao = createUserDaoConnection();
|
||||
UpdateBuilder<User, String> updateBuilder = userDao.updateBuilder();
|
||||
updateBuilder.updateColumnValue("password",password);
|
||||
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
|
||||
updateBuilder.updateColumnValue("modification_date",timestamp.getTime());
|
||||
updateBuilder.where().eq("email",email);
|
||||
updateBuilder.update();
|
||||
|
||||
if(checkUserPassword(email, password)){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private boolean verifyUserExist(String email) throws Exception {
|
||||
userDao = createUserDaoConnection();
|
||||
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
|
||||
queryBuilder.where().eq("email",email);
|
||||
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
|
||||
User user = userDao.queryForFirst(preparedQuery);
|
||||
|
||||
if(user==null){
|
||||
return false;
|
||||
}else{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean checkUserPassword(String email, String password) throws Exception {
|
||||
User user = getUser(email);
|
||||
if(password.equals(user.getPassword())){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public User getUser(String email) throws Exception {
|
||||
if(!verifyUserExist(email)){
|
||||
return null;
|
||||
}else{
|
||||
userDao = createUserDaoConnection();
|
||||
QueryBuilder<User, String> queryBuilder = userDao.queryBuilder();
|
||||
queryBuilder.where().eq("email",email);
|
||||
PreparedQuery<User> preparedQuery = queryBuilder.prepare();
|
||||
return userDao.queryForFirst(preparedQuery);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void approveUser (String email) throws Exception{
|
||||
userDao = createUserDaoConnection();
|
||||
UpdateBuilder<User, String> updateBuilder = userDao.updateBuilder();
|
||||
updateBuilder.updateColumnValue("approved",true);
|
||||
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
|
||||
updateBuilder.updateColumnValue("modification_date",timestamp.getTime());
|
||||
updateBuilder.where().eq("email",email);
|
||||
updateBuilder.update();
|
||||
}
|
||||
public void verifyUser (String email) throws Exception{
|
||||
userDao = createUserDaoConnection();
|
||||
UpdateBuilder<User, String> updateBuilder = userDao.updateBuilder();
|
||||
updateBuilder.updateColumnValue("verified",true);
|
||||
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
|
||||
updateBuilder.updateColumnValue("modification_date",timestamp.getTime());
|
||||
updateBuilder.where().eq("email",email);
|
||||
updateBuilder.update();
|
||||
}
|
||||
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
<?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" />
|
||||
</android.support.constraint.ConstraintLayout>
|
|
@ -2,6 +2,7 @@
|
|||
<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">
|
||||
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
android:layout_gravity="center"
|
||||
android:text="version v0.1"
|
||||
android:textAlignment="center" />
|
||||
<!--
|
||||
|
||||
<Button
|
||||
android:id="@+id/demo"
|
||||
android:layout_width="200dp"
|
||||
|
@ -52,7 +52,7 @@
|
|||
android:layout_below="@+id/register"
|
||||
android:layout_marginTop="53dp"
|
||||
android:text="DEMO" />
|
||||
-->
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView"
|
||||
android:layout_width="230dp"
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
@ -27,12 +28,12 @@
|
|||
android:id="@+id/editTextPassword"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/editTextEmail"
|
||||
android:layout_alignStart="@+id/editTextEmail"
|
||||
android:layout_below="@+id/editTextEmail"
|
||||
android:layout_marginTop="69dp"
|
||||
android:ems="10"
|
||||
android:hint="Password"
|
||||
android:inputType="textPassword" />
|
||||
android:inputType="textPersonName" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/forgetPassword"
|
||||
|
|
|
@ -1,24 +0,0 @@
|
|||
<?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.MakePayementActivity">
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonScanQr"
|
||||
android:layout_width="141dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginBottom="160dp"
|
||||
android:text="SCAN QR CODE"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.502"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintVertical_bias="0.905" />
|
||||
</android.support.constraint.ConstraintLayout>
|
|
@ -1,75 +0,0 @@
|
|||
<?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.qrcode.QrCodeActivity">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/qrCodeViewer"
|
||||
android:layout_width="320dp"
|
||||
android:layout_height="307dp"
|
||||
android:layout_marginBottom="204dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="8dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonClose"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="56dp"
|
||||
android:layout_marginEnd="148dp"
|
||||
android:text="CLOSE"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewAdresse"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="48dp"
|
||||
android:text="Adresse :"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textViewAmount"
|
||||
app:layout_constraintEnd_toStartOf="@+id/textViewAdresseDisplay"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewAdresseDisplay"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginBottom="20dp"
|
||||
android:layout_marginEnd="96dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textViewAmountDisplay"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewAmount"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginBottom="140dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="48dp"
|
||||
android:text="Montant :"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toStartOf="@+id/textViewAmountDisplay"
|
||||
app:layout_constraintHorizontal_bias="0.0"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textViewAmountDisplay"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="25dp"
|
||||
android:layout_marginBottom="140dp"
|
||||
android:layout_marginEnd="96dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
</android.support.constraint.ConstraintLayout>
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="monnethic.mobile.qrcode.QrCodeScannerActivity">
|
||||
|
||||
<SurfaceView
|
||||
android:id="@+id/surfaceView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_centerVertical="true" />
|
||||
|
||||
</RelativeLayout>
|
|
@ -1,42 +0,0 @@
|
|||
<?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.ReceivePayementActivity">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/amountValue"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginTop="184dp"
|
||||
android:ems="10"
|
||||
android:inputType="numberDecimal"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.568"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonValidate"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="176dp"
|
||||
android:layout_marginEnd="72dp"
|
||||
android:text="Validate"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonCancel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="176dp"
|
||||
android:layout_marginStart="92dp"
|
||||
android:text="Cancel"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
</android.support.constraint.ConstraintLayout>
|
|
@ -2,6 +2,7 @@
|
|||
<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">
|
||||
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
|
||||
<Button
|
||||
android:id="@+id/buttonSettings"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:text="Settings" />
|
||||
|
@ -25,61 +25,32 @@
|
|||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/buttonSettings"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="13dp"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="User account" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/viewSolde"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/textView4"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="48dp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonPayement"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="202dp"
|
||||
android:layout_centerVertical="true"
|
||||
android:text="Payement" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonReceive"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="142dp"
|
||||
android:text="Receive" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/buttonRefreshBalance"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="45dp"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginBottom="82dp"
|
||||
android:text="Refresh" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/balanceView"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="35dp"
|
||||
android:layout_below="@+id/textView4"
|
||||
android:layout_alignParentStart="true"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:layout_marginStart="119dp"
|
||||
android:layout_marginTop="156dp"
|
||||
android:layout_marginEnd="113dp"
|
||||
android:textAlignment="center"
|
||||
android:textSize="30sp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView6"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_below="@+id/buttonPayement"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:layout_marginTop="204dp"
|
||||
android:text="BALANCE"
|
||||
android:textAlignment="center"
|
||||
android:textSize="18sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
|
||||
android:layout_marginTop="38dp"
|
||||
android:text="Receive" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
{
|
||||
"name": "hlfv1",
|
||||
"x-type": "hlfv1",
|
||||
"x-commitTimeout": 300,
|
||||
"version": "1.0.0",
|
||||
"client": {
|
||||
"organization": "Org1",
|
||||
"connection": {
|
||||
"timeout": {
|
||||
"peer": {
|
||||
"endorser": "300",
|
||||
"eventHub": "300",
|
||||
"eventReg": "300"
|
||||
},
|
||||
"orderer": "300"
|
||||
}
|
||||
}
|
||||
},
|
||||
"channels": {
|
||||
"composerchannel": {
|
||||
"orderers": [
|
||||
"orderer.example.com"
|
||||
],
|
||||
"peers": {
|
||||
"peer0.org1.example.com": {
|
||||
"endorsingPeer": true,
|
||||
"chaincodeQuery": true,
|
||||
"ledgerQuery": true,
|
||||
"eventSource": true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"organizations": {
|
||||
"Org1": {
|
||||
"mspid": "Org1MSP",
|
||||
"peers": [
|
||||
"peer0.org1.example.com"
|
||||
],
|
||||
"certificateAuthorities": [
|
||||
"ca.org1.example.com"
|
||||
]
|
||||
}
|
||||
},
|
||||
"orderers": {
|
||||
"orderer.example.com": {
|
||||
"url": "grpc://orderer.example.com:7050"
|
||||
}
|
||||
},
|
||||
"peers": {
|
||||
"peer0.org1.example.com": {
|
||||
"url": "grpc://peer0.org1.example.com:7051"
|
||||
}
|
||||
},
|
||||
"certificateAuthorities": {
|
||||
"ca.org1.example.com": {
|
||||
"url": "http://ca.org1.example.com:7054",
|
||||
"caName": "ca.org1.example.com"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +1,5 @@
|
|||
<resources>
|
||||
<string name="app_name">Monnethic Mobile</string>
|
||||
<string name="app_name">Monnéthic Mobile</string>
|
||||
<string name="title_activity_login">Sign in</string>
|
||||
|
||||
<!-- Strings related to login -->
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package monnethic.mobile.test;
|
||||
package com.example.monnthic.monnthicmobile;
|
||||
|
||||
import org.junit.Test;
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
package monnethic.mobile.test.database;
|
||||
|
||||
import com.j256.ormlite.dao.Dao;
|
||||
import com.j256.ormlite.dao.DaoManager;
|
||||
import org.junit.Test;
|
||||
import monnethic.mobile.database.DatabaseHelper;
|
||||
import monnethic.mobile.database.DatabaseTest;
|
||||
|
||||
|
||||
//Testing class for postgresql connection
|
||||
public class DatabaseHelperTest {
|
||||
private DatabaseHelper dbh = new DatabaseHelper();
|
||||
|
||||
//Test connection by getting existing data in T_TEST
|
||||
@Test
|
||||
public void TestConnection(){
|
||||
Dao<DatabaseTest, Integer> testDao;
|
||||
try{
|
||||
testDao = DaoManager.createDao(dbh.setupDatabaseConnection(),DatabaseTest.class);
|
||||
DatabaseTest dbt = testDao.queryForId(1);
|
||||
assert dbt != null;
|
||||
assert "thomas".equals(dbt.getName());
|
||||
}catch (Exception e){
|
||||
System.out.println("\n"+e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,147 +0,0 @@
|
|||
package monnethic.mobile.test.user;
|
||||
|
||||
import com.j256.ormlite.dao.Dao;
|
||||
import com.j256.ormlite.table.TableUtils;
|
||||
|
||||
import org.junit.Test;
|
||||
import java.sql.Timestamp;
|
||||
import monnethic.mobile.user.User;
|
||||
import monnethic.mobile.user.UserDao;
|
||||
|
||||
public class UserDaoTest {
|
||||
private UserDao udao = new UserDao();
|
||||
private final String USER_EMAIL = "thomas.marshal@gmail.com";
|
||||
private final String USER_PASSWORD = "avcde";
|
||||
|
||||
@Test
|
||||
public void TestACreateTable(){
|
||||
try{
|
||||
Dao<User, String> userDao;
|
||||
userDao = udao.createUserDaoConnection();
|
||||
TableUtils.createTable(userDao);
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestBInsertUser(){
|
||||
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
|
||||
User user = new User("marshal","thomas",USER_EMAIL,USER_PASSWORD,timestamp.getTime(),timestamp.getTime(),false,false);
|
||||
try{
|
||||
udao.addUser(user);
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestCGetGeneratedUser(){
|
||||
try{
|
||||
User uTest = udao.getUser(USER_EMAIL);
|
||||
if(uTest==null){
|
||||
System.out.println("User don't Exist");
|
||||
}else {
|
||||
System.out.println(uTest.getEmail());
|
||||
}
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestDCheckApprovedUser(){
|
||||
try{
|
||||
boolean response = udao.checkApprovedUser(USER_EMAIL);
|
||||
if(response){
|
||||
System.out.println("Approved");
|
||||
}else{
|
||||
System.out.println("Not Approved");
|
||||
}
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestECheckVerifiedUser(){
|
||||
try{
|
||||
boolean response = udao.checkVerifiedUser(USER_EMAIL);
|
||||
if(response){
|
||||
System.out.println("Verified");
|
||||
}else{
|
||||
System.out.println("Not Verified");
|
||||
}
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestFCheckUserPassword(){
|
||||
try{
|
||||
boolean response = udao.checkUserPassword(USER_EMAIL,USER_PASSWORD);
|
||||
if(response){
|
||||
System.out.println("Password OK");
|
||||
}else{
|
||||
System.out.println("Password Failed");
|
||||
}
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestGUpdateUserPassword(){
|
||||
String newPassword = "newPassword";
|
||||
try{
|
||||
boolean response = udao.updateUserPassword(USER_EMAIL,newPassword);
|
||||
if(response){
|
||||
System.out.println("Password Changed");
|
||||
}else{
|
||||
System.out.println("Password Update Failed");
|
||||
}
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestHApproveVerifyUser(){
|
||||
try{
|
||||
udao.approveUser(USER_EMAIL);
|
||||
udao.verifyUser(USER_EMAIL);
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestICheckApprovedUser(){
|
||||
try{
|
||||
boolean response = udao.checkApprovedUser(USER_EMAIL);
|
||||
if(response){
|
||||
System.out.println("Approved");
|
||||
}else{
|
||||
System.out.println("Not Approved");
|
||||
}
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void TestJCheckVerifiedUser(){
|
||||
try{
|
||||
boolean response = udao.checkVerifiedUser(USER_EMAIL);
|
||||
if(response){
|
||||
System.out.println("Verified");
|
||||
}else{
|
||||
System.out.println("Not Verified");
|
||||
}
|
||||
}catch(Exception e){
|
||||
System.out.println(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -7,7 +7,7 @@ buildscript {
|
|||
jcenter()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
||||
classpath 'com.android.tools.build:gradle:3.0.0'
|
||||
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
|
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
|||
#Sun Oct 14 15:18:06 CEST 2018
|
||||
#Wed Apr 04 16:52:57 CEST 2018
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
|
||||
|
|
Loading…
Reference in a new issue