forgot password
This commit is contained in:
@@ -5,11 +5,21 @@ import android.os.Bundle;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
|
||||||
|
import butterknife.BindString;
|
||||||
import butterknife.BindView;
|
import butterknife.BindView;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
|
import butterknife.OnClick;
|
||||||
import ch.pizzalink.android.R;
|
import ch.pizzalink.android.R;
|
||||||
|
import ch.pizzalink.android.api.ApiErrorUtils;
|
||||||
|
import ch.pizzalink.android.api.ApiService;
|
||||||
|
import ch.pizzalink.android.api.ResponseObject;
|
||||||
|
import ch.pizzalink.android.helper.DialogHelper;
|
||||||
|
import ch.pizzalink.android.helper.ViewHelper;
|
||||||
import ch.pizzalink.android.view.PizzalinkEditText;
|
import ch.pizzalink.android.view.PizzalinkEditText;
|
||||||
import ch.pizzalink.android.view.PizzalinkToolbar;
|
import ch.pizzalink.android.view.PizzalinkToolbar;
|
||||||
|
import retrofit2.Call;
|
||||||
|
import retrofit2.Callback;
|
||||||
|
import retrofit2.Response;
|
||||||
|
|
||||||
public class ForgotPasswordActivity extends BaseActivity {
|
public class ForgotPasswordActivity extends BaseActivity {
|
||||||
|
|
||||||
@@ -17,6 +27,9 @@ public class ForgotPasswordActivity extends BaseActivity {
|
|||||||
@BindView(R.id.forgotPasswordEmailPizzalinkEditText) PizzalinkEditText forgotPasswordEmailPizzalinkEditText;
|
@BindView(R.id.forgotPasswordEmailPizzalinkEditText) PizzalinkEditText forgotPasswordEmailPizzalinkEditText;
|
||||||
@BindView(R.id.resetPasswordButton) Button resetPasswordButton;
|
@BindView(R.id.resetPasswordButton) Button resetPasswordButton;
|
||||||
|
|
||||||
|
@BindString(R.string.alert_fill_all_fields) String fillAllFieldsText;
|
||||||
|
@BindString(R.string.alert_invalid_email) String validEmailText;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
@@ -25,6 +38,14 @@ public class ForgotPasswordActivity extends BaseActivity {
|
|||||||
initViews();
|
initViews();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OnClick(R.id.resetPasswordButton)
|
||||||
|
protected void onClick(){
|
||||||
|
ViewHelper.hideKeyboard();
|
||||||
|
if(checkFields()){
|
||||||
|
resetPassword();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void initViews(){
|
private void initViews(){
|
||||||
forgotPasswordPizzalinkToolbar.setBackIconClickListener(new View.OnClickListener() {
|
forgotPasswordPizzalinkToolbar.setBackIconClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
@@ -33,4 +54,43 @@ public class ForgotPasswordActivity extends BaseActivity {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean checkFields(){
|
||||||
|
|
||||||
|
if(forgotPasswordEmailPizzalinkEditText.isEmpty()){
|
||||||
|
DialogHelper.showAlertDialog(this, fillAllFieldsText);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!forgotPasswordEmailPizzalinkEditText.isEmail()){
|
||||||
|
DialogHelper.showAlertDialog(this, validEmailText);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void resetPassword(){
|
||||||
|
DialogHelper.showLoadingDialog();
|
||||||
|
Call<ResponseObject> call = ApiService.apiInterface.forgotPassword(
|
||||||
|
forgotPasswordEmailPizzalinkEditText.getText());
|
||||||
|
call.enqueue(new Callback<ResponseObject>() {
|
||||||
|
@Override
|
||||||
|
public void onResponse(Call<ResponseObject> call, Response<ResponseObject> response) {
|
||||||
|
DialogHelper.hideLoadingDialog();
|
||||||
|
if(response.isSuccessful() && response.body().isSuccess()){
|
||||||
|
DialogHelper.showPasswordResetDialog(ForgotPasswordActivity.this);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
ApiErrorUtils.parseError(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onFailure(Call<ResponseObject> call, Throwable t) {
|
||||||
|
DialogHelper.hideLoadingDialog();
|
||||||
|
DialogHelper.showFailedDialog();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import ch.pizzalink.android.api.ResponseObject;
|
|||||||
import ch.pizzalink.android.helper.DialogHelper;
|
import ch.pizzalink.android.helper.DialogHelper;
|
||||||
import ch.pizzalink.android.helper.SessionHelper;
|
import ch.pizzalink.android.helper.SessionHelper;
|
||||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||||
|
import ch.pizzalink.android.helper.ViewHelper;
|
||||||
import ch.pizzalink.android.model.UserModel;
|
import ch.pizzalink.android.model.UserModel;
|
||||||
import ch.pizzalink.android.model.cart.CartInfoModel;
|
import ch.pizzalink.android.model.cart.CartInfoModel;
|
||||||
import ch.pizzalink.android.view.PizzalinkEditText;
|
import ch.pizzalink.android.view.PizzalinkEditText;
|
||||||
@@ -56,6 +57,7 @@ public class LoginActivity extends BaseActivity {
|
|||||||
protected void onClick(View view){
|
protected void onClick(View view){
|
||||||
switch (view.getId()){
|
switch (view.getId()){
|
||||||
case R.id.loginButton:
|
case R.id.loginButton:
|
||||||
|
ViewHelper.hideKeyboard();
|
||||||
if(checkFields())
|
if(checkFields())
|
||||||
login();
|
login();
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import ch.pizzalink.android.api.ApiService;
|
|||||||
import ch.pizzalink.android.api.ResponseObject;
|
import ch.pizzalink.android.api.ResponseObject;
|
||||||
import ch.pizzalink.android.helper.DialogHelper;
|
import ch.pizzalink.android.helper.DialogHelper;
|
||||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||||
|
import ch.pizzalink.android.helper.ViewHelper;
|
||||||
import ch.pizzalink.android.model.UserModel;
|
import ch.pizzalink.android.model.UserModel;
|
||||||
import ch.pizzalink.android.view.PizzalinkEditText;
|
import ch.pizzalink.android.view.PizzalinkEditText;
|
||||||
import ch.pizzalink.android.view.PizzalinkToolbar;
|
import ch.pizzalink.android.view.PizzalinkToolbar;
|
||||||
@@ -53,6 +54,7 @@ public class RegisterActivity extends BaseActivity {
|
|||||||
|
|
||||||
@OnClick(R.id.registerButton)
|
@OnClick(R.id.registerButton)
|
||||||
protected void onClick(){
|
protected void onClick(){
|
||||||
|
ViewHelper.hideKeyboard();
|
||||||
if(checkFields())
|
if(checkFields())
|
||||||
registerUser();
|
registerUser();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ public class ApiEndPoints {
|
|||||||
public static final String API_GET_PAYMENT_METHODS = PREFIX + "getPaymentMethodsArray" + SUFFIX;
|
public static final String API_GET_PAYMENT_METHODS = PREFIX + "getPaymentMethodsArray" + SUFFIX;
|
||||||
public static final String API_CREATE_ORDER = PREFIX + "addOrder2" + SUFFIX + "&token=";
|
public static final String API_CREATE_ORDER = PREFIX + "addOrder2" + SUFFIX + "&token=";
|
||||||
public static final String API_CHECK_UPDATE = PREFIX + "checkUpdate" + SUFFIX;
|
public static final String API_CHECK_UPDATE = PREFIX + "checkUpdate" + SUFFIX;
|
||||||
|
public static final String API_FORGOT_PASSWORD = PREFIX + "forgotPassword" + SUFFIX;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import retrofit2.Converter;
|
|||||||
import retrofit2.Response;
|
import retrofit2.Response;
|
||||||
|
|
||||||
public class ApiErrorUtils {
|
public class ApiErrorUtils {
|
||||||
public static ApiError parseError(Response<?> response) {
|
public static void parseError(Response<?> response) {
|
||||||
Converter<ResponseBody, ApiError> converter = ApiService.retrofit.responseBodyConverter(ApiError.class, new Annotation[0]);
|
Converter<ResponseBody, ApiError> converter = ApiService.retrofit.responseBodyConverter(ApiError.class, new Annotation[0]);
|
||||||
ApiError error = new ApiError();
|
ApiError error = new ApiError();
|
||||||
error.setStatusCode(response.code());
|
error.setStatusCode(response.code());
|
||||||
@@ -28,7 +28,12 @@ public class ApiErrorUtils {
|
|||||||
SharedPrefsHelper.setCustomerLoggedIn(false);
|
SharedPrefsHelper.setCustomerLoggedIn(false);
|
||||||
BaseActivity.currentActivity.startActivity(new Intent(BaseActivity.currentActivity, LoginActivity.class));
|
BaseActivity.currentActivity.startActivity(new Intent(BaseActivity.currentActivity, LoginActivity.class));
|
||||||
BaseActivity.currentActivity.finishAffinity();
|
BaseActivity.currentActivity.finishAffinity();
|
||||||
return error;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(baseResponse.getMessage() != null && !baseResponse.getMessage().isEmpty()){
|
||||||
|
DialogHelper.showAlertDialog(BaseActivity.currentActivity, baseResponse.getMessage());
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -36,9 +41,9 @@ public class ApiErrorUtils {
|
|||||||
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, error.getMessage());
|
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, error.getMessage());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, BaseActivity.currentActivity.getString(R.string.something_went_wrong));
|
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, BaseActivity.currentActivity.getString(R.string.something_went_wrong));
|
||||||
return error;
|
return;
|
||||||
}
|
}
|
||||||
return error;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,5 +100,9 @@ public interface ApiInterface {
|
|||||||
@POST(ApiEndPoints.API_CHECK_UPDATE)
|
@POST(ApiEndPoints.API_CHECK_UPDATE)
|
||||||
Call<ResponseObject<AppVersionModel>> checkUpdate(@FieldMap HashMap<String, Object> body);
|
Call<ResponseObject<AppVersionModel>> checkUpdate(@FieldMap HashMap<String, Object> body);
|
||||||
|
|
||||||
|
@FormUrlEncoded
|
||||||
|
@POST(ApiEndPoints.API_FORGOT_PASSWORD)
|
||||||
|
Call<ResponseObject> forgotPassword(@Field("email") String emailAddress);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import com.afollestad.materialdialogs.MaterialDialog;
|
|||||||
|
|
||||||
import ch.pizzalink.android.R;
|
import ch.pizzalink.android.R;
|
||||||
import ch.pizzalink.android.activity.BaseActivity;
|
import ch.pizzalink.android.activity.BaseActivity;
|
||||||
|
import ch.pizzalink.android.activity.LoginActivity;
|
||||||
|
|
||||||
public class DialogHelper {
|
public class DialogHelper {
|
||||||
|
|
||||||
@@ -132,4 +133,24 @@ public class DialogHelper {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void showPasswordResetDialog(final Context context) {
|
||||||
|
|
||||||
|
new MaterialDialog.Builder(context)
|
||||||
|
.title(R.string.app_name)
|
||||||
|
.content(R.string.password_reset)
|
||||||
|
.positiveText(R.string.ok)
|
||||||
|
.positiveColor(ContextCompat.getColor(context, R.color.colorPrimary))
|
||||||
|
.cancelable(false)
|
||||||
|
.onPositive(new MaterialDialog.SingleButtonCallback() {
|
||||||
|
@Override
|
||||||
|
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
|
||||||
|
Intent intent = new Intent(context, LoginActivity.class);
|
||||||
|
BaseActivity.currentActivity.startActivity(intent);
|
||||||
|
BaseActivity.currentActivity.finishAffinity();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.show();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,32 @@
|
|||||||
package ch.pizzalink.android.helper;
|
package ch.pizzalink.android.helper;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
|
||||||
|
import ch.pizzalink.android.activity.BaseActivity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by cimenmus on 25/06/2017.
|
* Created by cimenmus on 25/06/2017.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class ViewHelper {
|
public class ViewHelper {
|
||||||
|
|
||||||
|
public static void toogleKeyboard() {
|
||||||
|
InputMethodManager imm = (InputMethodManager) BaseActivity.currentActivity.getSystemService(Activity.INPUT_METHOD_SERVICE);
|
||||||
|
if (imm.isActive()) {
|
||||||
|
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // hide
|
||||||
|
} else {
|
||||||
|
imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY); // show
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void hideKeyboard() {
|
||||||
|
InputMethodManager imm = (InputMethodManager) BaseActivity.currentActivity.getSystemService(Activity.INPUT_METHOD_SERVICE);
|
||||||
|
imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // hide
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void showKeyboard() {
|
||||||
|
InputMethodManager imm = (InputMethodManager) BaseActivity.currentActivity.getSystemService(Activity.INPUT_METHOD_SERVICE);
|
||||||
|
imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY); // show
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,7 @@
|
|||||||
<string name="activity_title_forgot_password">Şifremi Unuttum</string>
|
<string name="activity_title_forgot_password">Şifremi Unuttum</string>
|
||||||
<string name="reset_password_hint">Kayıt olurken mail adresini giriniz ve gelen maildeki yönergeleri takip ediniz.</string>
|
<string name="reset_password_hint">Kayıt olurken mail adresini giriniz ve gelen maildeki yönergeleri takip ediniz.</string>
|
||||||
<string name="reset_password_button">GÖNDER</string>
|
<string name="reset_password_button">GÖNDER</string>
|
||||||
|
<string name="password_reset">Mail adresinize gerekli bilgiler gönderilmiştir. İlgili maildeki yönergeleri takip ederek şifrenizi sıfırlayabilirsiniz.</string>
|
||||||
|
|
||||||
<string name="forgot_password_hint">Şifreni mi unuttun?</string>
|
<string name="forgot_password_hint">Şifreni mi unuttun?</string>
|
||||||
<string name="reset_password">ŞİFRENİ SIFIRLA</string>
|
<string name="reset_password">ŞİFRENİ SIFIRLA</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user