Giter VIP home page Giter VIP logo

plus_plugins's Introduction

Plus plugins

build

all_plugins GitHub Workflow Status Follow on Twitter


PlusPlugins is a set of Flutter plugins that is developed based on plugins, which previously existed as a part of Flutter plugins, with extra functionalities, support for more platforms and better maintenance.

Feedback and Pull Requests are most welcome!

Plugins

Table of contents:


battery_plus

battery_plus pub points

Flutter plugin for accessing information about the battery state(full, charging, discharging) on Android and iOS.

[View Source]

Platform Support

Android iOS MacOS Web Linux Windows

connectivity_plus

connectivity_plus pub points

Flutter plugin for discovering the state of the network (WiFi & mobile/cellular) connectivity on Android and iOS.

[View Source]

Platform Support

Android iOS MacOS Web Linux Windows

device_info_plus

device_info_plus pub points

Flutter plugin providing detailed information about the device (make, model, etc.), and Android or iOS version the app is running on.

[View Source]

Platform Support

Android iOS MacOS Web Linux Windows

network_info_plus

network_info_plus pub points

Flutter plugin for discovering network info.

[View Source]

Platform Support

Android iOS MacOS Web Linux Windows

package_info_plus

package_info_plus pub points

Flutter plugin for querying information about the application package, such as CFBundleVersion on iOS or versionCode on Android.

[View Source]

Platform Support

Android iOS MacOS Web Linux Windows

sensors_plus

sensors_plus pub points

Flutter plugin for accessing accelerometer, gyroscope, and magnetometer sensors.

[View Source]

Platform Support

Android iOS MacOS Web Linux Windows

share_plus

share_plus pub points

Flutter plugin for sharing content via the platform share UI, using the ACTION_SEND intent on Android and UIActivityViewController on iOS.

[View Source]

Platform Support

Android iOS MacOS Web Linux Windows

android_alarm_manager_plus

android_alarm_manager_plus pub points

Flutter plugin for accessing the Android AlarmManager service, and running Dart code in the background when alarms fire.

[View Source]

Platform Support

Android

android_intent_plus

android_intent_plus pub points

Flutter plugin for launching Android Intents. Not supported on iOS.

[View Source]

Platform Support

Android

Issues

Please file PlusPlugins specific issues, bugs, or feature requests in our issue tracker.

Plugin issues that are not specific to PlusPlugins can be filed in the Flutter issue tracker.

Contributing

If you wish to contribute a change to any of the existing plugins in this repo, please review our contribution guide and open a pull request.

Status

This repository is maintained by FlutterCommunity authors. Issues here are answered by maintainers and other community members on GitHub on a best-effort basis.

plus_plugins's People

Contributors

a14n avatar alexbatalov avatar amirh avatar bkonyi avatar chever-john avatar collinjackson avatar coronon avatar creativecreatorormaybenot avatar dependabot[bot] avatar dnfield avatar ened avatar franciscojma86 avatar goderbauer avatar jmagman avatar jpnurmi avatar juliansteenbakker avatar kangwang1988 avatar luisredondo avatar mehmetf avatar mhadaily avatar miquelbeltran avatar mit-mit avatar mravn-google avatar nohli avatar slightfoot avatar thexxturboxx avatar tvolkert avatar vbuberen avatar xster avatar zanderso avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

plus_plugins's Issues

[All] Error when same non-plus package is also present in project (directly or not) on Android

System info

Issue occurs on: Android
Plugin name: package_info_plus
Plugin version: 0.5.0
Flutter doctor output:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 1.22.4, on Microsoft Windows [Version 10.0.17134.1845], locale en-US)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Android Studio (version 3.5)
[√] Connected device (1 available)

• No issues found!

Steps to Reproduce

Hit error when run debugging.

Logs

[        ] > Task :app:mergeDexDebug FAILED
[   +1 ms] C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info_plus\.transforms\559bdf8f2b898fb1f976337fe0e384aa\classes\classes.dex: D8:
Type io.flutter.plugins.packageinfo.BuildConfig is defined multiple times:
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info_plus\.transforms\559bdf8f2b898fb1f976337fe0e384aa\classes\classes.dex,
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info\.transforms\50b988ddcbec014edc04b574cf3502d9\classes\classes.dex
[   +3 ms] com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
[        ] Type io.flutter.plugins.packageinfo.BuildConfig is defined multiple times:
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info_plus\.transforms\559bdf8f2b898fb1f976337fe0e384aa\classes\classes.dex,
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info\.transforms\50b988ddcbec014edc04b574cf3502d9\classes\classes.dex
[        ] Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
[        ]      at com.android.builder.dexing.D8DexArchiveMerger.getExceptionToRethrow(D8DexArchiveMerger.java:132)
[        ]      at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:119)
[        ]      at com.android.build.gradle.internal.transforms.DexMergerTransformCallable.call(DexMergerTransformCallable.java:102)
[        ]      at com.android.build.gradle.internal.tasks.DexMergingTaskRunnable.run(DexMergingTask.kt:445)
[        ]      at com.android.build.gradle.internal.tasks.Workers$ActionFacade.run(Workers.kt:348)
[        ]      at org.gradle.workers.internal.AdapterWorkAction.execute(AdapterWorkAction.java:50)
[        ]      at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:47)
[        ]      at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:65)
[        ]      at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1$1.create(NoIsolationWorkerFactory.java:61)
[        ]      at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:98)
[        ]      at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.execute(NoIsolationWorkerFactory.java:61)
[        ]      at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
[        ]      at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
[        ]      at
org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
[        ]      at
org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
[  +10 ms]      at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
[        ]      at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
[        ]      at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
[        ]      at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
[        ]      at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:56)
[        ]      at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:215)
[        ]      at org.gradle.workers.internal.DefaultWorkerExecutor$3.call(DefaultWorkerExecutor.java:210)
[        ]      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[        ]      at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:215)
[        ]      at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164)
[        ]      at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:131)
[        ]      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[        ]      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[        ]      at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
[        ]      at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
[        ]      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[        ]      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[        ]      at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
[        ]      at java.lang.Thread.run(Thread.java:748)
[        ] Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete
[        ]      at com.android.tools.r8.utils.O.a(:65)
[        ]      at com.android.tools.r8.D8.run(:11)
[        ]      at com.android.builder.dexing.D8DexArchiveMerger.mergeDexArchives(D8DexArchiveMerger.java:117)
[        ]      ... 34 more
[        ] Caused by: com.android.tools.r8.utils.b: Error:
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info_plus\.transforms\559bdf8f2b898fb1f976337fe0e384aa\classes\classes.dex, Type
io.flutter.plugins.packageinfo.BuildConfig is defined multiple times:
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info_plus\.transforms\559bdf8f2b898fb1f976337fe0e384aa\classes\classes.dex,
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info\.transforms\50b988ddcbec014edc04b574cf3502d9\classes\classes.dex
[   +1 ms]      at com.android.tools.r8.utils.y0.a(:21)
[        ]      at com.android.tools.r8.utils.x0.a(:30)
[        ]      at com.android.tools.r8.utils.x0.a(:10)
[        ]      at java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:1990)
[   +1 ms]      at com.android.tools.r8.utils.x0.a(:6)
[        ]      at com.android.tools.r8.graph.A0$c.a(:6)
[        ]      at com.android.tools.r8.dex.a.a(:85)
[        ]      at com.android.tools.r8.dex.a.a(:12)
[        ]      at com.android.tools.r8.D8.d(:6)
[        ]      at com.android.tools.r8.D8.b(:1)
[        ]      at com.android.tools.r8.utils.O.a(:30)
[        ]      ... 36 more
[   +1 ms] FAILURE: Build failed with an exception.
[   +1 ms] * What went wrong:
[        ] Execution failed for task ':app:mergeDexDebug'.
[        ] > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
[        ]    > com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
[        ]      Type io.flutter.plugins.packageinfo.BuildConfig is defined multiple times:
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info_plus\.transforms\559bdf8f2b898fb1f976337fe0e384aa\classes\classes.dex,
C:\JSL\VIQCore\2020Flutter\viqcommunity_v3\build\package_info\.transforms\50b988ddcbec014edc04b574cf3502d9\classes\classes.dex
[   +1 ms]      Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes.
[        ] * Try:
[        ] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full
insights.
[        ] * Get more help at https://help.gradle.org
[        ] BUILD FAILED in 58s
[        ] 535 actionable tasks: 5 executed, 530 up-to-date
[ +364 ms] Picked up _JAVA_OPTIONS: -Xmx2g
[  +40 ms] Running Gradle task 'assembleDebug'... (completed in 59.7s)
[   +1 ms] [!] The shrinker may have failed to optimize the Java bytecode.
[        ]     To disable the shrinker, pass the `--no-shrink` flag to this command.
[        ]     To learn more, see: https://developer.android.com/studio/build/shrink-code
[   +3 ms] Exception: Gradle task assembleDebug failed with exit code 1
[   +1 ms] "flutter run" took 61,580ms.
[   +3 ms] 
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:14:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:607:7)
           <asynchronous suspension>
           #2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:977:18)
           #3      _rootRunUnary (dart:async/zone.dart:1198:47)
           #4      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
           #5      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
           #6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
           #7      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
           #8      Future._completeWithValue (dart:async/future_impl.dart:529:5)
           #9      _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
           #10     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
           #11     RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
           #12     _rootRunUnary (dart:async/zone.dart:1198:47)
           #13     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
           #14     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
           #15     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
           #16     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
           #17     Future._completeWithValue (dart:async/future_impl.dart:529:5)
           #18     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
           #19     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
           #20     AndroidDevice.isLocalEmulator (package:flutter_tools/src/android/android_device.dart)
           #21     _rootRunUnary (dart:async/zone.dart:1198:47)
           #22     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
           #23     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
           #24     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
           #25     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
           #26     Future._completeWithValue (dart:async/future_impl.dart:529:5)
           #27     Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
           #28     _rootRun (dart:async/zone.dart:1190:13)
           #29     _CustomZone.run (dart:async/zone.dart:1093:19)
           #30     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
           #31     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
           #32     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
           #33     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
           #34     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
           #35     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
PS C:\JSL\VIQCore\2020Flutter\viqcommunity_v3> flutter analyze
Analyzing viqcommunity_v3...

   info - Unused import: 'package:flutter/foundation.dart' - lib\main.dart:4:8 - unused_import
   info - Unused import: 'dart:async' - lib\modules\auth\src\auth_controller.dart:1:8 - unused_import
   info - Unused import: 'package:flutter/foundation.dart' - lib\modules\auth\src\auth_controller.dart:2:8 - unused_import
   info - Unused import: 'package:flutter/gestures.dart' - lib\modules\auth\src\signup\signup_policy.dart:1:8 - unused_import
   info - Unused import: 'package:google_map_location_picker/google_map_location_picker.dart' - lib\modules\community\src\community_form.dart:3:8 -
          unused_import
   info - Unused import: 'package:google_maps_flutter/google_maps_flutter.dart' - lib\modules\community\src\community_form.dart:4:8 - unused_import
   info - Unused import: 'package:viqcommunity/modules/community/src/community_review_list.dart' -
          lib\modules\community\src\controllers\community_controller.dart:2:8 - unused_import

7 issues found. (ran in 16.2s)
[√] Flutter (Channel stable, 1.22.4, on Microsoft Windows [Version 10.0.17134.1845], locale en-US)
    • Flutter version 1.22.4 at C:\src\flutter
    • Framework revision 1aafb3a8b9 (10 days ago), 2020-11-13 09:59:28 -0800
    • Engine revision 2c956a31c0
    • Dart version 2.10.4


