Files
OpenTracks/src/main/java/de/dennisguse/opentracks/data/models/Cadence.java
T
2022-08-21 22:02:49 +02:00

57 lines
1.2 KiB
Java

package de.dennisguse.opentracks.data.models;
import androidx.annotation.NonNull;
import java.time.Duration;
import java.util.Objects;
public class Cadence {
public static Cadence of(float value, Duration duration) {
if (duration.isZero()) {
return zero();
}
return new Cadence(value / (duration.toMillis() / (float) Duration.ofMinutes(1).toMillis()));
}
public static Cadence of(float value_rpm) {
return new Cadence(value_rpm);
}
public static Cadence zero() {
return of(0.0f);
}
private final float value_rpm;
private Cadence(float value) {
this.value_rpm = value;
}
public float getRPM() {
return value_rpm;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Cadence cadence = (Cadence) o;
return Float.compare(cadence.value_rpm, value_rpm) == 0;
}
@Override
public int hashCode() {
return Objects.hash(value_rpm);
}
@NonNull
@Override
public String toString() {
return "Cadence{" +
"value=" + value_rpm + " rpm" +
'}';
}
}