|
|
@@ -41,8 +41,8 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
|
|
|
@Override
|
|
|
protected void startInternal() {
|
|
|
- view.setEnabledAll(false);
|
|
|
- view.setRecommendInputEnabled(false);
|
|
|
+// view.setEnabledAll(false);
|
|
|
+// view.setRecommendInputEnabled(false);
|
|
|
|
|
|
/**
|
|
|
* onScreenReady() 에 doubleChecker.checkFirst() 를 넣으면 onStart() 보다 먼저 실행되어 enabled = false 로 진입된다.
|
|
|
@@ -55,8 +55,8 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
|
|
|
@Override
|
|
|
protected void stopInternal() {
|
|
|
- view.setEnabledAll(false);
|
|
|
- view.setRecommendInputEnabled(false);
|
|
|
+// view.setEnabledAll(false);
|
|
|
+// view.setRecommendInputEnabled(false);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -132,7 +132,7 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
else {
|
|
|
view.setSpecialCodeLabelVisible(false);
|
|
|
}
|
|
|
- verifySpecialCode();
|
|
|
+ verifySpecialCode(false);
|
|
|
|
|
|
// 추천인 코드가 있으면 추천인 입력창 비활성
|
|
|
if (model.hasRecommendCodeRegistered()) {
|
|
|
@@ -142,6 +142,7 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
}
|
|
|
else {
|
|
|
view.setRecommendInputEnabled(true);
|
|
|
+ verifyRecommendCode(false);
|
|
|
}
|
|
|
|
|
|
view.setRegisteringButtonEnabled(false);
|
|
|
@@ -184,7 +185,10 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
}
|
|
|
|
|
|
private void verifyAll() {
|
|
|
- if (verifySpecialCode() || verifyRecommendCode()) {
|
|
|
+ boolean hasSpecialCode = verifySpecialCode(false);
|
|
|
+ boolean hasRecommendCode = verifyRecommendCode(false);
|
|
|
+ // 스페셜 코드 검증은 '등록' 버튼을 누를 때만 한다.
|
|
|
+ if (hasSpecialCode || hasRecommendCode) {
|
|
|
view.setRegisteringButtonEnabled(true);
|
|
|
}
|
|
|
else {
|
|
|
@@ -192,14 +196,16 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private boolean verifySpecialCode() {
|
|
|
+ private boolean verifySpecialCode(boolean isDisplayFailMessage) {
|
|
|
int verifyResult = model.verifySpecialCode();
|
|
|
boolean result = false;
|
|
|
if (verifyResult == Verifier.READY) {
|
|
|
view.setValidationSpecialCode(ResourceUtil.getString(R.string.special_code_input));
|
|
|
}
|
|
|
else if (verifyResult == Verifier.FAIL_LESS || verifyResult == Verifier.FAIL_OVER) {
|
|
|
- view.setValidationSpecialCode(ResourceUtil.getString(R.string.special_code_input_need_12_characters));
|
|
|
+ if (isDisplayFailMessage) {
|
|
|
+ view.setValidationSpecialCode(ResourceUtil.getString(R.string.special_code_input_need_12_characters));
|
|
|
+ }
|
|
|
}
|
|
|
else {
|
|
|
result = true;
|
|
|
@@ -209,7 +215,7 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private boolean verifyRecommendCode() {
|
|
|
+ private boolean verifyRecommendCode(boolean isDisplayFailMessage) {
|
|
|
int verifyResult = model.verifyRecommendCode();
|
|
|
boolean result = false;
|
|
|
if (verifyResult == Verifier.DISABLED) {
|
|
|
@@ -221,7 +227,9 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
view.setValidationRecommendCode(ResourceUtil.getString(R.string.recommend_code_input));
|
|
|
}
|
|
|
else if (verifyResult == Verifier.FAIL_LESS || verifyResult == Verifier.FAIL_OVER) {
|
|
|
- view.setValidationRecommendCode(ResourceUtil.getString(R.string.recommend_code_input_need_5_characters));
|
|
|
+ if (isDisplayFailMessage) {
|
|
|
+ view.setValidationRecommendCode(ResourceUtil.getString(R.string.recommend_code_input_need_5_characters));
|
|
|
+ }
|
|
|
}
|
|
|
else {
|
|
|
result = true;
|
|
|
@@ -246,11 +254,28 @@ public class SettingCodePresenter extends Presenter<SettingCodeModel, ISettingCo
|
|
|
* 등록 버튼 클릭 했음
|
|
|
*/
|
|
|
public void onClickRegisteringButton() {
|
|
|
+ boolean canNext = false;
|
|
|
// 완료되면 세팅 화면으로 이동;
|
|
|
+ boolean hasSpecialCode = verifySpecialCode(true);
|
|
|
+ boolean hasRecommendCode = verifyRecommendCode(true);
|
|
|
|
|
|
- view.setEnabledAll(false);
|
|
|
+ if (hasSpecialCode && hasRecommendCode) {
|
|
|
+ // 둘 다 등록 가능
|
|
|
+ canNext = true;
|
|
|
+ }
|
|
|
+ else if (hasSpecialCode && (model.verifyRecommendCode() == Verifier.READY || model.verifyRecommendCode() == Verifier.DISABLED)) {
|
|
|
+ // 스페셜 가능 / 추천인 미입력 or 비활성
|
|
|
+ canNext = true;
|
|
|
+ }
|
|
|
+ else if (model.verifySpecialCode() == Verifier.READY && hasRecommendCode) {
|
|
|
+ // 스페셜 미입력 / 추천인 가능
|
|
|
+ canNext = true;
|
|
|
+ }
|
|
|
|
|
|
- model.registerCodes();
|
|
|
+ if (canNext) {
|
|
|
+ view.setEnabledAll(false);
|
|
|
+ model.registerCodes();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|