TaskSetting実装

This commit is contained in:
ろむねこ 2024-06-21 12:07:01 +09:00
parent 05ef2a6b07
commit 666747312b
Signed by: Fujimatsu
GPG Key ID: FA1F39A1BA37D168

View File

@ -42,8 +42,7 @@ public class UserSettingsImpl implements UserSettings {
ApiSettingImpl apiSetting = sharedPrefUtils.getObject("api_setting", ApiSettingImpl.class);
// TODO: リフレクションつかって一括でやる(プロパティ数があまりにも増えるなら?), 三項演算子やめる?, デフォルト値の設定方法を改善する
if (apiSetting != null) {
apiBaseUrl = apiSetting.getApiBaseUrl() == null ? "https://kidshift-beta.nem.one/" :
Objects.equals(apiSetting.getApiBaseUrl(), "") ? "https://kidshift-beta.nem.one/" : apiSetting.getApiBaseUrl();
apiBaseUrl = apiSetting.apiBaseUrl.isEmpty() ? "https://kidshift-beta.nem.one/" : apiSetting.apiBaseUrl;
}
}
@ -65,28 +64,46 @@ public class UserSettingsImpl implements UserSettings {
public class TaskSettingImpl implements UserSettings.TaskSetting {
transient
SharedPrefUtils sharedPrefUtils;
int defaultIconColor;
String defaultIconEmoji;
TaskSettingImpl() {
sharedPrefUtils = sharedPrefUtilsFactory.create("user_settings");
TaskSettingImpl taskSetting = sharedPrefUtils.getObject("task_setting", TaskSettingImpl.class);
if (taskSetting != null) {
defaultIconColor = taskSetting.getDefaultIconColor() == 0 ? 0 : taskSetting.getDefaultIconColor();
defaultIconEmoji = taskSetting.getDefaultIconEmoji().isEmpty() ? "" : taskSetting.getDefaultIconEmoji();
}
}
private void save() {
sharedPrefUtils.saveObject("task_setting", this);
}
@Override
public int getDefaultIconColor() {
return 0;
return defaultIconColor;
}
@Override
public void setDefaultIconColor(int color) {
defaultIconColor = color;
save();
}
@Override
public String getDefaultIconEmoji() {
return "";
return defaultIconEmoji;
}
@Override
public void setDefaultIconEmoji(String emoji) {
defaultIconEmoji = emoji;
save();
}
}
}