From c3cf63fdbe3e2aa1acef1e2d55a2046442765270 Mon Sep 17 00:00:00 2001 From: "Serik.Uvaissov" Date: Fri, 17 Jul 2020 01:44:42 +0600 Subject: [PATCH] start flutter plugin --- .../com/aman/kassa/bank/BankNfcPlugins.java | 77 +++++++++++++++++++ .../kz/com/aman/kassa/bank/MusicPlugin.java | 34 -------- .../kotlin/kz/com/aman/kassa/MainActivity.kt | 4 +- lib/views/bank_view/bank_view.dart | 2 +- 4 files changed, 80 insertions(+), 37 deletions(-) create mode 100644 android/app/src/main/java/kz/com/aman/kassa/bank/BankNfcPlugins.java delete mode 100644 android/app/src/main/java/kz/com/aman/kassa/bank/MusicPlugin.java diff --git a/android/app/src/main/java/kz/com/aman/kassa/bank/BankNfcPlugins.java b/android/app/src/main/java/kz/com/aman/kassa/bank/BankNfcPlugins.java new file mode 100644 index 0000000..78a405f --- /dev/null +++ b/android/app/src/main/java/kz/com/aman/kassa/bank/BankNfcPlugins.java @@ -0,0 +1,77 @@ +package kz.com.aman.kassa.bank; + +import android.app.Activity; +import android.widget.Toast; + +import java.util.ArrayList; +import java.util.List; + +import io.flutter.plugin.common.MethodCall; +import io.flutter.plugin.common.MethodChannel.MethodCallHandler; +import io.flutter.plugin.common.MethodChannel.Result; +import kz.com.aman.kassa.bank.permissions.PermissionsManager; +import kz.com.aman.kassa.bank.permissions.PermissionsManagerImpl; +import ru.m4bank.mpos.library.M4BankMposClientInterfaceFacade; + +public class BankNfcPlugins implements MethodCallHandler { + //main activity + private Activity activity; + + private String timer; + + //main client all work with him + private M4BankMposClientInterfaceFacade clientInterface; + //permissions + private PermissionsManager permissionsManager; + + public BankNfcPlugins(Activity activity) { + this.activity = activity; + } + + @Override + public void onMethodCall(MethodCall call, Result result) { + switch (call.method) { + case "init": + PermissionsManager.PermissionsCheckResultHandler permissionsCheckResultHandler = + new PermissionsManager.PermissionsCheckResultHandler() { + @Override + public void onPermissionsGranted() { + System.out.println("granted"); + activity.runOnUiThread(() -> Toast.makeText(activity, "Granted", Toast.LENGTH_SHORT).show()); + //init(); + } + + @Override + public void onPermissionsDeclined() { + System.out.println("Declined"); + //init(); + } + }; + permissionsManager = new PermissionsManagerImpl(this.activity); + permissionsManager.checkPermissions(permissionsCheckResultHandler); + + + + if(timer==null){ + timer = "inited)"; + activity.runOnUiThread(() -> Toast.makeText(activity, "Initialize", Toast.LENGTH_SHORT).show()); + } else { + activity.runOnUiThread(() -> Toast.makeText(activity, "Already Initialize", Toast.LENGTH_SHORT).show()); + } + + result.success("pong - 3"); + break; + case "get": + final List json = new ArrayList<>(); + for (int i =0; i < 2 ; i++) { + json.add("{\"name:\":\"test\" }"); // Map entries + } + result.success(json); + break; + default: + result.notImplemented(); + } + } + + // Other methods elided. +} \ No newline at end of file diff --git a/android/app/src/main/java/kz/com/aman/kassa/bank/MusicPlugin.java b/android/app/src/main/java/kz/com/aman/kassa/bank/MusicPlugin.java deleted file mode 100644 index 5af52cb..0000000 --- a/android/app/src/main/java/kz/com/aman/kassa/bank/MusicPlugin.java +++ /dev/null @@ -1,34 +0,0 @@ -package kz.com.aman.kassa.bank; - -import android.content.Intent; - -import java.util.ArrayList; -import java.util.List; - -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; - -public class MusicPlugin implements MethodCallHandler { - @Override - public void onMethodCall(MethodCall call, Result result) { - switch (call.method) { - case "ping": - - result.success("pong - 3"); - break; - case "get": - final List json = new ArrayList<>(); - for (int i =0; i < 2 ; i++) { - json.add("{\"name:\":\"test\" }"); // Map entries - } - result.success(json); - break; - default: - result.notImplemented(); - } - } - - // Other methods elided. -} \ No newline at end of file diff --git a/android/app/src/main/kotlin/kz/com/aman/kassa/MainActivity.kt b/android/app/src/main/kotlin/kz/com/aman/kassa/MainActivity.kt index f2429be..68c23e0 100644 --- a/android/app/src/main/kotlin/kz/com/aman/kassa/MainActivity.kt +++ b/android/app/src/main/kotlin/kz/com/aman/kassa/MainActivity.kt @@ -8,7 +8,7 @@ import io.flutter.embedding.engine.FlutterEngine import io.flutter.plugin.common.MethodChannel import io.flutter.plugins.GeneratedPluginRegistrant import kz.com.aman.kassa.bank.M4BankActivity -import kz.com.aman.kassa.bank.MusicPlugin +import kz.com.aman.kassa.bank.BankNfcPlugins class MainActivity: FlutterActivity() { @@ -19,7 +19,7 @@ class MainActivity: FlutterActivity() { override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) { GeneratedPluginRegistrant.registerWith(flutterEngine); - MethodChannel(flutterEngine.dartExecutor.binaryMessenger, BANK_CHANNEL).setMethodCallHandler(MusicPlugin()); + MethodChannel(flutterEngine.dartExecutor.binaryMessenger, BANK_CHANNEL).setMethodCallHandler(BankNfcPlugins(this.activity)); MethodChannel(flutterEngine.dartExecutor.binaryMessenger, ACTIVITY_CHANNEL).setMethodCallHandler { // Note: this method is invoked on the main thread. call, result -> diff --git a/lib/views/bank_view/bank_view.dart b/lib/views/bank_view/bank_view.dart index fe575bd..cd7bff0 100644 --- a/lib/views/bank_view/bank_view.dart +++ b/lib/views/bank_view/bank_view.dart @@ -25,7 +25,7 @@ class _BankViewState extends State { setState(() { loading = true; }); - String result = await _channel.invokeMethod('ping'); + String result = await _channel.invokeMethod('init'); setState(() { value = result ?? 'none';