ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

团队冲刺08

2022-06-14 08:01:46  阅读:162  来源: 互联网

标签:团队 string 08 getText length boolean toString 冲刺 password


增加了忘记密码,移除密码的功能,进行密保验证。

代码:

复制代码
  @SuppressLint("CommitPrefEdits")
  private void updatePassword (String passwordText, String questionText, String answerText) {
    if (passwordText == null) {
      if (prefs.getString(PREF_PASSWORD, "").length() == 0) {
        Crouton.makeText(mActivity, R.string.password_not_set, ONStyle.WARN, croutonHandle).show();
        return;
      }
      new MaterialDialog.Builder(mActivity)
          .content(R.string.agree_unlocking_all_notes)
          .positiveText(R.string.ok)
          .onPositive((dialog, which) -> PasswordHelper.removePassword()).build().show();
    } else if (passwordText.length() == 0) {
      Crouton.makeText(mActivity, R.string.empty_password, ONStyle.WARN, croutonHandle).show();
    } else {
      Observable
          .from(DbHelper.getInstance().getNotesWithLock(true))
          .subscribeOn(Schedulers.newThread())
          .observeOn(AndroidSchedulers.mainThread())
          .doOnSubscribe(() -> prefs.edit()
                                    .putString(PREF_PASSWORD, Security.md5(passwordText))
                                    .putString(PREF_PASSWORD_QUESTION, questionText)
                                    .putString(PREF_PASSWORD_ANSWER, Security.md5(answerText))
                                    .commit())
          .doOnNext(note -> DbHelper.getInstance().updateNote(note, false))
          .doOnCompleted(() -> {
            Crouton crouton = Crouton.makeText(mActivity, R.string.password_successfully_changed, ONStyle
                .CONFIRM, croutonHandle);
            crouton.setLifecycleCallback(new LifecycleCallback() {
              @Override
              public void onDisplayed () {
                // Does nothing!
              }


              @Override
              public void onRemoved () {
                onBackPressed();
              }
            });
            crouton.show();
          })
          .subscribe();
    }
  }


  /**
   * Checks correctness of form data
   */
  private boolean checkData () {
    boolean res = true;

    if (password.getText().length() == passwordCheck.getText().length()
        && passwordCheck.getText().length() == 0) {
      return true;
    }

    boolean passwordOk = password.getText().toString().length() > 0;
    boolean passwordCheckOk = passwordCheck.getText().toString().length() > 0 && password.getText().toString()
                                                                                         .equals(
                                                                                             passwordCheck.getText().toString());
    boolean questionOk = question.getText().toString().length() > 0;
    boolean answerOk = answer.getText().toString().length() > 0;
    boolean answerCheckOk = answerCheck.getText().toString().length() > 0 && answer.getText().toString().equals
        (answerCheck.getText().toString());

    if (!passwordOk || !passwordCheckOk || !questionOk || !answerOk || !answerCheckOk) {
      res = false;
      if (!passwordOk) {
        password.setError(getString(R.string.settings_password_not_matching));
      }
      if (!passwordCheckOk) {
        passwordCheck.setError(getString(R.string.settings_password_not_matching));
      }
      if (!questionOk) {
        question.setError(getString(R.string.settings_password_question));
      }
      if (!answerOk) {
        answer.setError(getString(R.string.settings_answer_not_matching));
      }
      if (!answerCheckOk) {
        answerCheck.setError(getString(R.string.settings_answer_not_matching));
      }
    }
    return res;
  }

标签:团队,string,08,getText,length,boolean,toString,冲刺,password
来源: https://www.cnblogs.com/9d629/p/16373009.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有