|
|
@@ -0,0 +1,91 @@
|
|
|
+/*
|
|
|
+ * COPYRIGHT (c) 2018 All rights reserved by HANWHA LIFE.
|
|
|
+ */
|
|
|
+package kr.co.zumo.app.lifeplus.view.screen.setting;
|
|
|
+
|
|
|
+import io.reactivex.disposables.Disposable;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.RequestBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.SettingMemberBean;
|
|
|
+import kr.co.zumo.app.lifeplus.bean.api.SettingMemberResultBean;
|
|
|
+import kr.co.zumo.app.lifeplus.model.SuperModel;
|
|
|
+import kr.co.zumo.app.lifeplus.model.module.APISettingMemberInfoLoadModule;
|
|
|
+import kr.co.zumo.app.lifeplus.model.module.IAPIModuleListener;
|
|
|
+
|
|
|
+/**
|
|
|
+ * MemberInfoModelHelper
|
|
|
+ * <pre>
|
|
|
+ * </pre>
|
|
|
+ *
|
|
|
+ * @author 민효동
|
|
|
+ * @version 1.0
|
|
|
+ * @history 민효동 [2018. 12. 3.] [최초 작성]
|
|
|
+ * @since 2018. 12. 3.
|
|
|
+ */
|
|
|
+public class MemberInfoModelHelper {
|
|
|
+ private static MemberInfoModelHelper ourInstance = new MemberInfoModelHelper();
|
|
|
+
|
|
|
+ public static MemberInfoModelHelper getInstance() {
|
|
|
+ return ourInstance;
|
|
|
+ }
|
|
|
+
|
|
|
+ private MemberInfoModelHelper() {
|
|
|
+ }
|
|
|
+
|
|
|
+ private SettingMemberBean settingMemberBean;
|
|
|
+
|
|
|
+ private Disposable disposableLoading;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 설정 기본 정보 로딩
|
|
|
+ */
|
|
|
+ public Disposable loadSettingInfo(RequestBean requestBean, IAPIModuleListener<SettingMemberResultBean> listener) {
|
|
|
+ if (null != settingMemberBean) {
|
|
|
+ SettingMemberResultBean resultBean = new SettingMemberResultBean();
|
|
|
+ resultBean.setData(settingMemberBean);
|
|
|
+ listener.onApiSuccess(resultBean);
|
|
|
+
|
|
|
+ }
|
|
|
+ else {
|
|
|
+
|
|
|
+ stopLoading();
|
|
|
+ disposableLoading = new APISettingMemberInfoLoadModule().call(requestBean, new IAPIModuleListener<SettingMemberResultBean>() {
|
|
|
+ @Override
|
|
|
+ public void onApiSuccess(SettingMemberResultBean resultBean) {
|
|
|
+ settingMemberBean = resultBean.getData();
|
|
|
+
|
|
|
+ if (null == settingMemberBean) {
|
|
|
+ listener.onApiError("invalid result");
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ SuperModel.getInstance().setUserName(settingMemberBean.getUserName());
|
|
|
+ SuperModel.getInstance().setUserEmail(settingMemberBean.getEmail());
|
|
|
+ SuperModel.getInstance().getPreferences().setPushEnabled(settingMemberBean.isAllowPush());
|
|
|
+ SuperModel.getInstance().getPreferences().setPushMarketingEnabled(settingMemberBean.isAllowPushMarketing());
|
|
|
+ SuperModel.getInstance().getPreferences().setLocationServiceEnabled(settingMemberBean.isAllowLocationService());
|
|
|
+
|
|
|
+ listener.onApiSuccess(resultBean);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onApiReason(SettingMemberResultBean resultBean) {
|
|
|
+ listener.onApiReason(resultBean);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onApiError(String errorMessage) {
|
|
|
+ listener.onApiError(errorMessage);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return disposableLoading;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ private void stopLoading() {
|
|
|
+ if (null != disposableLoading) {
|
|
|
+ disposableLoading.dispose();
|
|
|
+ disposableLoading = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|