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

some handlers no longer singleton

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