[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at C:\Android
    • Platform android-29, build-tools 29.0.2
    • ANDROID_HOME = C:\Android
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
    • All Android licenses accepted.

[√] Android Studio (version 3.5)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 42.0.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] Connected device (1 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86 • Android 10 (API 29) (emulator)

• No issues found!

[android_alarm_manager_plus] issues from Flutter repository

CI Integration is broken

See PR: https://github.com/fluttercommunity/plus_plugins/pull/51/checks?check_run_id=1503243245

Cloning into '_flutter'...
Error: Unable to process command '::add-path::/home/runner/work/plus_plugins/plus_plugins/_flutter/bin' successfully.
Error: The `add-path` command is disabled. Please upgrade to using Environment Files or opt into unsecure command execution by setting the `ACTIONS_ALLOW_UNSECURE_COMMANDS` environment variable to `true`. For more information see: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

Support for command line apps

Use case

Trying to create a -v flag for my command line application, and when I import 'package:package_info_plus/package_info_plus.dart'; I'm getting these errors:

../../../flutter/packages/flutter/lib/src/services/binary_messenger.dart:7:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
       ^
../../../flutter/packages/flutter/lib/src/services/binding.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
       ^
../../../flutter/packages/flutter/lib/src/services/font_loader.dart:7:8: Error: Not found: 'dart:ui'
import 'dart:ui';
       ^
../../../flutter/packages/flutter/lib/src/services/platform_messages.dart:7:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
       ^
../../../flutter/packages/flutter/lib/src/services/platform_views.dart:7:8: Error: Not found: 'dart:ui'
import 'dart:ui';
       ^
../../../flutter/packages/flutter/lib/src/services/raw_keyboard.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui';
       ^
../../../flutter/packages/flutter/lib/src/services/system_channels.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui';
       ^
../../../flutter/packages/flutter/lib/src/services/system_chrome.dart:7:8: Error: Not found: 'dart:ui'
import 'dart:ui';
       ^
../../../flutter/packages/flutter/lib/src/services/system_chrome.dart:13:1: Error: Not found: 'dart:ui'
export 'dart:ui' show Brightness;
^
../../../flutter/packages/flutter/lib/src/services/text_editing.dart:6:8: Error: Not found: 'dart:ui'
import 'dart:ui' show hashValues, TextAffinity, TextPosition, TextRange;
       ^

Which makes sense because command line apps don't have the dart:uilibrary

Proposal

It would be great to be able to get my pubspec version from my command line app, like I do on my other apps.

Thanks!

[all] Rename Method Channel names and move Java and Obj-C files

As reported in #49, having the non-plus version of a package together with the plus version is going to cause issues.

To fix that, the following two actions need to me made on ALL PACKAGES:

  1. Change the Method Channel name: Follow this format: dev.fluttercommunity.plus.package_name like dev.fluttercommunity.plus.package_info.
  2. Move the Java files in the Android part of the package, the new folder structure should be dev/fluttercommunity/plus/packagename like dev/fluttercommunity/plus/packageinfo
  3. Ensure package name is updated in AndroidManifest.xml and build.gradle files.
  4. Rename the ObjC files in the iOS part, for example from FLTPackageInfoPlugin.m to FLTPAckageInfoPlusPlugin.m. Internal code needs to be changed as well.
  5. Run the example with the non-plus plugin in pubspec.yaml, to test any collisions. Run at least the example on both Android and iOS.
  6. Remove the non-plus plugin!
  7. Run one last time, also run the e2e test at least on Android and iOS.
  8. Release package and also interface packages and any package that depends on it, bump versions.

TODO

I can't get the Wifi name

System info

Issue occurs on: Android 10
Plugin name: connectivity_plus
Plugin version: ^0.7.1
Flutter doctor output:

[√] Flutter (Channel stable, 1.22.6, on Microsoft Windows [Version 10.0.18363.1316], locale en-US)
    • Flutter version 1.22.6 at D:\Flutter\flutter_windows_1.17.3-stable\flutter
    • Framework revision 9b2d32b605 (6 days ago), 2021-01-22 14:36:39 -0800
    • Engine revision 2f0af37152
    • Dart version 2.10.5

 
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\ovidiu.usvat\AppData\Local\Android\Sdk
    • Platform android-30, build-tools 29.0.3
    • ANDROID_HOME = C:\Users\ovidiu.usvat\AppData\Local\Android\Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[!] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.52.1)
    • VS Code at C:\Users\ovidiu.usvat\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.18.1

[√] Connected device (1 available)
    • SM G970F (mobile) • RF8MA07GHKP • android-arm64 • Android 10 (API 29)

Steps to Reproduce

  1. My code looks like here:
onPressed: () async {
                var wifiIP = await WifiInfo().getWifiIP();
                var wifiName = await WifiInfo().getWifiName();
                print('$wifiIP -> $wifiName');
              },
  1. Each time I press the button i get null on Wifi name. The IP works well. I run the app on Samsung Galaxy S10e.

Logs

Every thing is fine when I run flutter run --verbose

Add supported platforms section to README.md of the packages

Use case

If you search on pub.dev and you look the README.md of the packages, it is never 100% clear, which platforms are supported. Only the top level README.md of the plus_plugins has this overview. But if you are on pub.dev you don't see the top level README.md of the plus_plugions git repo.

Proposal

My proposal is to add the supported platforms tables from the top level README.md to the specifics README.md of the packages, like:

image

[package_info_plus_web] Location of version.json

The plugin supposes that version.json is in the root of the website but this is not the case if the app is placed into a folder. It should be looked for in the app root, not the website root.

Plus Plugins Roadmap

Hey all 👋

Today I’m excited to announce the upcoming changes and roadmap for the Plus plugins.

The overall mission of PlusPlugins is to provide high-quality plugins for developers to allow them to build Flutter apps. As Flutter grows, we want to ensure that the PlusPlugins plugins grow with it. We support Federated Plugins and have already implemented most of the platforms and will continue adding the remaining platforms by mid-February 2021

We’ve recently started a triage of FlutterPlugin repository issues to understand the repository's current state and move all of the issues over to this repository and fix them all as soon as possible.

Our top priorities are introducing a dedicated documentation website, reviewing each plugin in importance order (based on usage & current state), and tackling critical issues.

As we review each plugin by group, we’ll be focusing efforts on the following areas:

Testing: covering the public API (as much as possible) with the dedicated unit and integration tests is essential. We can be confident in adding new features, squashing bugs, and opening up the repository to more external contributors.

Documentation: although the reference API is a great place to understand the plugins, the goal is to write more examples and clear snippets that can be copied and pasted easily.

We want to ensure that all plugins are interoperable as we work through them, allowing developers to see the benefits from the on-going work as soon as they are available. Therefore we’ll be doing some immediate changes across the board, which will allow the newly updated plugins to be “backward compatible” with plugins that have not yet been updated as part of this process.

As of December 14, 2020:
We have come to a pretty stable version so far. We have updated all of our packages with several great commits. All packages are now pretty stable. There are several branches already that team is working on to have remaining Windows and macOS. platforms. Here is our plan:

  • Sending PRs to FlutterEnginee to support missing functionalities that we need for different packages by Dec 1, 2020
  • Move all issues from original repo to plus plugins repo to address accordingly by January 20, 2020
  • Finalize PRs and WIP branches for Windows by January 30, 2020
  • Finalize PRs and WIP branches for macOS by January 30, 2020
  • Improve CD/CI and add additional checks for quality by January 30, 2020
  • Introduce NetworkInfoPlus Plugins by February 15, 2021
  • Migrate to fully support null-safety by February 15, 2021
  • Documentation website by February 15, 2021
  • Update all examples February 15, 2021
  • Release all packages with new major version February 20, 2021
  • Setup Codecoverage February 20, 2021
  • Finalize all-new integration and unit tests February 20, 2021
  • Score 110 for all plugins February 20, 2021

If you'd like to contribute and help us to deliver the top-notch plugins, feel free to reach out.

We’ll be updating this issue as we progress through the upgrade to the plugins, so please check back regularly.
The following GitHub users will primarily be focusing on this work going forwards:

@mhadaily
@jpnurmi
@miquelbeltran
@slightfoot
@Nash0x7E2

If you have any urgent issues / pull requests that you feel you would like us to look at sooner - feel free to tag us, and we'll try our best to look at them as soon as possible.

[share_plus] Sheet does not appear on iPadOS devices

System info

Issue occurs on: iOS (specifically iPadOS)
Plugin name: share_plus
Plugin version: 1.2.0
Flutter doctor output:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 1.26.0-17.5.pre, on macOS 11.3 20E5172i darwin-x64, locale en-CA)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.1)
[✓] Xcode - develop for iOS and macOS
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.53.2)
[✓] Connected device (1 available)

Steps to Reproduce

Attempt to share a file or string using share.shareFiles([path] or share.share('text') respectively. Nothing occurs on an iPadOS device. Tested on both a simulator and a physical device, both using Flutter stable and beta channels.

The same code executes and functions perfectly on both iPhone and Android devices, it is specifically for iPadOS devices that it does not work.

Logs

There are no logs or errors that occur. Attached a .catch((error, stack) {}) never executes, and attaching a .then((_) {}) does, which means it believes it executed correctly.

Example Code Snippet

if(file.existsSync()) await Share.shareFiles([file.path]);

With the above getting a file from the temporary directory. A more complete one that dumps a string to the temp directory then shares that file:

Future<void> exportStringToShareSheet(String name, String data) async {
        Directory tempDirectory = await getTemporaryDirectory();
        File file = File('${tempDirectory.path}/$name');
        file?.writeAsStringSync(data);
        if(file?.existsSync() ?? false) await Share.shareFiles([file.path]).catchError((error) => print(error));
}

[device_info_plus] browse name is incorrect for Edge

System info

Issue occurs on: windows Egde web
Plugin name: device_info
Plugin version: 0.6.0

my code:

'browserName': describeEnum(data.browserName),
'userAgent': data.userAgent,

the output is Chrome

browserName: chrome

userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36 Edg/87.0.664.75

[connectivity_plus] Web is broken because of an indirect FFI dependency

Dependency chain: connectivity_plus -> connectivity_plus_linux -> dbus -> ffi

Launching lib/main.dart on Chrome in debug mode...
../../../../../../Flutter/.pub-cache/hosted/pub.dartlang.org/dbus-0.1.0/lib/src/getuid.dart:1:8: Error: Not found: 'dart:ffi'
import 'dart:ffi';                                                      
       ^                                                                
../../../../../../Flutter/.pub-cache/hosted/pub.dartlang.org/dbus-0.1.0/lib/src/getuid.dart:3:20: Error: Type 'Int32' not found.
typedef _getuidC = Int32 Function();                                    
                   ^^^^^                                                
../../../../../../Flutter/.pub-cache/hosted/pub.dartlang.org/dbus-0.1.0/lib/src/getuid.dart:8:17: Error: Getter not found: 'DynamicLibrary'.
  final dylib = DynamicLibrary.open('libc.so.6');                       
                ^^^^^^^^^^^^^^                                          
Waiting for connection from debug service on Chrome...

Unfortunately we have to apply the same workaround as in:

Share_plus: missing plugin exception on Chrome / OSX

System info

Issue occurs on: Web - chrome (Safari works fine)
Plugin name: share_plus
Plugin version: ^2.1.0-nullsafety.0
Flutter doctor output:

[✓] Flutter (Channel beta, 1.26.0-17.5.pre, on macOS 11.2.1 20D74 darwin-x64, locale es-ES)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.4)
[✓] VS Code (version 1.53.2)
[✓] Connected device (2 available)

Steps to Reproduce

  1. Running a simplified version of the example included in share_plus:
import 'package:flutter/material.dart';
import 'package:share_plus/share_plus.dart';

void main() {
  runApp(DemoApp());
}

class DemoApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Share Plugin Demo',
      home: Scaffold(body: Center(
        child: Builder(
          builder: (BuildContext context) {
            return ElevatedButton(
              child: const Text('Share'),
              onPressed: () => _onShare(context),
            );
          },
        ),
      )),
    );
  }

  void _onShare(BuildContext context) async {
    final RenderBox box = context.findRenderObject() as RenderBox;

    await Share.share("Sample text",
        subject: "Sample subject",
        sharePositionOrigin: box.localToGlobal(Offset.zero) & box.size);
  }
}
  1. On chrome, pressing the share button will throw an MissingPluginException (see below).
    In debug mode, before throwing the exception, the editor pauses on the _complete() method of class Completer of ticker.dart
    It works fine on safari and IOS platform.
