@Override public void onClick(View v) { switch (v.getId()) { case R.id.left_btn: if (step == STEP_1 || step == STEP_3 || step == STEP_4) { finish(); } else if (step == STEP_2) { step = STEP_1; updateView(); } break; case R.id.right_btn: if (step == STEP_2) { step = STEP_3; updateView(); } else if (step == STEP_4) { Log.d("", "-----------------------------s---s----------------" + choosePattern); SharedPreferences preferences = getSharedPreferences(LOCK, MODE_PRIVATE); preferences .edit() .putString(LOCK_KEY, LockPatternView.patternToString(choosePattern)) .commit(); Intent intent = new Intent(this, LockActivity.class); startActivity(intent); finish(); } 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; } }