Fix class not found on lower Android versions

This commit is contained in:
Mygod
2021-07-25 04:13:10 -04:00
parent 00b869397d
commit 6ed3044dfc

View File

@@ -274,23 +274,18 @@ object WifiApManager {
@Suppress("UNCHECKED_CAST") @Suppress("UNCHECKED_CAST")
callback.onInfoChanged(args!![0] as List<Parcelable>) callback.onInfoChanged(args!![0] as List<Parcelable>)
} }
method.matches("onInfoChanged", SoftApInfo.clazz) -> @TargetApi(30) { Build.VERSION.SDK_INT >= 30 && method.matches("onInfoChanged", SoftApInfo.clazz) -> {
when (Build.VERSION.SDK_INT) { if (Build.VERSION.SDK_INT >= 31) return null // ignore old version calls
30 -> { }
in 31..Int.MAX_VALUE -> return null // ignore old version calls
else -> Timber.w(Exception("Unexpected onInfoChanged API 30"))
}
val arg = args!![0] val arg = args!![0]
val info = SoftApInfo(arg as Parcelable) val info = SoftApInfo(arg as Parcelable)
callback.onInfoChanged( // check for legacy empty info with CHANNEL_WIDTH_INVALID callback.onInfoChanged( // check for legacy empty info with CHANNEL_WIDTH_INVALID
if (info.frequency == 0 && info.bandwidth == 0) emptyList() else listOf(arg)) if (info.frequency == 0 && info.bandwidth == 0) emptyList() else listOf(arg))
} }
method.matches("onCapabilityChanged", SoftApCapability.clazz) -> @TargetApi(30) { Build.VERSION.SDK_INT >= 30 && method.matches("onCapabilityChanged", SoftApCapability.clazz) -> {
if (Build.VERSION.SDK_INT < 30) Timber.w(Exception("Unexpected onCapabilityChanged"))
callback.onCapabilityChanged(args!![0] as Parcelable) callback.onCapabilityChanged(args!![0] as Parcelable)
} }
method.matches("onBlockedClientConnecting", WifiClient.clazz, Int::class.java) -> @TargetApi(30) { Build.VERSION.SDK_INT >= 30 && method.matches("onBlockedClientConnecting", WifiClient.clazz,
if (Build.VERSION.SDK_INT < 30) Timber.w(Exception("Unexpected onBlockedClientConnecting")) Int::class.java) -> {
callback.onBlockedClientConnecting(args!![0] as Parcelable, args[1] as Int) callback.onBlockedClientConnecting(args!![0] as Parcelable, args[1] as Int)
} }
else -> callSuper(interfaceSoftApCallback, proxy, method, args) else -> callSuper(interfaceSoftApCallback, proxy, method, args)