From a652f51651a1341770adb4a6f3851abd4335d566 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 31 Aug 2023 15:33:30 +0200 Subject: [PATCH] DanaRHistory activity fix --- pump/dana/src/main/res/layout/danar_history_activity.xml | 3 ++- .../nightscout/androidaps/danaRv2/comm/MsgHistoryEventsV2.kt | 2 +- .../pump/danars/comm/DanaRSPacketAPSHistoryEvents.kt | 4 ++-- .../nightscout/pump/danars/comm/DanaRSPacketHistoryBolus.kt | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/pump/dana/src/main/res/layout/danar_history_activity.xml b/pump/dana/src/main/res/layout/danar_history_activity.xml index d86ba24236..a02f7c67d9 100644 --- a/pump/dana/src/main/res/layout/danar_history_activity.xml +++ b/pump/dana/src/main/res/layout/danar_history_activity.xml @@ -18,7 +18,8 @@ android:hint="@string/event_type" app:layout_constraintBottom_toTopOf="@+id/status" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintStart_toStartOf="parent"> + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> = messageBuffer.toTypedArray() - val sorted = array.sortedArrayWith { s1: ByteArray, s2: ByteArray -> (dateTime(s1) - dateTime(s2)).toInt() } + val sorted = array.sortedArrayWith { s1: ByteArray, s2: ByteArray -> dateTime(s1).compareTo(dateTime(s2)) } for (message in sorted) processMessage(message) danaPump.historyDoneReceived = true } else messageBuffer.add(bytes) diff --git a/pump/danars/src/main/java/info/nightscout/pump/danars/comm/DanaRSPacketAPSHistoryEvents.kt b/pump/danars/src/main/java/info/nightscout/pump/danars/comm/DanaRSPacketAPSHistoryEvents.kt index 9b948b0768..cbde42fe50 100644 --- a/pump/danars/src/main/java/info/nightscout/pump/danars/comm/DanaRSPacketAPSHistoryEvents.kt +++ b/pump/danars/src/main/java/info/nightscout/pump/danars/comm/DanaRSPacketAPSHistoryEvents.kt @@ -76,7 +76,7 @@ open class DanaRSPacketAPSHistoryEvents( aapsLogger.debug(LTag.PUMPCOMM, "Last record received") val array: Array = messageBuffer.toTypedArray() - val sorted = array.sortedArrayWith { s1: ByteArray, s2: ByteArray -> (dateTime(s1) - dateTime(s2)).toInt() } + val sorted = array.sortedArrayWith { s1: ByteArray, s2: ByteArray -> dateTime(s1).compareTo(dateTime(s2)) } for (index in sorted.indices) { val message = sorted[index] // workaround for RS history bug @@ -102,7 +102,7 @@ open class DanaRSPacketAPSHistoryEvents( } else messageBuffer.add(data) } - fun dateTime(data: ByteArray): Long = + private fun dateTime(data: ByteArray): Long = if (!danaPump.usingUTC) dateTimeSecFromBuff(data, 1) // 6 bytes else intFromBuffMsbLsb(data, 3, 4) * 1000L diff --git a/pump/danars/src/main/java/info/nightscout/pump/danars/comm/DanaRSPacketHistoryBolus.kt b/pump/danars/src/main/java/info/nightscout/pump/danars/comm/DanaRSPacketHistoryBolus.kt index c81f29e812..9752f9dd06 100644 --- a/pump/danars/src/main/java/info/nightscout/pump/danars/comm/DanaRSPacketHistoryBolus.kt +++ b/pump/danars/src/main/java/info/nightscout/pump/danars/comm/DanaRSPacketHistoryBolus.kt @@ -4,7 +4,7 @@ import dagger.android.HasAndroidInjector import info.nightscout.androidaps.danars.encryption.BleEncryption import info.nightscout.rx.logging.LTag -class DanaRSPacketHistoryBolus constructor( +class DanaRSPacketHistoryBolus( injector: HasAndroidInjector, from: Long = 0 ) : DanaRSPacketHistory(injector, from) {