예제 #1
0
  private void updateView() {
    switch (step) {
      case STEP_1:
        leftButton.setText(R.string.cancel);
        rightButton.setText("");
        rightButton.setEnabled(false);
        choosePattern = null;
        confirm = false;
        lockPatternView.clearPattern();
        lockPatternView.enableInput();
        break;
      case STEP_2:
        leftButton.setText(R.string.try_again);
        rightButton.setText(R.string.goon);
        rightButton.setEnabled(true);
        lockPatternView.disableInput();
        break;
      case STEP_3:
        leftButton.setText(R.string.cancel);
        rightButton.setText("");
        rightButton.setEnabled(false);
        lockPatternView.clearPattern();
        lockPatternView.enableInput();
        break;
      case STEP_4:
        leftButton.setText(R.string.cancel);
        if (confirm) {
          rightButton.setText(R.string.confirm);
          rightButton.setEnabled(true);
          lockPatternView.disableInput();
        } else {
          rightButton.setText("");
          lockPatternView.setDisplayMode(DisplayMode.Wrong);
          lockPatternView.enableInput();
          rightButton.setEnabled(false);
        }

        break;

      default:
        break;
    }
  }
  private void updateView() {
    switch (step) {
      case STEP_1:
        {
          choosePattern = null;
          confirm = false;
          lockPatternView.clearPattern();
          lockPatternView.enableInput();
          resetTextView.setVisibility(View.INVISIBLE);
          tipTextView.setText("绘制解锁图案");
          tipTextView.setVisibility(View.VISIBLE);
        }
        break;

      case STEP_2:
        {
          tipTextView.setText("再次绘制解锁图案");
          tipTextView.setVisibility(View.VISIBLE);
          lockPatternView.clearPattern();
          lockPatternView.enableInput();
        }
        break;

      case STEP_3:
        {
          // 与第一次绘制的图案相同,成功!
          if (confirm) {
            lockPatternView.disableInput();

            GestureLockUtil.setGestureLock(LockPatternView.patternToString(choosePattern));

            // 跳转到别的界面
            if (type == TYPE_MANAGE) {
              this.setResult(RESULT_OK);
              this.finish();

            } else if (type == TYPE_REGISTER) {
              Intent intent = new Intent(this, KeeperMainActivity.class);
              this.startActivity(intent);
              this.finish();
            }

          } else {
            // 与第一次绘制的图案不同,
            resetTextView.setVisibility(View.VISIBLE);
            tipTextView.setText("与上一次绘制不一致,请重新绘制");
            tipTextView.setVisibility(View.VISIBLE);
            shakeTip();

            lockPatternView.setDisplayMode(DisplayMode.Wrong);
            clearWrongMode();

            lockPatternView.enableInput();
          }
        }

        break;

      default:
        break;
    }
  }