fix time picker not saving/loading time

This commit is contained in:
Weiyi Wang 2019-07-28 21:23:11 -04:00 committed by xperia64
parent db0e2cba3f
commit 8ed498b94b
2 changed files with 20 additions and 9 deletions

View File

@ -22,9 +22,15 @@ public final class DateTimeSetting extends SettingsItem {
}
public StringSetting setSelectedValue(String datetime) {
StringSetting setting = new StringSetting(getKey(), getSection(), getFile(), datetime);
setSetting(setting);
return setting;
if (getSetting() == null) {
StringSetting setting = new StringSetting(getKey(), getSection(), getFile(), datetime);
setSetting(setting);
return setting;
} else {
StringSetting setting = (StringSetting) getSetting();
setting.setValue(datetime);
return null;
}
}
@Override

View File

@ -175,8 +175,8 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
dp.updateDate(Integer.parseInt(settingValue.substring(0, 4)), Integer.parseInt(settingValue.substring(5, 7)) - 1, Integer.parseInt(settingValue.substring(8, 10)));
tp.setIs24HourView(true);
tp.setCurrentHour(Integer.parseInt(settingValue.substring(11, 12)));
tp.setCurrentMinute(Integer.parseInt(settingValue.substring(14, 15)));
tp.setCurrentHour(Integer.parseInt(settingValue.substring(11, 13)));
tp.setCurrentMinute(Integer.parseInt(settingValue.substring(14, 16)));
DialogInterface.OnClickListener ok = new DialogInterface.OnClickListener() {
@Override
@ -188,13 +188,18 @@ public final class SettingsAdapter extends RecyclerView.Adapter<SettingViewHolde
}
String month = ("00" + (dp.getMonth() + 1)).substring(String.valueOf(dp.getMonth() + 1).length());
String day = ("00" + dp.getDayOfMonth()).substring(String.valueOf(dp.getDayOfMonth()).length());
String hr = ("00" + tp.getHour()).substring(String.valueOf(tp.getHour()).length());
String min = ("00" + tp.getMinute()).substring(String.valueOf(tp.getMinute()).length());
String hr = ("00" + tp.getCurrentHour()).substring(String.valueOf(tp.getCurrentHour()).length());
String min = ("00" + tp.getCurrentMinute()).substring(String.valueOf(tp.getCurrentMinute()).length());
String datetime = year + "-" + month + "-" + day + " " + hr + ":" + min + ":01";
mView.putSetting(new StringSetting(item.getKey(), item.getSection(), item.getFile(), datetime));
StringSetting setting = item.setSelectedValue(datetime);
if (setting != null) {
mView.putSetting(setting);
}
mView.onSettingChanged();
mClickedItem = null;
mSeekbarProgress = -1;
closeDialog();
}
};