From f2139e43812e42d73705d1d64717ef91a1d8d92b Mon Sep 17 00:00:00 2001 From: Alan Trope Date: Mon, 15 Mar 2021 12:58:03 +0200 Subject: [PATCH 1/3] migrating to null safe --- example/test/widget_test.dart | 8 +++++--- lib/logcat.dart | 5 ++++- pubspec.yaml | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/example/test/widget_test.dart b/example/test/widget_test.dart index da75839..d75cf43 100644 --- a/example/test/widget_test.dart +++ b/example/test/widget_test.dart @@ -8,7 +8,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; -import 'package:logcat_example/main.dart'; +import '../lib/main.dart'; void main() { testWidgets('Verify Platform version', (WidgetTester tester) async { @@ -18,8 +18,10 @@ void main() { // Verify that platform version is retrieved. expect( find.byWidgetPredicate( - (Widget widget) => widget is Text && - widget.data.startsWith('Running on:'), + (Widget widget) => + widget is Text && + widget.data != null && + widget.data!.startsWith('Running on:'), ), findsOneWidget, ); diff --git a/lib/logcat.dart b/lib/logcat.dart index a2ff850..90ef334 100644 --- a/lib/logcat.dart +++ b/lib/logcat.dart @@ -12,6 +12,9 @@ class Logcat { /// [MethodChannel] used to communicate with the platform side. static const platform = const MethodChannel('app.channel.logcat'); + static Future get platformVersion async => + await platform.invokeMethod('getPlatformVersion') ?? '42'; + /// Fetches the app logs by executing the logcat command-line tool. /// May throw [PlatformException] from [MethodChannel]. static Future execute() async { @@ -20,7 +23,7 @@ class Logcat { } String logs; try { - logs = await platform.invokeMethod('execLogcat'); + logs = await platform.invokeMethod('execLogcat') ?? ""; } on PlatformException catch (e) { logs = "Failed to get logs: '${e.message}'."; } diff --git a/pubspec.yaml b/pubspec.yaml index 0b721c4..314b636 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,11 +1,11 @@ name: logcat description: Flutter plugin to get the system messages, stack traces etc using logcat command-line tool. -version: 1.0.2 +version: 2.0.0 author: Harsh homepage: https://github.com/pharshdev/logcat environment: - sdk: ">=2.1.0 <3.0.0" + sdk: ">=2.12.0 <3.0.0" dependencies: flutter: From 030674ea3e87aa817a31f9967aca71630b9f9aa4 Mon Sep 17 00:00:00 2001 From: Alan Trope Date: Sat, 20 Mar 2021 13:49:27 +0200 Subject: [PATCH 2/3] update to Android v2 embed --- .../java/dev/pharsh/logcat/LogcatPlugin.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java b/android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java index a6bc748..c86a1ec 100644 --- a/android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java +++ b/android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java @@ -8,18 +8,30 @@ 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.Registrar; +import io.flutter.embedding.engine.plugins.FlutterPlugin; /** * LogcatPlugin */ -public class LogcatPlugin implements MethodCallHandler { +public class LogcatPlugin implements FlutterPlugin, MethodCallHandler { + private static final String CHANNEL_NAME = "app.channel.logcat"; + private MethodChannel channel; + + public LogcatPlugin() { + } + /** * Plugin registration. */ - public static void registerWith(Registrar registrar) { - final MethodChannel channel = new MethodChannel(registrar.messenger(), "app.channel.logcat"); - channel.setMethodCallHandler(new LogcatPlugin()); + @Override + public void onAttachedToEngine(FlutterPluginBinding flutterPluginBinding) { + channel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), CHANNEL_NAME); + channel.setMethodCallHandler(this); + } + + @Override + public void onDetachedFromEngine(FlutterPluginBinding flutterPluginBinding) { + channel.setMethodCallHandler(null); } @Override @@ -51,4 +63,5 @@ String getLogs() { return "EXCEPTION" + e.toString(); } } + } From 3c7e8654722633c6af4ea9340e5f100a2ba9e598 Mon Sep 17 00:00:00 2001 From: Alan Trope Date: Sat, 20 Mar 2021 13:53:47 +0200 Subject: [PATCH 3/3] add line break by @d-silveira --- android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java b/android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java index c86a1ec..0df05fa 100644 --- a/android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java +++ b/android/src/main/java/dev/pharsh/logcat/LogcatPlugin.java @@ -57,6 +57,7 @@ String getLogs() { String line; while ((line = bufferedReader.readLine()) != null) { log.append(line); + log.append('\n'); } return log.toString(); } catch (IOException e) {