diff --git a/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/api/RegisterApiImplLocal.java b/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/api/RegisterApiImplLocal.java index 3f0067c..ffe2a44 100644 --- a/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/api/RegisterApiImplLocal.java +++ b/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/api/RegisterApiImplLocal.java @@ -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(); } diff --git a/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivity.java b/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivity.java index 40a351d..c3ae7be 100644 --- a/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivity.java +++ b/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivity.java @@ -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); diff --git a/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivityNew.java b/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivityNew.java index 3d5a905..317fd30 100644 --- a/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivityNew.java +++ b/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterActivityNew.java @@ -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"); } }); diff --git a/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterFragment.java b/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterFragment.java index 180a31c..b103a3b 100644 --- a/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterFragment.java +++ b/examples/example_bestshot/example/app/src/main/java/ru/visionlab/femdemo/register/RegisterFragment.java @@ -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() { + @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 getParams() throws AuthFailureError { + HashMap 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); + } } diff --git a/examples/example_bestshot/example/app/src/main/res/layout/fragment_register.xml b/examples/example_bestshot/example/app/src/main/res/layout/fragment_register.xml index 37718d4..378cf8a 100644 --- a/examples/example_bestshot/example/app/src/main/res/layout/fragment_register.xml +++ b/examples/example_bestshot/example/app/src/main/res/layout/fragment_register.xml @@ -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"/>