Fix buggy ROM crashing app

This commit is contained in:
Mygod
2021-04-25 01:33:47 -04:00
parent 9bf099be55
commit 0a3c6b3383

View File

@@ -20,13 +20,13 @@ inline class MacAddressCompat(val addr: Long) {
val ALL_ZEROS_ADDRESS = MacAddressCompat(0) val ALL_ZEROS_ADDRESS = MacAddressCompat(0)
val ANY_ADDRESS = MacAddressCompat(2) val ANY_ADDRESS = MacAddressCompat(2)
fun bytesToString(addr: ByteArray): String { fun bytesToString(addr: ByteArray) = when (addr.size) {
require(addr.size == ETHER_ADDR_LEN) { addr.contentToString() + " was not a valid MAC address" } ETHER_ADDR_LEN -> addr.joinToString(":") { "%02x".format(it) }
return addr.joinToString(":") { "%02x".format(it) } 8 -> {
require(addr.take(2).all { it == 0.toByte() }) { "Unrecognized padding " + addr.contentToString() }
addr.drop(2).joinToString(":") { "%02x".format(it) }
} }
fun bytesToString(addr: Collection<Byte>): String { else -> throw IllegalArgumentException(addr.contentToString() + " was not a valid MAC address")
require(addr.size == ETHER_ADDR_LEN) { addr.joinToString() + " was not a valid MAC address" }
return addr.joinToString(":") { "%02x".format(it) }
} }
/** /**
@@ -91,5 +91,5 @@ inline class MacAddressCompat(val addr: Long) {
@RequiresApi(28) @RequiresApi(28)
fun toPlatform() = MacAddress.fromBytes(toList().toByteArray()) fun toPlatform() = MacAddress.fromBytes(toList().toByteArray())
override fun toString() = bytesToString(toList()) override fun toString() = toList().joinToString(":") { "%02x".format(it) }
} }