فهرست منبع

Merge branch 'develop' of https://github.com/swict/LifePlusAndroid into develop

hyodong.min 7 سال پیش
والد
کامیت
47d70b9064

+ 3 - 6
app/src/main/java/kr/co/zumo/app/lifeplus/tool/ShareKakaoTalk.java

@@ -94,19 +94,16 @@ public class ShareKakaoTalk extends Share<Context> {
   public void shareRecommendCode(String code, IShareListener listener) {
     String url = ResourceUtil.getString(R.string.lifeplus_www_url);
     FeedTemplate params = FeedTemplate
-      .newBuilder(ContentObject.newBuilder(ResourceUtil.getString(R.string.code_share),
+      .newBuilder(ContentObject.newBuilder(ResourceUtil.getString(R.string.recommend_code_title),
         ResourceUtil.getString(R.string.lifeplus_share_image_url),
         LinkObject.newBuilder().setWebUrl(url)
           .setMobileWebUrl(url).build())
-        .setDescrption(code)
+        .setDescrption(": " + code +ResourceUtil.getString(R.string.app_join_recommend))
         .build())
       //.setSocial(SocialObject.newBuilder().setLikeCount(10).setCommentCount(20)
       //.setSharedCount(30).setViewCount(40).build())
 
-      .addButton(new ButtonObject(ResourceUtil.getString(R.string.view_in_web), LinkObject.newBuilder()
-        .setWebUrl(url)
-        .setMobileWebUrl(url).build()))
-      .addButton(new ButtonObject(ResourceUtil.getString(R.string.view_in_app), LinkObject.newBuilder()
+      .addButton(new ButtonObject(ResourceUtil.getString(R.string.open_app), LinkObject.newBuilder()
         .setWebUrl(url)
         .setMobileWebUrl(url)
         .setAndroidExecutionParams(new StringBuilder(RECOMMEND_KEY).append("=").append(code).toString()) //kakao95448ff031e92087b5dbc44d56cff7bb://kakaolink?key=test

+ 4 - 4
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/main/MyMainFragment.java

@@ -128,10 +128,10 @@ public abstract class MyMainFragment extends FragmentBase<MyMainPresenter> imple
     findViewById(R.id.image_view_guest_coin).setOnClickListener(view -> {presenter.onEvent(new Event.Builder(Event.MY_COIN_MAIN).build());});
     findViewById(R.id.image_view_my_guest_coin_arrow).setOnClickListener(view -> {presenter.onEvent(new Event.Builder(Event.MY_COIN_MAIN).build());});
 
-    textViewBookmarkCount.setOnClickListener(view -> { presenter.onEvent(new Event.Builder(Event.BOOK_MARK_LIST).build());});
+
     findViewById(R.id.text_view_purchase).setOnClickListener(view -> {presenter.onEvent(new Event.Builder(Event.MY_PURCHASE_HISTORY).build());});
 
-    textBucketLabel.setOnClickListener(view -> {presenter.onEvent(new Event.Builder(Event.MY_BUCKET).build());});
+
 
     textViewConfirmUser.setOnClickListener(view -> { presenter.onEvent(new Event.Builder(Event.SIGN_UP).build());});
     findViewById(R.id.image_view_coupon_mall).setOnClickListener(view -> { presenter.onEvent(new Event.Builder(Event.COUPON_MALL).build());});
@@ -260,7 +260,7 @@ public abstract class MyMainFragment extends FragmentBase<MyMainPresenter> imple
       if(myBucketBeans.get(0).isCompleted()){
         layoutBucketCardView1.setBackgroundColor( getResources().getColor(R.color.CE5E5E5));
       }else{
-        layoutBucketCardView1.setBackground(getResources().getDrawable(R.drawable.faq_text_border));
+        layoutBucketCardView1.setBackground(getResources().getDrawable(R.drawable.faq_answer_border));
       }
 
       imageViewCheckedBucket1.setVisibility(myBucketBeans.get(0).isCompleted() ? View.VISIBLE : View.INVISIBLE);
@@ -279,7 +279,7 @@ public abstract class MyMainFragment extends FragmentBase<MyMainPresenter> imple
       if(myBucketBeans.get(0).isCompleted()){
         layoutBucketCardView1.setBackgroundColor( getResources().getColor(R.color.CE5E5E5));
       }else{
-        layoutBucketCardView1.setBackground(getResources().getDrawable(R.drawable.faq_text_border));
+        layoutBucketCardView1.setBackground(getResources().getDrawable(R.drawable.faq_answer_border));
       }
 
       if(myBucketBeans.get(1).isCompleted()){

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/main/MyMainGuestFragment.java

@@ -29,11 +29,13 @@ public class MyMainGuestFragment extends MyMainFragment {
     arrowBookmark.setVisibility(View.GONE);
     layoutLikeBookmark1.setVisibility(View.GONE);
     layoutLikeBookmark2.setVisibility(View.GONE);
+    textViewBookmarkCount.setOnClickListener(null);
   }
 
   @Override
   protected void setBestBucketLabel(int count) {
     textBucketLabel.setText(ResourceUtil.getString(R.string.bucket_list_count, " "));
     arrowBucket.setVisibility(View.GONE);
+    textBucketLabel.setOnClickListener(null);
   }
 }

+ 3 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/main/MyMainMemberFragment.java

@@ -4,6 +4,7 @@ import android.view.View;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
+import kr.co.zumo.app.lifeplus.view.Event;
 
 /**
  * MyMainFragment
@@ -26,11 +27,13 @@ public class MyMainMemberFragment extends MyMainFragment {
   @Override
   protected void setDefaultBookmarkLabel() {
     textViewBookmarkCount.setText(ResourceUtil.getString(R.string.book_mark_count, "0"));
+    textViewBookmarkCount.setOnClickListener(view -> { presenter.onEvent(new Event.Builder(Event.BOOK_MARK_LIST).build());});
   }
 
   @Override
   protected void setBestBucketLabel(int count) {
     textBucketLabel.setText(ResourceUtil.getString(R.string.bucket_list_count, count));
+    textBucketLabel.setOnClickListener(view -> {presenter.onEvent(new Event.Builder(Event.MY_BUCKET).build());});
   }
 
 }

+ 11 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/SettingModel.java

@@ -17,6 +17,7 @@ import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.model.module.APIMemberPushUpdateModule;
 import kr.co.zumo.app.lifeplus.model.module.APISettingMemberInfoLoadModule;
 import kr.co.zumo.app.lifeplus.model.module.IAPIModuleListener;
+import kr.co.zumo.app.lifeplus.model.module.PinModuleParser;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
 import kr.co.zumo.app.lifeplus.util.Version;
@@ -145,6 +146,16 @@ public class SettingModel extends Model {
     SettingModelHelper.getInstance().setIncreasedCoin(0);
   }
 
+  /**
+   * 입력한 핀과 저장된 핀이 같은지 확인
+   *
+   * @param pin "0000"
+   * @return boolean
+   */
+  public boolean verifyPin(String pin) {
+    return new PinModuleParser().verify(pin);
+  }
+
   /**
    * 설정 기본 정보 로딩
    */

+ 40 - 3
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/setting/SettingPresenter.java

@@ -32,6 +32,7 @@ import kr.co.zumo.app.lifeplus.view.dialog.DialogBase;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogBuilder;
 import kr.co.zumo.app.lifeplus.view.dialog.DialogID;
 import kr.co.zumo.app.lifeplus.view.dialog.ICustomDialogListener;
+import kr.co.zumo.app.lifeplus.view.dialog.PinConfirmDialog;
 import kr.co.zumo.app.lifeplus.view.presenter.Presenter;
 
 /**
@@ -52,7 +53,7 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
   public static final int SETTING_INFO = 3;
   public static final int SETTING_UPDATE = 4;
 
-  private DialogBase shareDialog;
+  private DialogBase alertDialog;
   private Share share;
   private boolean isEnabled = false;
 
@@ -172,7 +173,43 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
           if (index == SettingViewHolder.MEMBER_CONFIRM) {
             // 회원 관리/확인
             if (model.isMember()) {
-              go(ScreenID.SETTING_MEMBER_INFO);
+              // PinConfirmDialog
+              alertDialog = new DialogBuilder<PinConfirmDialog, ICustomDialogListener>(DialogID.PIN_CONFIRM)
+                .listener(new ICustomDialogListener<PinConfirmDialog>() {
+                  @Override
+                  public void onDialogResult(PinConfirmDialog dialog, Event event) {
+                    switch (event.getEventId()) {
+                      case Event.CONFIRM:
+                        String inputPin = event.getString();
+                        if (model.verifyPin(inputPin)) {
+                          dialog.dispose();
+                          go(ScreenID.SETTING_MEMBER_INFO);
+                        }
+                        else {
+                          dialog.retry();
+                        }
+
+                        break;
+                      case Event.FAIL:
+                        dialog.dispose();
+                        // 핀 불일치
+                        showErrorDialog(R.string.pin_miss_match_error);
+                        break;
+                      case Event.HELP:
+                        // 이메일 문의
+                        onCommand(new EmailSendingCommand(ResourceUtil.getString(R.string.lifeplus_email)));
+                        break;
+                      default:
+                        dialog.dispose();
+                        break;
+                    }
+                  }
+
+                  @Override
+                  public void onDialogCanceled(PinConfirmDialog dialog) {
+                    dialog.dispose();
+                  }
+                }).show();
             }
             else {
               go(ScreenID.SIGN_UP_START);
@@ -188,7 +225,7 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
             if (StringUtil.isFull(code)) {
               //onCommand(new TextShareCommand(code));
               //추천 팝업 띄우기
-              shareDialog = new DialogBuilder<CurrentPageShareDialog, ICustomDialogListener>(DialogID.SHARE)
+              alertDialog = new DialogBuilder<CurrentPageShareDialog, ICustomDialogListener>(DialogID.SHARE)
                 .listener(new ICustomDialogListener<CurrentPageShareDialog>() {
                   @Override
                   public void onDialogResult(CurrentPageShareDialog dialog, Event event) {

+ 2 - 0
app/src/main/res/layout/fragment_add_my_bucket_list.xml

@@ -22,9 +22,11 @@
     android:layout_marginEnd="20dp"
     android:background="@null"
     android:hint="@string/make_my_bucket_list"
+    android:maxLength="15"
     android:imeOptions="normal"
     android:lineSpacingExtra="11sp"
     android:maxLines="2"
+    tools:text="ddddddddddddddddddddddddddddddddddddddddd"
     android:textAlignment="center"
     android:textColor="@color/CFFFFFF"
     android:textColorHint="#80FFFFFF"

+ 1 - 1
app/src/main/res/layout/fragment_bucket_list_detail.xml

@@ -95,6 +95,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:orientation="horizontal"
+        android:layout_marginStart="25dp"
         >
 
       </LinearLayout>
@@ -105,7 +106,6 @@
     android:id="@+id/recycler_view_bucket_list_detail"
     android:layout_width="match_parent"
     android:layout_height="0dp"
-    android:layout_marginStart="25dp"
     app:layout_constraintStart_toStartOf="parent"
     android:paddingTop="25dp"
     app:layout_constraintBottom_toBottomOf="parent"

+ 2 - 1
app/src/main/res/layout/fragment_my_main.xml

@@ -5,6 +5,7 @@
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
+  tools:layout_marginTop="-700dp"
   android:orientation="vertical">
 
   <android.support.constraint.ConstraintLayout
@@ -598,7 +599,7 @@
       android:layout_marginStart="25dp"
       android:layout_marginTop="25dp"
       android:layout_marginEnd="25dp"
-      android:visibility="visible"
+      android:visibility="gone"
       app:layout_constraintEnd_toEndOf="parent"
       app:layout_constraintStart_toStartOf="parent"
       app:layout_constraintTop_toBottomOf="@+id/layout_best_bucket">

+ 1 - 1
app/src/main/res/layout/setting_user_quit_request.xml

@@ -240,7 +240,7 @@
         android:layout_weight="2"
         android:background="@color/C000000"
         android:lineSpacingExtra="6sp"
-        android:text="@string/user_quit_request"
+        android:text="@string/quit"
         android:textColor="@color/CFFFFFF"
         android:textSize="15sp"
         />

+ 6 - 2
app/src/main/res/values/strings.xml

@@ -296,6 +296,7 @@
   <string name="user_quit_info">회원탈퇴 안내</string>
   <string name="user_quit_request_title">회원탈퇴 신청</string>
   <string name="user_quit_finish">회원탈퇴 완료</string>
+  <string name="quit">탈퇴</string>
 
   <string name="setting_update_information_name_validation">이름을 정확히 입력해주세요.</string>
   <string name="setting_update_birth_date_validation">YYYYMMDD 숫자를 입력해주세요.</string>
@@ -631,13 +632,16 @@
   <string name="share_recommend_code_contents">"[Lifeplus] 추천인 코드 공유\n\n추천인 코드: %s\n\nLifeplus에서 더 다양한 컨텐츠를 확인하세요!\n\n아직 Lifeplus App이 없으시다면 아래 경로에서 다운로드 받으세요!\n\nApp 다운로드 : http://www.lifeplus.co.kr"</string>
   <string name="share_current_page_contents">"[Lifeplus] %1$s\n\n%2$s\n\nLifeplus에서 더 다양한 컨텐츠를 확인하세요!\n\n아직 Lifeplus App이 없으시다면 아래 경로에서 다운로드 받으세요!\n\nApp 다운로드 : http://www.lifeplus.co.kr"</string>
   <string name="sending_email">이메일 보내기</string>
-  <string name="view_in_web">웹에서 보기</string>
-  <string name="view_in_app">앱에서 보기</string>
+  <string name="view_in_web">웹으로 보기</string>
+  <string name="view_in_app">APP으로 보기</string>
+  <string name="open_app">APP 열기</string>
   <string name="please_install_kakaotalk">카카오톡을 설치해 주세요.</string>
 
   <string name="app_review_message">Lifeplus에 대해 만족하시나요?\n앱에 대한 별점 리뷰를 남겨주시겠어요?</string>
   <string name="next_time">다음 기회에</string>
   <string name="app_review_write">앱 리뷰 쓰기</string>
+  <string name="app_join_recommend">\n회원가입하시면 특별한 혜택을 드립니다.</string>
+  <string name="recommend_code_title">추천인코드</string>
 
   <string name="best_bucket_guest_guide">서비스 이용을 위해서 Lifeplus 회원 확인이 필요합니다.</string>
   <string name="best_bucket_delete_guide">선택된 버킷리스트가 삭제됩니다.</string>

+ 1 - 1
app/src/main/res/values/styles.xml

@@ -84,7 +84,7 @@
 
   <style name="DialogAnimation">
     <item name="android:windowEnterAnimation">@anim/enter</item>
-    <item name="android:windowExitAnimation">@anim/exit</item>
+    <item name="android:windowExitAnimation">@anim/back_exit</item>
   </style>
 
   <style name="AppThemeRatingBar" parent="Theme.AppCompat">