Fix
This commit is contained in:
		
							parent
							
								
									3a9355aff4
								
							
						
					
					
						commit
						424a96c3fc
					
				| @ -1,21 +1,16 @@ | ||||
| package ru.yoomoney.sdk.kassa.payments.flutter | ||||
| 
 | ||||
| import android.graphics.Color; | ||||
| import android.graphics.Color | ||||
| import android.app.Activity | ||||
| import android.content.Context | ||||
| import android.content.Intent | ||||
| import android.os.Bundle | ||||
| import android.widget.Toast | ||||
| import androidx.annotation.NonNull | ||||
| import io.flutter.embedding.android.FlutterActivity | ||||
| import io.flutter.embedding.engine.FlutterEngine | ||||
| import io.flutter.embedding.engine.plugins.FlutterPlugin | ||||
| import io.flutter.plugin.common.MethodCall | ||||
| import io.flutter.plugin.common.MethodChannel | ||||
| import io.flutter.plugin.common.MethodChannel.MethodCallHandler | ||||
| import io.flutter.plugin.common.MethodChannel.Result | ||||
| import io.flutter.plugin.common.PluginRegistry | ||||
| import io.flutter.plugin.common.PluginRegistry.Registrar | ||||
| import io.flutter.embedding.engine.plugins.activity.ActivityAware | ||||
| import io.flutter.embedding.engine.plugins.activity.ActivityPluginBinding | ||||
| import java.io.StringReader | ||||
| @ -24,7 +19,7 @@ import java.util.Currency | ||||
| import ru.yoomoney.sdk.kassa.payments.checkoutParameters.Amount | ||||
| import ru.yoomoney.sdk.kassa.payments.Checkout | ||||
| import ru.yoomoney.sdk.kassa.payments.ui.color.ColorScheme | ||||
| import ru.yoomoney.sdk.kassa.payments.checkoutParameters.HostParameters; | ||||
| import ru.yoomoney.sdk.kassa.payments.checkoutParameters.HostParameters | ||||
| import ru.yoomoney.sdk.kassa.payments.checkoutParameters.GooglePayParameters | ||||
| import ru.yoomoney.sdk.kassa.payments.checkoutParameters.GooglePayCardNetwork | ||||
| import ru.yoomoney.sdk.kassa.payments.checkoutParameters.MockConfiguration | ||||
| @ -39,7 +34,7 @@ import ru.yoomoney.sdk.kassa.payments.checkoutParameters.UiParameters | ||||
| private const val CANCELED_RESULT = "{\"status\":\"canceled\"}" | ||||
| private const val ERROR_RESULT = "{\"status\":\"error\"}" | ||||
| 
 | ||||
| class YookassaPaymentsFlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityAware, PluginRegistry.ActivityResultListener  { | ||||
| class YookassaPaymentsFlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityAware { | ||||
| 
 | ||||
|   private lateinit var flutterResult: Result | ||||
|   private lateinit var channel : MethodChannel | ||||
| @ -129,7 +124,19 @@ class YookassaPaymentsFlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityA | ||||
|     activity.startActivityForResult(intent, REQUEST_CODE_TOKENIZE) | ||||
|   } | ||||
| 
 | ||||
|   override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Boolean { | ||||
|   override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) { | ||||
|     channel.setMethodCallHandler(null) | ||||
|   } | ||||
| 
 | ||||
|   override fun onAttachedToActivity(binding: ActivityPluginBinding) { | ||||
|     activity = binding.activity | ||||
|     binding.addActivityResultListener { requestCode, resultCode, data -> | ||||
|       handleActivityResult(requestCode, resultCode, data) | ||||
|     } | ||||
|     this.binding = binding | ||||
|   } | ||||
| 
 | ||||
|   private fun handleActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Boolean { | ||||
|     if (requestCode == REQUEST_CODE_TOKENIZE) { | ||||
|       if (resultCode == Activity.RESULT_CANCELED) { | ||||
|         flutterResult.success(CANCELED_RESULT) | ||||
| @ -142,33 +149,27 @@ class YookassaPaymentsFlutterPlugin: FlutterPlugin, MethodCallHandler, ActivityA | ||||
|     } else if (requestCode == REQUEST_CODE_CONFIRMATION) { | ||||
|       flutterResult.success(resultCode) | ||||
|     } | ||||
| 
 | ||||
|     return false | ||||
|   } | ||||
| 
 | ||||
|   override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) { | ||||
|     channel.setMethodCallHandler(null) | ||||
|   } | ||||
| 
 | ||||
|   override fun onAttachedToActivity(binding: ActivityPluginBinding) { | ||||
|     activity = binding.activity | ||||
|     binding.addActivityResultListener(this) | ||||
|     this.binding = binding | ||||
|     return true | ||||
|   } | ||||
| 
 | ||||
|   override fun onDetachedFromActivity() { | ||||
|     binding?.removeActivityResultListener(this) | ||||
|     binding?.removeActivityResultListener { requestCode, resultCode, data -> | ||||
|       handleActivityResult(requestCode, resultCode, data) | ||||
|     } | ||||
|     binding = null | ||||
|   } | ||||
| 
 | ||||
|   override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) { | ||||
|     this.binding?.removeActivityResultListener(this) | ||||
|     this.binding = binding | ||||
|     binding.addActivityResultListener(this) | ||||
|     binding.addActivityResultListener { requestCode, resultCode, data -> | ||||
|       handleActivityResult(requestCode, resultCode, data) | ||||
|     } | ||||
|   } | ||||
| 
 | ||||
|   override fun onDetachedFromActivityForConfigChanges() { | ||||
|     binding?.removeActivityResultListener(this) | ||||
|     binding?.removeActivityResultListener { requestCode, resultCode, data -> | ||||
|       handleActivityResult(requestCode, resultCode, data) | ||||
|     } | ||||
|     binding = null | ||||
|   } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user