package com.chehanr.yako; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.parse.ParseException; import com.parse.ParseUser; import com.parse.RequestPasswordResetCallback; public class RecoveryActivity extends AppCompatActivity { private EditText mEmailEtxt; private Button mRecoveryBtn; @Override public void onBackPressed() { Intent myIntent = new Intent(RecoveryActivity.this, AuthenticationActivity.class); myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(myIntent); finish(); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle(getString(R.string.title_activity_recovery)); setContentView(R.layout.activity_recovery); // Get view references mEmailEtxt = (EditText) findViewById(R.id.email); mRecoveryBtn = (Button) findViewById(R.id.btn_recover); // Setup button click listeners mRecoveryBtn.setOnClickListener(new RecoveryClickListener()); //Extract Authentication Activity's data mEmailEtxt.setText(getIntent().getStringExtra("e")); } // Input validation private boolean isFormInputValid(String email) { mEmailEtxt.setError(null); // validate the email if (email == null || email.isEmpty()) { mEmailEtxt.setError(getString(R.string.error_email)); mEmailEtxt.requestFocus(); return false; } return true; } private class RecoveryClickListener implements View.OnClickListener { @Override public void onClick(View v) { // Get the username and password from the view final String email = mEmailEtxt.getText().toString(); if (isFormInputValid(email)) { if (email.indexOf('@') != -1) { ParseUser.requestPasswordResetInBackground(mEmailEtxt.getText().toString().toLowerCase().trim(), new RequestPasswordResetCallback() { public void done(ParseException e) { if (e == null) { TextView error = (TextView) findViewById(R.id.info); error.setVisibility(View.VISIBLE); error.setBackgroundColor(getResources().getColor(R.color.blue)); error.setText(getString(R.string.recover_email_sent)); Log.d("success!", "sent recovery email"); } else { TextView error = (TextView) findViewById(R.id.info); error.setVisibility(View.VISIBLE); error.setText(getString(R.string.recover_email_not_recognized)); Log.d("failed!", "recovery mail not recognized"); } } }); } else { TextView error = (TextView) findViewById(R.id.info); error.setVisibility(View.VISIBLE); error.setText(getString(R.string.error_email_notvalid)); Log.d("error", "not a valid email"); } } } } }