Error: MissingPluginException(No implementation found for method launch on channel plugins.flutter.io/url_launcher)
    at Object.throw_ [as throw] (http://localhost:50005/dart_sdk.js:5028:11)
    at MethodChannel._invokeMethod (http://localhost:50005/packages/flutter/src/services/system_channels.dart.lib.js:953:21)
    at _invokeMethod.next (<anonymous>)
    at http://localhost:50005/dart_sdk.js:37206:33
    at _RootZone.runUnary (http://localhost:50005/dart_sdk.js:37077:59)
    at _FutureListener.thenAwait.handleValue (http://localhost:50005/dart_sdk.js:32333:29)
    at handleValueCallback (http://localhost:50005/dart_sdk.js:32860:49)
    at Function._propagateToListeners (http://localhost:50005/dart_sdk.js:32898:17)
    at _Future.new.[_completeWithValue] (http://localhost:50005/dart_sdk.js:32746:23)
    at async._AsyncCallbackEntry.new.callback (http://localhost:50005/dart_sdk.js:32767:35)
    at Object._microtaskLoop (http://localhost:50005/dart_sdk.js:37329:13)
    at _startMicrotaskLoop (http://localhost:50005/dart_sdk.js:37335:13)
    at http://localhost:50005/dart_sdk.js:33106:9

Logs

flutter run

[+1729 ms] [CHROME]:2021-02-13 19:40:32.382 Google Chrome[36317:346555] Error loading
/Library/CoreMediaIO/Plug-Ins/DAL/XpressionPlugin.plugin/Contents/MacOS/XpressionPlugin:
dlopen(/Library/CoreMediaIO/Plug-Ins/DAL/XpressionPlugin.plugin/Contents/MacOS/XpressionPlugin, 262): no suitable image found.  Did find:
[   +1 ms] [CHROME]:    /Library/CoreMediaIO/Plug-Ins/DAL/XpressionPlugin.plugin/Contents/MacOS/XpressionPlugin: code signature in
(/Library/CoreMediaIO/Plug-Ins/DAL/XpressionPlugin.plugin/Contents/MacOS/XpressionPlugin) not valid for use in process using Library Validation:
mapping process and mapped file (non-platform) have different Team IDs
[        ] [CHROME]:    /Library/CoreMediaIO/Plug-Ins/DAL/XpressionPlugin.plugin/Contents/MacOS/XpressionPlugin: stat() failed with errno=9
[ +133 ms] [CHROME]:
[        ] [CHROME]:DevTools listening on ws://127.0.0.1:50972/devtools/browser/4198c2b4-abc0-4088-9009-7743970a1904
[ +703 ms] DwdsInjector: Received request for entrypoint at http://localhost:50952/main_module.bootstrap.js
[   +7 ms] MetadataProvider: Loading debug metadata...
[  +11 ms] MetadataProvider: Loaded debug metadata
[   +8 ms] DwdsInjector: Injected debugging metadata for entrypoint at http://localhost:50952/main_module.bootstrap.js
[+1834 ms] DevHandler: Debug service listening on ws://127.0.0.1:50996/HuocnB783yc=/ws

[  +11 ms] Debug service listening on ws://127.0.0.1:50996/HuocnB783yc=/ws
[        ] 💪 Running with sound null safety 💪
[   +3 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[        ] been thoroughly tested in production environments.
[        ] For more information see https://flutter.dev/web
[        ] 🔥  To hot restart changes while running, press "r" or "R".
[        ] For a more detailed help message, press "h". To quit, press "q".
[+8081 ms] Error: MissingPluginException(No implementation found for method launch on channel plugins.flutter.io/url_launcher)
                        at Object.throw_ [as throw] (http://localhost:50952/dart_sdk.js:5028:11)
                        at MethodChannel._invokeMethod (http://localhost:50952/packages/flutter/src/services/system_channels.dart.lib.js:953:21)
                        at _invokeMethod.next (<anonymous>)
                        at http://localhost:50952/dart_sdk.js:37206:33
                        at _RootZone.runUnary (http://localhost:50952/dart_sdk.js:37077:59)
                        at _FutureListener.thenAwait.handleValue (http://localhost:50952/dart_sdk.js:32333:29)
                        at handleValueCallback (http://localhost:50952/dart_sdk.js:32860:49)
                        at Function._propagateToListeners (http://localhost:50952/dart_sdk.js:32898:17)
                        at _Future.new.[_completeWithValue] (http://localhost:50952/dart_sdk.js:32746:23)
                        at async._AsyncCallbackEntry.new.callback (http://localhost:50952/dart_sdk.js:32767:35)
                        at Object._microtaskLoop (http://localhost:50952/dart_sdk.js:37329:13)
                        at _startMicrotaskLoop (http://localhost:50952/dart_sdk.js:37335:13)
                        at http://localhost:50952/dart_sdk.js:33106:9

flutter analyze

No issues found

flutter doctor -v


[✓] Flutter (Channel beta, 1.26.0-17.5.pre, on macOS 11.2.1 20D74 darwin-x64, locale es-ES)
    • Flutter version 1.26.0-17.5.pre at /Users/vmorilla/devel/flutter
    • Framework revision 1fe38dcb5f (3 days ago), 2021-02-10 16:25:47 -0800
    • Engine revision d4453f6018
    • Dart version 2.12.0 (build 2.12.0-259.9.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/vmorilla/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.19.0

[✓] Connected device (2 available)
    • iPad Pro (12.9-inch) (4th generation) (mobile) • 4E251522-485D-4822-AEAD-BEB993173C6D • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • Chrome (web)                                   • chrome                               • web-javascript • Google Chrome 88.0.4324.150
    ! Error: IPad is not connected. Xcode will continue when IPad is connected. (code -13)

• No issues found!

Double slash for version.json in package_info_plus_web can prevent version to be read

System info

Issue occurs on: Web
Plugin name: package_info_plus_web
Plugin version: 0.2.1
Flutter doctor output:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 1.23.0-18.1.pre, on Mac OS X 10.15.7 19H114 x86_64, locale it-IT)
 
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.51.0)
[✓] Connected device (2 available)

• No issues found!

Steps to Reproduce

When you use PackageInfo.fromPlatform() to get version info, there is an extra (forward) slash before the file name, like http://localhost:62124//version.json (port number can change).
If the application is deployed on a web server that doesn't change/redirect/correct the double slash in the URL (we used S3 static content deployment in AWS, that is one of these cases) the browser cannot get the version.json file (error 404) so the version number is not get.

You can get a test application here on gist.

  1. Create a new flutter application
  2. Add package_info_plus to pubspec.yaml
  3. Add a Text to the main screen populated using PackageInfo.fromPlatform()
  4. Run the application using Chrome profile and explore the network from the developer tools
  5. You can see the request http://localhost:62124//version.json to get the version file (port number could differ) instead of
    the correct http://localhost:62124/version.json

Suggested fix

'${Uri.parse(window.document.baseUri).removeFragment()}/version.json';

The slash should not be added since window.document.baseUri always ends with a slash (see the description for #32)

Added a PR for this: 97

Logs

In attach the log of the request from Chrome browser; you can see the double slash in the GET

GET //version.json HTTP/1.1
Host: localhost:62124
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36
Accept: */*
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: http://localhost:62124/
Accept-Encoding: gzip, deflate, br
Accept-Language: it-IT,it;q=0.9,en-US;q=0.8,en;q=0.7
If-None-Match: 760825325
Analyzing test_web...                                                   
No issues found! (ran in 3.2s)
[✓] Flutter (Channel beta, 1.23.0-18.1.pre, on Mac OS X 10.15.7 19H114 x86_64, locale it-IT)
    • Flutter version 1.23.0-18.1.pre at /Users/Ciro/Dati/Sorgenti/_tools/flutter
    • Framework revision 198df796aa (3 months ago), 2020-10-15 12:04:33 -0700
    • Engine revision 1d12d82d9c
    • Dart version 2.11.0 (build 2.11.0-213.1.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/ciro/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • Java binary at: /Users/ciro/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.9.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Users/ciro/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/201.7042882/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.51.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

 
[✓] Connected device (2 available)            
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome 88.0.4324.96

• No issues found!

Improving the documentation website

This issue will be tracking the progress in improving the documentation website plus.fluttercommunity.dev.

TODO list

  • Add getting started section with overview of Plus plugins
  • Battery➕ docs
  • Connectivity➕ docs
  • Device Info➕ docs
  • Network Info➕ docs
  • Package Info➕ docs
  • Sensor➕ docs
  • Share➕ docs
  • Android Alarm Manager➕ docs
  • Android Intent➕ docs

[share_plus] Impossible to use this library with flutter_localizations and path_provider

Hello,

First, thanks a lot for this share_plus library which is really great !

My problem:

It is currently impossible to do a flutter pub get of combination of:

  • share_plus (on all platforms <=> ^1.2.0)
  • path_provider (on all platforms <=> ^1.6.17)
  • flutter_localizations sdk

Note that removing any of those 3 feature will work.

System info

Issue occurs on: Desktop (because if we don't want to support desktop, we can decrease path_provider version and it will work)
Plugin name: share_plus
Plugin version: ^1.2.0
Flutter doctor output:

C:\flutter\bin\flutter.bat doctor --verbose
[√] Flutter (Channel dev, 1.26.0-17.1.pre, on Microsoft Windows [version 10.0.19041.746], locale fr-FR)
    • Flutter version 1.26.0-17.1.pre at C:\flutter
    • Framework revision c40e5294dd (2 days ago), 2021-01-29 08:44:18 -0800
    • Engine revision 5d3477eab4
    • Dart version 2.12.0 (build 2.12.0-259.0.dev)

[√] Android toolchain - develop for Android devices (Android SDK version 30.0.0-rc2)
    • Android SDK at C:/Users/lecur/AppData/Local/Android/Sdk
    • Platform android-30, build-tools 30.0.0-rc2
    • ANDROID_HOME = C:/Users/lecur/AppData/Local/Android/Sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.8.3)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\Community
    • Visual Studio Community 2019 version 16.8.30804.86
    • Windows 10 SDK version 10.0.18362.0

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS Code (version 1.52.1)
    • VS Code at C:\Users\lecur\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.19.0

[√] Connected device (4 available)
    • Android SDK built for x86 (mobile) • emulator-5554 • android-x86    • Android 10 (API 29) (emulator)
    • Windows (desktop)                  • windows       • windows-x64    • Microsoft Windows [version 10.0.19041.746]
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 88.0.4324.104
    • Edge (web)                         • edge          • web-javascript • Microsoft Edge 88.0.705.50

• No issues found!
Process finished with exit code 0

Steps to Reproduce

pubspec.yaml

name: test_app
description: A new Flutter project.

version: 1.0.0+1

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter

  # To be able to use flutter localizations feature
  flutter_localizations:
    sdk: flutter

  # Minimum version to use 'share' feature with all platforms
  share_plus: ^1.2.0

  # Minimum version to use path feature with all platforms
  path_provider: ^1.6.17

Logs

flutter pub get result:

C:\flutter\bin\flutter.bat --no-color packages get
Running "flutter pub get" in test_app...                        
The current Dart SDK version is 2.12.0-259.0.dev.



    Because no versions of share_plus match >1.2.0 <2.0.0 and share_plus 1.2.0 depends on share_plus_linux ^1.1.0, share_plus ^1.2.0 requires share_plus_linux ^1.1.0.

    And because no versions of share_plus_linux match >1.1.0 <2.0.0, share_plus ^1.2.0 requires share_plus_linux 1.1.0.

(1) So, because share_plus_linux 1.1.0 depends on file >=5.2.1 <=6.0.0-nullsafety.2 and file >=6.0.0-nullsafety.1 <6.0.0-nullsafety.3 requires SDK version >=2.10.0-0.0 <2.11.0, share_plus ^1.2.0 requires file >=5.2.1 <6.0.0-nullsafety.1.



    Because process >=4.0.0-nullsafety.1 <4.0.0-nullsafety.3 requires SDK version >=2.10.0-0.0 <2.11.0 and process >=4.0.0-nullsafety.3 <4.0.0-nullsafety.4 depends on file ^6.0.0-nullsafety.1, process >=4.0.0-nullsafety.1 <4.0.0-nullsafety.4 requires file ^6.0.0-nullsafety.1.

    And because process >=4.0.0-nullsafety.4 depends on file ^6.0.0-nullsafety.4 and process >=3.0.12 <4.0.0-nullsafety.1 depends on intl >=0.14.0 <0.17.0, process >=3.0.12 requires intl >=0.14.0 <0.17.0 or file ^6.0.0-nullsafety.1.

    And because share_plus ^1.2.0 requires file >=5.2.1 <6.0.0-nullsafety.1 (1), if share_plus ^1.2.0 and process >=3.0.12 then intl >=0.14.0 <0.17.0.

    And because every version of flutter_localizations from sdk depends on intl 0.17.0-nullsafety.2, one of share_plus ^1.2.0 or process >=3.0.12 or flutter_localizations any from sdk must be false.

    Because xdg_directories >=0.1.2 <0.2.0-nullsafety.0 depends on process >=3.0.12 <5.0.0 and xdg_directories <0.1.2 depends on process ^3.0.12, xdg_directories <0.2.0-nullsafety.0 requires process >=3.0.12 <5.0.0.

    Thus, one of share_plus ^1.2.0 or flutter_localizations any from sdk or xdg_directories <0.2.0-nullsafety.0 must be false.

    And because every version of path_provider_linux depends on xdg_directories ^0.1.0, one of share_plus ^1.2.0 or flutter_localizations any from sdk or path_provider_linux any must be false.

    And because path_provider >=1.6.10 depends on path_provider_linux ^0.0.1 and test_app depends on flutter_localizations any from sdk, share_plus ^1.2.0 is incompatible with path_provider >=1.6.10.

    So, because test_app depends on both share_plus ^1.2.0 and path_provider ^1.6.17, version solving failed.
pub get failed (1;     So, because test_app depends on both share_plus ^1.2.0 and path_provider ^1.6.17, version solving failed.)
Process finished with exit code 1

[android_alarm_manager_plus] Crashes when the android activity is closed

I have an issue in my app where I use android_alarm_manager_plus in delivering daily local notifications, but I've noticed this issue that occurs when the app is terminated and the android activity the cleared from the recents, where the app crashes on firing the callback

System info

Issue occurs on: Android
Plugin name: android_alarm_manager_plus
Plugin version: tested on ^0.7.0-nullsafety.0 and ^0.6.0
Flutter doctor output:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 1.26.0-17.5.pre, on Microsoft Windows [Version 10.0.19042.804], locale ar-EG)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1.0)
[✓] VS Code, 64-bit edition (version 1.53.2)
[✓] Connected device (3 available)

• No issues found!

Steps to Reproduce

  1. Create new flutter project
  2. Add android_alarm_manager_plus and flutter_local_notifications
  3. Copy the 'ic_launcher' or any icon to android/res/main/drawable
  4. Add the AndroidManifest required code:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.example.testproject">
  <application android:label="testproject"
    android:icon="@mipmap/ic_launcher">
    <activity android:name=".MainActivity"
      android:launchMode="singleTop"
      android:theme="@style/LaunchTheme"
      android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
      android:hardwareAccelerated="true"
      android:windowSoftInputMode="adjustResize">
      <!-- Specifies an Android theme to apply to this Activity as soon as
                 the Android process has started. This theme is visible to the user
                 while the Flutter UI initializes. After that, this theme continues
                 to determine the Window background behind the Flutter UI. -->
      <meta-data android:name="io.flutter.embedding.android.NormalTheme"
        android:resource="@style/NormalTheme" />
      <!-- Displays an Android View that continues showing the launch screen
                 Drawable until Flutter paints its first frame, then this splash
                 screen fades out. A splash screen is useful to avoid any visual
                 gap between the end of Android's launch screen and the painting of
                 Flutter's first frame. -->
      <meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable"
        android:resource="@drawable/launch_background" />
      <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
      </intent-filter>
    </activity>
    <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
    <meta-data android:name="flutterEmbedding"
      android:value="2" />
    <service android:name="dev.fluttercommunity.plus.androidalarmmanager.AlarmService"
      android:permission="android.permission.BIND_JOB_SERVICE"
      android:exported="false"/>
    <receiver android:name="dev.fluttercommunity.plus.androidalarmmanager.AlarmBroadcastReceiver"
      android:exported="false"/>
    <receiver android:name="dev.fluttercommunity.plus.androidalarmmanager.RebootBroadcastReceiver"
      android:enabled="false">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"></action>
      </intent-filter>
    </receiver>


  </application>
  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
  <uses-permission android:name="android.permission.WAKE_LOCK"/>

</manifest>

  1. Run the following code:
import 'package:android_alarm_manager_plus/android_alarm_manager_plus.dart';
import 'package:flutter/material.dart';
import 'package:flutter_local_notifications/flutter_local_notifications.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await AndroidAlarmManager.initialize();

  await FlutterLocalNotificationsPlugin().initialize(
      InitializationSettings(
          android: AndroidInitializationSettings('ic_launcher')),
      onSelectNotification: (_) async => showNotification());
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key}) : super(key: key);

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> with TickerProviderStateMixin {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child: Text('Demo app')),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () async {
          await AndroidAlarmManager.oneShot(
            Duration(minutes: 1),
            5,
            showNotification,
            exact: true,
            rescheduleOnReboot: true,
            allowWhileIdle: true,
          );
        },
      ),
    );
  }
}

void showNotification() async {
  print('showing notification');
  await FlutterLocalNotificationsPlugin().show(
      0,
      'Notification test',
      'content',
      NotificationDetails(
        android: AndroidNotificationDetails(
            'channelID', 'channel name', 'description',
            icon: 'ic_launcher',
            autoCancel: false,
            visibility: NotificationVisibility.secret,
            showWhen: false),
      ),
      payload: 'test');
}

  1. Click the Floating Action Button to schedule the alarm
  2. Close the app
  3. Expected Behaviour: the alarm fires normally and the notification appears
  4. Actual behaviour: the app crashes

Logs

I can't get flutter run -v output as the issue appears when the app is closed, however this is the adb logcat output from Android studio:

2021-02-16 18:52:17.290 11209-11209/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2021-02-16 18:52:17.293 11209-11209/? E/Zygote: accessInfo : 1
2021-02-16 18:52:17.306 11209-11209/? I/ple.testprojec: Late-enabling -Xcheck:jni
2021-02-16 18:52:17.349 11209-11209/? E/ple.testprojec: Unknown bits set in runtime_flags: 0x8000
2021-02-16 18:52:17.365 11209-11209/? D/ActivityThread: setConscryptValidator
2021-02-16 18:52:17.365 11209-11209/? D/ActivityThread: setConscryptValidator - put
2021-02-16 18:52:18.362 11209-11209/com.example.testproject I/FlutterBackgroundExecutor: Starting AlarmService...
2021-02-16 18:52:18.387 11209-11209/com.example.testproject D/AndroidRuntime: Shutting down VM
2021-02-16 18:52:18.394 11209-11209/com.example.testproject E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.testproject, PID: 11209
    java.lang.RuntimeException: Unable to create service dev.fluttercommunity.plus.androidalarmmanager.AlarmService: java.lang.NullPointerException: Attempt to read from field 'java.lang.String io.flutter.embedding.engine.loader.FlutterApplicationInfo.flutterAssetsDir' on a null object reference
        at android.app.ActivityThread.handleCreateService(ActivityThread.java:4412)
        at android.app.ActivityThread.access$1700(ActivityThread.java:274)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2118)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:8167)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)
     Caused by: java.lang.NullPointerException: Attempt to read from field 'java.lang.String io.flutter.embedding.engine.loader.FlutterApplicationInfo.flutterAssetsDir' on a null object reference
        at io.flutter.embedding.engine.loader.FlutterLoader.findAppBundlePath(FlutterLoader.java:366)
        at io.flutter.view.FlutterMain.findAppBundlePath(FlutterMain.java:104)
        at dev.fluttercommunity.plus.androidalarmmanager.FlutterBackgroundExecutor.startBackgroundIsolate(FlutterBackgroundExecutor.java:155)
        at dev.fluttercommunity.plus.androidalarmmanager.FlutterBackgroundExecutor.startBackgroundIsolate(FlutterBackgroundExecutor.java:124)
        at dev.fluttercommunity.plus.androidalarmmanager.AlarmService.onCreate(AlarmService.java:345)
        at android.app.ActivityThread.handleCreateService(ActivityThread.java:4400)
        at android.app.ActivityThread.access$1700(ActivityThread.java:274) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2118) 
        at android.os.Handler.dispatchMessage(Handler.java:107) 
        at android.os.Looper.loop(Looper.java:237) 
        at android.app.ActivityThread.main(ActivityThread.java:8167) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:496) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100) 

Flutter analyze:

Analyzing testproject...                                                

   info - Unused import: 'package:integration_test/integration_test.dart' - integration_test\app_test.dart:10:8 - unused_import
  error - The function 'run' isn't defined - integration_test\app_test.dart:14:16 - undefined_function

2 issues found. (ran in 19.8s)
[✓] Flutter (Channel beta, 1.26.0-17.5.pre, on Microsoft Windows [Version 10.0.19042.804], locale ar-EG)
    • Flutter version 1.26.0-17.5.pre at D:\Flutter
    • Framework revision 1fe38dcb5f (6 days ago), 2021-02-10 16:25:47 -0800
    • Engine revision d4453f6018
    • Dart version 2.12.0 (build 2.12.0-259.9.beta)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at C:\Users\Andre\AppData\Local\Android\Sdk\
    • Platform android-30, build-tools 30.0.3
    • ANDROID_HOME = C:\Users\Andre\AppData\Local\Android\Sdk\
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Users\Andre\AppData\Local\Google\Chrome\Application\chrome.exe

[✓] Android Studio (version 4.1.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[✓] VS Code, 64-bit edition (version 1.53.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 3.19.0

[✓] Connected device (3 available)
    • SM A515F (mobile) • 192.168.1.4:34456 • android-arm64  • Android 10 (API 29)
    • Chrome (web)      • chrome            • web-javascript • Google Chrome 88.0.4324.150
    • Edge (web)        • edge              • web-javascript • Microsoft Edge 88.0.705.63

• No issues found!

Firebase crashlytics:

firebase crashlytics output
App Screenshot

[package_info_plus] Desktop Windows

May I suggest? Even if it doesn't yet return the real version number, it would be nice to have the federated stub so that it compiles and runs.

Generate code coverage and push to codecov

Currently PRs don't have an indication of how it affects code coverage.
We need CI to generate a coverage file, and upload the result to code a service such as codecov.

[package_info_plus_web] Not working on 0.6.2

System info

Issue occurs on: web
Plugin name: package_info_plus
Plugin version: 0.6.2
Flutter doctor output:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, 1.25.0-8.0.pre, on macOS 11.0.1 20B50 darwin-x64,
    locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.52.0)
[✓] Connected device (2 available)

• No issues found!

Steps to Reproduce

I have this widget that I use to show the version wherever I want.

import 'package:flutter/material.dart';
import 'package:package_info_plus/package_info_plus.dart';

class BuildNumberWidget extends StatefulWidget {
  @override
  _BuildNumberWidgetState createState() => _BuildNumberWidgetState();

  final TextStyle style;
  final String preText;
  final String postText;
  BuildNumberWidget({this.style, this.preText = '', this.postText = ''});
}

class _BuildNumberWidgetState extends State<BuildNumberWidget> {
  PackageInfo _packageInfo = PackageInfo(
    appName: 'Unknown',
    packageName: 'Unknown',
    version: 'Unknown',
    buildNumber: 'Unknown',
  );

  @override
  void initState() {
    super.initState();
    _initPackageInfo();
  }

  Future<void> _initPackageInfo() async {
    final PackageInfo info = await PackageInfo.fromPlatform();
    setState(() {
      _packageInfo = info;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Text(
      '${widget.preText}${_packageInfo.version} (${_packageInfo.buildNumber})${widget.postText}',
      style: widget.style,
    );
  }
}

On 0.5.0 works perfectly. On 0.6.2 returns null for every property

[all] Migrate to Null Safety

Migrate all the plugins to null safety.

Some considerations:

  • e2e package is discontinued and replaced by integration_test.
  • integration_test package does not support null safety yet.
  • migrate only the plugin, and not the example or the e2e test yet.

TODO

Tag yourself on each package if you start working on them!

[battery_plus] Platform support for battery_plus in README is wrong

about battery_plus support for Linux ( mentioned in: https://github.com/fluttercommunity/plus_plugins#battery_plus )

listening to batteryState works on Android device,

  batteryStateSubscription =
      battery.onBatteryStateChanged.listen((BatteryState state) {
    batteryState = state;
    notifyListeners();
  });

works fine on Android, but in Linux (Ubuntu 20.04) throws missing plugin exceptions:

flutter: ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
flutter: The following MissingPluginException was thrown while activating platform stream on channel
flutter: plugins.flutter.io/charging:
flutter: MissingPluginException(No implementation found for method listen on channel
flutter: plugins.flutter.io/charging)

Here is my flutter doctor -v

Flutter (Channel dev, 1.24.0-3.0.pre, on Linux, locale en_US.UTF-8)
• Flutter version 1.24.0-3.0.pre at /home/thomas/development/flutter
• Framework revision 2783f8e2e1 (5 days ago), 2020-10-22 09:36:06 -0700
• Engine revision defa8be2b1
• Dart version 2.11.0 (build 2.11.0-242.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
• Android SDK at /home/thomas/Android/Sdk
• Platform android-29, build-tools 29.0.3
• Java binary at: /home/thomas/development/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.

[✓] Chrome - develop for the web
• Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
• clang version 10.0.0-4ubuntu1
• cmake version 3.16.3
• ninja version 1.10.0
• pkg-config version 0.29.1

[✓] Android Studio
• Android Studio at /home/thomas/development/android-studio
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• android-studio-dir = /home/thomas/development/android-studio
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Community Edition (version 2020.2)
• IntelliJ at /home/thomas/idea-IC/idea-IC-202.6397.94
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin version 202.7206

[✓] Connected device (3 available)
• Linux (desktop) • linux • linux-x64 • Linux
• Web Server (web) • web-server • web-javascript • Flutter Tools
• Chrome (web) • chrome • web-javascript • Google Chrome 85.0.4183.83

[all] e2e test folder location

I have noticed that the plus packages have their e2e tests in different locations.

It would be good to unify that in the same package structure, this will facilitate running tests and contributions from external devs.

In general, tests should be:

in package_name/test -> dart and widget tests.
in package_name/example/test_driver -> flutter driver e2e tests.

Current location of all e2e tests:

  • android_alarm_manager_plus/example/test_driver/ ✔️
  • android_intent_plus/example/test_driver/ ✔️
  • battery_plus/test/
  • connectivity_plus/example/test_driver/test/
  • device_info_plus/example/test_driver/ ✔️
  • package_info_plus/example/test_driver/ ✔️
  • sensors_plus/example/test_driver/test/
  • share_plus/example/test_driver/test/

Proposal:

Unify the package structure and move all e2e packages to package_name/example/test_driver

Add getSubnet() method to network_info_plus

Would it be possible to add a getSubnet() feature please. I'm using Flutter as the GUI to manage IOT devices and I really expected a network_info package to be able to provide both the IP address and subnet details.

This looks like a great set of packages, that's well thought out, and well maintained. I'd really like to standardise on these, so if you could add this functionality sometime it would be very much appreciated :-)

[share_plus] Dependency resolution issue

Because share_plus >=1.1.0 depends on share_plus_windows ^1.0.0 which doesn't match any versions, share_plus >=1.1.0 is forbidden.

Seems like share_plus should depend on share_plus_windows ^0.1.0 or share_plus_windows 1.0.0 should be published.

[android_intent_plus] melos run:e2e fails, running e2e test manually works

System info

Issue occurs on: Android
Plugin name: android_intent_plus
Plugin version: 0.4.0
Flutter doctor output:

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 1.23.0-18.1.pre, on Linux, locale en_US.UTF-8)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/linux#android-setup for more details.
[✓] Chrome - develop for the web
[!] Android Studio (not installed)
[✓] IntelliJ IDEA Ultimate Edition (version 2020.2)
[✓] Connected device (3 available)

! Doctor found issues in 2 categories.

Steps to Reproduce

  1. Start Android emulator
  2. Run melos run:e2e

The tests in android_alarm_manager_plus will pass, the test in android_intent_plus will fail.

However, going to android_intent_plus/example and running the test manually works.

Logs

The important issue is the MissingPluginException that happens when running the test from melos. Again, this does not happen when running the e2e test directly.

$ melos run test:e2e
   └> melos exec -c 1 --fail-fast --scope="*example*" --dir-exists=test_driver -- \  flutter drive --no-pub --target=./test_driver/MELOS_PARENT_PACKAGE_NAME_e2e.dart
       └> RUNNING

$ melos exec -c
   └> flutter drive --no-pub --target=./test_driver/MELOS_PARENT_PACKAGE_NAME_e2e.dart
       └> RUNNING (in 8 packages)

[android_alarm_manager_example]: Using device sdk gphone x86 arm.
[android_alarm_manager_example]: Starting application: ./test_driver/android_alarm_manager_plus_e2e.dart
[android_alarm_manager_example]: Running Gradle task 'assembleDebug'...                          
[android_alarm_manager_example]:     1.9s
[android_alarm_manager_example]: 
[android_alarm_manager_example]: ✓ Built build/app/outputs/flutter-apk/app-debug.apk.
[android_alarm_manager_example]: I/flutter ( 6145): Observatory listening on http://127.0.0.1:42225/UoZpXoV_Q_g=/
[android_alarm_manager_example]: VMServiceFlutterDriver: Connecting to Flutter application at http://127.0.0.1:33439/gzHq9_siSak=/
[android_alarm_manager_example]: VMServiceFlutterDriver: Isolate found with number: 2105761743046391
[android_alarm_manager_example]: VMServiceFlutterDriver: Isolate is paused at start.
[android_alarm_manager_example]: VMServiceFlutterDriver: Attempting to resume isolate
[android_alarm_manager_example]: I/flutter ( 6145): 00:00 +0: oneshot cancelled before it fires
[android_alarm_manager_example]: I/FlutterBackgroundExecutor( 6145): Starting AlarmService...
[android_alarm_manager_example]: I/flutter ( 6145): readCounter
[android_alarm_manager_example]: VMServiceFlutterDriver: Connected to Flutter application.
[android_alarm_manager_example]: for isolates
[android_alarm_manager_example]: I/flutter ( 6145): read: 3
[android_alarm_manager_example]: I/flutter ( 6145): oneShot start
[android_alarm_manager_example]: I/flutter ( 6145): oneShot end
[android_alarm_manager_example]: I/flutter ( 6145): Canceling alarm...
[android_alarm_manager_example]: I/flutter ( 6145): Alarm canceled
[android_alarm_manager_example]: I/flutter ( 6145): readCounter
[android_alarm_manager_example]: I/flutter ( 6145): read: 3
[android_alarm_manager_example]: I/flutter ( 6145): Test end
[android_alarm_manager_example]: I/flutter ( 6145): 00:04 +1: oneshot cancelled after it fires
[android_alarm_manager_example]: I/flutter ( 6145): readCounter
[android_alarm_manager_example]: I/flutter ( 6145): read: 3
[android_alarm_manager_example]: I/flutter ( 6145): oneShot start
[android_alarm_manager_example]: I/flutter ( 6145): oneShot end

[ REMOVED LOG DATA]

[android_alarm_manager_example]: I/flutter ( 6145): readCounter
[android_alarm_manager_example]: I/flutter ( 6145): read: 6
[android_alarm_manager_example]: I/flutter ( 6145): 01:45 +3: (tearDownAll)
[android_alarm_manager_example]: I/flutter ( 6145): 01:45 +4: All tests passed!
[android_alarm_manager_example]: Stopping application instance.
[android_intent_example]: Using device sdk gphone x86 arm.
[android_intent_example]: Starting application: ./test_driver/android_intent_plus_e2e.dart
[android_intent_example]: Running Gradle task 'assembleDebug'...                          
[android_intent_example]:    14.0s
[android_intent_example]: ✓ Built build/app/outputs/flutter-apk/app-debug.apk.
[android_intent_example]: Installing build/app/outputs/flutter-apk/app.apk...             
[android_intent_example]:     0.4s
[android_intent_example]: I/flutter ( 6358): Observatory listening on http://127.0.0.1:37473/lAj8r9KhXkI=/
[android_intent_example]: VMServiceFlutterDriver: Connecting to Flutter application at http://127.0.0.1:40057/4-R3HIsUFqg=/
[android_intent_example]: VMServiceFlutterDriver: Isolate found with number: 1667073683960387
[android_intent_example]: VMServiceFlutterDriver: Isolate is paused at start.
[android_intent_example]: VMServiceFlutterDriver: Attempting to resume isolate
[android_intent_example]: I/flutter ( 6358): 00:00 +0: Embedding example app loads
[android_intent_example]: I/flutter ( 6358): 00:00 +1: #launch throws when no Activity is found
[android_intent_example]: I/flutter ( 6358): (The following exception is now available via WidgetTester.takeException:)
[android_intent_example]: I/flutter ( 6358): ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
[android_intent_example]: I/flutter ( 6358): The following TestFailure object was thrown running a test:
[android_intent_example]: I/flutter ( 6358):   Expected: throws satisfies function
[android_intent_example]: I/flutter ( 6358):   Actual: <Closure: () => Future<void>>
[android_intent_example]: I/flutter ( 6358):    Which: threw MissingPluginException:<MissingPluginException(No implementation found for method
[android_intent_example]: I/flutter ( 6358): launch on channel plugins.flutter.io/android_intent)>
[android_intent_example]: I/flutter ( 6358):           stack package:flutter/src/services/platform_channel.dart 157:7
[android_intent_example]: I/flutter ( 6358): MethodChannel._invokeMethod
[android_intent_example]: I/flutter ( 6358):                 ===== asynchronous gap ===========================
[android_intent_example]: I/flutter ( 6358):                 package:test_api
[android_intent_example]: I/flutter ( 6358): expectLater
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/widget_tester.dart 466:10
[android_intent_example]: I/flutter ( 6358): expectLater
[android_intent_example]: I/flutter ( 6358):                 home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart
[android_intent_example]: I/flutter ( 6358): 46:11  main.<fn>
[android_intent_example]: I/flutter ( 6358):                 home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart
[android_intent_example]: I/flutter ( 6358): 42:7   main.<fn>
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/widget_tester.dart 144:29
[android_intent_example]: I/flutter ( 6358): testWidgets.<fn>.<fn>
[android_intent_example]: I/flutter ( 6358):                 ===== asynchronous gap ===========================
[android_intent_example]: I/flutter ( 6358):                 dart:async
[android_intent_example]: I/flutter ( 6358): _asyncThenWrapperHelper
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/widget_tester.dart
[android_intent_example]: I/flutter ( 6358): testWidgets.<fn>.<fn>
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/binding.dart 794:19
[android_intent_example]: I/flutter ( 6358): TestWidgetsFlutterBinding._runTestBody
[android_intent_example]: I/flutter ( 6358):                 ===== asynchronous gap ===========================
[android_intent_example]: I/flutter ( 6358):                 dart:async
[android_intent_example]: I/flutter ( 6358): _CustomZone.runBinary
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/binding.dart 774:14
[android_intent_example]: I/flutter ( 6358): TestWidgetsFlutterBinding._runTest
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/binding.dart 1625:12
[android_intent_example]: I/flutter ( 6358): LiveTestWidgetsFlutterBinding.runTest
[android_intent_example]: I/flutter ( 6358):                 package:e2e/e2e.dart 100:17
[android_intent_example]: I/flutter ( 6358): E2EWidgetsFlutterBinding.runTest
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/widget_tester.dart 136:24
[android_intent_example]: I/flutter ( 6358): testWidgets.<fn>
[android_intent_example]: I/flutter ( 6358): 
[android_intent_example]: I/flutter ( 6358): When the exception was thrown, this was the stack:
[android_intent_example]: I/flutter ( 6358): #0      fail (package:test_api/src/frontend/expect.dart:155:31)
[android_intent_example]: I/flutter ( 6358): #1      _expect.<anonymous closure> (package:test_api/src/frontend/expect.dart:130:9)
[android_intent_example]: I/flutter ( 6358): #13     Throws._matchFuture (package:test_api/src/frontend/throws_matcher.dart)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #14     Throws.matchAsync (package:test_api/src/frontend/throws_matcher.dart:62:16)
[android_intent_example]: I/flutter ( 6358): #15     _expect (package:test_api/src/frontend/expect.dart:119:26)
[android_intent_example]: I/flutter ( 6358): #16     expectLater (package:test_api/src/frontend/expect.dart:75:5)
[android_intent_example]: I/flutter ( 6358): #17     expectLater (package:flutter_test/src/widget_tester.dart:466:10)
[android_intent_example]: I/flutter ( 6358): #18     main.<anonymous closure> (file:///home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart:46:11)
[android_intent_example]: I/flutter ( 6358): #19     main.<anonymous closure> (file:///home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart:42:7)
[android_intent_example]: I/flutter ( 6358): #20     testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:144:29)
[android_intent_example]: I/flutter ( 6358): (elided 29 frames from dart:async, dart:async-patch, and package:stack_trace)
[android_intent_example]: I/flutter ( 6358): 
[android_intent_example]: I/flutter ( 6358): The test description was:
[android_intent_example]: I/flutter ( 6358):   #launch throws when no Activity is found
[android_intent_example]: I/flutter ( 6358): ════════════════════════════════════════════════════════════════════════════════════════════════════
[android_intent_example]: I/flutter ( 6358): (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
[android_intent_example]: I/flutter ( 6358): ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
[android_intent_example]: I/flutter ( 6358): The following TestFailure object was thrown running a test:
[android_intent_example]: I/flutter ( 6358):   Expected: throws satisfies function
[android_intent_example]: I/flutter ( 6358):   Actual: <Closure: () => Future<void>>
[android_intent_example]: I/flutter ( 6358):    Which: threw MissingPluginException:<MissingPluginException(No implementation found for method
[android_intent_example]: I/flutter ( 6358): launch on channel plugins.flutter.io/android_intent)>
[android_intent_example]: I/flutter ( 6358):           stack package:flutter/src/services/platform_channel.dart 157:7
[android_intent_example]: I/flutter ( 6358): MethodChannel._invokeMethod
[android_intent_example]: I/flutter ( 6358):                 ===== asynchronous gap ===========================
[android_intent_example]: I/flutter ( 6358):                 package:test_api
[android_intent_example]: I/flutter ( 6358): expectLater
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/widget_tester.dart 466:10
[android_intent_example]: I/flutter ( 6358): expectLater
[android_intent_example]: I/flutter ( 6358):                 home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart
[android_intent_example]: I/flutter ( 6358): 46:11  main.<fn>
[android_intent_example]: I/flutter ( 6358):                 home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart
[android_intent_example]: I/flutter ( 6358): 42:7   main.<fn>
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/widget_tester.dart 144:29
[android_intent_example]: I/flutter ( 6358): testWidgets.<fn>.<fn>
[android_intent_example]: I/flutter ( 6358):                 ===== asynchronous gap ===========================
[android_intent_example]: I/flutter ( 6358):                 dart:async
[android_intent_example]: I/flutter ( 6358): _asyncThenWrapperHelper
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/widget_tester.dart
[android_intent_example]: I/flutter ( 6358): testWidgets.<fn>.<fn>
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/binding.dart 794:19
[android_intent_example]: I/flutter ( 6358): TestWidgetsFlutterBinding._runTestBody
[android_intent_example]: I/flutter ( 6358):                 ===== asynchronous gap ===========================
[android_intent_example]: I/flutter ( 6358):                 dart:async
[android_intent_example]: I/flutter ( 6358): _CustomZone.runBinary
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/binding.dart 774:14
[android_intent_example]: I/flutter ( 6358): TestWidgetsFlutterBinding._runTest
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/binding.dart 1625:12
[android_intent_example]: I/flutter ( 6358): LiveTestWidgetsFlutterBinding.runTest
[android_intent_example]: I/flutter ( 6358):                 package:e2e/e2e.dart 100:17
[android_intent_example]: I/flutter ( 6358): E2EWidgetsFlutterBinding.runTest
[android_intent_example]: I/flutter ( 6358):                 package:flutter_test/src/widget_tester.dart 136:24
[android_intent_example]: I/flutter ( 6358): testWidgets.<fn>
[android_intent_example]: I/flutter ( 6358): 
[android_intent_example]: I/flutter ( 6358): When the exception was thrown, this was the stack:
[android_intent_example]: I/flutter ( 6358): #0      fail (package:test_api/src/frontend/expect.dart:155:31)
[android_intent_example]: I/flutter ( 6358): #1      _expect.<anonymous closure> (package:test_api/src/frontend/expect.dart:130:9)
[android_intent_example]: I/flutter ( 6358): #13     Throws._matchFuture (package:test_api/src/frontend/throws_matcher.dart)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #14     Throws.matchAsync (package:test_api/src/frontend/throws_matcher.dart:62:16)
[android_intent_example]: I/flutter ( 6358): #15     _expect (package:test_api/src/frontend/expect.dart:119:26)
[android_intent_example]: I/flutter ( 6358): #16     expectLater (package:test_api/src/frontend/expect.dart:75:5)
[android_intent_example]: I/flutter ( 6358): #17     expectLater (package:flutter_test/src/widget_tester.dart:466:10)
[android_intent_example]: I/flutter ( 6358): #18     main.<anonymous closure> (file:///home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart:46:11)
[android_intent_example]: I/flutter ( 6358): #19     main.<anonymous closure> (file:///home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart:42:7)
[android_intent_example]: I/flutter ( 6358): #20     testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:144:29)
[android_intent_example]: I/flutter ( 6358): (elided 29 frames from dart:async, dart:async-patch, and package:stack_trace)
[android_intent_example]: I/flutter ( 6358): 
[android_intent_example]: I/flutter ( 6358): The test description was:
[android_intent_example]: I/flutter ( 6358):   #launch throws when no Activity is found
[android_intent_example]: I/flutter ( 6358): ════════════════════════════════════════════════════════════════════════════════════════════════════
[android_intent_example]: I/flutter ( 6358): 00:00 +1: #launch throws when no Activity is found [E]
[android_intent_example]: I/flutter ( 6358):   Test failed. See exception logs above.
[android_intent_example]: I/flutter ( 6358):   The test description was: #launch throws when no Activity is found
[android_intent_example]: I/flutter ( 6358):   
[android_intent_example]: I/flutter ( 6358): 00:00 +1 -1: #canResolveActivity returns true when example Activity is found
[android_intent_example]: I/flutter ( 6358): (The following exception is now available via WidgetTester.takeException:)
[android_intent_example]: I/flutter ( 6358): ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
[android_intent_example]: I/flutter ( 6358): The following MissingPluginException was thrown running a test:
[android_intent_example]: I/flutter ( 6358): MissingPluginException(No implementation found for method canResolveActivity on channel
[android_intent_example]: I/flutter ( 6358): plugins.flutter.io/android_intent)
[android_intent_example]: I/flutter ( 6358): 
[android_intent_example]: I/flutter ( 6358): When the exception was thrown, this was the stack:
[android_intent_example]: I/flutter ( 6358): #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:157:7)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
[android_intent_example]: I/flutter ( 6358): #2      AndroidIntent.canResolveActivity (package:android_intent_plus/android_intent.dart:149:27)
[android_intent_example]: I/flutter ( 6358): #3      main.<anonymous closure> (file:///home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart:59:36)
[android_intent_example]: I/flutter ( 6358): #4      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:144:29)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #5      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart)
[android_intent_example]: I/flutter ( 6358): #6      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:794:19)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #9      TestWidgetsFlutterBinding._runTest (package:flutter_test/src/binding.dart:774:14)
[android_intent_example]: I/flutter ( 6358): #10     LiveTestWidgetsFlutterBinding.runTest (package:flutter_test/src/binding.dart:1625:12)
[android_intent_example]: I/flutter ( 6358): #11     E2EWidgetsFlutterBinding.runTest (package:e2e/e2e.dart:100:17)
[android_intent_example]: I/flutter ( 6358): #12     testWidgets.<anonymous closure> (package:flutter_test/src/widget_tester.dart:136:24)
[android_intent_example]: I/flutter ( 6358): #13     Declarer.test.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/declarer.dart:175:19)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #14     Declarer.test.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/declarer.dart)
[android_intent_example]: I/flutter ( 6358): #19     Declarer.test.<anonymous closure> (package:test_api/src/backend/declarer.dart:173:13)
[android_intent_example]: I/flutter ( 6358): #20     Invoker.waitForOutstandingCallbacks.<anonymous closure> (package:test_api/src/backend/invoker.dart:231:15)
[android_intent_example]: I/flutter ( 6358): #25     Invoker.waitForOutstandingCallbacks (package:test_api/src/backend/invoker.dart:228:5)
[android_intent_example]: I/flutter ( 6358): #26     Invoker._onRun.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/invoker.dart:383:17)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #27     Invoker._onRun.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/invoker.dart)
[android_intent_example]: I/flutter ( 6358): #32     Invoker._onRun.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/invoker.dart:370:9)
[android_intent_example]: I/flutter ( 6358): #33     Invoker._guardIfGuarded (package:test_api/src/backend/invoker.dart:415:15)
[android_intent_example]: I/flutter ( 6358): #34     Invoker._onRun.<anonymous closure> (package:test_api/src/backend/invoker.dart:369:7)
[android_intent_example]: I/flutter ( 6358): #41     Invoker._onRun (package:test_api/src/backend/invoker.dart:368:11)
[android_intent_example]: I/flutter ( 6358): #42     LiveTestController.run (package:test_api/src/backend/live_test_controller.dart:153:11)
[android_intent_example]: I/flutter ( 6358): (elided 31 frames from dart:async and package:stack_trace)
[android_intent_example]: I/flutter ( 6358): 
[android_intent_example]: I/flutter ( 6358): The test description was:
[android_intent_example]: I/flutter ( 6358):   #canResolveActivity returns true when example Activity is found
[android_intent_example]: I/flutter ( 6358): ════════════════════════════════════════════════════════════════════════════════════════════════════
[android_intent_example]: I/flutter ( 6358): (If WidgetTester.takeException is called, the above exception will be ignored. If it is not, then the above exception will be dumped when another exception is caught by the framework or when the test ends, whichever happens first, and then the test will fail due to having not caught or expected the exception.)
[android_intent_example]: I/flutter ( 6358): ══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
[android_intent_example]: I/flutter ( 6358): The following MissingPluginException was thrown running a test:
[android_intent_example]: I/flutter ( 6358): MissingPluginException(No implementation found for method canResolveActivity on channel
[android_intent_example]: I/flutter ( 6358): plugins.flutter.io/android_intent)
[android_intent_example]: I/flutter ( 6358): 
[android_intent_example]: I/flutter ( 6358): When the exception was thrown, this was the stack:
[android_intent_example]: I/flutter ( 6358): #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:157:7)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
[android_intent_example]: I/flutter ( 6358): #2      AndroidIntent.canResolveActivity (package:android_intent_plus/android_intent.dart:149:27)
[android_intent_example]: I/flutter ( 6358): #3      main.<anonymous closure> (file:///home/miquel/dev/projects/fluttercommunity/plus_plugins/packages/android_intent_plus/example/test_driver/android_intent_plus_e2e.dart:59:36)
[android_intent_example]: I/flutter ( 6358): #4      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart:144:29)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #5      testWidgets.<anonymous closure>.<anonymous closure> (package:flutter_test/src/widget_tester.dart)
[android_intent_example]: I/flutter ( 6358): #6      TestWidgetsFlutterBinding._runTestBody (package:flutter_test/src/binding.dart:794:19)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #9      TestWidgetsFlutterBinding._runTest (package:flutter_test/src/binding.dart:774:14)
[android_intent_example]: I/flutter ( 6358): #10     LiveTestWidgetsFlutterBinding.runTest (package:flutter_test/src/binding.dart:1625:12)
[android_intent_example]: I/flutter ( 6358): #11     E2EWidgetsFlutterBinding.runTest (package:e2e/e2e.dart:100:17)
[android_intent_example]: I/flutter ( 6358): #12     testWidgets.<anonymous closure> (package:flutter_test/src/widget_tester.dart:136:24)
[android_intent_example]: I/flutter ( 6358): #13     Declarer.test.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/declarer.dart:175:19)
[android_intent_example]: I/flutter ( 6358): <asynchronous suspension>
[android_intent_example]: I/flutter ( 6358): #14     Declarer.test.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/declarer.dart)
[android_intent_example]: I/flutter ( 6358): #19     Declarer.test.<anonymous closure> (package:test_api/src/backend/declarer.dart:173:13)
[android_intent_example]: I/flutter ( 6358): #20     Invoker.waitForOutstandingCallbacks.<anonymous closure> (package:test_api/src/backend/invoker.dart:231:15)
[android_intent_example]: I/flutter ( 6358): #25     Invoker.waitForOutstandingCallbacks (package:test_api/src/backend/invoker.dart:228:5)
[android_intent_example]: I/flutter ( 6358): #26     Invoker._onRun.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:test_api/src/backend/invoker.dart:383:17)
[android_intent_example]: I/flutter ( 6358): 00:00 +1 -1: #canResolveActivity returns true when example Activity is found [E]
[android_intent_example]: I/flutter ( 6358):   Test failed. See exception logs above.
[android_intent_example]: I/flutter ( 6358):   The test description was: #canResolveActivity returns true when example Activity is found
[android_intent_example]: I/flutter ( 6358):   
[android_intent_example]: I/flutter ( 6358): 00:00 +1 -2: #canResolveActivity returns false when no Activity is found
[android_intent_example]: I/flutter ( 6358): 00:00 +1 -2: #canResolveActivity returns false when no Activity is found [E]
[android_intent_example]: I/flutter ( 6358):   Test failed. See exception logs above.
[android_intent_example]: I/flutter ( 6358):   The test description was: #canResolveActivity returns false when no Activity is found
[android_intent_example]: I/flutter ( 6358):   
[android_intent_example]: I/flutter ( 6358): 00:00 +1 -3: (tearDownAll)
[android_intent_example]: I/flutter ( 6358): Warning: E2E test plugin was not detected.
[android_intent_example]: I/flutter ( 6358): 00:00 +2 -3: Some tests failed.
[android_intent_example]: VMServiceFlutterDriver: Connected to Flutter application.
[android_intent_example]: Stopping application instance.
[android_intent_example]: Driver tests failed: 1

$ melos exec -c
   └> flutter drive --no-pub --target=./test_driver/MELOS_PARENT_PACKAGE_NAME_e2e.dart
       └> FAILED (in 1 packages)
           └> android_intent_example (with exit code 1)

$ melos run test:e2e
   └> melos exec -c 1 --fail-fast --scope="*example*" --dir-exists=test_driver -- \  flutter drive --no-pub --target=./test_driver/MELOS_PARENT_PACKAGE_NAME_e2e.dart
       └> FAILED


[connectivity_plus] Getting release build error

I am getting release build error when i use connectivity_plus plugin. Other than this is working very well.
Error

[+31703 ms] [+31728 ms] Unexpected object (Class with illegal cid, full-aot):
0x1152a01d1 Library:'package:win32/src/kernel32.dart' Class: ::
[ +4 ms] [ +6 ms] Dart snapshot generator failed with exit code -6
[ +292 ms] [ +259 ms] Unexpected object (Class with illegal cid, full-aot):
0x1164879e1 Library:'package:win32/src/kernel32.dart' Class: ::
[ ] [ ] Dart snapshot generator failed with exit code -6
[ +199 ms] [ +195 ms] Unexpected object (Class with illegal cid, full-aot):
0x1114079e1 Library:'package:win32/src/kernel32.dart' Class: ::
[ +1 ms] [ ] Dart snapshot generator failed with exit code -6
[ ] [ +20 ms] Target android_aot_release_android-arm failed: Exception:
AOT snapshotter exited with code -6
[ ] #0 AndroidAot.build
(package:flutter_tools/src/build_system/targets/android.dart:260:7)
[ ]
[ ] #1 _BuildInstance._invokeInternal
(package:flutter_tools/src/build_system/build_system.dart:801:27)
[ ] #2 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #3 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #4 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #5 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #6 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #7 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #8 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #9 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #10 Node.computeChanges
(package:flutter_tools/src/build_system/build_system.dart)
[ ] #11 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #12 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #13 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #14 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #15 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #16 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ +1 ms] #17 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #18 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #19 FileStore.diffFileList
(package:flutter_tools/src/build_system/file_store.dart)
[ ] #20 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #21 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #22 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #23 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #24 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #25 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #26 Future.wait.
(dart:async/future.dart:414:23)
[ ] #27 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #28 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #29 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #30 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #31 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #32 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #33 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #34 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #35 FileStore._hashFile
(package:flutter_tools/src/build_system/file_store.dart)
[ ] #36 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #37 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #38 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #39 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #40 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #41 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #42 Future._asyncCompleteWithValue.
(dart:async/future_impl.dart:567:7)
[ ] #43 _rootRun (dart:async/zone.dart:1190:13)
[ ] #44 _CustomZone.run (dart:async/zone.dart:1093:19)
[ ] #45 _CustomZone.runGuarded
(dart:async/zone.dart:997:7)
[ ] #46 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23)
[ ] #47 _microtaskLoop
(dart:async/schedule_microtask.dart:41:21)
[ ] #48 _startMicrotaskLoop
(dart:async/schedule_microtask.dart:50:5)
[ ] #49 _runPendingImmediateCallback
(dart:isolate-patch/isolate_patch.dart:118:13)
[ ] #50 _RawReceivePortImpl._handleMessage
(dart:isolate-patch/isolate_patch.dart:169:5)
[ ] [ +1 ms] Target android_aot_release_android-arm64 failed:
Exception: AOT snapshotter exited with code -6
[ ] #0 AndroidAot.build
(package:flutter_tools/src/build_system/targets/android.dart:260:7)
[ ]
[ ] #1 _BuildInstance._invokeInternal
(package:flutter_tools/src/build_system/build_system.dart:801:27)
[ ] #2 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #3 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #4 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #5 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #6 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #7 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #8 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #9 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #10 Node.computeChanges
(package:flutter_tools/src/build_system/build_system.dart)
[ ] #11 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #12 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #13 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #14 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #15 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #16 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #17 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #18 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #19 FileStore.diffFileList
(package:flutter_tools/src/build_system/file_store.dart)
[ ] #20 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #21 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #22 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #23 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #24 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #25 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #26 Future.wait.
(dart:async/future.dart:414:23)
[ ] #27 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #28 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #29 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #30 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #31 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #32 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #33 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #34 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ +1 ms] #35 FileStore._hashFile
(package:flutter_tools/src/build_system/file_store.dart)
[ +1 ms] #36 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #37 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #38 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #39 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #40 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #41 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #42 Future._asyncCompleteWithValue.
(dart:async/future_impl.dart:567:7)
[ ] #43 _rootRun (dart:async/zone.dart:1190:13)
[ ] #44 _CustomZone.run (dart:async/zone.dart:1093:19)
[ ] #45 _CustomZone.runGuarded
(dart:async/zone.dart:997:7)
[ ] #46 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23)
[ ] #47 _microtaskLoop
(dart:async/schedule_microtask.dart:41:21)
[ ] #48 _startMicrotaskLoop
(dart:async/schedule_microtask.dart:50:5)
[ ] #49 _runPendingImmediateCallback
(dart:isolate-patch/isolate_patch.dart:118:13)
[ ] #50 _RawReceivePortImpl._handleMessage
(dart:isolate-patch/isolate_patch.dart:169:5)
[ ] [ +1 ms] Target android_aot_release_android-x64 failed: Exception:
AOT snapshotter exited with code -6
[ ] #0 AndroidAot.build
(package:flutter_tools/src/build_system/targets/android.dart:260:7)
[ ]
[ ] #1 _BuildInstance._invokeInternal
(package:flutter_tools/src/build_system/build_system.dart:801:27)
[ ] #2 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #3 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #4 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #5 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #6 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #7 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #8 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #9 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #10 Node.computeChanges
(package:flutter_tools/src/build_system/build_system.dart)
[ ] #11 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #12 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #13 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #14 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #15 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #16 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #17 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #18 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ +1 ms] #19 FileStore.diffFileList
(package:flutter_tools/src/build_system/file_store.dart)
[ +1 ms] #20 _rootRunUnary (dart:async/zone.dart:1198:47)
[ +3 ms] #21 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #22 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #23 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #24 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #25 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #26 Future.wait.
(dart:async/future.dart:414:23)
[ ] #27 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #28 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #29 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #30 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ +1 ms] #31 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ +5 ms] #32 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ +1 ms] #33 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #34 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ +8 ms] #35 FileStore._hashFile
(package:flutter_tools/src/build_system/file_store.dart)
[ +1 ms] #36 _rootRunUnary (dart:async/zone.dart:1198:47)
[ +2 ms] #37 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ +2 ms] #38 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ +1 ms] #39 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ +1 ms] #40 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ +1 ms] #41 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ +2 ms] #42 Future._asyncCompleteWithValue.
(dart:async/future_impl.dart:567:7)
[ +5 ms] #43 _rootRun (dart:async/zone.dart:1190:13)
[ ] #44 _CustomZone.run (dart:async/zone.dart:1093:19)
[ ] #45 _CustomZone.runGuarded
(dart:async/zone.dart:997:7)
[ ] #46 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23)
[ ] #47 _microtaskLoop
(dart:async/schedule_microtask.dart:41:21)
[ ] #48 _startMicrotaskLoop
(dart:async/schedule_microtask.dart:50:5)
[ ] #49 _runPendingImmediateCallback
(dart:isolate-patch/isolate_patch.dart:118:13)
[ ] #50 _RawReceivePortImpl._handleMessage
(dart:isolate-patch/isolate_patch.dart:169:5)
[ +2 ms] [ +14 ms]
[ ] #0 throwToolExit
(package:flutter_tools/src/base/common.dart:14:3)
[ +1 ms] #1 AssembleCommand.runCommand
(package:flutter_tools/src/commands/assemble.dart:238:7)
[ +1 ms] #2 _rootRunUnary (dart:async/zone.dart:1198:47)
[ +1 ms] #3 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #4 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ +1 ms] #5 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ +1 ms] #6 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ +1 ms] #7 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ +1 ms] #8 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ +1 ms] #9 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ +1 ms] #10 FlutterBuildSystem.build
(package:flutter_tools/src/build_system/build_system.dart)
[ +5 ms] #11 _rootRunUnary (dart:async/zone.dart:1198:47)
[ +1 ms] #12 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #13 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #14 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #15 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #16 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ +1 ms] #17 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ +1 ms] #18 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #19 _BuildInstance.invokeTarget
(package:flutter_tools/src/build_system/build_system.dart)
[ ] #20 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #21 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #22 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #23 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #24 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #25 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ +1 ms] #26 Future.wait.
(dart:async/future.dart:414:23)
[ ] #27 _rootRunUnary (dart:async/zone.dart:1198:47)
[ +1 ms] #28 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #29 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ +6 ms] #30 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #31 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #32 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #33 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #34 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ +1 ms] #35 _BuildInstance.invokeTarget
(package:flutter_tools/src/build_system/build_system.dart)
[ +1 ms] #36 _rootRunUnary (dart:async/zone.dart:1198:47)
[ +1 ms] #37 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #38 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #39 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ +1 ms] #40 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ +6 ms] #41 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ +2 ms] #42 Future.wait.
(dart:async/future.dart:414:23)
[ +2 ms] #43 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #44 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #45 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ +1 ms] #46 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #47 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #48 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #49 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #50 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #51 _BuildInstance._invokeInternal
(package:flutter_tools/src/build_system/build_system.dart)
[ ] #52 _asyncErrorWrapperHelper.errorCallback
(dart:async-patch/async_patch.dart:91:64)
[ ] #53 _rootRunBinary (dart:async/zone.dart:1214:47)
[ ] #54 _CustomZone.runBinary
(dart:async/zone.dart:1107:19)
[ ] #55 _FutureListener.handleError
(dart:async/future_impl.dart:157:20)
[ ] #56 Future._propagateToListeners.handleError
(dart:async/future_impl.dart:708:47)
[ ] #57 Future._propagateToListeners
(dart:async/future_impl.dart:729:24)
[ +1 ms] #58 Future._completeError
(dart:async/future_impl.dart:537:5)
[ ] #59 _AsyncAwaitCompleter.completeError
(dart:async-patch/async_patch.dart:47:15)
[ ] #60 AndroidAot.build
(package:flutter_tools/src/build_system/targets/android.dart)
[ ] #61 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #62 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ +4 ms] #63 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #64 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #65 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #66 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #67 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #68 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #69 AOTSnapshotter.build
(package:flutter_tools/src/base/build.dart)
[ ] #70 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #71 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #72 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #73 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #74 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #75 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #76 _AsyncAwaitCompleter.complete
(dart:async-patch/async_patch.dart:40:15)
[ ] #77 _completeOnAsyncReturn
(dart:async-patch/async_patch.dart:311:13)
[ ] #78 _DefaultProcessUtils.stream
(package:flutter_tools/src/base/process.dart)
[ ] #79 _rootRunUnary (dart:async/zone.dart:1198:47)
[ ] #80 _CustomZone.runUnary
(dart:async/zone.dart:1100:19)
[ ] #81 _FutureListener.handleValue
(dart:async/future_impl.dart:143:18)
[ ] #82 Future._propagateToListeners.handleValueCallback
(dart:async/future_impl.dart:696:45)
[ ] #83 Future._propagateToListeners
(dart:async/future_impl.dart:725:32)
[ ] #84 Future._completeWithValue
(dart:async/future_impl.dart:529:5)
[ ] #85 Future._asyncCompleteWithValue.
(dart:async/future_impl.dart:567:7)
[ ] #86 _rootRun (dart:async/zone.dart:1190:13)
[ ] #87 _CustomZone.run (dart:async/zone.dart:1093:19)
[ ] #88 _CustomZone.runGuarded
(dart:async/zone.dart:997:7)
[ ] #89 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1037:23)
[ ] #90 _microtaskLoop
(dart:async/schedule_microtask.dart:41:21)
[ ] #91 _startMicrotaskLoop
(dart:async/schedule_microtask.dart:50:5)
[ ] #92 _runPendingImmediateCallback
(dart:isolate-patch/isolate_patch.dart:118:13)
[ ] #93 _RawReceivePortImpl._handleMessage
(dart:isolate-patch/isolate_patch.dart:169:5)
[ ] FAILURE: Build failed with an exception.
[ ] * Where:
[ ] Script
'/Users/xxxxxxxx/flutter/packages/flutter_tools/gradle/flutter.gradle'
line: 904
[ ] * What went wrong:
[ ] Execution failed for task ':app:compileFlutterBuildRelease'.
[ ] > Process 'command '/Users/xxxxxxx/flutter/bin/flutter''
finished with non-zero exit value 1
[ ] * Try:
[ ] Run with --stacktrace option to get the stack trace. Run with --info
or --debug option to get more log output. Run with --scan to get full insights.
[ ] * Get more help at https://help.gradle.org
[ ] BUILD FAILED in 1m 27s

Flutter doctor

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.4 19E287 darwin-x64,
locale en)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.52.1)
[✓] Connected device (1 available)

• No issues found!

Gradle

distributionUrl=https://services.gradle.org/distributions/gradle-5.6.2-all.zip
classpath 'com.android.tools.build:gradle:3.5.4'
classpath 'com.google.gms:google-services:4.3.4'

Thank you

[package_info_plus] Make PackageInfo testable with mock data

Use case

A plugin / app uses the package_info plugin and there is the requirement / wish to write tests, which also include data returned by the package_info plugin.
Currently it's not possible to return dynamic test data via the package_info plugin. It's possible to mock the data once via setMockMethodCallHandler call, but due to the caching it's not possible to alter the data later on.

Proposal

Provide a similar function, probably simpler, as already done in in the shared_preference plugin (https://github.com/flutter/plugins/blob/master/packages/shared_preferences/shared_preferences/lib/shared_preferences.dart#L196).

Alternatives

An alternative would be a clear method, but this shouldn't be necessary during real world usage, so I would vote for a "testing only change" of the code.

Information

I already created this issue and the following PR in the flutter/plugins repository (flutter/flutter#76076) and was redirected to this repo, so I'm more or less copy / pasting everything I did over there.

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Duplicate plugin key: FLTPackageInfoPlugin'

System info

Issue occurs on: iOS using physical device
Plugin name: package_info_plus
Plugin version: 0.5.0

Steps to Reproduce

  1. Replaced package_info with package_info_plus in existing project to use it on the web.

Logs

[        ] Application launched on the device. Waiting for observatory port.
[+1680 ms] (lldb) 2020-11-14 10:42:07.904448-0700 Runner[542:51058] 6.33.0 - [Firebase/Core][I-COR000005] No app has
been configured yet.
[  +37 ms] [Firebase/Crashlytics] Version 4.6.2
[  +28 ms] Observatory URL on device: http://127.0.0.1:54268/
[   +8 ms] 6.33.0 - [Firebase/Messaging][I-FCM001000] FIRMessaging Remote Notifications proxy enabled, will swizzle
remote notification receiver handlers. If you'd prefer to manually integrate Firebase Messaging, add
"FirebaseAppDelegateProxyEnabled" to your Info.plist, and set it to NO. Follow the instructions at:
[        ] https://firebase.google.com/docs/cloud-messaging/ios/client#method_swizzling_in_firebase_messaging
[        ] to ensure proper integration.
[        ] *** Assertion failure in -[FlutterEngine registrarForPlugin:], FlutterEngine.mm:800
[        ] Attempting to forward device port 54268 to host port 59778
[        ] executing: /Users/james/Development/flutter/bin/cache/artifacts/usbmuxd/iproxy 59778:54268 --udid
1804847de2148c71fb62931b5c64fa533fa4cfe4
[        ] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Duplicate
plugin key: FLTPackageInfoPlugin'
[        ] *** First throw call stack:
[        ] (0x1aaf159d4 0x1be8c6b54 0x1aae244fc 0x1ac11c878 0x1066ac0f8 0x1046d7bd0 0x1046dccec 0x1046dcff4
0x1ad774c04 0x1ad776ba4 0x1ad77c28c 0x1ace52d48 0x1ad37b5ec 0x1ace53830 0x1ace53338 0x1ace5365c 0x1ace52f18
0x1ace5abc4 0x1ad294a2c 0x1ad392d14 0x1ace5a8b8 0x1acc99e84 0x1acc98924 0x1acc99ad0 0x1ad77a464 0x1ad2bb320
0x1b98ab7c4 0x1b98d31f0 0x1b98b8f20 0x1b98d2f04 0x1aab4e280 0x1aab27190 0x1b98f7f20 0x1b98f7be8 0x1b98f80bc
0x1aae95be0 0x1aae95ae0 0x1aae94e28 0x1aae8f3d0 0x1aae8eb90 0x1c11b1598 0x1ad778638 0x1ad77dbb8 0x1046dd1b8
0x1aab6d588)
[        ] libc++abi.dylib: terminating with uncaught exception of type NSException
[ +262 ms] Process 542 stopped
[        ] * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
[        ]     frame #0: 0x00000001d605584c libsystem_kernel.dylib`__pthread_kill + 8
[        ] libsystem_kernel.dylib`__pthread_kill:
[        ] ->  0x1d605584c <+8>:  b.lo   0x1d6055868               ; <+36>
[        ]     0x1d6055850 <+12>: stp    x29, x30, [sp, #-0x10]!
[        ]     0x1d6055854 <+16>: mov    x29, sp
[        ]     0x1d6055858 <+20>: bl     0x1d6032f5c               ; cerror_nocancel
[        ] Target 0: (Runner) stopped.
[        ] ios-deploy exited with code 0
[ +742 ms] Forwarded port ForwardedPort HOST:59778 to DEVICE:54268
[        ] Forwarded host port 59778 to device port 54268 for Observatory
[   +2 ms] Installing and launching... (completed in 35.6s)
[   +2 ms] Caching compiled dill
[  +53 ms] Connecting to service protocol: http://127.0.0.1:59778/
[   +1 ms] Launching a Dart Developer Service (DDS) instance at http://127.0.0.1:0, connecting to VM service at
http://127.0.0.1:59778/.
[  +66 ms] Fail to connect to service protocol: http://127.0.0.1:59778/: WebSocketChannelException:
WebSocketChannelException: HttpException: Connection closed before full header was received, uri =
http://127.0.0.1:59778/ws
[        ] Error connecting to the service protocol: failed to connect to http://127.0.0.1:59778/
[        ] "flutter run" took 92,526ms.
[   +3 ms] 
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:14:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:608:7)
           <asynchronous suspension>
           #2      FlutterCommand.verifyThenRunCommand
(package:flutter_tools/src/runner/flutter_command.dart:1075:18)
           #3      _rootRunUnary (dart:async/zone.dart:1198:47)
           #4      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
           #5      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
           #6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
           #7      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
           #8      Future._completeWithValue (dart:async/future_impl.dart:529:5)
           #9      _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
           #10     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:291:13)
           #11     RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
           #12     _rootRunUnary (dart:async/zone.dart:1198:47)
           #13     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
           #14     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
           #15     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
           #16     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
           #17     Future._completeWithValue (dart:async/future_impl.dart:529:5)
           #18     Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
           #19     _rootRun (dart:async/zone.dart:1190:13)
           #20     _CustomZone.run (dart:async/zone.dart:1093:19)
           #21     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
           #22     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
           #23     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
           #24     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
           #25     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
           #26     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)
           
           
[  +45 ms] ensureAnalyticsSent: 42ms
[        ] Running shutdown hooks
[        ] Shutdown hook priority 4
[   +1 ms] Shutdown hooks complete
[        ] exiting with code 2


[✓] Flutter (Channel dev, 1.24.0-7.0.pre, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-US)
    • Flutter version 1.24.0-7.0.pre at /Users/james/Development/flutter
    • Framework revision a0860f6e87 (2 weeks ago), 2020-10-29 20:07:34 -0700
    • Engine revision 073263e39d
    • Dart version 2.11.0 (build 2.11.0-260.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/james/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.2, Build version 12B45b
    • CocoaPods version 1.10.0

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 48.1.2
    • Dart plugin version 192.8052
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.51.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (4 available)
    • Apollo (mobile)  • 1804847de2148c71fb62931b5c64fa533fa4cfe4 • ios            • iOS 14.2
    • macOS (desktop)  • macos                                    • darwin-x64     • Mac OS X 10.15.7 19H2 darwin-x64
    • Web Server (web) • web-server                               • web-javascript • Flutter Tools
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 86.0.4240.193

• No issues found!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.