Fix args can be null
This commit is contained in:
@@ -263,13 +263,13 @@ object TetheringManager {
|
|||||||
@Suppress("NAME_SHADOWING") val callback = reference.get()
|
@Suppress("NAME_SHADOWING") val callback = reference.get()
|
||||||
when (val name = method.name) {
|
when (val name = method.name) {
|
||||||
"onTetheringStarted" -> {
|
"onTetheringStarted" -> {
|
||||||
if (args.isNotEmpty()) Timber.w("Unexpected args for $name: $args")
|
if (!args.isNullOrEmpty()) Timber.w("Unexpected args for $name: $args")
|
||||||
callback?.onTetheringStarted()
|
callback?.onTetheringStarted()
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
"onTetheringFailed" -> {
|
"onTetheringFailed" -> {
|
||||||
if (args.size != 1) Timber.w("Unexpected args for $name: $args")
|
if (args?.size != 1) Timber.w("Unexpected args for $name: $args")
|
||||||
callback?.onTetheringFailed(args.getOrNull(0) as? Int?)
|
callback?.onTetheringFailed(args?.getOrNull(0) as? Int?)
|
||||||
null
|
null
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
@@ -457,42 +457,43 @@ object TetheringManager {
|
|||||||
Proxy.newProxyInstance(interfaceTetheringEventCallback.classLoader,
|
Proxy.newProxyInstance(interfaceTetheringEventCallback.classLoader,
|
||||||
arrayOf(interfaceTetheringEventCallback), object : InvocationHandler {
|
arrayOf(interfaceTetheringEventCallback), object : InvocationHandler {
|
||||||
private var regexpsSent = false
|
private var regexpsSent = false
|
||||||
override fun invoke(proxy: Any, method: Method, args: Array<out Any?>): Any? {
|
override fun invoke(proxy: Any, method: Method, args: Array<out Any?>?): Any? {
|
||||||
@Suppress("NAME_SHADOWING") val callback = reference.get()
|
@Suppress("NAME_SHADOWING") val callback = reference.get()
|
||||||
|
val noArgs = args?.size ?: 0
|
||||||
when (val name = method.name) {
|
when (val name = method.name) {
|
||||||
"onTetheringSupported" -> {
|
"onTetheringSupported" -> {
|
||||||
if (args.size > 1) Timber.w("Unexpected args for $name: $args")
|
if (noArgs != 1) Timber.w("Unexpected args for $name: $args")
|
||||||
callback?.onTetheringSupported(args[0] as Boolean)
|
callback?.onTetheringSupported(args!![0] as Boolean)
|
||||||
}
|
}
|
||||||
"onUpstreamChanged" -> {
|
"onUpstreamChanged" -> {
|
||||||
if (args.size > 1) Timber.w("Unexpected args for $name: $args")
|
if (noArgs != 1) Timber.w("Unexpected args for $name: $args")
|
||||||
callback?.onUpstreamChanged(args[0] as Network?)
|
callback?.onUpstreamChanged(args!![0] as Network?)
|
||||||
}
|
}
|
||||||
"onTetherableInterfaceRegexpsChanged" -> {
|
"onTetherableInterfaceRegexpsChanged" -> {
|
||||||
if (regexpsSent) callback?.onTetherableInterfaceRegexpsChanged()
|
if (regexpsSent) callback?.onTetherableInterfaceRegexpsChanged()
|
||||||
regexpsSent = true
|
regexpsSent = true
|
||||||
}
|
}
|
||||||
"onTetherableInterfacesChanged" -> {
|
"onTetherableInterfacesChanged" -> {
|
||||||
if (args.size > 1) Timber.w("Unexpected args for $name: $args")
|
if (noArgs != 1) Timber.w("Unexpected args for $name: $args")
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
callback?.onTetherableInterfacesChanged(args[0] as List<String?>)
|
callback?.onTetherableInterfacesChanged(args!![0] as List<String?>)
|
||||||
}
|
}
|
||||||
"onTetheredInterfacesChanged" -> {
|
"onTetheredInterfacesChanged" -> {
|
||||||
if (args.size > 1) Timber.w("Unexpected args for $name: $args")
|
if (noArgs != 1) Timber.w("Unexpected args for $name: $args")
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
callback?.onTetheredInterfacesChanged(args[0] as List<String?>)
|
callback?.onTetheredInterfacesChanged(args!![0] as List<String?>)
|
||||||
}
|
}
|
||||||
"onError" -> {
|
"onError" -> {
|
||||||
if (args.size > 2) Timber.w("Unexpected args for $name: $args")
|
if (noArgs != 2) Timber.w("Unexpected args for $name: $args")
|
||||||
callback?.onError(args[0] as String, args[1] as Int)
|
callback?.onError(args!![0] as String, args[1] as Int)
|
||||||
}
|
}
|
||||||
"onClientsChanged" -> {
|
"onClientsChanged" -> {
|
||||||
if (args.size > 1) Timber.w("Unexpected args for $name: $args")
|
if (noArgs != 1) Timber.w("Unexpected args for $name: $args")
|
||||||
callback?.onClientsChanged(args[0] as Iterable<*>)
|
callback?.onClientsChanged(args!![0] as Iterable<*>)
|
||||||
}
|
}
|
||||||
"onOffloadStatusChanged" -> {
|
"onOffloadStatusChanged" -> {
|
||||||
if (args.size > 1) Timber.w("Unexpected args for $name: $args")
|
if (noArgs != 1) Timber.w("Unexpected args for $name: $args")
|
||||||
callback?.onOffloadStatusChanged(args[0] as Int)
|
callback?.onOffloadStatusChanged(args!![0] as Int)
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
Timber.w("Unexpected method, calling super: $method")
|
Timber.w("Unexpected method, calling super: $method")
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ object WifiP2pManagerHelper {
|
|||||||
val proxy = Proxy.newProxyInstance(interfacePersistentGroupInfoListener.classLoader,
|
val proxy = Proxy.newProxyInstance(interfacePersistentGroupInfoListener.classLoader,
|
||||||
arrayOf(interfacePersistentGroupInfoListener)) { proxy, method, args ->
|
arrayOf(interfacePersistentGroupInfoListener)) { proxy, method, args ->
|
||||||
if (method.name == "onPersistentGroupInfoAvailable") {
|
if (method.name == "onPersistentGroupInfoAvailable") {
|
||||||
if (args.size != 1) Timber.w(IllegalArgumentException("Unexpected args: $args"))
|
if (args?.size != 1) Timber.w(IllegalArgumentException("Unexpected args: $args"))
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
listener(getGroupList.invoke(args[0]) as Collection<WifiP2pGroup>)
|
listener(getGroupList.invoke(args[0]) as Collection<WifiP2pGroup>)
|
||||||
null
|
null
|
||||||
|
|||||||
Reference in New Issue
Block a user