Added new improvements

This commit is contained in:
Robert Vokac 2024-02-03 02:09:20 +00:00
parent 83f4e130a2
commit 56428bf9e9
No known key found for this signature in database
GPG Key ID: 693D30BEE3329055
2 changed files with 27 additions and 18 deletions

View File

@ -47,13 +47,13 @@ public class TimeCalcWindow {
public static final String WALL = "||";
private static final int MARGIN = 10;
private final String windowTitle;
private final int totalMinutes;
private final Set<Integer> alreadyShownPercents = new HashSet<>();
private final TimeHoursMinutes startTime;
private final TimeHoursMinutes overtime;
private int endHour;
private int endMinute;
private final TimeHoursMinutes endTime;
private boolean stopBeforeEnd = false;
private boolean vtipyShown = false;
@ -69,16 +69,13 @@ public class TimeCalcWindow {
this.startTime = new TimeHoursMinutes(startTimeIn);
this.overtime = new TimeHoursMinutes(overTimeIn);
this.endHour = startTime.getHour() + Constants.WORKING_HOURS_LENGTH + overtime.getHour();
this.endMinute = startTime.getMinute() + Constants.WORKING_MINUTES_LENGTH + overtime.getMinute();
while (endMinute >= 60) {
endMinute = endMinute - 60;
endHour = endHour + 1;
}
this.endTime = new TimeHoursMinutes(startTime.getHour() + Constants.WORKING_HOURS_LENGTH + overtime.getHour(),
startTime.getMinute() + Constants.WORKING_MINUTES_LENGTH + overtime.getMinute());
this.totalMinutes =
(endHour * 60 + endMinute) - (startTime.getHour() * 60 + startTime.getMinute());
(this.endTime.getHour() * TimeHoursMinutes.MINUTES_PER_HOUR + this.endTime.getMinute()) - (startTime.getHour() * TimeHoursMinutes.MINUTES_PER_HOUR + startTime.getMinute());
int totalSeconds = totalMinutes * 60;
int totalMilliseconds = totalSeconds * 1000;
int totalMilliseconds = totalSeconds * TimeHoursMinutes.MILLISECONDS_PER_SECOND;
@ -421,8 +418,8 @@ public class TimeCalcWindow {
int minuteNow = Integer.parseInt(nowString.split(":")[1]);
int secondNow = Integer.parseInt(nowString.split(":")[2]);
int millisecondNow = Integer.parseInt(nowString.split(":")[3]);
int hourRemains = endHour - hourNow;
int minuteRemains = endMinute - minuteNow;
int hourRemains = endTime.getHour() - hourNow;
int minuteRemains = endTime.getMinute() - minuteNow;
if (minuteRemains < 0) {
minuteRemains = minuteRemains + 60;
hourRemains = hourRemains - 1;
@ -498,8 +495,8 @@ public class TimeCalcWindow {
+ NumberFormats.FORMATTER_THREE_DECIMAL_PLACES
.format(totalSecondsRemainsDouble - 60)
+ " s" + ")" + " End=" + String
.format("%02d", endHour) + ":" + String
.format("%02d", endMinute);
.format("%02d", endTime.getHour()) + ":" + String
.format("%02d", endTime.getMinute());
//if(System.getProperty("progress")!=null) {
printPercentToAscii(done, msg, sb);

View File

@ -1,17 +1,20 @@
package org.nanoboot.utils.timecalc.utils;
import lombok.Getter;
import lombok.Setter;
/**
* @author Robert
* @since 21.02.2024
*/
public class TimeHoursMinutes {
public static final int MINUTES_PER_HOUR = 60;
public static final int MILLISECONDS_PER_SECOND = 1000;
@Getter
private final Integer hour;
@Getter
private final Integer minute;
@Getter @Setter
private Integer hour;
@Getter @Setter
private Integer minute;
public TimeHoursMinutes(String string) {
boolean isNegative = string.startsWith("-");
@ -22,4 +25,13 @@ public class TimeHoursMinutes {
this.hour = (isNegative ? (-1) : 1) * Integer.valueOf(array[0]);
this.minute = (isNegative ? (-1) : 1) * Integer.valueOf(array[1]);
}
public TimeHoursMinutes(int hourIn, int minuteIn) {
this.hour = hourIn;
this.minute = minuteIn;
while (minute >= MINUTES_PER_HOUR) {
minute = minute - MINUTES_PER_HOUR;
hour = hour + 1;
}
}
}