Compare commits

...

6 Commits

Author SHA1 Message Date
SZIMNAU
12c8898252 reverted 'verschlimmbesserung' trying to improve end time calculation 2026-01-06 15:57:41 +01:00
fszimnau
9e65158901 fixed method name 2026-01-06 08:26:55 +01:00
fszimnau
67c341a091 - added constant and renamed existing for clearer naming
- added comment about existing inprecision
2026-01-05 11:21:13 +01:00
fszimnau
c74d63c178 better method naming 2026-01-05 11:19:17 +01:00
fszimnau
5f2c7ffeab added missing argument 2026-01-05 11:17:58 +01:00
fszimnau
8d1e6aed7a more precise calculation 2026-01-05 10:41:00 +01:00
3 changed files with 10 additions and 6 deletions

View File

@@ -21,7 +21,8 @@ public class DrinkingBar extends AbstractLoadingBar implements WorkdayLoadingBar
private static final int MINS_PER_HALF_HOUR = CommonTools.MINS_PER_HOUR / 2;
private static final int MINUTES_BEFORE_PAUSE = 4 * CommonTools.MINS_PER_HOUR + MINS_PER_HALF_HOUR;
private static final int MINUTES_WITH_PAUSE = 6 * CommonTools.MINS_PER_HOUR;
private static final int MAX_MINUTES_WITHOUT_PAUSE = 6 * CommonTools.MINS_PER_HOUR;
private static final int MAX_MINUTES_WITH_PAUSE = 6 * CommonTools.MINS_PER_HOUR;
private static final int DEFAULT_TOTAL_TIME = 8 * CommonTools.MINS_PER_HOUR + MINS_PER_HALF_HOUR;
private static final BigDecimal DEFAULT_TOTAL_TIME_BD = BigDecimal.valueOf(DEFAULT_TOTAL_TIME);
private static final BigDecimal DEFAULT_TOTAL_LITRES = BigDecimal.valueOf(2.0);
@@ -65,7 +66,10 @@ public class DrinkingBar extends AbstractLoadingBar implements WorkdayLoadingBar
@Override
protected String fillLoadingBar(long passedMinutes, boolean progressive) {
long effectivePassedMinutes = passedMinutes < 0 ? 0 : passedMinutes;
if (getTotalMinutes() > MINUTES_WITH_PAUSE && passedMinutes > MINUTES_BEFORE_PAUSE && passedMinutes <= MINUTES_WITH_PAUSE) {
/* the pause in counting up passed minutes could be more precise.
there IS a way to find out how LONG the lunch break was (known until WorkdayLoadingBar.realInitZapfenstreich),
but NOT the exact time slot from when to when the lunch break did take place... */
if (getTotalMinutes() > MAX_MINUTES_WITHOUT_PAUSE && passedMinutes > MINUTES_BEFORE_PAUSE && passedMinutes <= MAX_MINUTES_WITH_PAUSE) {
effectivePassedMinutes = MINUTES_BEFORE_PAUSE;
}
var effectivePassedMinutesBD = BigDecimal.valueOf(effectivePassedMinutes);

View File

@@ -20,12 +20,12 @@ public interface WorkdayLoadingBar {
void showLoadingBar(boolean debug, boolean passedMinutesZero);
default boolean hasMittagspauseArrived() {
return hasMittagspauseArrived(false);
default boolean couldHaveHadNoMittagspauseYet() {
return couldHaveHadNoMittagspauseYet(false);
}
default boolean hasMittagspauseArrived(boolean debugWithPassedMinutesZero) {
default boolean couldHaveHadNoMittagspauseYet(boolean debugWithPassedMinutesZero) {
return getPassedMinutes(debugWithPassedMinutesZero) < DEFAULT_NUMBER_WORK_MINS_BEFORE_LUNCH;
}

View File

@@ -61,7 +61,7 @@ public class LoadingBarCliTools {
WorkdayLoadingBar lb = constructor.apply(startTime);
boolean debug = false;
boolean passedMinutesZero = false;
if (lb.hasMittagspauseArrived(debug && passedMinutesZero)) {
if (lb.couldHaveHadNoMittagspauseYet(debug && passedMinutesZero)) {
handleMittagspause(br, lb);
lb.showLoadingBar(debug, passedMinutesZero);
}