瀏覽代碼

[설정][New] 비밀번호 변경 화면 추가

hyodong.min 6 年之前
父節點
當前提交
19d758f8a0

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/ScreenID.java

@@ -107,6 +107,7 @@ public class ScreenID {
   public static final int WEB_PURCHASE = 97;
   public static final int WEB_FROM_EVENT = 98;
   public static final int LOGIN = 99;
+  public static final int SETTING_MEMBER_PASSWORD = 100;
 
   @Retention(RetentionPolicy.SOURCE)
   @IntDef({BACK, MAIN, SETTING, INQUIRY, NETWORK_ERROR, PIN, PIN_RESET, SIGN_UP_START_FROM_ZUMO, ON_BOARDING, PERMISSION_INFO,
@@ -121,7 +122,7 @@ public class ScreenID {
     NETWORK_ERROR_STARTING, OVER_VIEW, ACTIVITY, SERIES, SIGN_UP_START_FROM_ZUMO_ON_BOARDING, WEB_FROM_CONTENTS, BUCKET_ACTIVITY, MAP, MY_EVENT, EVENT_WINNER,
     EVENT_DETAIL, SEARCH, EVENT_QUESTION, SYSTEM_CHECK, UTILITY_ACTIVITY, SEARCH_RESULT, MY_COIN_DETAIL_GUEST, PIN_RESET_AUTH_FROM_MULTI_DEVICE, PIN_RESET_INPUT_FROM_MULTI_DEVICE,
     PIN_RESET_AUTH_FROM_MEMBER_BLOCK, MEMBER_UNLOCK, EVENT_DETAIL_ENTRY, EVENT_DETAIL_SELECT, EVENT_RECOMMEND, EVENT_RECOMMEND_BASIC, EVENT_RECOMMEND_TAG,
-    EVENT_RECORD, WEB_PURCHASE, WEB_FROM_EVENT, LOGIN
+    EVENT_RECORD, WEB_PURCHASE, WEB_FROM_EVENT, LOGIN, SETTING_MEMBER_PASSWORD
   })
   public @interface ID {}
 

+ 4 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/factory/BasicFragmentFactory.java

@@ -60,6 +60,7 @@ import kr.co.zumo.app.lifeplus.view.screen.setting.SettingFragment;
 import kr.co.zumo.app.lifeplus.view.screen.setting.code.SettingCodeFragment;
 import kr.co.zumo.app.lifeplus.view.screen.setting.info.SettingTermsFragment;
 import kr.co.zumo.app.lifeplus.view.screen.setting.member.SettingMemberInfoFragment;
+import kr.co.zumo.app.lifeplus.view.screen.setting.member.SettingMemberPasswordFragment;
 import kr.co.zumo.app.lifeplus.view.screen.setting.member.SettingMemberQuitFinishFragment;
 import kr.co.zumo.app.lifeplus.view.screen.setting.member.SettingMemberQuitRequestFragment;
 import kr.co.zumo.app.lifeplus.view.screen.signup.SignUpAgreeFragment;
@@ -219,6 +220,9 @@ public class BasicFragmentFactory extends FragmentFactory {
       case ScreenID.SETTING_TERMS:
         fragment = new SettingTermsFragment();
         break;
+      case ScreenID.SETTING_MEMBER_PASSWORD:
+        fragment = new SettingMemberPasswordFragment();
+        break;
 
       // my
 //      case ScreenID.MY_MAIN:

+ 19 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/member/ISettingMemberPasswordView.java

@@ -0,0 +1,19 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.view.screen.setting.member;
+
+import kr.co.zumo.app.lifeplus.view.IView;
+
+/**
+ * ISettingMemberPasswordView
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2019. 3. 19.]   [최초 작성]
+ * @since 2019. 3. 19.
+ */
+interface ISettingMemberPasswordView extends IView {
+}

+ 64 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/member/SettingMemberPasswordFragment.java

@@ -0,0 +1,64 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.view.screen.setting.member;
+
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import kr.co.zumo.app.R;
+import kr.co.zumo.app.lifeplus.helper.ActionBarHelper;
+import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
+
+/**
+ * SettingMemberPasswordFragment
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2019. 3. 19.]   [최초 작성]
+ * @since 2019. 3. 19.
+ */
+public class SettingMemberPasswordFragment extends FragmentBase<SettingMemberPasswordPresenter> implements ISettingMemberPasswordView {
+  @Override
+  protected View onAfterCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
+    return inflater.inflate(R.layout.setting_member_password, container, false);
+  }
+
+  @Override
+  protected void onAfterActivityCreated(Bundle savedInstanceState) {
+
+  }
+
+  @Override
+  protected void defineActionBar(ActionBarHelper actionBarHelper) {
+    actionBarHelper.begin().back(navigationBar -> presenter.onNavigationClickBack(navigationBar))
+      .title(R.string.setting_password_title)
+      .show();
+  }
+
+  @Override
+  protected SettingMemberPasswordPresenter definePresenter() {
+    return new SettingMemberPasswordPresenter(getModel(SettingMemberpasswordModel.class), this);
+  }
+
+  @Override
+  protected void onAfterDestroyView() {
+
+  }
+
+  @Override
+  protected void onAfterDestroy() {
+
+  }
+
+  @Override
+  protected boolean isSkipScreenWhenBack() {
+    return false;
+  }
+}

+ 79 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/member/SettingMemberPasswordPresenter.java

@@ -0,0 +1,79 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.view.screen.setting.member;
+
+import kr.co.zumo.app.lifeplus.view.Event;
+import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
+
+/**
+ * SettingMemberPasswordPresenter
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2019. 3. 19.]   [최초 작성]
+ * @since 2019. 3. 19.
+ */
+public class SettingMemberPasswordPresenter extends Presenter<SettingMemberpasswordModel, ISettingMemberPasswordView> {
+
+  public SettingMemberPasswordPresenter(SettingMemberpasswordModel model, ISettingMemberPasswordView view) {
+    super(model, view);
+  }
+
+  @Override
+  protected void createViewInternal() {
+
+  }
+
+  @Override
+  protected void destroyInternal() {
+
+  }
+
+  @Override
+  protected void destroyViewInternal() {
+
+  }
+
+  @Override
+  protected void startInternal() {
+
+  }
+
+  @Override
+  protected void startInternalOnce() {
+
+  }
+
+  @Override
+  protected void stopInternal() {
+
+  }
+
+  @Override
+  protected void resumeInternal() {
+
+  }
+
+  @Override
+  protected void pauseInternal() {
+
+  }
+
+  @Override
+  protected void onEventInternal(Event event) {
+
+  }
+
+  @Override
+  public void onScreenReady() {
+
+  }
+
+  @Override
+  public void onResult(Event event) {
+
+  }
+}

+ 53 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/member/SettingMemberpasswordModel.java

@@ -0,0 +1,53 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.view.screen.setting.member;
+
+import kr.co.zumo.app.lifeplus.model.Model;
+
+/**
+ * SettingMemberpasswordModel
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2019. 3. 19.]   [최초 작성]
+ * @since 2019. 3. 19.
+ */
+public class SettingMemberpasswordModel extends Model {
+  @Override
+  protected void createViewInternal() {
+
+  }
+
+  @Override
+  protected void destroyInternal() {
+
+  }
+
+  @Override
+  protected void destroyViewInternal() {
+
+  }
+
+  @Override
+  protected void startInternal() {
+
+  }
+
+  @Override
+  protected void stopInternal() {
+
+  }
+
+  @Override
+  protected void resumeInternal() {
+
+  }
+
+  @Override
+  protected void pauseInternal() {
+
+  }
+}

+ 166 - 0
app/src/main/res/layout/setting_member_password.xml

@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ScrollView
+  xmlns:android="http://schemas.android.com/apk/res/android"
+  xmlns:app="http://schemas.android.com/apk/res-auto"
+  xmlns:tools="http://schemas.android.com/tools"
+  android:layout_width="match_parent"
+  android:layout_height="match_parent"
+  android:fillViewport="true"
+  android:orientation="vertical"
+  >
+
+  <android.support.constraint.ConstraintLayout
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingStart="25dp"
+    android:paddingEnd="25dp"
+    android:paddingBottom="25dp">
+
+
+    <TextView
+      android:id="@+id/textView7"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginTop="23dp"
+      android:lineSpacingExtra="4sp"
+      android:text="@string/setting_password_current"
+      android:textColor="@color/C999999"
+      android:textSize="12sp"
+      app:layout_constraintVertical_chainStyle="spread"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_constraintTop_toTopOf="parent"/>
+
+
+    <kr.co.zumo.app.lifeplus.view.custom.ClearEditText
+      android:id="@+id/edit_password_current"
+      android:layout_width="match_parent"
+      android:layout_height="80dp"
+      android:layout_marginTop="7dp"
+      android:background="@drawable/button_underline_background"
+      android:hint="@string/setting_password_current_hint"
+      android:inputType="textPassword"
+      android:lineSpacingExtra="6sp"
+      android:maxLength="@integer/password_length_max"
+      android:maxLines="1"
+      android:paddingBottom="35dp"
+      android:textColor="@drawable/recommend_text_selector"
+      android:textColorHint="@color/CC5C5C5"
+      android:textSize="14sp"
+      app:layout_constraintTop_toBottomOf="@+id/textView7"
+      tools:text="1234"/>
+
+    <TextView
+      android:id="@+id/text_password_current_validation"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginTop="54dp"
+      android:layout_marginBottom="8dp"
+      android:lineSpacingExtra="4sp"
+      android:text="@string/setting_password_current_hint"
+      android:textColor="@color/CF12815"
+      android:textSize="11sp"
+      app:layout_constraintBottom_toTopOf="@+id/textView8"
+      app:layout_constraintStart_toStartOf="@+id/edit_password_current"
+      app:layout_constraintTop_toTopOf="@+id/edit_password_current"
+      app:layout_constraintVertical_bias="0"
+      tools:visibility="gone"
+      />
+
+
+    <TextView
+      android:id="@+id/textView8"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginTop="23dp"
+      android:lineSpacingExtra="4sp"
+      android:text="@string/setting_password_new"
+      android:textColor="@color/C999999"
+      android:textSize="12sp"
+      app:layout_constraintStart_toStartOf="parent"
+      app:layout_goneMarginTop="80dp"
+      app:layout_constraintTop_toBottomOf="@+id/text_password_current_validation"/>
+
+
+    <kr.co.zumo.app.lifeplus.view.custom.ClearEditText
+      android:id="@+id/edit_password_new"
+      android:layout_width="match_parent"
+      android:layout_height="80dp"
+      android:layout_marginTop="7dp"
+      android:background="@drawable/button_underline_background"
+      android:hint="@string/setting_password_new_hint"
+      android:inputType="textPassword"
+      android:lineSpacingExtra="6sp"
+      android:maxLength="@integer/password_length_max"
+      android:maxLines="1"
+      android:paddingBottom="35dp"
+      android:textColor="@drawable/recommend_text_selector"
+      android:textColorHint="@color/CC5C5C5"
+      android:textSize="14sp"
+      app:layout_constraintTop_toBottomOf="@+id/textView8"/>
+
+    <TextView
+      android:id="@+id/text_password_new_validation"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginTop="54dp"
+      android:layout_marginBottom="8dp"
+      android:lineSpacingExtra="4sp"
+      android:text="@string/setting_password_new_hint"
+      android:textColor="@color/CF12815"
+      android:textSize="11sp"
+      app:layout_constraintBottom_toTopOf="@+id/edit_password_new_again"
+      app:layout_constraintStart_toStartOf="@+id/edit_password_new"
+      app:layout_constraintTop_toTopOf="@+id/edit_password_new"
+      app:layout_constraintVertical_bias="0"
+      tools:visibility="gone"
+      />
+
+    <kr.co.zumo.app.lifeplus.view.custom.ClearEditText
+      android:id="@+id/edit_password_new_again"
+      android:layout_width="match_parent"
+      android:layout_height="80dp"
+      android:layout_marginTop="2dp"
+      android:background="@drawable/button_underline_background"
+      android:hint="@string/setting_password_new_again_hint"
+      android:inputType="textPassword"
+      android:lineSpacingExtra="6sp"
+      android:maxLength="@integer/password_length_max"
+      android:maxLines="1"
+      android:paddingBottom="35dp"
+      android:textColor="@drawable/recommend_text_selector"
+      android:textColorHint="@color/CC5C5C5"
+      android:textSize="14sp"
+      app:layout_goneMarginTop="55dp"
+      app:layout_constraintTop_toBottomOf="@+id/text_password_new_validation"
+      app:layout_constraintVertical_bias="0"/>
+
+    <TextView
+      android:id="@+id/text_password_new_again_validation"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_marginTop="54dp"
+      android:lineSpacingExtra="4sp"
+      android:text="@string/setting_password_new_again_hint"
+      android:textColor="@color/CF12815"
+      android:textSize="11sp"
+      app:layout_constraintStart_toStartOf="@+id/edit_password_new_again"
+      app:layout_constraintTop_toTopOf="@+id/edit_password_new_again"
+      tools:visibility="gone"
+      />
+
+
+    <Button
+      android:id="@+id/button_registering"
+      android:layout_width="match_parent"
+      android:layout_height="42dp"
+      android:background="@drawable/button_black_background_selector"
+      android:lineSpacingExtra="6sp"
+      android:text="@string/setting_password_change"
+      android:textColor="@color/CFFFFFF"
+      android:textSize="15sp"
+      app:layout_constraintBottom_toBottomOf="parent"
+      tools:layout_editor_absoluteX="25dp"/>
+
+  </android.support.constraint.ConstraintLayout>
+</ScrollView>

+ 1 - 0
app/src/main/res/values/integer.xml

@@ -1,4 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
   <item type="integer" name="bucket_subject_max_length">40</item>
+  <item type="integer" name="password_length_max">20</item>
 </resources>

+ 24 - 1
app/src/main/res/values/strings.xml

@@ -286,6 +286,29 @@
   <string name="setting_terms">약관보기</string>
   <string name="setting_terms_detail">약관상세</string>
   <string name="inquiry_title">1:1 문의</string>
+  <string name="setting_password_title">비밀번호 변경</string>
+  <string name="setting_password_current">현재 비밀번호</string>
+  <string name="setting_password_current_hint"> 현재 비밀번호 입력</string>
+  <string name="setting_password_current_validation_10_character">현재 비밀번호를 정확히 입력해주세요.</string>
+  <string name="setting_password_current_validation_email">이메일과 동일한 비밀번호는 사용할 수 없습니다.</string>
+  <string name="setting_password_current_validation_4_straight">연속된 4자리 숫자, 영문은 사용할 수 없습니다.</string>
+  <string name="setting_password_current_validation_emoticon">이모티콘은 사용할 수 없습니다.</string>
+  <string name="setting_password_current_validation_missmatch">현재 비밀번호가 일치하지 않습니다. 다시 입력해주세요.</string>
+  <string name="setting_password_new">새 비밀번호</string>
+  <string name="setting_password_new_hint"> 새 비밀번호 입력</string>
+  <string name="setting_password_new_validation_10_character">새로운 비밀번호를 정확히 입력해주세요.</string>
+  <string name="setting_password_new_validation_email">이메일과 동일한 비밀번호는 사용할 수 없습니다.</string>
+  <string name="setting_password_new_validation_4_straight">연속된 4자리 숫자, 영문은 사용할 수 없습니다.</string>
+  <string name="setting_password_new_validation_match">현재 비밀번호와 동일합니다. 다시 입력해주세요</string>
+  <string name="setting_password_new_validation_emoticon">이모티콘은 사용할 수 없습니다.</string>
+  <string name="setting_password_new_again_hint"> 새 비밀번호 재입력</string>
+  <string name="setting_password_new_again_validation_10_character">새로운 비밀번호를 한번 더 입력해주세요.</string>
+  <string name="setting_password_new_again_validation_email">이메일과 동일한 비밀번호는 사용할 수 없습니다.</string>
+  <string name="setting_password_new_again_validation_4_straight">연속된 4자리 숫자, 영문은 사용할 수 없습니다.</string>
+  <string name="setting_password_new_again_validation_match">현재 비밀번호와 동일합니다. 다시 입력해주세요</string>
+  <string name="setting_password_new_again_validation_emoticon">이모티콘은 사용할 수 없습니다.</string>
+  <string name="setting_password_new_again_validation_missmatch">새로운 비밀번호가 일치하지 않습니다. 다시 입력해주세요.</string>
+  <string name="setting_password_change">변경</string>
 
   <string name="special_code_register_title">회원님만을 위한 특별한 혜택</string>
   <string name="special_code_register_detail">제공받은 스페셜 /추천인 코드를 입력해주세요.\n회원님을 위한 특별한 혜택을 드립니다.</string>
@@ -316,7 +339,7 @@
   <string name="sms">SMS</string>
   <string name="emailTo">E-mail</string>
   <string name="setting_phone_reset_message">본인인증 후 재설정이 가능합니다.</string>
-  <string name="setting_register_email">이메일을 등록해주세요.</string>
+  <string name="setting_register_name">이름을 등록해주세요.</string>
   <string name="setting_email">이메일</string>
 
   <string name="pin">간편암호</string>