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);