diff --git a/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMax.kt b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMax.kt index 0d718fa2..ca8909aa 100644 --- a/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMax.kt +++ b/app-common/src/main/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMax.kt @@ -6,6 +6,7 @@ import eu.darken.capod.common.isBitSet import eu.darken.capod.pods.core.HasEarDetection import eu.darken.capod.pods.core.PodDevice import eu.darken.capod.pods.core.apple.ApplePods +import eu.darken.capod.pods.core.apple.HasAppleColor import eu.darken.capod.pods.core.apple.SingleApplePods import eu.darken.capod.pods.core.apple.SingleApplePodsFactory import eu.darken.capod.pods.core.apple.protocol.ProximityPairing @@ -21,7 +22,7 @@ data class AirPodsMax( override val proximityMessage: ProximityPairing.Message, override val confidence: Float = PodDevice.BASE_CONFIDENCE, private val rssiAverage: Int? = null, -) : SingleApplePods, HasEarDetection, HasStateDetectionAirPods { +) : SingleApplePods, HasEarDetection, HasAppleColor { override val model: PodDevice.Model = PodDevice.Model.AIRPODS_MAX diff --git a/app-common/src/test/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMaxTest.kt b/app-common/src/test/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMaxTest.kt index 9ca5d6b1..dafa73d1 100644 --- a/app-common/src/test/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMaxTest.kt +++ b/app-common/src/test/java/eu/darken/capod/pods/core/apple/airpods/AirPodsMaxTest.kt @@ -2,6 +2,7 @@ package eu.darken.capod.pods.core.apple.airpods import eu.darken.capod.pods.core.PodDevice import eu.darken.capod.pods.core.apple.BaseAirPodsTest +import eu.darken.capod.pods.core.apple.HasAppleColor import io.kotest.matchers.shouldBe import kotlinx.coroutines.test.runTest import org.junit.jupiter.api.Test @@ -53,4 +54,27 @@ class AirPodsMaxTest : BaseAirPodsTest() { isHeadphonesBeingWorn shouldBe true } } + + @Test + fun `some dude at the gym`() = runTest { + create("07 19 01 0A 20 23 07 80 03 03 65 1F 28 32 D0 D9 71 43 00 9A 40 E7 6B EA 6C 2C FB") { + rawPrefix shouldBe 0x01.toUByte() + rawDeviceModel shouldBe 0x0A20.toUShort() + rawStatus shouldBe 0x23.toUByte() + rawPodsBattery shouldBe 0x07.toUByte() + rawFlags shouldBe 0x8.toUShort() + rawCaseBattery shouldBe 0x0.toUShort() + rawCaseLidState shouldBe 0x03.toUByte() + rawDeviceColor shouldBe 0x03.toUByte() + rawSuffix shouldBe 0x65.toUByte() + + batteryHeadsetPercent shouldBe 0.7f + + isHeadsetBeingCharged shouldBe false + + isHeadphonesBeingWorn shouldBe true + + podStyle shouldBe HasAppleColor.DeviceColor.BLUE + } + } } \ No newline at end of file