浏览代码

[설정][New] 마이 메인 / 설정: 설정 로딩 시 빈 데이터 로드하면 서버 에러로 처리
- 개발/운영 서버 혼용 시 없는 userId 로 로그인 된 후 나타나는 현상

hyodong.min 7 年之前
父节点
当前提交
5ea328e9f0

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

@@ -227,6 +227,10 @@ public class MyMainModel extends Model {
       disposableBookmarked.dispose();
       disposableBookmarked = null;
     }
+    if (null != disposableLoading) {
+      disposableLoading.dispose();
+      disposableLoading = null;
+    }
   }
 
   public void updateLiked(int index) {

+ 8 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/my/main/MyMainPresenter.java

@@ -278,13 +278,20 @@ public class MyMainPresenter extends Presenter<MyMainModel, IMyMainView> {
         if (integer == Event.CONTENTS_BOOKMARK) {
           // 북마크의 북마크(체크박스)
           view.setBookmarkContentsBookmarked(event.getIndex(), !event.getBool());
+          showErrorDialog(event.getString());
         }
         else if (integer == Event.CONTENTS_LIKE) {
           // 북마크의 좋아요(체크박스)
           view.setBookmarkContentsLiked(event.getIndex(), !event.getBool());
+          showErrorDialog(event.getString());
+        }
+        else if (integer == Event.SETTING_LOAD) {
+          showErrorDialog(R.string.network_disconnected_message);
+        }
+        else {
+          showErrorDialog(event.getString());
         }
 
-        showErrorDialog(event.getString());
         break;
       default:
         break;

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

@@ -168,7 +168,7 @@ public class SettingModel extends Model {
         if (null == settingMemberBean) {
           settingMemberBean = new SettingMemberBean();
           SettingModelHelper.getInstance().setSettingMemberBean(settingMemberBean);
-          onResult(new Event.Builder(Event.ERROR).build());
+          onResult(new Event.Builder(Event.ERROR).integer(Event.SETTING_LOAD).build());
         }
         else {
           onResult(new Event.Builder(Event.RESULT).integer(Event.SETTING_LOAD).build());
@@ -177,7 +177,7 @@ public class SettingModel extends Model {
 
       @Override
       public void onApiError(String errorMessage, APIError error) {
-        onResult(new Event.Builder(Event.ERROR).string(errorMessage).build());
+        onResult(new Event.Builder(Event.ERROR).integer(Event.SETTING_LOAD).string(errorMessage).build());
       }
     });
   }
@@ -267,13 +267,13 @@ public class SettingModel extends Model {
     disposablePush = new APIMemberPushUpdateModule().call(bean, new IAPISimpleModuleListener<LifeplusAPIBean>() {
       @Override
       public void onApiSuccess(LifeplusAPIBean resultBean) {
-        onResult(new Event.Builder(Event.RESULT).bool(isEnabled).index(SettingViewHolder.SWITCH_PUSH).build());
+        onResult(new Event.Builder(Event.RESULT).bool(isEnabled).integer(SettingViewHolder.SWITCH_PUSH).build());
       }
 
       @Override
       public void onApiError(String errorMessage, APIError error) {
         setPushEnabledInternal(!isEnabled);
-        onResult(new Event.Builder(Event.ERROR).index(SettingViewHolder.SWITCH_PUSH).bool(isEnabled).string(errorMessage).build());
+        onResult(new Event.Builder(Event.ERROR).integer(SettingViewHolder.SWITCH_PUSH).bool(isEnabled).string(errorMessage).build());
       }
     });
 
@@ -308,13 +308,13 @@ public class SettingModel extends Model {
     disposablePush = new APIMemberPushUpdateModule().call(bean, new IAPISimpleModuleListener<LifeplusAPIBean>() {
       @Override
       public void onApiSuccess(LifeplusAPIBean resultBean) {
-        onResult(new Event.Builder(Event.RESULT).bool(isEnabled).index(SettingViewHolder.SWITCH_MARKETING).build());
+        onResult(new Event.Builder(Event.RESULT).bool(isEnabled).integer(SettingViewHolder.SWITCH_MARKETING).build());
       }
 
       @Override
       public void onApiError(String errorMessage, APIError error) {
         setPushMarketingEnabledInternal(!isEnabled);
-        onResult(new Event.Builder(Event.ERROR).index(SettingViewHolder.SWITCH_MARKETING).bool(isEnabled).string(errorMessage).build());
+        onResult(new Event.Builder(Event.ERROR).integer(SettingViewHolder.SWITCH_MARKETING).bool(isEnabled).string(errorMessage).build());
       }
     });
   }
@@ -340,13 +340,13 @@ public class SettingModel extends Model {
     disposablePush = new APIMemberPushUpdateModule().call(bean, new IAPISimpleModuleListener<LifeplusAPIBean>() {
       @Override
       public void onApiSuccess(LifeplusAPIBean resultBean) {
-        onResult(new Event.Builder(Event.RESULT).bool(isEnabled).index(SettingViewHolder.SWITCH_LOCATION).build());
+        onResult(new Event.Builder(Event.RESULT).bool(isEnabled).integer(SettingViewHolder.SWITCH_LOCATION).build());
       }
 
       @Override
       public void onApiError(String errorMessage, APIError error) {
         setLocationServiceEnabledInternal(!isEnabled);
-        onResult(new Event.Builder(Event.ERROR).index(SettingViewHolder.SWITCH_LOCATION).bool(isEnabled).string(errorMessage).build());
+        onResult(new Event.Builder(Event.ERROR).integer(SettingViewHolder.SWITCH_LOCATION).bool(isEnabled).string(errorMessage).build());
       }
     });
   }

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

@@ -383,7 +383,7 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
 
   @Override
   public void onResult(Event event) {
-    int index = event.getIndex();
+    int index = event.getInteger();
     boolean bool = event.getBool();
     switch (event.getEventId()) {
       case Event.RESULT:
@@ -426,6 +426,9 @@ public class SettingPresenter extends Presenter<SettingModel, ISettingView> {
           view.setLocationServiceEnabled(!bool);
           view.notifyUpdate();
         }
+        else if (index == Event.SETTING_LOAD) {
+          showErrorDialog(R.string.network_disconnected_message, () -> onBackPressed());
+        }
         else {
           // 설정 메인
           showErrorDialog(event.getString(), () -> onBackPressed());