|
|
@@ -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);
|