Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ForgotPasswordActivity extends AppCompatActivity {
- private static final String TAG = ForgotPasswordActivity.class.getSimpleName();
- private CircleButton mButtonReturn;
- private Button mButtonForgotPassword;
- private EditText mEditEmail;
- private EditText mEditNewPassword;
- private EditText mEditNewPasswordConfirm;
- private ProgressDialog mpDialog;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_forgot_password);
- //-----------------Find View--------------
- mButtonReturn = (CircleButton) findViewById(R.id.Forgot_password_button_return);
- mEditEmail = (EditText) findViewById(R.id.Forgot_password_editText_email);
- mEditNewPassword = (EditText) findViewById(R.id.Forgot_password_editText_password_new);
- mEditNewPasswordConfirm = (EditText) findViewById(R.id.Forgot_password_editText_password_new_confirm);
- mButtonForgotPassword = (Button) findViewById(R.id.Forgot_password_button_Forgot_password);
- //-----------------ProgressDialog--------------
- mpDialog = new ProgressDialog(this);
- mpDialog.setCancelable(false);
- //-----------------test_of_confirm_password--------------
- mEditNewPassword.addTextChangedListener(new TextWatcher() {
- public void afterTextChanged(Editable s) {
- if(!(mEditNewPassword.getText().toString().equals(mEditNewPasswordConfirm.getText().toString()))){
- mEditNewPasswordConfirm.setError(getResources().getString(R.string.Forgot_password_text_no_same_password));
- mEditNewPassword.setError(getResources().getString(R.string.Forgot_password_text_no_same_password));
- }
- else{
- mEditNewPassword.setError(null);
- mEditNewPasswordConfirm.setError(null);
- }
- }
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
- public void onTextChanged(CharSequence query, int start, int before, int count) {
- }
- });
- mEditNewPasswordConfirm.addTextChangedListener(new TextWatcher() {
- public void afterTextChanged(Editable s) {
- if(!(mEditNewPassword.getText().toString().equals(mEditNewPasswordConfirm.getText().toString()))){
- mEditNewPasswordConfirm.setError(getResources().getString(R.string.Forgot_password_text_no_same_password));
- mEditNewPassword.setError(getResources().getString(R.string.Forgot_password_text_no_same_password));
- }
- else{
- mEditNewPassword.setError(null);
- mEditNewPasswordConfirm.setError(null);
- }
- }
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
- public void onTextChanged(CharSequence query, int start, int before, int count) {
- }
- });
- //-----------------return button--------------
- mButtonReturn.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- finish();
- Toast.makeText(getApplicationContext(),
- R.string.Forgot_password_Toast_Return, Toast.LENGTH_LONG).show();
- }
- });
- //-----------------change password with the test if the password is strong--------------
- mButtonForgotPassword.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- if(!(mEditNewPassword.getText().toString().length()>0)){
- mEditNewPasswordConfirm.setError(getResources().getString(R.string.Change_password_text_no_same_password));
- mEditNewPassword.setError(getResources().getString(R.string.Change_password_text_no_same_password));
- Toast.makeText(getApplicationContext(),R.string.Change_password_text_no_same_password, Toast.LENGTH_LONG).show();
- return ;
- }
- else{
- if(!(mEditNewPassword.getText().toString().equals(mEditNewPasswordConfirm.getText().toString()))){
- mEditNewPasswordConfirm.setError(getResources().getString(R.string.Change_password_text_no_same_password));
- mEditNewPassword.setError(getResources().getString(R.string.Change_password_text_no_same_password));
- Toast.makeText(getApplicationContext(),R.string.Change_password_text_no_same_password, Toast.LENGTH_LONG).show();
- return ;
- }
- else{
- if(test_password_strength((mEditNewPassword.getText().toString()))){
- ChangeUset(mEditEmail.getText().toString(), mEditNewPassword.getText().toString());
- }
- else{
- mEditNewPassword.setError(getResources().getString(R.string.Change_password_password_no_strong));
- Toast.makeText(getApplicationContext(),R.string.Change_password_Toast_password_no_strong, Toast.LENGTH_LONG).show();
- }
- }
- }
- }
- });
- }
- /**
- * test if the password is length more than 6, have a letter, and a digit or symbol
- * */
- private boolean test_password_strength(String password){
- if(password.length()<6){
- return false;
- }
- boolean haveletter=false; //does the string have letters
- boolean havenonletter=false; //does the string have digit or symbole
- for (char letter : password.toCharArray() ) {
- if((letter >= 'a' && letter <= 'z') || (letter >= 'A' && letter <= 'Z')){
- haveletter=true;
- }
- else{
- havenonletter=true;
- }
- }
- return haveletter && havenonletter;
- }
- /**
- * Send a request to the server to change the password
- * */
- private void ChangeUset(final String email, final String new_password) {
- // Tag used to cancel the request
- String tag_string_req = "forgot_password";
- // set the message of the dialog and shwo it in waiting the response
- mpDialog.setMessage(getResources().getString(R.string.Forgot_password_Dialog));
- showDialog();
- //send the message
- StringRequest strReq = new StringRequest(Request.Method.POST,
- AppConfig.URL_FORGOT_PASSWORD, new Response.Listener<String>() {
- @Override
- public void onResponse(String response) {
- Log.d(TAG, "Register Response: " + response);
- //read and process the response
- try {
- JSONObject jObj = new JSONObject(response);
- boolean error = jObj.getBoolean("error");
- if (!error) {
- JSONObject jsonuser = jObj.getJSONObject("user");
- Gson gson = new Gson();
- User user = gson.fromJson(jsonuser.toString(),User.class);
- // Inserting row in users table
- LoginActivity.sDb.addUser(user);
- Toast.makeText(getApplicationContext(), R.string.Forgot_password_Toast_password_updated, Toast.LENGTH_LONG).show();
- finish();
- } else {
- // Error occurred in registration. Get the error
- // message
- String errorMsg = jObj.getString("error_msg");
- Toast.makeText(getApplicationContext(),
- errorMsg, Toast.LENGTH_LONG).show();
- }
- } catch (JSONException e) {
- e.printStackTrace();
- Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show();
- }
- hideDialog();
- }
- }, new Response.ErrorListener() {
- @Override
- public void onErrorResponse(VolleyError error) {
- Log.e(TAG, "Registration Error: " + error.getMessage());
- Toast.makeText(getApplicationContext(),
- error.getMessage(), Toast.LENGTH_LONG).show();
- hideDialog();
- }
- }) {
- @Override
- protected Map<String, String> getParams() {
- // Posting params to register url
- Map<String, String> params = new HashMap<>();
- params.put("email", email);
- params.put("new_password", new_password);
- return params;
- }
- };
- // Adding request to request queue
- AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
- }
- /**
- * Show the dialog box for the waiting
- * */
- private void showDialog() {
- if (!mpDialog.isShowing())
- mpDialog.show();
- }
- /**
- * Hide the dialog box for the waiting
- * */
- private void hideDialog() {
- if (mpDialog.isShowing())
- mpDialog.dismiss();
- }
- }
Add Comment
Please, Sign In to add comment