From 00b869397dc2d028706a1a6fe5d323302a1e868b Mon Sep 17 00:00:00 2001 From: Mygod Date: Sun, 25 Jul 2021 01:25:30 -0400 Subject: [PATCH] Fix Kotlin stupid bug (KT-47881) --- .../java/be/mygod/vpnhotspot/net/TetheringManager.kt | 10 ++++++---- .../java/be/mygod/vpnhotspot/net/wifi/WifiApManager.kt | 4 ++-- mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt | 2 -- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/TetheringManager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/TetheringManager.kt index dd9da97c..8fc28bec 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/net/TetheringManager.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/TetheringManager.kt @@ -280,7 +280,9 @@ object TetheringManager { @Suppress("NAME_SHADOWING") val callback = reference.get() return when { method.matches("onTetheringStarted") -> callback?.onTetheringStarted() - method.matches1("onTetheringFailed") -> callback?.onTetheringFailed(args?.get(0) as Int) + method.matches("onTetheringFailed", Integer.TYPE) -> { + callback?.onTetheringFailed(args?.get(0) as Int) + } else -> callSuper(interfaceStartTetheringCallback, proxy, method, args) } } @@ -539,7 +541,7 @@ object TetheringManager { @Suppress("NAME_SHADOWING") val callback = reference.get() return when { - method.matches1("onTetheringSupported") -> { + method.matches("onTetheringSupported", Boolean::class.java) -> { callback?.onTetheringSupported(args!![0] as Boolean) } method.matches1("onUpstreamChanged") -> { @@ -559,13 +561,13 @@ object TetheringManager { @Suppress("UNCHECKED_CAST") callback?.onTetheredInterfacesChanged(args!![0] as List) } - method.matches2("onError") -> { + method.matches("onError", String::class.java, Integer.TYPE) -> { callback?.onError(args!![0] as String, args[1] as Int) } method.matches1>("onClientsChanged") -> { callback?.onClientsChanged(args!![0] as Collection<*>) } - method.matches1("onOffloadStatusChanged") -> { + method.matches("onOffloadStatusChanged", Integer.TYPE) -> { callback?.onOffloadStatusChanged(args!![0] as Int) } else -> callSuper(interfaceTetheringEventCallback, proxy, method, args) diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiApManager.kt b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiApManager.kt index 46438958..2afad6a0 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiApManager.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/net/wifi/WifiApManager.kt @@ -257,10 +257,10 @@ object WifiApManager { private fun invokeActual(proxy: Any, method: Method, args: Array?): Any? { return when { - method.matches2("onStateChanged") -> { + method.matches("onStateChanged", Integer.TYPE, Integer.TYPE) -> { callback.onStateChanged(args!![0] as Int, args[1] as Int) } - method.matches1("onNumClientsChanged") -> @Suppress("DEPRECATION") { + method.matches("onNumClientsChanged", Integer.TYPE) -> @Suppress("DEPRECATION") { if (Build.VERSION.SDK_INT >= 30) Timber.w(Exception("Unexpected onNumClientsChanged")) callback.onNumClientsChanged(args!![0] as Int) } diff --git a/mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt b/mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt index 49cb547f..51aad9ee 100644 --- a/mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt +++ b/mobile/src/main/java/be/mygod/vpnhotspot/util/Utils.kt @@ -58,8 +58,6 @@ fun Method.matches(name: String, vararg classes: Class<*>) = this.name == name & (0 until parameterCount).all { i -> parameters[i].type == classes[i] } @RequiresApi(26) inline fun Method.matches1(name: String) = matches(name, T::class.java) -@RequiresApi(26) -inline fun Method.matches2(name: String) = matches(name, T0::class.java, T1::class.java) fun Context.ensureReceiverUnregistered(receiver: BroadcastReceiver) { try {