Browse Source

login api implemented

pms_issue/31163_FaceVerification
Tamojit Biswas 1 year ago
parent
commit
9e9b1cf324
5 changed files with 178 additions and 32 deletions
  1. +55
    -16
      examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/api/RegisterApiImplLocal.java
  2. +2
    -1
      examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivity.java
  3. +5
    -3
      examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivityNew.java
  4. +115
    -11
      examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterFragment.java
  5. +1
    -1
      examples/example_bestshot/example/app/src/main/res/layout/fragment_register.xml

+ 55
- 16
examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/api/RegisterApiImplLocal.java View File

@ -7,10 +7,13 @@ import android.graphics.Bitmap;
import android.util.Base64;
import android.util.Log;
import javax.inject.Inject;
import cn.pedant.SweetAlert.SweetAlertDialog;
import ru.visionlab.femdemo.Core.PhotoProcessor;
import ru.visionlab.femdemo.Storage;
import ru.visionlab.femdemo.register.RegistrationModel;
import ru.visionlab.femdemo.settings.VLPreferences;
/**
* Created by luckydotaplay on 20.01.2017.
@ -26,6 +29,9 @@ public class RegisterApiImplLocal implements RegisterApiInterface {
private Bitmap bitmap;
private static final String TAG="RegisterLocal";
@Inject
VLPreferences preferences;
public static class DescriptorNotExtractedException extends RuntimeException {
public DescriptorNotExtractedException(String detailMessage) {
@ -45,24 +51,53 @@ public class RegisterApiImplLocal implements RegisterApiInterface {
@Override
public void registerPerson() {
Log.i("Route", "registerPerson registerapiimplocal");
//Log.i(TAG,"Login is"+registrationModel.login);
// Log.i(TAG,"Login is"+registrationModel.login);
/*SharedPreferences sharedPreferences = context.getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.getBoolean("registerFirstTime",true);
editor.commit();*/
if(registrationModel == null){
new SweetAlertDialog(context, SweetAlertDialog.WARNING_TYPE)
.setTitleText("Face not recognised")
.setConfirmText("Back to login")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sDialog) {
sDialog.dismissWithAnimation();
SharedPreferences shared = context.getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
boolean isUserRegistered = shared.getBoolean("isUserRegistered", false);
if (isUserRegistered) {
if(registrationModel == null){
new SweetAlertDialog(context, SweetAlertDialog.WARNING_TYPE)
.setTitleText("Face not recognised")
.setConfirmText("Back to login")
.setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() {
@Override
public void onClick(SweetAlertDialog sDialog) {
sDialog.dismissWithAnimation();
}
})
.setContentText("OK").show();
}
else{
SharedPreferences sharedPreferences = context.getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean("registerFirstTime",true);
editor.commit();
// photoProcessor.calcFaceDescriptorFromBestFrame();
byte[] bestFrameDescriptorByteArray = photoProcessor.getFaceDescriptorByteArray();
if (bestFrameDescriptorByteArray == null || bestFrameDescriptorByteArray.length == 0) {
onFail(new DescriptorNotExtractedException("FAILED to register: could not extract descriptor "));
}
else{
String descriptorEncrypted = Base64.encodeToString(bestFrameDescriptorByteArray, Base64.DEFAULT);
onSuccess(descriptorEncrypted);
}
}
}
})
.setContentText("OK").show();
}
else{
// photoProcessor.calcFaceDescriptorFromBestFrame();
byte[] bestFrameDescriptorByteArray = photoProcessor.getFaceDescriptorByteArray();
if (bestFrameDescriptorByteArray == null || bestFrameDescriptorByteArray.length == 0) {
@ -74,6 +109,10 @@ public class RegisterApiImplLocal implements RegisterApiInterface {
}
}
}
private void onFail(Throwable throwable) {
@ -83,13 +122,13 @@ public class RegisterApiImplLocal implements RegisterApiInterface {
private void onSuccess(String descriptor) {
Log.i("Route", "onSuccess");
Log.i(TAG,"Desctiptor has been saved : descr = "+descriptor);
System.out.println("Value of login after registration " + registrationModel.login);
// System.out.println("Value of login after registration " + registrationModel.login);
SharedPreferences sharedPreferences = context.getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("login",registrationModel.login);
editor.putString("login","demouser1");
editor.putString("Descriptor",descriptor);
editor.commit();
Storage.getInstance().addToStorageLunaLocal(registrationModel.login, descriptor);
Storage.getInstance().addToStorageLunaLocal("demouser1", descriptor);
listener.onRegistrationSuccess();
}


+ 2
- 1
examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivity.java View File

@ -421,6 +421,7 @@ public class RegisterActivity extends ToolbarActivity implements RegisterFragmen
@Override
public void onSaveClick() {
registerPerson();
}
private void registerPerson() {
@ -543,7 +544,7 @@ public class RegisterActivity extends ToolbarActivity implements RegisterFragmen
private void finishRegistration()
{
preferences.setUsername(registrationModel.login);
//preferences.setUsername(registrationModel.login);
// preferences.setPin(registrationModel.password);
Intent intent = new Intent(RegisterActivity.this, LoginActivityNew.class);


+ 5
- 3
examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivityNew.java View File

@ -99,9 +99,11 @@ public class RegisterActivityNew extends AppCompatActivity {
@Override
public void onClick(View view) {
Intent intent = new Intent(RegisterActivityNew.this, RegisterActivity.class);
intent.putExtra("FromLoginPage",false);
startActivity(intent);
Intent intent = new Intent(RegisterActivityNew.this, RegisterActivity.class);
intent.putExtra("FromLoginPage",false);
startActivity(intent);
System.out.println("Niladri");
}
});


+ 115
- 11
examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterFragment.java View File

@ -1,7 +1,9 @@
package ru.visionlab.femdemo.register;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import androidx.annotation.Nullable;
import android.text.Editable;
@ -15,9 +17,23 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ScrollView;
import android.widget.Toast;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.google.android.material.textfield.TextInputLayout;
import com.google.gson.JsonArray;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.HashMap;
import java.util.Map;
import javax.inject.Inject;
@ -33,6 +49,7 @@ import ru.visionlab.femdemo.R;
import ru.visionlab.femdemo.Storage;
import ru.visionlab.femdemo.Utils;
import ru.visionlab.femdemo.base.BaseFragment;
import ru.visionlab.femdemo.login.LoginActivityNew;
import ru.visionlab.femdemo.settings.VLPreferences;
@ -130,16 +147,102 @@ public class RegisterFragment extends BaseFragment {
Utils.hideKeyboardRoutine(getContext(), getView());
if (listener != null && validateFields(true, true)) {
RegistrationModel registrationModel = new RegistrationModel();
registrationModel.email = email.getText().toString().trim();
registrationModel.login = login.getText().toString().trim();
//registrationModel.password = password.getText().toString().trim();
registrationModel.phone = phone.getText().toString().trim();
listener.onSignUpClick(registrationModel);
if(login.getText().toString().isEmpty())
{
Toast.makeText(getContext(), "Please enter user name", Toast.LENGTH_SHORT).show();
}
else if(pass.getText().toString().isEmpty())
{
Toast.makeText(getContext(), "Please enter password", Toast.LENGTH_SHORT).show();
}
else
{
getRegistration(login.getText().toString(),pass.getText().toString());
}
}
private void getRegistration(String username, String password) {
String url= "http://43.242.212.92:7001/api/lgt/Login";
StringRequest stringRequest=new StringRequest(Request.Method.POST, url, new com.android.volley.Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray=new JSONArray(response);
Log.d("response",response);
JSONObject jb1=jsonArray.getJSONObject(0);
JSONObject jb2=jb1.getJSONObject("statusModel");
String statuscode=jb2.getString("_statusCode");
Log.d("status",statuscode);
Toast.makeText(getContext(), statuscode, Toast.LENGTH_SHORT).show();
if(statuscode.equals("200"))
{
preferences.setUsername(username);
if (listener != null && validateFields(true, true)) {
RegistrationModel registrationModel = new RegistrationModel();
// registrationModel.email = email.getText().toString().trim();
registrationModel.login = username;
//registrationModel.password = password.getText().toString().trim();
// registrationModel.phone = phone.getText().toString().trim();
listener.onSignUpClick(registrationModel);
Log.d("HH", String.valueOf(registrationModel));
}
Toast.makeText(getContext(), "Success Registration", Toast.LENGTH_SHORT).show();
Intent intent=new Intent(getContext(),RegisterActivity.class);
startActivity(intent);
//
}
else
{
// we have to show alert
Toast.makeText(getContext(), "Username/password is not matching!", Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
Toast.makeText(getContext(), e.toString(), Toast.LENGTH_SHORT).show();
throw new RuntimeException(e);
}
}
}, new com.android.volley.Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("error-=>",error.getMessage());
Toast.makeText(getContext(), "Faied", Toast.LENGTH_SHORT).show();
}
})
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
HashMap<String,String> map=new HashMap<>();
map.put("username",username);
map.put("password",password);
map.put("imei","");
return map;
}
};
Volley.newRequestQueue(getContext()).add(stringRequest);
}
private boolean validateFields(boolean changeFocus, boolean showError) {
boolean result;
@ -183,10 +286,10 @@ public class RegisterFragment extends BaseFragment {
loginWrapper.setError(getString(R.string.register_username_short, Config.MIN_LOGIN_LENGTH));
}
}
if(Storage.getInstance().isLoginAlreadyExists(currentLogin) || Storage.getInstance().isLoginAlreadyExistsLocal(currentLogin)){
result = false;
loginWrapper.setError(getString(R.string.register_username_exist,currentLogin));
}
// if(Storage.getInstance().isLoginAlreadyExists(currentLogin) || Storage.getInstance().isLoginAlreadyExistsLocal(currentLogin)){
// result = false;
//// loginWrapper.setError(getString(R.string.register_username_exist,currentLogin));
// }
else {
loginWrapper.setError(null);
loginWrapper.setErrorEnabled(false);
@ -228,5 +331,6 @@ public class RegisterFragment extends BaseFragment {
public interface Listener {
void onSignUpClick(RegistrationModel registrationModel);
}
}

+ 1
- 1
examples/example_bestshot/example/app/src/main/res/layout/fragment_register.xml View File

@ -133,7 +133,7 @@
android:layout_marginBottom="@dimen/button_margin_bottom"
android:layout_marginTop="35dp"
android:background="@drawable/selector_button"
android:enabled="false"
android:enabled="true"
android:text="NEXT"
android:textColor="@android:color/white"
android:textSize="14sp"/>


Loading…
Cancel
Save