Is it somehow possible to make when
String
comparison case insensitive by default?
when (subtype.toLowerCase()) {
MessagingClient.RTC_SUBTYPE.sdp.toString().toLowerCase() -> onSDPMessageReceived(topic, sender, data!!)
MessagingClient.RTC_SUBTYPE.bye.toString().toLowerCase() -> onRTCBYEMessageReceived(topic, sender)
MessagingClient.RTC_SUBTYPE.negotiationOffer.toString().toLowerCase() -> onNegotiationOfferMessageReceived(sender, data!!)
}
This has too much repetetive code! Also note that MessagingClient.RTC_SUBTYPE
is enum class
and subtype
on the first line is received from some client, so we must treat it accordingly.