@@ -14,7 +14,7 @@ import eu.darken.capod.pods.core.apple.protocol.ProximityPairing
14
14
import java.time.Instant
15
15
import javax.inject.Inject
16
16
17
- data class AirPodsMax2 (
17
+ data class AirPodsMaxUsbc (
18
18
override val identifier : PodDevice .Id = PodDevice .Id (),
19
19
override val seenLastAt : Instant = Instant .now(),
20
20
override val seenFirstAt : Instant = Instant .now(),
@@ -25,7 +25,7 @@ data class AirPodsMax2(
25
25
private val rssiAverage : Int? = null ,
26
26
) : SingleApplePods, HasEarDetection, HasChargeDetection, HasAppleColor {
27
27
28
- override val model: PodDevice .Model = PodDevice .Model .AIRPODS_MAX2
28
+ override val model: PodDevice .Model = PodDevice .Model .AIRPODS_MAX_USBC
29
29
30
30
override val rssi: Int
31
31
get() = rssiAverage ? : super <SingleApplePods >.rssi
@@ -39,11 +39,11 @@ data class AirPodsMax2(
39
39
class Factory @Inject constructor() : SingleApplePodsFactory(TAG ) {
40
40
41
41
override fun isResponsible (message : ProximityPairing .Message ): Boolean = message.run {
42
- getModelInfo().dirty == DEVICE_CODE_DIRTY && length == ProximityPairing .PAIRING_MESSAGE_LENGTH
42
+ getModelInfo().full == DEVICE_CODE && length == ProximityPairing .PAIRING_MESSAGE_LENGTH
43
43
}
44
44
45
45
override fun create (scanResult : BleScanResult , message : ProximityPairing .Message ): ApplePods {
46
- var basic = AirPodsMax2 (scanResult = scanResult, proximityMessage = message)
46
+ var basic = AirPodsMaxUsbc (scanResult = scanResult, proximityMessage = message)
47
47
val result = searchHistory(basic)
48
48
49
49
if (result != null ) basic = basic.copy(identifier = result.id)
@@ -63,7 +63,7 @@ data class AirPodsMax2(
63
63
}
64
64
65
65
companion object {
66
- private val DEVICE_CODE_DIRTY = 0x201F .toUByte ()
67
- private val TAG = logTag(" PodDevice" , " Apple" , " AirPods" , " Max2 " )
66
+ private val DEVICE_CODE = 0x1F20 .toUShort ()
67
+ private val TAG = logTag(" PodDevice" , " Apple" , " AirPods" , " Max " , " USBC " )
68
68
}
69
69
}
0 commit comments