From 698644c1936d959c7b405bf459ef6a81f93fdb18 Mon Sep 17 00:00:00 2001 From: rca Date: Sat, 22 Jun 2024 15:22:55 +0900 Subject: [PATCH] =?UTF-8?q?=E5=91=BD=E5=90=8D=E4=BF=AE=E6=AD=A3,=20impl?= =?UTF-8?q?=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../one/nem/kidshift/data/UserSettings.java | 4 +- .../kidshift/data/impl/UserSettingsImpl.java | 38 +++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) 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