diff --git a/data/src/main/java/one/nem/kidshift/data/UserSettings.java b/data/src/main/java/one/nem/kidshift/data/UserSettings.java index aba7cb4..59bff50 100644 --- a/data/src/main/java/one/nem/kidshift/data/UserSettings.java +++ b/data/src/main/java/one/nem/kidshift/data/UserSettings.java @@ -4,9 +4,9 @@ public interface UserSettings { ApiSetting getApiSetting(); TaskSetting getTaskSetting(); - AppCommon getAppCommon(); + AppCommonSetting getAppCommon(); - interface AppCommon { + interface AppCommonSetting { boolean isLoggedIn(); void setLoggedIn(boolean loggedIn); } diff --git a/data/src/main/java/one/nem/kidshift/data/impl/UserSettingsImpl.java b/data/src/main/java/one/nem/kidshift/data/impl/UserSettingsImpl.java index a3c6726..292b62d 100644 --- a/data/src/main/java/one/nem/kidshift/data/impl/UserSettingsImpl.java +++ b/data/src/main/java/one/nem/kidshift/data/impl/UserSettingsImpl.java @@ -30,6 +30,44 @@ public class UserSettingsImpl implements UserSettings { return new TaskSettingImpl(); } + @Override + public AppCommonSetting getAppCommon() { + return new AppCommonSettingImpl(); + } + + public class AppCommonSettingImpl implements UserSettings.AppCommonSetting { + + transient + SharedPrefUtils sharedPrefUtils; + + boolean loggedIn; + + AppCommonSettingImpl() { + sharedPrefUtils = sharedPrefUtilsFactory.create("user_settings"); + AppCommonSettingImpl appCommonSetting = sharedPrefUtils.getObject("app_common_setting", AppCommonSettingImpl.class); + if (appCommonSetting != null) { + loggedIn = appCommonSetting.isLoggedIn(); + } else { + loggedIn = false; + } + } + + private void save() { + sharedPrefUtils.saveObject("app_common_setting", this); + } + + @Override + public boolean isLoggedIn() { + return loggedIn; + } + + @Override + public void setLoggedIn(boolean loggedIn) { + this.loggedIn = loggedIn; + save(); + } + } + public class ApiSettingImpl implements UserSettings.ApiSetting { transient