Просмотр исходного кода

[공통][Bug] ScreenIDMapper destroy 추가

hyodong.min 7 лет назад
Родитель
Сommit
10fa3668c4

+ 2 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/activity/MainActivity.java

@@ -15,6 +15,7 @@ import kr.co.zumo.app.lifeplus.supervisor.DialogHelper;
 import kr.co.zumo.app.lifeplus.supervisor.FragmentSkipBackChanger;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenChanger;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenChangerHelper;
+import kr.co.zumo.app.lifeplus.supervisor.ScreenIDMapper;
 import kr.co.zumo.app.lifeplus.view.screen.FragmentBase;
 import kr.co.zumo.app.lifeplus.view.screen.factory.BasicFragmentFactory;
 import kr.co.zumo.app.lifeplus.view.screen.factory.FragmentFactory;
@@ -74,6 +75,7 @@ public class MainActivity extends AppCompatActivity {
 
     ActionBarManager.getInstance().destroy();
     ActionButtonManager.getInstance().destroy();
+    ScreenIDMapper.getInstance().destroy();
 
     super.onDestroy();
   }

+ 2 - 1
app/src/main/java/kr/co/zumo/app/lifeplus/activity/ScreenStarter.java

@@ -78,6 +78,7 @@ public class ScreenStarter {
        *   - 일시 중지 > 위와 같음
        *
        */
+      ScreenIDMapper.getInstance().toMember().print();
       login(userId);
     }
 //    else if (preferences.isPermissionInfoDone() == false) {
@@ -88,7 +89,7 @@ public class ScreenStarter {
     }
     else if (StringUtil.isEmpty(userId)) {
       // 비회원;
-      ScreenIDMapper.getInstance().toGuest();
+      ScreenIDMapper.getInstance().toGuest().print();
 
       gotoScreen(START_FROM_MAIN);
     }

+ 14 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/supervisor/ScreenIDMapper.java

@@ -42,7 +42,6 @@ public class ScreenIDMapper {
     }
     map.put(originId, mappingId);
 
-    print();
   }
 
   public void remove(@ScreenID.FragmentID int originId) {
@@ -51,7 +50,6 @@ public class ScreenIDMapper {
     }
     map.remove(originId);
 
-    print();
   }
 
   /**
@@ -72,7 +70,7 @@ public class ScreenIDMapper {
     return (int) value;
   }
 
-  private void print() {
+  public void print() {
     Log.w("APP# ScreenStarterIDMapper | put", "|" + " --------------------- Screen ID Map ----------------------------------");
     for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
       int key = entry.getKey();
@@ -85,19 +83,30 @@ public class ScreenIDMapper {
   /**
    * 비회원으로 세팅
    */
-  public void toGuest() {
+  public ScreenIDMapper toGuest() {
     put(ScreenID.ALL_MENU, ScreenID.ALL_MENU_GUEST);
     put(ScreenID.MY_MAIN, ScreenID.MY_MAIN_GUEST);
 
     // todo 게스트가 갈 수 없는 화면을 Main 으로 맵핑 필요
+
+    return this;
   }
 
   /**
    * 회원으로 세팅
    */
-  public void toMember() {
+  public ScreenIDMapper toMember() {
     remove(ScreenID.ALL_MENU);
     remove(ScreenID.MY_MAIN);
+
+    return this;
+  }
+
+  /**
+   * dispose
+   */
+  public void destroy() {
+    map = null;
   }
 
 }

+ 2 - 2
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/main/MainFragment.java

@@ -136,7 +136,7 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
     button = findViewById(R.id.button_set_account);
     button.setOnClickListener(v -> {
       SuperModel.getInstance().setUserId("201810050000000047"); // 효동앱
-      ScreenIDMapper.getInstance().toMember();
+      ScreenIDMapper.getInstance().toMember().print();
 
       render();
     });
@@ -189,7 +189,7 @@ public class MainFragment extends FragmentBase<MainPresenter> implements IMainVi
     SuperModel.getInstance().getPreferences().setTutorialDone(false);
     SuperModel.getInstance().clearMemberData();
 
-    ScreenIDMapper.getInstance().toGuest();
+    ScreenIDMapper.getInstance().toGuest().print();
 
     render();
   }

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

@@ -114,7 +114,7 @@ public class SettingMemberQuitRequestModel extends Model {
     SuperModel.getInstance().clearMemberData();
 
     // 게스트용 화면으로 세팅
-    ScreenIDMapper.getInstance().toGuest();
+    ScreenIDMapper.getInstance().toGuest().print();
   }
 
 }