forgot password
This commit is contained in:
@@ -5,11 +5,21 @@ import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
|
||||
import butterknife.BindString;
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
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.PizzalinkToolbar;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
import retrofit2.Response;
|
||||
|
||||
public class ForgotPasswordActivity extends BaseActivity {
|
||||
|
||||
@@ -17,6 +27,9 @@ public class ForgotPasswordActivity extends BaseActivity {
|
||||
@BindView(R.id.forgotPasswordEmailPizzalinkEditText) PizzalinkEditText forgotPasswordEmailPizzalinkEditText;
|
||||
@BindView(R.id.resetPasswordButton) Button resetPasswordButton;
|
||||
|
||||
@BindString(R.string.alert_fill_all_fields) String fillAllFieldsText;
|
||||
@BindString(R.string.alert_invalid_email) String validEmailText;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -25,6 +38,14 @@ public class ForgotPasswordActivity extends BaseActivity {
|
||||
initViews();
|
||||
}
|
||||
|
||||
@OnClick(R.id.resetPasswordButton)
|
||||
protected void onClick(){
|
||||
ViewHelper.hideKeyboard();
|
||||
if(checkFields()){
|
||||
resetPassword();
|
||||
}
|
||||
}
|
||||
|
||||
private void initViews(){
|
||||
forgotPasswordPizzalinkToolbar.setBackIconClickListener(new View.OnClickListener() {
|
||||
@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.SessionHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.helper.ViewHelper;
|
||||
import ch.pizzalink.android.model.UserModel;
|
||||
import ch.pizzalink.android.model.cart.CartInfoModel;
|
||||
import ch.pizzalink.android.view.PizzalinkEditText;
|
||||
@@ -56,6 +57,7 @@ public class LoginActivity extends BaseActivity {
|
||||
protected void onClick(View view){
|
||||
switch (view.getId()){
|
||||
case R.id.loginButton:
|
||||
ViewHelper.hideKeyboard();
|
||||
if(checkFields())
|
||||
login();
|
||||
break;
|
||||
|
||||
@@ -19,6 +19,7 @@ import ch.pizzalink.android.api.ApiService;
|
||||
import ch.pizzalink.android.api.ResponseObject;
|
||||
import ch.pizzalink.android.helper.DialogHelper;
|
||||
import ch.pizzalink.android.helper.SharedPrefsHelper;
|
||||
import ch.pizzalink.android.helper.ViewHelper;
|
||||
import ch.pizzalink.android.model.UserModel;
|
||||
import ch.pizzalink.android.view.PizzalinkEditText;
|
||||
import ch.pizzalink.android.view.PizzalinkToolbar;
|
||||
@@ -53,6 +54,7 @@ public class RegisterActivity extends BaseActivity {
|
||||
|
||||
@OnClick(R.id.registerButton)
|
||||
protected void onClick(){
|
||||
ViewHelper.hideKeyboard();
|
||||
if(checkFields())
|
||||
registerUser();
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public class ApiEndPoints {
|
||||
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_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;
|
||||
|
||||
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]);
|
||||
ApiError error = new ApiError();
|
||||
error.setStatusCode(response.code());
|
||||
@@ -28,7 +28,12 @@ public class ApiErrorUtils {
|
||||
SharedPrefsHelper.setCustomerLoggedIn(false);
|
||||
BaseActivity.currentActivity.startActivity(new Intent(BaseActivity.currentActivity, LoginActivity.class));
|
||||
BaseActivity.currentActivity.finishAffinity();
|
||||
return error;
|
||||
return;
|
||||
}
|
||||
|
||||
if(baseResponse.getMessage() != null && !baseResponse.getMessage().isEmpty()){
|
||||
DialogHelper.showAlertDialog(BaseActivity.currentActivity, baseResponse.getMessage());
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
@@ -36,9 +41,9 @@ public class ApiErrorUtils {
|
||||
DialogHelper.showDialogWithPositiveButton(BaseActivity.currentActivity, error.getMessage());
|
||||
} catch (Exception e) {
|
||||
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)
|
||||
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.activity.BaseActivity;
|
||||
import ch.pizzalink.android.activity.LoginActivity;
|
||||
|
||||
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;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
|
||||
import ch.pizzalink.android.activity.BaseActivity;
|
||||
|
||||
/**
|
||||
* Created by cimenmus on 25/06/2017.
|
||||
*/
|
||||
|
||||
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="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="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="reset_password">ŞİFRENİ SIFIRLA</string>
|
||||
|
||||
Reference in New Issue
Block a user