提交 1f64e8f4 authored 作者: JarvanMo's avatar JarvanMo

some handlers no longer singleton

上级 862043a1
...@@ -24,19 +24,26 @@ import io.flutter.plugin.common.MethodChannel.MethodCallHandler ...@@ -24,19 +24,26 @@ import io.flutter.plugin.common.MethodChannel.MethodCallHandler
import io.flutter.plugin.common.MethodChannel.Result import io.flutter.plugin.common.MethodChannel.Result
import io.flutter.plugin.common.PluginRegistry.Registrar import io.flutter.plugin.common.PluginRegistry.Registrar
class FluwxPlugin(private var registrar: Registrar) : MethodCallHandler { class FluwxPlugin(private val registrar: Registrar,private val channel: MethodChannel) : MethodCallHandler {
companion object { companion object {
@JvmStatic @JvmStatic
fun registerWith(registrar: Registrar): Unit { fun registerWith(registrar: Registrar): Unit {
val channel = MethodChannel(registrar.messenger(), "com.jarvanmo/fluwx") val channel = MethodChannel(registrar.messenger(), "com.jarvanmo/fluwx")
WXAPiHandler.setRegistrar(registrar) WXAPiHandler.setRegistrar(registrar)
FluwxShareHandler.setRegistrar(registrar)
FluwxShareHandler.setMethodChannel(channel)
FluwxResponseHandler.setMethodChannel(channel) FluwxResponseHandler.setMethodChannel(channel)
channel.setMethodCallHandler(FluwxPlugin(registrar)) channel.setMethodCallHandler(FluwxPlugin(registrar,channel))
} }
} }
private val fluwxShareHandler = FluwxShareHandler()
private val fluwxAuthHandler = FluwxAuthHandler()
private val fluwxPayHandler =FluwxPayHandler()
init {
fluwxShareHandler.setRegistrar(registrar)
fluwxShareHandler.setMethodChannel(channel)
}
override fun onMethodCall(call: MethodCall, result: Result): Unit { override fun onMethodCall(call: MethodCall, result: Result): Unit {
if (call.method == WeChatPluginMethods.REGISTER_APP) { if (call.method == WeChatPluginMethods.REGISTER_APP) {
WXAPiHandler.registerApp(call, result) WXAPiHandler.registerApp(call, result)
...@@ -56,17 +63,17 @@ class FluwxPlugin(private var registrar: Registrar) : MethodCallHandler { ...@@ -56,17 +63,17 @@ class FluwxPlugin(private var registrar: Registrar) : MethodCallHandler {
} }
if ("sendAuth" == call.method) { if ("sendAuth" == call.method) {
FluwxAuthHandler.sendAuth(call, result) fluwxAuthHandler.sendAuth(call, result)
return return
} }
if (call.method == WeChatPluginMethods.PAY) { if (call.method == WeChatPluginMethods.PAY) {
FluwxPayHandler.pay(call, result) fluwxPayHandler.pay(call, result)
return return
} }
if (call.method.startsWith("share")) { if (call.method.startsWith("share")) {
FluwxShareHandler.handle(call, result) fluwxShareHandler.handle(call, result)
} else { } else {
result.notImplemented() result.notImplemented()
} }
......
...@@ -20,7 +20,7 @@ import com.tencent.mm.opensdk.modelmsg.SendAuth ...@@ -20,7 +20,7 @@ import com.tencent.mm.opensdk.modelmsg.SendAuth
import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel
internal object FluwxAuthHandler { internal class FluwxAuthHandler {
fun sendAuth(call: MethodCall, result: MethodChannel.Result) { fun sendAuth(call: MethodCall, result: MethodChannel.Result) {
val req = SendAuth.Req() val req = SendAuth.Req()
......
...@@ -22,7 +22,7 @@ import com.tencent.mm.opensdk.openapi.WXAPIFactory ...@@ -22,7 +22,7 @@ import com.tencent.mm.opensdk.openapi.WXAPIFactory
import io.flutter.plugin.common.MethodCall import io.flutter.plugin.common.MethodCall
import io.flutter.plugin.common.MethodChannel import io.flutter.plugin.common.MethodChannel
object FluwxPayHandler { class FluwxPayHandler {
fun pay(call: MethodCall, result: MethodChannel.Result) { fun pay(call: MethodCall, result: MethodChannel.Result) {
......
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
*/ */
package com.jarvan.fluwx.handler package com.jarvan.fluwx.handler
import android.util.Log
import com.jarvan.fluwx.constant.WeChatPluginMethods import com.jarvan.fluwx.constant.WeChatPluginMethods
import com.jarvan.fluwx.constant.WechatPluginKeys import com.jarvan.fluwx.constant.WechatPluginKeys
import com.tencent.mm.opensdk.modelbase.BaseResp import com.tencent.mm.opensdk.modelbase.BaseResp
......
...@@ -33,7 +33,7 @@ import kotlinx.coroutines.experimental.android.UI ...@@ -33,7 +33,7 @@ import kotlinx.coroutines.experimental.android.UI
* 冷风如刀,以大地为砧板,视众生为鱼肉。 * 冷风如刀,以大地为砧板,视众生为鱼肉。
* 万里飞雪,将穹苍作烘炉,熔万物为白银。 * 万里飞雪,将穹苍作烘炉,熔万物为白银。
**/ **/
internal object FluwxShareHandler { internal class FluwxShareHandler {
private var channel: MethodChannel? = null private var channel: MethodChannel? = null
...@@ -42,12 +42,12 @@ internal object FluwxShareHandler { ...@@ -42,12 +42,12 @@ internal object FluwxShareHandler {
fun setMethodChannel(channel: MethodChannel) { fun setMethodChannel(channel: MethodChannel) {
FluwxShareHandler.channel = channel this.channel = channel
} }
fun setRegistrar(registrar: PluginRegistry.Registrar) { fun setRegistrar(registrar: PluginRegistry.Registrar) {
FluwxShareHandler.registrar = registrar this.registrar = registrar
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论