diff --git a/app/src/main/java/eu/darken/capod/pods/core/apple/PodModel.kt b/app/src/main/java/eu/darken/capod/pods/core/apple/PodModel.kt index af920971..f7f7f7c6 100644 --- a/app/src/main/java/eu/darken/capod/pods/core/apple/PodModel.kt +++ b/app/src/main/java/eu/darken/capod/pods/core/apple/PodModel.kt @@ -22,6 +22,7 @@ enum class PodModel( Features( hasDualPods = true, hasCase = true, + hasMicrophoneMode = true, ), modelNumbers = setOf("A1523", "A1722"), // L/R earphones leftPodIconRes = R.drawable.device_airpods_gen1_left, @@ -36,6 +37,7 @@ enum class PodModel( Features( hasDualPods = true, hasCase = true, + hasMicrophoneMode = true, ), modelNumbers = setOf("A2031", "A2032"), // L/R earphones leftPodIconRes = R.drawable.device_airpods_gen1_left, @@ -50,6 +52,10 @@ enum class PodModel( Features( hasDualPods = true, hasCase = true, + hasPressSpeed = true, + hasPressHoldDuration = true, + hasToneVolume = true, + hasMicrophoneMode = true, ), modelNumbers = setOf("A2564", "A2565"), // L/R earphones leftPodIconRes = R.drawable.device_airpods_gen3_left, @@ -65,6 +71,9 @@ enum class PodModel( hasDualPods = true, hasCase = true, hasEarDetection = true, + hasPressSpeed = true, + hasPressHoldDuration = true, + hasToneVolume = true, hasMicrophoneMode = true, hasEarDetectionToggle = true, hasSleepDetection = true, @@ -241,6 +250,8 @@ enum class PodModel( hasPressHoldDuration = true, hasToneVolume = true, hasEarDetectionToggle = true, + hasListeningModeCycle = true, + hasAllowOffOption = true, ), modelNumbers = setOf("A2096"), // headphones ), @@ -256,6 +267,8 @@ enum class PodModel( hasPressHoldDuration = true, hasToneVolume = true, hasEarDetectionToggle = true, + hasListeningModeCycle = true, + hasAllowOffOption = true, ), modelNumbers = setOf("A3184"), // headphones ), diff --git a/app/src/test/java/eu/darken/capod/pods/core/apple/aap/devices/DefaultAapDeviceProfileNewSettingsTest.kt b/app/src/test/java/eu/darken/capod/pods/core/apple/aap/devices/DefaultAapDeviceProfileNewSettingsTest.kt index d00e42fc..94ae0023 100644 --- a/app/src/test/java/eu/darken/capod/pods/core/apple/aap/devices/DefaultAapDeviceProfileNewSettingsTest.kt +++ b/app/src/test/java/eu/darken/capod/pods/core/apple/aap/devices/DefaultAapDeviceProfileNewSettingsTest.kt @@ -316,25 +316,30 @@ class DefaultAapDeviceProfileNewSettingsTest : BaseAapSessionTest() { f.hasSleepDetection shouldBe false } - @Test fun `Gen 4 has mic, ear detection, sleep but no stem config`() { + @Test fun `Gen 4 has mic, ear detection, sleep, press and tone but no stem config`() { val f = PodModel.AIRPODS_GEN4.features f.hasMicrophoneMode shouldBe true f.hasEarDetectionToggle shouldBe true + f.hasPressSpeed shouldBe true + f.hasPressHoldDuration shouldBe true + f.hasToneVolume shouldBe true f.hasListeningModeCycle shouldBe false f.hasStemConfig shouldBe false f.hasSleepDetection shouldBe true } - @Test fun `Max has ear detection toggle only`() { + @Test fun `Max has ear detection toggle and listening mode cycle`() { val f = PodModel.AIRPODS_MAX.features f.hasMicrophoneMode shouldBe false f.hasEarDetectionToggle shouldBe true + f.hasListeningModeCycle shouldBe true + f.hasAllowOffOption shouldBe true f.hasStemConfig shouldBe false } - @Test fun `Gen 1 has no new flags`() { + @Test fun `Gen 1 has mic mode only`() { val f = PodModel.AIRPODS_GEN1.features - f.hasMicrophoneMode shouldBe false + f.hasMicrophoneMode shouldBe true f.hasEarDetectionToggle shouldBe false f.hasListeningModeCycle shouldBe false f.hasStemConfig shouldBe false