Browse Source

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

Hasemi 7 years ago
parent
commit
57d9b9eef5

+ 55 - 9
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ActivityStarter.java

@@ -7,6 +7,12 @@ import android.content.Context;
 import android.content.Intent;
 import android.util.Log;
 
+import io.reactivex.Single;
+import io.reactivex.android.schedulers.AndroidSchedulers;
+import io.reactivex.schedulers.Schedulers;
+import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
+import kr.co.zumo.app.lifeplus.bean.api.LoginBean;
+import kr.co.zumo.app.lifeplus.bean.api.LoginResultBean;
 import kr.co.zumo.app.lifeplus.model.LifeplusPreferences;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.util.AppUtil;
@@ -35,8 +41,7 @@ public class ActivityStarter {
 
     setDeviceId(AppUtil.getDeviceId(context));
 
-    Intent intent;
-    intent = new Intent(context, MainActivity.class);
+    Intent intent = null;
     if (isConnected == false) {
       intent = new Intent(context, NetworkErrorActivity.class);
     }
@@ -46,20 +51,55 @@ public class ActivityStarter {
     else if (preferences.isTutorialDone() == false) {
       intent = new Intent(context, TutorialActivity.class);
     }
-    else if (StringUtil.isFull(SuperModel.getInstance().getUserId())) {
-//      intent = null;
-
+    else if (StringUtil.isEmpty(SuperModel.getInstance().getUserId())) {
+      intent = new Intent(context, SignUpActivity.class);
+    }
+    else {
       /**
        * 로그인
        * 로그인 완료되면
-       * -> 정상 : token 저장
+       * -> 정상 : token 저장 > 메인화면
        * -> 비정상
-       *   - 블럭 계정
-       *   - 휴면 계정
-       *   - 일시 중지
+       *   - 블럭 계정 > token 저장하지 않고 둠, 그러면 다시 로그인 시 블럭 계정
+       *   - 휴면 계정 > 위와 같음
+       *   - 일시 중지 > 위와 같음
        *
        */
 
+      // todo waiter 표시
+
+      Single.fromCallable(() -> {
+        LoginResultBean bean = new LoginResultBean();
+        bean.setCode(LifeplusAPIBean.RETURN_SUCCESS);
+        LoginBean loginBean = new LoginBean();
+        loginBean.setToken("================token................................");
+        loginBean.setUserStatus(LoginBean.USER_STATUS_NORMAL);
+        bean.setData(loginBean);
+        return bean;
+      })
+        .subscribeOn(Schedulers.io())
+        .observeOn(AndroidSchedulers.mainThread())
+        .subscribe(loginResultBean -> {
+          Log.i("APP# ActivityStarter | launch", "|" + loginResultBean.toPrettyJson());
+          if (loginResultBean.isSuccess()) {
+            // token 저장
+            LoginBean loginBean = loginResultBean.getData();
+            if (loginBean.getUserStatus().equals(LoginBean.USER_STATUS_NORMAL)) {
+              SuperModel.getInstance().setToken(loginBean.getToken());
+              // 메인화면으로 이동
+              gotoMainScreen();
+            }
+            else {
+              // todo 비정상 유저 처리
+            }
+          }
+          else {
+            // todo error 처리
+          }
+        }, e -> {
+          // todo error 처리
+        });
+
     }
 
     if (null != intent) {
@@ -67,6 +107,12 @@ public class ActivityStarter {
     }
   }
 
+  private void gotoMainScreen() {
+    Intent intent;
+    intent = new Intent(context, MainActivity.class);
+    context.startActivity(intent);
+  }
+
   private void setDeviceId(String deviceId) {
     Log.w("APP# SplashActivity | setDeviceId", "| " + deviceId);
     SuperModel.getInstance().setDeviceId(deviceId);

+ 0 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/activity/NetworkErrorActivity.java

@@ -40,7 +40,6 @@ public class NetworkErrorActivity extends ActivityBase<NetworkErrorPresenter> im
   void defineActionBar() {
     ActionBarManager actionBarManager = ActionBarManager.getInstance();
     actionBarManager.setTitle(R.string.network_disconnected);
-    actionBarManager.setDisplayHomeAsUpEnabled(false);
     actionBarManager.hide();
   }
 

+ 43 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/LoginBean.java

@@ -0,0 +1,43 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.bean.api;
+
+import kr.co.zumo.app.lifeplus.bean.JsonBeanBase;
+
+/**
+ * LoginBean
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 10. 5.]   [최초 작성]
+ * @since 2018. 10. 5.
+ */
+public class LoginBean extends JsonBeanBase {
+
+  public static final String USER_STATUS_NORMAL = "valid";
+  public static final String USER_STATUS_BLOCK = "blocked";
+  public static final String USER_STATUS_PAUSE = "paused";
+  public static final String USER_STATUS_REST = "rested";
+
+  private String token;
+  private String userStatus;
+
+  public String getToken() {
+    return token;
+  }
+
+  public void setToken(String token) {
+    this.token = token;
+  }
+
+  public String getUserStatus() {
+    return userStatus;
+  }
+
+  public void setUserStatus(String userStatus) {
+    this.userStatus = userStatus;
+  }
+}

+ 30 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/bean/api/LoginResultBean.java

@@ -0,0 +1,30 @@
+/*
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
+ */
+package kr.co.zumo.app.lifeplus.bean.api;
+
+import com.google.gson.annotations.SerializedName;
+
+/**
+ * LoginResultBean
+ * <pre>
+ * </pre>
+ *
+ * @author 민효동
+ * @version 1.0
+ * @history 민효동   [2018. 10. 1.]   [최초 작성]
+ * @since 2018. 10. 1.
+ */
+public class LoginResultBean extends LifeplusAPIBean {
+
+  @SerializedName("data")
+  private LoginBean data;
+
+  public LoginBean getData() {
+    return data;
+  }
+
+  public void setData(LoginBean data) {
+    this.data = data;
+  }
+}

+ 0 - 50
app/src/main/java/kr/co/zumo/app/lifeplus/manager/AccountManager.java

@@ -1,50 +0,0 @@
-/*
- * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
- */
-package kr.co.zumo.app.lifeplus.manager;
-
-/**
- * 사용자 정보 관리
- * <pre>
- * 로그인 상태 등
- * </pre>
- *
- * @author 민효동
- * @version 1.0
- * @history 민효동   [2018. 9. 5.]   [최초 작성]
- * @since 2018. 9. 5.
- */
-public class AccountManager {
-  private static final AccountManager ourInstance = new AccountManager();
-
-  public static AccountManager getInstance() {
-    return ourInstance;
-  }
-
-  private AccountManager() {
-  }
-
-  public boolean isLogin() {
-    return true;
-  }
-
-  /***********************************
-   * life-cycle
-   ***********************************/
-
-//  public void init() {
-//
-//  }
-//
-//  public void start() {
-//
-//  }
-//
-//  public void stop() {
-//
-//  }
-//
-//  public void dispose() {
-//
-//  }
-}

+ 0 - 18
app/src/main/java/kr/co/zumo/app/lifeplus/manager/ActionBarManager.java

@@ -68,24 +68,6 @@ public class ActionBarManager {
     actionBarTitle.setText(stringId);
   }
 
-  /**
-   * actionbar back 설정 유무
-   *
-   * @param isEnabled
-   */
-  public void setDisplayHomeAsUpEnabled(boolean isEnabled) {
-    actionBar.setDisplayHomeAsUpEnabled(isEnabled);
-  }
-
-  /**
-   * actionbar 유무
-   *
-   * @param isEnabled
-   */
-  public void setDisplayShowTitleEnabled(boolean isEnabled) {
-    actionBar.setDisplayShowTitleEnabled(isEnabled);
-  }
-
   /**
    * actionbar hide
    */

+ 1 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/model/SignUpModel.java

@@ -258,7 +258,7 @@ public class SignUpModel extends Model {
             onResult(new Event.Builder(Event.RESULT).integer(EVENT_JOINED).build());
           }, e -> {
 
-            // fixme 파싱 에러 발생!!! 임로 성공 시킴;
+            // fixme 파싱 에러 발생!!! 임로 성공 시킴;
             if (AppUtil.isDebug()) {
               saveUserId("_____________dummy_user_id______________");
               onResult(new Event.Builder(Event.RESULT).integer(EVENT_JOINED).build());

+ 6 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/fragment/signup/SignUpMobileAuthFragment.java

@@ -9,6 +9,7 @@ import android.view.ViewGroup;
 
 import kr.co.zumo.app.R;
 import kr.co.zumo.app.lifeplus.model.SignUpModel;
+import kr.co.zumo.app.lifeplus.view.Event;
 import kr.co.zumo.app.lifeplus.view.ISignUpView;
 import kr.co.zumo.app.lifeplus.view.custom.auth.IMobileAuthContract;
 import kr.co.zumo.app.lifeplus.view.custom.auth.MobileAuthorizationPresenter;
@@ -46,7 +47,11 @@ public class SignUpMobileAuthFragment extends FragmentBase<SignUpMobileAuthPrese
   protected void onAfterActivityCreated(Bundle savedInstanceState) {
 
     authView = new MobileAuthorizationView(getContext());
-    authPresenter = new MobileAuthorizationPresenter(authView, event -> presenter.onEvent(event));
+    authPresenter = new MobileAuthorizationPresenter(authView, event -> {
+      if (Event.SUCCESS == event.getEventId()) {
+        presenter.onEvent(event);
+      }
+    });
 
     ViewGroup layout = getView().findViewById(R.id.container);
     ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);

+ 0 - 11
app/src/main/java/kr/co/zumo/app/lifeplus/view/presenter/signup/SignUpMobileAuthPresenter.java

@@ -25,7 +25,6 @@ import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
 import kr.co.zumo.app.lifeplus.manager.ActionBarManager;
 import kr.co.zumo.app.lifeplus.model.SignUpModel;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
-import kr.co.zumo.app.lifeplus.util.AppUtil;
 import kr.co.zumo.app.lifeplus.util.Formatter;
 import kr.co.zumo.app.lifeplus.util.ResourceUtil;
 import kr.co.zumo.app.lifeplus.util.StringUtil;
@@ -116,15 +115,6 @@ public class SignUpMobileAuthPresenter extends SignUpFragmentPresenter {
         Log.i("APP# SignUpMobileAuthPresenter | onEventInternal", "|" + "resultString: " + event.getJson());
         onAuthResult(event);
         break;
-      case Event.FAIL:
-        // todo 모바일 인증 실패
-        break;
-      case Event.CANCEL:
-        // fixme for test
-        if (AppUtil.isDebug()) {
-          onEvent(new Event.Builder(Event.CONFIRM).build());
-        }
-        break;
       default:
         break;
     }
@@ -138,7 +128,6 @@ public class SignUpMobileAuthPresenter extends SignUpFragmentPresenter {
     Log.w("APP# SignUpMobileAuthPresenter | onEventInternal", "| 유저 데이터: " + mobileAuthBean.toPrettyJson());
 
     /**
-     * // todo 아래 코드는 팝업 외에서 처리해야 한다.
      * 2. 성공 시 PROCESS 진입
      1) 만 14세 이상 : 약관동의(JO2001)화면 링크
      2) 14세 미만 : 14세 미만 가입불가 안내 (JO5002) 화면 링크

+ 0 - 12
app/src/test/java/kr/co/zumo/app/lifeplus/manager/AccountManagerTest.java

@@ -1,12 +0,0 @@
-package kr.co.zumo.app.lifeplus.manager;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-public class AccountManagerTest {
-
-  @Test
-  public void isLogin() {
-    Assert.assertTrue(AccountManager.getInstance().isLogin());
-  }
-}