This commit is contained in:
ろむねこ 2024-06-24 10:40:16 +09:00
parent 030ddd6f46
commit 7382a7a36a
Signed by: Fujimatsu
GPG Key ID: FA1F39A1BA37D168

View File

@ -8,6 +8,7 @@ import java.util.Objects;
import javax.inject.Inject; import javax.inject.Inject;
import one.nem.kidshift.data.UserSettings; import one.nem.kidshift.data.UserSettings;
import one.nem.kidshift.model.ParentModel;
import one.nem.kidshift.utils.SharedPrefUtils; import one.nem.kidshift.utils.SharedPrefUtils;
import one.nem.kidshift.utils.factory.SharedPrefUtilsFactory; import one.nem.kidshift.utils.factory.SharedPrefUtilsFactory;
@ -35,6 +36,44 @@ public class UserSettingsImpl implements UserSettings {
return new AppCommonSettingImpl(); 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 { public class AppCommonSettingImpl implements UserSettings.AppCommonSetting {
transient transient