|
|
@@ -40,6 +40,7 @@ import kr.co.zumo.app.lifeplus.model.module.IModuleEmergencyHandler;
|
|
|
import kr.co.zumo.app.lifeplus.network.INetworkReceiverListener;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
|
|
|
import kr.co.zumo.app.lifeplus.supervisor.screen.Screen;
|
|
|
+import kr.co.zumo.app.lifeplus.util.AppUtil;
|
|
|
import kr.co.zumo.app.lifeplus.util.ResourceUtil;
|
|
|
import kr.co.zumo.app.lifeplus.util.StringUtil;
|
|
|
import kr.co.zumo.app.lifeplus.view.Event;
|
|
|
@@ -49,6 +50,7 @@ import kr.co.zumo.app.lifeplus.view.IWaiterCallable;
|
|
|
import kr.co.zumo.app.lifeplus.view.ToastProvider;
|
|
|
import kr.co.zumo.app.lifeplus.view.animation.Barrier;
|
|
|
import kr.co.zumo.app.lifeplus.view.animation.LoadingDriver;
|
|
|
+import kr.co.zumo.app.lifeplus.view.command.AppUpdateCommand;
|
|
|
import kr.co.zumo.app.lifeplus.view.command.Command;
|
|
|
import kr.co.zumo.app.lifeplus.view.command.ExitCommand;
|
|
|
import kr.co.zumo.app.lifeplus.view.command.FinishActivityCommand;
|
|
|
@@ -484,17 +486,17 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
|
|
|
/***********************************
|
|
|
* Popup - multi device
|
|
|
***********************************/
|
|
|
- private ConfirmDialog multiDeviceDialog;
|
|
|
-
|
|
|
- private void showPopupMultiDevice() {
|
|
|
- if (null == multiDeviceDialog) {
|
|
|
- Log.i("APP# Presenter | showPopupMultiDevice", "|" + " showPopupMultiDevice --------");
|
|
|
- multiDeviceDialog = DialogProvider.of(getFragmentManager()).showPopupMultiDevice(() -> {
|
|
|
- multiDeviceDialog = null;
|
|
|
- // 잠금 화면으로 이동
|
|
|
- go(ScreenID.PIN_RESET_AUTH_FROM_MULTI_DEVICE);
|
|
|
+ private ConfirmDialog appUpdateDialog;
|
|
|
+
|
|
|
+ private void showPopupAppUpdate() {
|
|
|
+ if (null == appUpdateDialog) {
|
|
|
+ Log.i("APP# Presenter | showPopupAppUpdate", "|" + " showPopupAppUpdate --------");
|
|
|
+ appUpdateDialog = DialogProvider.of(getFragmentManager()).showPopupAppUpdate(() -> {
|
|
|
+ appUpdateDialog = null;
|
|
|
+ // play store
|
|
|
+ onCommand(new AppUpdateCommand(AppUtil.getPackageName()));
|
|
|
}, () -> {
|
|
|
- multiDeviceDialog = null;
|
|
|
+ appUpdateDialog = null;
|
|
|
// 앱 종료
|
|
|
onCommand(new ExitCommand());
|
|
|
});
|
|
|
@@ -508,7 +510,7 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
|
|
|
|
|
|
private void showPopupInvalidApp() {
|
|
|
if (null == invalidAppDialog) {
|
|
|
- Log.i("APP# Presenter | showPopupMultiDevice", "|" + " showPopupMultiDevice --------");
|
|
|
+ Log.i("APP# Presenter | showPopupAppUpdate", "|" + " showPopupAppUpdate --------");
|
|
|
invalidAppDialog = DialogProvider.of(getFragmentManager()).showErrorDialog(ResourceUtil.getString(R.string.emergency_invalid_app), () -> {
|
|
|
invalidAppDialog = null;
|
|
|
// 앱 종료
|
|
|
@@ -703,9 +705,9 @@ public abstract class Presenter<M extends Model, V extends IView> implements ILi
|
|
|
/*
|
|
|
멀티 디바이스 사용 등의 경우 api 호출 시 특정 값을 반환하므로 이를 처리한다.
|
|
|
*/
|
|
|
- if (emergency.getEmergencyCode() == EmergencyBean.CODE_MULTI_DEVICE) {
|
|
|
+ if (emergency.getEmergencyCode() == EmergencyBean.CODE_FORCE_APP_UPDATE) {
|
|
|
// 멀티 디바이스
|
|
|
- showPopupMultiDevice();
|
|
|
+ showPopupAppUpdate();
|
|
|
return true;
|
|
|
}
|
|
|
else if (emergency.getEmergencyCode() == EmergencyBean.CODE_INVALID_APP) {
|