From 824f5142d998c5d0d695554f54740a704611f7a2 Mon Sep 17 00:00:00 2001 From: Ivan Murashov Date: Tue, 11 Jul 2017 19:00:56 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9D=D0=B0=D1=87=D0=B0=D0=BB=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B7=D0=B1=D0=B8=D1=80=D0=B0=D1=82=D1=8C=D1=81=D1=8F=20=D1=81?= =?UTF-8?q?=20=D0=B2=D1=8B=D0=B7=D0=BE=D0=B2=D0=BE=D0=BC=20=D1=81=D0=BF?= =?UTF-8?q?=D0=B5=D1=86=D0=B8=D1=84=D0=B8=D1=87=D0=BD=D0=BE=D0=B9=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=B0=D0=BD=D0=B4=D1=80=D0=BE=D0=B8=D0=B4=D0=B0?= =?UTF-8?q?=20Activity?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- android/app/src/main/AndroidManifest.xml | 3 ++ .../yourcompany/checker/CameraActivity.java | 17 ++++++++++ .../com/yourcompany/checker/MainActivity.java | 34 ++++++++++++++++--- android/app/src/main/res/layout/a_scanner.xml | 7 ++++ lib/main.dart | 15 +++++++- 5 files changed, 70 insertions(+), 6 deletions(-) create mode 100644 android/app/src/main/java/com/yourcompany/checker/CameraActivity.java create mode 100644 android/app/src/main/res/layout/a_scanner.xml diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 392ca55..f293dc5 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -28,5 +28,8 @@ + + diff --git a/android/app/src/main/java/com/yourcompany/checker/CameraActivity.java b/android/app/src/main/java/com/yourcompany/checker/CameraActivity.java new file mode 100644 index 0000000..634daca --- /dev/null +++ b/android/app/src/main/java/com/yourcompany/checker/CameraActivity.java @@ -0,0 +1,17 @@ +package com.yourcompany.checker; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; + +import com.yourcompany.checker.R; + +public class CameraActivity extends Activity { + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.a_scanner); + } + +} \ No newline at end of file diff --git a/android/app/src/main/java/com/yourcompany/checker/MainActivity.java b/android/app/src/main/java/com/yourcompany/checker/MainActivity.java index 062f6a1..dd166f9 100644 --- a/android/app/src/main/java/com/yourcompany/checker/MainActivity.java +++ b/android/app/src/main/java/com/yourcompany/checker/MainActivity.java @@ -1,14 +1,38 @@ package com.yourcompany.checker; import android.os.Bundle; +import android.content.Intent; +import android.util.Log; +import com.yourcompany.checker.CameraActivity; import io.flutter.app.FlutterActivity; import io.flutter.plugins.GeneratedPluginRegistrant; +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 MainActivity extends FlutterActivity { - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - GeneratedPluginRegistrant.registerWith(this); - } + + private static final String CHANNEL = "samples.flutter.io/battery"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + GeneratedPluginRegistrant.registerWith(this); + new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler( + new MethodCallHandler() { + @Override + public void onMethodCall(MethodCall call, Result result) { + + } + }); + } + + public void startScanner() { + Log.d("kifio", "Start scanner"); + startActivity(new Intent(MainActivity.this, CameraActivity.class)); + } + } \ No newline at end of file diff --git a/android/app/src/main/res/layout/a_scanner.xml b/android/app/src/main/res/layout/a_scanner.xml new file mode 100644 index 0000000..7df394f --- /dev/null +++ b/android/app/src/main/res/layout/a_scanner.xml @@ -0,0 +1,7 @@ + + \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 5ed9757..230e6c8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,4 +1,7 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; const String _name = "Ivan Murashov"; @@ -18,6 +21,7 @@ class ChatScreen extends StatefulWidget { class ChatScreenState extends State { + static const platform = const MethodChannel('samples.flutter.io/battery'); final List _messages = []; final TextEditingController _textController = new TextEditingController(); @@ -64,10 +68,19 @@ class ChatScreenState extends State { decoration: textField)), new Container(margin: new EdgeInsets.symmetric(horizontal: 4.0), child: new IconButton(icon: new Icon(Icons.send), - onPressed: () => _handleSubmitted(_textController.text))) + onPressed: () => startScanner())) +// onPressed: () => _handleSubmitted(_textController.text))) ]); } + Future startScanner() async { + try { + platform.invokeMethod('startScanner'); + } on PlatformException catch (e) { + + } + } + void _handleSubmitted(String text) { _textController.clear(); ChatMessage message = new ChatMessage(text);