diff --git a/app/src/main/java/at/lockstep/player/util/RunAccelSample.kt b/app/src/main/java/at/lockstep/player/util/RunAccelSample.kt new file mode 100644 index 0000000..d3cb502 --- /dev/null +++ b/app/src/main/java/at/lockstep/player/util/RunAccelSample.kt @@ -0,0 +1,24 @@ +package at.lockstep.player.util + +data class RunAccelSample( + /** Nanoseconds since the current song started ([android.hardware.SensorEvent.timestamp] base). */ + val timestampNanos: Long, + /** ExoPlayer position in ms when this sample was taken — frozen while paused. */ + val positionMs: Long, + val values: FloatArray, +) { + override fun equals(other: Any?): Boolean { + if (this === other) return true + if (other !is RunAccelSample) return false + return timestampNanos == other.timestampNanos && + positionMs == other.positionMs && + values.contentEquals(other.values) + } + + override fun hashCode(): Int { + var result = timestampNanos.hashCode() + result = 31 * result + positionMs.hashCode() + result = 31 * result + values.contentHashCode() + return result + } +}