From 7382a7a36abc9e840bcb84932cbb85e3703f8d1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Mon, 24 Jun 2024 10:40:16 +0900 Subject: [PATCH] =?UTF-8?q?=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kidshift/data/impl/UserSettingsImpl.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) 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 4686f15..40d341c 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 @@ -8,6 +8,7 @@ import java.util.Objects; import javax.inject.Inject; import one.nem.kidshift.data.UserSettings; +import one.nem.kidshift.model.ParentModel; import one.nem.kidshift.utils.SharedPrefUtils; import one.nem.kidshift.utils.factory.SharedPrefUtilsFactory; @@ -35,6 +36,44 @@ public class UserSettingsImpl implements UserSettings { return new AppCommonSettingImpl(); } + @Override + public SharedPrefCache getCache() { + return new SharedPrefCacheImpl(); + } + + public class SharedPrefCacheImpl implements UserSettings.SharedPrefCache { + + transient + SharedPrefUtils sharedPrefUtils; + + ParentModel parent; + + SharedPrefCacheImpl() { + sharedPrefUtils = sharedPrefUtilsFactory.create("user_settings"); + SharedPrefCacheImpl sharedPrefCache = sharedPrefUtils.getObject("shared_pref_cache", SharedPrefCacheImpl.class); + if (sharedPrefCache != null) { + parent = sharedPrefCache.getParent(); + } else { + parent = null; + } + } + + private void save() { + sharedPrefUtils.saveObject("shared_pref_cache", this); + } + + @Override + public ParentModel getParent() { + return parent; + } + + @Override + public void setParent(ParentModel parent) { + this.parent = parent; + save(); + } + } + public class AppCommonSettingImpl implements UserSettings.AppCommonSetting { transient