A plugins pick Image & camera for Flutter

Overview

christian_picker_image

Flutter plugin that allows you to upload multi image picker on iOS & Android.

Getting Started

ChristianImagePicker is an all-in-one camera solution for your iOS app. It lets your users select images from the library and take pictures at the same time. As a developer you get notified of all the user interactions and get the beautiful UI for free, out of the box, it's just that simple.

ImagePicker has been optimized to give a great user experience, it passes around referenced images instead of the image itself which makes it less memory consuming. This is what makes it smooth as butter.

Demo

iOS

Add the following keys to your Info.plist file, located in <project root>/ios/Runner/Info.plist:

  • NSPhotoLibraryUsageDescription - describe why your app needs permission for the photo library. This is called Privacy - Photo Library Usage Description in the visual editor.
  • NSCameraUsageDescription - describe why your app needs access to the camera. This is called Privacy - Camera Usage Description in the visual editor. visual editor.

Example

import 'package:christian_picker_image/christian_picker_image.dart';

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  
  void takeImage(BuildContext context) async {
    List<File> images  = await ChristianPickerImage.pickImages(maxImages: 5);
    print(images);
    Navigator.of(context).pop();
  }

  Future _pickImage(BuildContext context) async {

    showDialog<Null>(
      context: context,
      barrierDismissible: false,
      builder: (BuildContext context) {
        takeImage(context);
        return Center();
    });

  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Text("Christian Picker Image Demo"),
        floatingActionButton: Column(
          mainAxisAlignment: MainAxisAlignment.end,
          children: <Widget>[
            Padding(
              padding: const EdgeInsets.only(top: 16.0),
              child: FloatingActionButton(
                onPressed: () {
                  _pickImage(context);
                },
                tooltip: 'Take a Photo',
                child: const Icon(Icons.photo_library),
              ),
            ),
          ],
        )
      ),
    );
  }

}
Comments
  • Getting error after doing flutter pub get

    Getting error after doing flutter pub get

    After adding package to the pubspec.yaml and doing flutter pug bet results in below error

    Couldn't read file LocalFile: '/Users/7sugar/Desktop/flutter/.pub-cache/hosted/pub.dartlang.org/christian_picker_image-0.1.0/android/src/main/kotlin/com/christian/christian_picker_image/ChristianPickerImagePlugin.kt' even though it exists. Please verify that this file has read permission and try again

    opened by LaxmikanthMadhyastha 8
  • Build error on new build system

    Build error on new build system

    error: Unexpected duplicate tasks: 1) Target 'christian_picker_image' (project 'Pods') has copy command from '/Users/builder/programs/flutter/.pub-cache/hosted/pub.dartlang.org/christian_picker_image-0.1.6/ios/Classes/ImagePicker/Images/[email protected]' to '/Users/builder/clone/build/ios/Debug-iphoneos/christian_picker_image/christian_picker_image.framework/[email protected]' 2) Target 'christian_picker_image' (project 'Pods') has copy command from '/Users/builder/programs/flutter/.pub-cache/hosted/pub.dartlang.org/christian_picker_image-0.1.6/ios/Classes/ImagePicker/Images/[email protected]' to '/Users/builder/clone/build/ios/Debug-iphoneos/christian_picker_image/christian_picker_image.framework/[email protected]' error: Unexpected duplicate tasks:

    Legacy Build System works well.

    opened by nothinggift 5
  • Error  while using the package

    Error while using the package

    Hi,
    Im trying to use this package and as soon as it opens the window to select the images it crashes with following message.

    I/flutter ( 9889): takeImage
    W/ActivityThread( 9889): handleWindowVisibility: no activity for token android.os.BinderProxy@4a23e6c
    E/ensugar.patien( 9889): Invalid ID 0x00000000.
    W/ensugar.patien( 9889): Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed)
    W/ensugar.patien( 9889): Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)
    V/FlingOptimizerScroller( 9889): FlingOptimizerOverScroller Init
    V/ViewRootImpl( 9889): The specified message queue synchronization  barrier token has not been posted or has already been removed
    D/DecorView( 9889): onWindowFocusChangedFromViewRoot hasFocus: true, DecorView@9c88f3a[ImagePickerActivity]
    E/RecyclerView( 9889): No adapter attached; skipping layout
    W/Choreographer( 9889): Already have a pending vsync event.  There should only be one at a time.
    W/Glide   ( 9889): Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored
    D/AndroidRuntime( 9889): Shutting down VM
    E/AndroidRuntime( 9889): FATAL EXCEPTION: main
    E/AndroidRuntime( 9889): Process: com.sensai.sevensugar.patient, PID: 9889
    E/AndroidRuntime( 9889): java.lang.NoSuchMethodError: No virtual method placeholder(I)Lcom/bumptech/glide/request/RequestOptions; in class Lcom/bumptech/glide/request/RequestOptions; or its super classes (declaration of 'com.bumptech.glide.request.RequestOptions' appears in /data/app/com.sensai.sevensugar.patient-0Blpt-iM_cM0631QWEIgIA==/base.apk!classes32.dex)
    E/AndroidRuntime( 9889): 	at com.imagepicker.features.imageloader.DefaultImageLoader.loadImage(DefaultImageLoader.java:17)
    E/AndroidRuntime( 9889): 	at com.imagepicker.adapter.ImagePickerAdapter.onBindViewHolder(ImagePickerAdapter.java:55)
    E/AndroidRuntime( 9889): 	at com.imagepicker.adapter.ImagePickerAdapter.onBindViewHolder(ImagePickerAdapter.java:24)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7065)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7107)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6012)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6279)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:561)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
    E/AndroidRuntime( 9889): 	at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
    E/AndroidRuntime( 9889): 	at android.view.View.layout(View.java:22085)
    E/AndroidRuntime( 9889): 	at android.view.ViewGroup.layout(ViewGroup.java:6290)
    E/AndroidRuntime( 9889): 	at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103)
    E/AndroidRuntime( 9889): 	at android.view.View.layout(View.java:22085)
    E/AndroidRuntime( 9889): 	at android.view.ViewGroup.layout(ViewGroup.java:6290)
    E/AndroidRuntime( 9889): 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
    E/AndroidRuntime( 9889): 	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
    E/AndroidRuntime( 9889): 	at android.view.View.layout(View.java:22085)
    E/AndroidRuntime( 9889): 	at android.view.ViewGroup.layout(ViewGroup.java:6290)
    E/AndroidRuntime( 9889): 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
    E/AndroidRuntime( 9889): 	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
    E/AndroidRuntime( 9889): 	at android.view.View.layout(View.java:22085)
    E/AndroidRuntime( 9889): 	at android.view.ViewGroup.layout(ViewGroup.java:6290)
    E/AndroidRuntime( 9889): 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
    E/AndroidRuntime( 9889): 	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
    E/AndroidRuntime( 9889): 	at android.view.View.layout(View.java:22085)
    E/AndroidRuntime( 9889): 	at android.view.ViewGroup.layout(ViewGroup.java:6290)
    E/AndroidRuntime( 9889): 	at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
    E/AndroidRuntime( 9889): 	at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
    E/AndroidRuntime( 9889): 	at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
    E/AndroidRuntime( 9889): 	at android.view.View.layout(View.java:22085)
    E/AndroidRuntime( 9889): 	at android.view.ViewGroup.layout(ViewGroup.java:6290)
    E/AndroidRuntime( 9889): 	at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
    E/AndroidRuntime( 9889): 	at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
    E/AndroidRuntime( 9889): 	at com.android.internal.policy.DecorView.onLayout(DecorView.java:786)
    E/AndroidRuntime( 9889): 	at android.view.View.layout(View.java:22085)
    E/AndroidRuntime( 9889): 	at android.view.ViewGroup.layout(ViewGroup.java:6290)
    E/AndroidRuntime( 9889): 	at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3333)
    E/AndroidRuntime( 9889): 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2810)
    E/AndroidRuntime( 9889): 	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1930)
    E/AndroidRuntime( 9889): 	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8018)
    E/AndroidRuntime( 9889): 	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1163)
    E/AndroidRuntime( 9889): 	at android.view.Choreographer.doCallbacks(Choreographer.java:986)
    E/AndroidRuntime( 9889): 	at android.view.Choreographer.doFrame(Choreographer.java:902)
    E/AndroidRuntime( 9889): 	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1148)
    E/AndroidRuntime( 9889): 	at android.os.Handler.handleCallback(Handler.java:883)
    E/AndroidRuntime( 9889): 	at android.os.Handler.dispatchMessage(Handler.java:100)
    E/AndroidRuntime( 9889): 	at android.os.Looper.loop(Looper.java:214)
    E/AndroidRuntime( 9889): 	at android.app.ActivityThread.main(ActivityThread.java:7682)
    E/AndroidRuntime( 9889): 	at java.lang.reflect.Method.invoke(Native Method)
    E/AndroidRuntime( 9889): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
    E/AndroidRuntime( 9889): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
    I/Process ( 9889): Sending signal. PID: 9889 SIG: 9
    Lost connection to device.
    
    
    opened by LaxmikanthMadhyastha 1
  • [Bugfix]: Add kotlin folder with files

    [Bugfix]: Add kotlin folder with files

    Hi 👋,

    we the community which are using your plugin encountered, that we can't use your plugin, because the kotlin folder with the files are missing.

    I fixed that and copied your files to the destinated folder.

    Best regards Rebar

    opened by Ahmadre 1
  • Error on run Android

    Error on run Android

    Hi I recieve the following error log when I try running the version 0.1.0 on my android app.

    • Error running Gradle: ProcessException: Process exited abnormally:

    Configure project :app WARNING: API 'variant.getMergeAssets()' is obsolete and has been replaced with 'variant.getMergeAssetsProvider()'. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance. To determine what is calling variant.getMergeAssets(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information. WARNING: API 'variantOutput.getProcessResources()' is obsolete and has been replaced with 'variantOutput.getProcessResourcesProvider()'. It will be removed at the end of 2019. For more information, see https://d.android.com/r/tools/task-configuration-avoidance. To determine what is calling variantOutput.getProcessResources(), use -Pandroid.debug.obsoleteApi=true on the command line to display more information.

    FAILURE: Build completed with 2 failures.

    1: Task failed with an exception.

    • Where: Build file 'C:\Users[redacted]\Downloads\flutter_windows_v1.10.5-dev\flutter.pub-cache\hosted\pub.dartlang.org\christian_picker_image-0.1.0\android\build.gradle' line: 20

    • What went wrong: A problem occurred evaluating project ':christian_picker_image'.

    Could not get unknown property 'kotlin_version' for object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

    • 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. ==============================================================================

    2: Task failed with an exception.

    • Where: Script 'C:\Users[redacted]\Downloads\flutter_windows_v1.10.5-dev\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 320

    • What went wrong: A problem occurred configuring project ':christian_picker_image'.

    Could not get unknown property 'android' for project ':christian_picker_image' of type org.gradle.api.Project.

    • 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 3s Command: C:\Users[redacted]\Documents[redacted][redacted]\android\gradlew.bat app:properties

    opened by Driaan 1
  • Could not determine the dependencies of task ':compileReleaseAidl'.

    Could not determine the dependencies of task ':compileReleaseAidl'.

    After just restarting my laptop and trying to rebuild my App this happened. Are there any solutions?

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':app:processDebugResources'.

    A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade Android resource linking failed C:\Users\fobenheime001\AndroidStudioProjects\tutora\android\app\src\main\AndroidManifest.xml:8:5-51:19: AAPT: error: resource mipmap/ic_launcher (aka com.example.tutora:mipmap/ic_launcher) not found.

    • 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 29s The built failed likely due to AndroidX incompatibilities in a plugin. The tool is about to try using Jetfier to solve the incompatibility. Building plugin christian_picker_image... Running Gradle task 'assembleAarRelease'...

    FAILURE: Build failed with an exception.

    • What went wrong: Could not determine the dependencies of task ':compileReleaseAidl'.

    SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at 'C:\scr\flutter.pub-cache\hosted\pub.dartlang.org\christian_picker_image-0.1.6\android\local.properties'.`

    opened by derneueimhaus 0
  • compileSdkVersion is not specified. Please add it to build.gradle

    compileSdkVersion is not specified. Please add it to build.gradle

    * What went wrong:
    A problem occurred configuring project ':christian_picker_image'.
    > Failed to notify project evaluation listener.
       > Cannot invoke method substring() on null object
       > compileSdkVersion is not specified. Please add it to build.gradle
    
    * 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 19s
    Exception: Gradle task assembleDebug failed with exit code 1
    
    opened by 3xscola 0
  • RequestOption

    RequestOption

    java.lang.NoSuchMethodError: No virtual method placeholder(I)Lcom/bumptech/glide/request/RequestOptions; in class Lcom/bumptech/glide/request/RequestOptions; or its super classes (declaration of 'com.bumptech.glide.request.RequestOptions' appears in /data/app/~~eFVrLM0C9pf3JYx4jUYhOg==/com.example.flutter_app12-qK-i80OkwX_ES96KwgnSCg==/base.apk)

    opened by farahfarah1 0
  • Crash when using with image_picker

    Crash when using with image_picker

    I'm using image_picker for video and christian_picker_imagefor photos.

    My app crashed because of christian_picker_image in the following scenario - when I entered the camera screen or gallery screen from image_picker and pressed "back", the app crashed because of null value of data in the following line in file ChristianPickerImagePlugin.kt: override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent): Boolean {

    I had to fork it and change it to: override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent ?): Boolean {

    Some of the logs: Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter data E/AndroidRuntime(20695): at com.christian.christian_picker_image.ChristianPickerImagePlugin.onActivityResult(Unknown Source:2)

    If you need more logs, I will try to replicate it and paste more.

    opened by gontarczuk 0
  • Crash when trying on Android

    Crash when trying on Android

    This is the log when I click the button to access the image picker

    I/flutter (22433): State is AppLifecycleState.inactive W/ActivityThread(22433): handleWindowVisibility: no activity for token android.os.BinderProxy@d76c6d1 E/ca.cmic.field(22433): Invalid ID 0x00000000. I/ca.cmic.field(22433): NativeAlloc concurrent copying GC freed 8144(641KB) AllocSpace objects, 1(20KB) LOS objects, 49% free, 2992KB/5985KB, paused 1.776ms total 114.683ms W/ca.cmic.field(22433): Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed) W/ca.cmic.field(22433): Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed) E/RecyclerView(22433): No adapter attached; skipping layout D/EGL_emulation(22433): eglMakeCurrent: 0xeb87ebc0: ver 3 0 (tinfo 0xeb8893d0) W/Glide (22433): Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored D/AndroidRuntime(22433): Shutting down VM E/AndroidRuntime(22433): FATAL EXCEPTION: main E/AndroidRuntime(22433): Process: ca.cmic.field, PID: 22433 E/AndroidRuntime(22433): java.lang.NoSuchMethodError: No virtual method placeholder(I)Lcom/bumptech/glide/request/RequestOptions; in class Lcom/bumptech/glide/request/RequestOptions; or its super classes (declaration of 'com.bumptech.glide.request.RequestOptions' appears in /data/app/ca.cmic.field-HiA11CK-urFBBs2Mk3xPMA==/base.apk) E/AndroidRuntime(22433): at com.imagepicker.features.imageloader.DefaultImageLoader.loadImage(DefaultImageLoader.java:17) E/AndroidRuntime(22433): at com.imagepicker.adapter.ImagePickerAdapter.onBindViewHolder(ImagePickerAdapter.java:55) E/AndroidRuntime(22433): at com.imagepicker.adapter.ImagePickerAdapter.onBindViewHolder(ImagePickerAdapter.java:24) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:7065) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:7107) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:6012) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6279) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6118) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6114) E/AndroidRuntime(22433): at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2303) E/AndroidRuntime(22433): at androidx.recyclerview.widget.GridLayoutManager.layoutChunk(GridLayoutManager.java:561) E/AndroidRuntime(22433): at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587) E/AndroidRuntime(22433): at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665) E/AndroidRuntime(22433): at androidx.recyclerview.widget.GridLayoutManager.onLayoutChildren(GridLayoutManager.java:170) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851) E/AndroidRuntime(22433): at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404) E/AndroidRuntime(22433): at android.view.View.layout(View.java:21912) E/AndroidRuntime(22433): at android.view.ViewGroup.layout(ViewGroup.java:6260) E/AndroidRuntime(22433): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103) E/AndroidRuntime(22433): at android.view.View.layout(View.java:21912) E/AndroidRuntime(22433): at android.view.ViewGroup.layout(ViewGroup.java:6260) E/AndroidRuntime(22433): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) E/AndroidRuntime(22433): at android.widget.FrameLayout.onLayout(FrameLayout.java:270) E/AndroidRuntime(22433): at android.view.View.layout(View.java:21912) E/AndroidRuntime(22433): at android.view.ViewGroup.layout(ViewGroup.java:6260) E/AndroidRuntime(22433): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) E/AndroidRuntime(22433): at android.widget.FrameLayout.onLayout(FrameLayout.java:270) E/AndroidRuntime(22433): at android.view.View.layout(View.java:21912) E/AndroidRuntime(22433): at android.view.ViewGroup.layout(ViewGroup.java:6260) E/AndroidRuntime(22433): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) E/AndroidRuntime(22433): at android.widget.FrameLayout.onLayout(FrameLayout.java:270) E/AndroidRuntime(22433): at android.view.View.layout(View.java:21912) E/AndroidRuntime(22433): at android.view.ViewGroup.layout(ViewGroup.java:6260) E/AndroidRuntime(22433): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829) E/AndroidRuntime(22433): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673) E/AndroidRuntime(22433): at android.widget.LinearLayout.onLayout(LinearLayout.java:1582) E/AndroidRuntime(22433): at android.view.View.layout(View.java:21912) E/AndroidRuntime(22433): at android.view.ViewGroup.layout(ViewGroup.java:6260) E/AndroidRuntime(22433): at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) E/AndroidRuntime(22433): at android.widget.FrameLayout.onLayout(FrameLayout.java:270) E/AndroidRuntime(22433): at com.android.internal.policy.DecorView.onLayout(DecorView.java:779) E/AndroidRuntime(22433): at android.view.View.layout(View.java:21912) E/AndroidRuntime(22433): at android.view.ViewGroup.layout(ViewGroup.java:6260) E/AndroidRuntime(22433): at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3080) E/AndroidRuntime(22433): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2590) E/AndroidRuntime(22433): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1721) E/AndroidRuntime(22433): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7598) E/AndroidRuntime(22433): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:966) E/AndroidRuntime(22433): at android.view.Choreographer.doCallbacks(Choreographer.java:790) E/AndroidRuntime(22433): at android.view.Choreographer.doFrame(Choreographer.java:725) E/AndroidRuntime(22433): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:951) E/AndroidRuntime(22433): at android.os.Handler.handleCallback(Handler.java:883) E/AndroidRuntime(22433): at android.os.Handler.dispatchMessage(Handler.java:100) E/AndroidRuntime(22433): at android.os.Looper.loop(Looper.java:214) E/AndroidRuntime(22433): at android.app.ActivityThread.main(ActivityThread.java:7356) E/AndroidRuntime(22433): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(22433): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) E/AndroidRuntime(22433): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) I/Process (22433): Sending signal. PID: 22433 SIG: 9 Lost connection to device.

    opened by CalvinGonsalves 0
  • data should be nullable

    data should be nullable

    When used in combination with other plugins that open activities, on Android, there is a crash because the data parameter should be nullable.

    This can be reproduced using the image_cropper after picking an image:

    List<File> images = await ChristianPickerImage.pickImages(maxImages: 1);
    
    if (images.length > 0) {
       var selectedImage = images.first;
    
      File croppedFile = await ImageCropper.cropImage(...);
    }
    

    If you cancel the crop, onActivityResult is called for this plugin with a null data Intent:

    Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter data
     	at com.christian.christian_picker_image.ChristianPickerImagePlugin.onActivityResult(Unknown Source:2)
     	at io.flutter.embedding.engine.FlutterEnginePluginRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEnginePluginRegistry```
    opened by Gazer 0
Releases(0.1.0)
Owner
nguyen phuc nguyen
Full-stack Developer
nguyen phuc nguyen
BC Image Editor - Flutter package for image editing

BC Image Editor You can edit image using this package and also you can create flex preview image by setting foreground to null. For now, you can use o

Berkay CEYLAN 9 Nov 21, 2022
Image Editor Plugin with simple, easy support for image editing using Paints, Text, Filters, Emoji and Sticker like stories.

ImageEditorPro Image Editor Plugin with simple, easy support for image editing using Paints, Text, Filters, Emoji and Sticker like stories. To start w

Zeeshan 206 Dec 2, 2022
Image Extensions A wrapper library for image package with some extra functions.

A wrapper library for image package with some extra functions. Installation Add this to your package's pubspec.yaml file: dependencie

Vanxh 1 Jan 15, 2022
This Flutter plugin created to show how to use OpenCV and ZXing C++ libraries natively in Flutter with Dart FFI using the camera stream

OpenCV and ZXing C++ libraries natively in Flutter with Dart FFI using the camera stream

Khoren Markosyan 17 Oct 21, 2022
A flutter plugin to handle Android / iOS camera

?? Overview Flutter plugin to add Camera support inside your project. CamerAwesome include a lot of useful features like: ?? Live camera flip ( switch

Apparence.io 511 Jan 5, 2023
Flutter WeChat Camera Picker

Flutter WeChat Camera Picker Language: English | 中文简体 A camera picker which is an extension for wechat_assets_picker. Based on camera for camera funct

null 1 Nov 14, 2021
Flutter camera demo

Flutter Camera Demo A full-fledged camera app built with Flutter using the camera package. You can even add custom features to this app and customize

Souvik Biswas 60 Dec 30, 2022
A flutter package for iOS and Android for applying filter to an image

Photo Filters package for flutter A flutter package for iOS and Android for applying filter to an image. A set of preset filters are also available. Y

Ansh rathod 1 Oct 26, 2021
Flutter package for creating a fully customizable and editable image widget.

EditableImage Flutter Package Flutter package for creating a fully customizable and editable image widget. The package has been written solely in Dart

Bulent Baris Kilic 5 Jun 13, 2022
A small image utils package for flutter written in dart.

flutter_simple_image_utils A small image utils package for flutter written in dart. Usage: import 'package:flutter_simple_image_utils/flutter_simple_i

Hamlet D'Arcy 1 Nov 18, 2021
Flutter plugin for selecting multiple images from the Android and iOS image library

Flutter plugin for selecting multiple images from the Android and iOS image library, taking new pictures with the camera, and edit them before using such as rotating, cropping, adding sticker/filters.

Weta Vietnam 91 Dec 19, 2022
This app classifies images based on any TFLite image classification model

This app classifies images based on any TFLite image classification model. A sample model has been provided to classify cats vs. dogs.

Daniel Alexander 0 Feb 20, 2022
Official Flutter SDK for LiveKit. Easily add real-time video and audio to your Flutter apps.

LiveKit Flutter SDK Official Flutter SDK for LiveKit. Easily add real-time video and audio to your Flutter apps. This package is published to pub.dev

LiveKit 116 Dec 14, 2022
Flutter Music Player - A complete and open source music player designed in flutter.

Flutter Music Player A complete and open source music player designed in flutter. It is first complete music player designed in flutter. This app expl

Nabraj Khadka 3 Aug 20, 2022
Flutter plugin for use Video.js in flutter web

Flutter Video.js player Flutter plugin for use Video.js in flutter web Installation Add it to your package's pubspec.yaml file dependencies: video_j

null 15 Oct 17, 2022
Audio player app in Flutter. Created as a tutorial for learning Flutter.

Music Player: create a simple Flutter music player app This is a Flutter project used during a series of articles on I should go to sleep. License Cop

Michele Volpato 11 May 5, 2022
Flutter radio player mod flutter 2.5

A Flutter plugin to play streaming audio content with background support and lock screen controls.

Ayotunde abdulsalam 1 Mar 14, 2022
Virlow Flutter Recorder - an open-source Flutter application that can transcribe recorded audio

The Virlow Flutter Recorder is an open-source Flutter application that can transcribe recorded audio, plus it includes TL;DR and Short Hand Notes for your transcription. It also consists of a rich text editor that allows you to edit the transcription plus add any additional notes you require.

null 12 Dec 26, 2022
Flutter plugin that can support audio recording and level metering

flutter_audio_recorder English | 简体中文 Flutter Audio Record Plugin that supports Record Pause Resume Stop and provide access to audio level metering pr

RMBR ONE 108 Dec 13, 2022