Download, cache and show images in a flutter app

Overview

Cached network image

pub package codecov Build Status

A flutter library to show images from the internet and keep them in the cache directory.

How to use

The CachedNetworkImage can be used directly or through the ImageProvider. Both the CachedNetworkImage as CachedNetworkImageProvider have minimal support for web. It currently doesn't include caching.

With a placeholder:

CachedNetworkImage(
        imageUrl: "http://via.placeholder.com/350x150",
        placeholder: (context, url) => CircularProgressIndicator(),
        errorWidget: (context, url, error) => Icon(Icons.error),
     ),

Or with a progress indicator:

CachedNetworkImage(
       imageUrl: "http://via.placeholder.com/350x150",
       progressIndicatorBuilder: (context, url, downloadProgress) => 
               CircularProgressIndicator(value: downloadProgress.progress),
       errorWidget: (context, url, error) => Icon(Icons.error),
    ),
Image(image: CachedNetworkImageProvider(url))

When you want to have both the placeholder functionality and want to get the imageprovider to use in another widget you can provide an imageBuilder:

CachedNetworkImage(
  imageUrl: "http://via.placeholder.com/200x150",
  imageBuilder: (context, imageProvider) => Container(
    decoration: BoxDecoration(
      image: DecorationImage(
          image: imageProvider,
          fit: BoxFit.cover,
          colorFilter:
              ColorFilter.mode(Colors.red, BlendMode.colorBurn)),
    ),
  ),
  placeholder: (context, url) => CircularProgressIndicator(),
  errorWidget: (context, url, error) => Icon(Icons.error),
),

How it works

The cached network images stores and retrieves files using the flutter_cache_manager.

FAQ

My app crashes when the image loading failed. (I know, this is not really a question.)

Does it really crash though? The debugger might pause, as the Dart VM doesn't recognize it as a caught exception; the console might print errors; even your crash reporting tool might report it (I know, that really sucks). However, does it really crash? Probably everything is just running fine. If you really get an app crashes you are fine to report an issue, but do that with a small example so we can reproduce that crash.

See for example this or this answer on previous posted issues.

Comments
  •  HttpException: No valid statuscode.

    HttpException: No valid statuscode.

    I have sentry running and looked at my logs - for this error sentry was triggered 237 times in 1 day !.

    If the URL is invalid, not found or malformed - I was under the impression that an error widget would be rendered instead ??

    Exception is :

    HttpException: HttpException: No valid statuscode. Statuscode was 403
      File "cache_manager.dart", line 120, in BaseCacheManager.getFile
      File "<asynchronous suspension>"
      File "cached_image_widget.dart", line 270, in CachedNetworkImageState._animatedWidget
      File "cached_image_widget.dart", line 196, in CachedNetworkImageState.build
      File "framework.dart", line 4047, in StatefulElement.build
      File "framework.dart", line 3941, in ComponentElement.performRebuild
      File "framework.dart", line 3738, in Element.rebuild
      File "framework.dart", line 3924, in ComponentElement._firstBuild
      File "framework.dart", line 4088, in StatefulElement._firstBuild
      File "framework.dart", line 3919, in ComponentElement.mount
      File "framework.dart", line 3101, in Element.inflateWidget
      File "framework.dart", line 5233, in MultiChildRenderObjectElement.mount
      File "framework.dart", line 3101, in Element.inflateWidget
      File "framework.dart", line 2904, in Element.updateChild
      File "framework.dart", line 3961, in ComponentElement.performRebuild
      File "framework.dart", line 3738, in Element.rebuild
      File "framework.dart", line 3924, in ComponentElement._firstBuild
      File "framework.dart", line 4088, in StatefulElement._firstBuild
      File "framework.dart", line 3919, in ComponentElement.mount
      File "framework.dart", line 3101, in Element.inflateWidget
      File "framework.dart", line 5233, in MultiChildRenderObjectElement.mount
      File "framework.dart", line 3101, in Element.inflateWidget
      File "framework.dart", line 5233, in MultiChildRenderObjectElement.mount
    
    
    status: triage status: fixed? 
    opened by ssbaval 55
  •  Error: The method 'CachedNetworkImageProvider.load' has fewer positional arguments than those of overridden method 'ImageProvider.load'

    Error: The method 'CachedNetworkImageProvider.load' has fewer positional arguments than those of overridden method 'ImageProvider.load'

    When I use the latest version of flutter, the following error will be reported when I introduce this library

    Compiler message: ../../../../macLib/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-1.1.2+1/lib/src/cached_network_image_provider.dart:53:24: Error: The method 'CachedNetworkImageProvider.load' has fewer positional arguments than those of overridden method 'ImageProvider.load'. ImageStreamCompleter load(CachedNetworkImageProvider key) { ^ ../../../../macLib/flutter/packages/flutter/lib/src/painting/image_provider.dart:403:24: Context: This is the overridden method ('load'). ImageStreamCompleter load(T key, DecoderCallback decode); ^ ../../../../macLib/flutter/.pub-cache/hosted/pub.flutter-io.cn/cached_network_image-1.1.2+1/lib/src/scaled_file_image.dart:45:24: Error: The method 'ScaledFileImage.load' has fewer positional arguments than those of overridden method 'ImageProvider.load'. ImageStreamCompleter load(ScaledFileImage key) { ^ ../../../../macLib/flutter/packages/flutter/lib/src/painting/image_provider.dart:403:24: Context: This is the overridden method ('load'). ImageStreamCompleter load(T key, DecoderCallback decode); ^ Exception: Errors during snapshot creation: null #0 KernelSnapshot.build (package:flutter_tools/src/build_system/targets/dart.dart:225:7) #1 _BuildInstance._invokeInternal (package:flutter_tools/src/build_system/build_system.dart:526:25) #2 _BuildInstance.invokeTarget. (package:flutter_tools/src/build_system/build_system.dart:481:35) #3 new Future.sync (dart:async/future.dart:224:31) #4 AsyncMemoizer.runOnce (package:async/src/async_memoizer.dart:43:45) #5 _BuildInstance.invokeTarget (package:flutter_tools/src/build_system/build_system.dart:481:21) #6 BuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:419:36) #7 _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6) #8 BuildSystem.build (package:flutter_tools/src/build_system/build_system.dart:400:28) #9 buildWithAssemble (package:flutter_tools/src/bundle.dart:122:48) #10 _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6) #11 buildWithAssemble (package:flutter_tools/src/bundle.dart:98:31) #12 BundleBuilder.build (package:flutter_tools/src/bundle.dart:75:11) #13 _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6) #14 BundleBuilder.build (package:flutter_tools/src/bundle.dart:52:21) #15 IOSSimulator._sideloadUpdatedAssetsForInstalledApplicationBundle (package:flutter_tools/src/ios/simulators.dart:453:28) #16 IOSSimulator._setupUpdatedApplicationBundle (package:flutter_tools/src/ios/simulators.dart:420:11) #17 _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6) #18 IOSSimulator._setupUpdatedApplicationBundle (package:flutter_tools/src/ios/simulators.dart:419:46) #19 IOSSimulator.startApp (package:flutter_tools/src/ios/simulators.dart:352:15) #20 _AsyncAwaitCompleter.start (dart:async-patch/async_patch.dart:43:6) #21 IOSSimulator.startApp (package:flutter_tools/src/ios/simulators.dart:339:32) #22 FlutterDevice.runHot (package:flutter_tools/src/resident_runner.dart:380:54) #23 _asyncThenWrapperHelper. (dart:async-patch/async_patch.dart:71:64) #24 _rootRunUnary (dart:async/zone.dart:1132:38) #25 _CustomZone.runUnary (dart:async/zone.dart:1029:19) #26 _FutureListener.handleValue (dart:async/future_impl.dart:137:18) #27 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45) #28 Future._propagateToListeners (dart:async/future_impl.dart:707:32) #29 Future._completeWithValue (dart:async/future_impl.dart:522:5) #30 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:30:15) #31 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:288:13) #32 BuildableIOSApp.fromProject (package:flutter_tools/src/application_package.dart) #33 _asyncThenWrapperHelper. (dart:async-patch/async_patch.dart:71:64) #34 _rootRunUnary (dart:async/zone.dart:1132:38) #35 _CustomZone.runUnary (dart:async/zone.dart:1029:19) #36 _FutureListener.handleValue (dart:async/future_impl.dart:137:18) #37 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:678:45) #38 Future._propagateToListeners (dart:async/future_impl.dart:707:32) #39 Future._completeWithValue (dart:async/future_impl.dart:522:5) #40 Future._asyncComplete. (dart:async/future_impl.dart:552:7) #41 _rootRun (dart:async/zone.dart:1124:13) #42 _CustomZone.run (dart:async/zone.dart:1021:19) #43 _CustomZone.runGuarded (dart:async/zone.dart:923:7) #44 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:963:23) #45 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) #46 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5) #47 _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:116:13) #48 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:173:5)

    This is my version of Flutter:

    Flutter 1.10.15-pre.166 • channel master • https://github.com/flutter/flutter.git Framework • revision 1781d5c9bb (18 minutes ago) • 2019-10-17 19:22:47 -0700 Engine • revision 508146f0de Tools • Dart 2.6.0 (build 2.6.0-dev.8.0 f020ce5d23)

    opened by xiaodeng2014 47
  • Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.

    Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.

    Warning: Operand of null-aware operation '?.' has type 'SchedulerBinding' which excludes null.
    ../…/image_provider/multi_image_stream_completer.dart:152
    - 'SchedulerBinding' is from 'package:flutter[/src/scheduler/binding.dart]()' ('.[./../../fvm/versions/beta/packages/flutter/lib/src/scheduler/binding.dart]()').
    package:flutter/…/scheduler/binding.dart:1
        SchedulerBinding.instance?.scheduleFrameCallback(_handleAppFrame);
                         ^
    

    Flutter 2.12.0-4.1.pre

    opened by muriloventuroso 35
  •  Unhandled Exception: HttpException: No valid statuscode. Statuscode was 404

    Unhandled Exception: HttpException: No valid statuscode. Statuscode was 404

    E/flutter (18499): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: HttpException: No valid statuscode. Statuscode was 404 E/flutter (18499): #0 BaseCacheManager.getFile package:flutter_cache_manager/src/cache_manager.dart:120 E/flutter (18499): E/flutter (18499): #1 CachedNetworkImageState._animatedWidget package:cached_network_image/src/cached_image_widget.dart:261 E/flutter (18499): #2 CachedNetworkImageState.build package:cached_network_image/src/cached_image_widget.dart:194 E/flutter (18499): #3 StatefulElement.build package:flutter/…/widgets/framework.dart:3825 E/flutter (18499): #4 ComponentElement.performRebuild package:flutter/…/widgets/framework.dart:3736 E/flutter (18499): #5 Element.rebuild package:flutter/…/widgets/framework.dart:3559 E/flutter (18499): #6 ComponentElement._firstBuild package:flutter/…/widgets/framework.dart:3716 E/flutter (18499): #7 StatefulElement._firstBuild package:flutter/…/widgets/framework.dart:3864 E/flutter (18499): #8 ComponentElement.mount package:flutter/…/widgets/framework.dart:3711 E/flutter (18499): #9 Element.inflateWidget package:flutter/…/widgets/framework.dart:2956 E/flutter (18499): #10 Element.updateChild package:flutter/…/widgets/framework.dart:2759 E/flutter (18499): #11 SingleChildRenderObjectElement.mount package:flutter/…/widgets/framework.dart:4876 E/flutter (18499): #12 Element.inflateWidget package:flutter/…/widgets/framework.dart:2956 E/flutter (18499): #13 Element.updateChild package:flutter/…/widgets/framework.dart:2759 E/flutter (18499): #14 SingleChildRenderObjectElement.mount package:flutter/…/widgets/framework.dart:4876 E/flutter (18499): #15 Element.inflateWidget package:flutter/…/widgets/framework.dart:2956 E/flutter (18499): #16 Element.updateChild package:flutter/…/widgets/framework.dart:2759 E/flutter (18499): #17 SingleChildRenderObjectElement.mount package:flutter/…/widgets/framework.dart:4876 E/flutter (18499): #18 Element.inflateWidget package:flutter/…/widgets/framework.dart:2956 E/flutter (18499): #19 Element.updateChild package:flutter/…/widgets/framework.dart:2759 E/flutter (18499): #20 ComponentElement.performRebuild package:flutter/…/widgets/framework.dart:3747 E/flutter (18499): #21 Element.rebuild package:flutter/…/widgets/framework.dart:3559 E/flutter (18499): #22 ComponentElement._firstBuild package:flutter/…/widgets/framework.dart:3716 E/flutter (18499): #23 ComponentElement.mount package:flutter/…/widgets/framework.dart:3711 E/flutter (18499): #24 Element.inflateWidget package:flutter/…/widgets/framework.dart:2956 E/flutter (18499): #25 Element.updateChild package:flutter/…/widgets/framework.dart:2759 E/flutter (18499): #26 ComponentElement.performRebuild package:flutter/…/widgets/framework.dart:3747 E/flutter (18499): #27 Element.rebuild package:flutter/…/widgets/framework.dart:3559 E/flutter (18499): #28 ComponentElement._firstBuild package:flutter/…/widgets/framework.dart:3716 E/flutter (18499): #29 ComponentElement.mount package:flutter/…/widgets/framework.dart:3711 E/flutter (18499): #30 Element.inflateWidget package:flutter/…/widgets/framework.dart:2956 E/flutter (18499): #31 Element.updateChild package:flutter/…/widgets/framework.dart:2759 E/flutter (18499): #32 ComponentElement.performRebuild package:flutter/…/widgets/framework.dart:3747 E/flutter (18499): #33 Element.rebuild package:flutter/…/widgets/framework.dart:3559 E/flutter (18499): #34 ComponentElement._firstBuild package:flutter/…/widgets/framework.dart:3716 E/flutter (18499): #35 ComponentElement.mount package:flutter/…/widgets/framework.dart:3711 E/flutter (18499): #36 Element.inflateWidget package:flutter/…/widgets/framework.dart:2956 E/flutter (18499): #37 Element.updateChild package:flutter/…/widgets/framework.dart:2759 E/flutter (18499): #38 ComponentElement.performRebuild

    opened by anjrew 32
  • Blinking images upon returning back to an already loaded view.

    Blinking images upon returning back to an already loaded view.

    Hey all - I have been working on an app for a while now and I noticed that I keep encountering a flicker whenever I navigate to a new page and come back.

    Page1 Page2

    From Page1 I navigate to Page2. From Page2 I click a button to run Navigation.context.pop() and it returns to Page1 however all of the images need a blink of a millisecond to load up. This gives the app a very poor user experience.

    If so what can I do about this?

    flutter doctor -v

    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.14.6 18G103, locale en-US)
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    [✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
    [✓] Android Studio (version 3.5)
    [✓] VS Code (version 1.41.0)
    [✓] Connected device (1 available)
    
    • No issues found!
    Ramies-MacBook-Pro:breakthrough ramiechaarani$ flutter doctor -v
    [✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.14.6 18G103, locale en-US)
        • Flutter version 1.12.13+hotfix.5 at /Users/ramiechaarani/workspace/flutter
        • Framework revision 27321ebbad (6 weeks ago), 2019-12-10 18:15:01 -0800
        • Engine revision 2994f7e1e6
        • Dart version 2.7.0
    
    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
        • Android SDK at /Users/ramiechaarani/Library/Android/sdk
        • Android NDK location not configured (optional; useful for native profiling support)
        • 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_202-release-1483-b49-5587405)
        • All Android licenses accepted.
    
    [✓] Xcode - develop for iOS and macOS (Xcode 11.2.1)
        • Xcode at /Applications/Xcode.app/Contents/Developer
        • Xcode 11.2.1, Build version 11B500
        • CocoaPods version 1.8.4
    
    [✓] Android Studio (version 3.5)
        • Android Studio at /Applications/Android Studio.app/Contents
        • Flutter plugin version 42.1.1
        • Dart plugin version 191.8593
        • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    
    [✓] VS Code (version 1.41.0)
        • VS Code at /Applications/Visual Studio Code.app/Contents
        • Flutter extension version 3.7.1
    
    [✓] Connected device (1 available)
        • Ramie's iPhone • 00008020-000C09363C69002E • ios • iOS 13.3
    
    • No issues found!
    
    type: bug status: fixed? 
    opened by ramiechaarani 26
  • Could not instantiate image codec

    Could not instantiate image codec

    if url response like this

    code:200 body: { msg:xxxxx 文件不存在 }

    throw Exception: Could not instantiate image codec.

    When the exception was thrown, this was the stack: #0 _futurize (dart:ui/painting.dart:4134:5) #1 instantiateImageCodec (dart:ui/painting.dart:1669:10) #2 PaintingBinding.instantiateImageCodec (package:flutter/src/painting/binding.dart:74:12) #3 FileImage._loadAsync (package:flutter/src/painting/image_provider.dart:545:43) ...

    ════════════════════════════════════════════════════════════════════════════════════════════════════

    opened by yizems 25
  • FileSystemException: Cannot delete file

    FileSystemException: Cannot delete file

    Firebase keeps reporting issues in my app that look like this:

    FileSystemException: Cannot delete file, path = '/data/user/0/<PACKAGE>/cache/libCachedImageData/6cbff3e0-301f-11ea-d72d-0335a490e7f0.png' (OS Error: No such file or directory, errno = 2)
    

    Not really sure what causes them, I have a hard time recreating it too.

    type: bug up for graps 
    opened by jovanovski 21
  • The method 'inheritFromWidgetOfExactType' was called on null. Receiver: null Tried calling: inheritFromWidgetOfExactType()

    The method 'inheritFromWidgetOfExactType' was called on null. Receiver: null Tried calling: inheritFromWidgetOfExactType()

    0.5.0

    DefaultAssetBundle.of (package:flutter/src/widgets/basic.dart:4836) createLocalImageConfiguration (package:flutter/src/widgets/image.dart:48) _CachedNetworkImageState._imageLoadingFailed (package:cached_network_image/cached_network_image.dart:376) CachedNetworkImageProvider._loadAsync (package:cached_network_image/cached_network_image.dart:474) CachedNetworkImageProvider.load (package:cached_network_image/cached_network_image.dart:462)

    status: triage 
    opened by fly512 21
  • Invalid Image Data

    Invalid Image Data

    💬 Questions and Help

    I don't know why but I am getting Invalid Image Data using this package which is an runtime error and it doesn't crash my app but it does pause my app while running on emulator using VSCODE.

    status: needs more info 
    opened by chinkysight 20
  • Web-specific analysis errors

    Web-specific analysis errors

    As promised in that other issue, looking into your code, you seem to expect a single file with conditional import to work flawlessly. Yes, I don't think that will fly. What I have instead (and what is discussed in some places in the web) is the stub approach. A bit like federated but at a very small scale (and this isn't federated just reduced, it's much older than the idea of federated itself).

    Basically, you need four files, not a single one. One that I prefer to call interface.dart that provides an abstract class with a factory. Then one file for each platform plus one. The plus one just throws an UnimplementedError when called, and the platform ones implement the abstract class. The interface has the conditional import but for both cases, not one like in your code:

    import 'worker.dart' //
        if (dart.library.io) 'worker_io.dart'
        if (dart.library.html) 'worker_web.dart';
    

    When used, you use the factory to get the actual platform-dependent variant and simply use it with whatever API your class provides to the underlying functionality. Check out some actual code at https://github.com/deakjahn/flutter_isolate_web.

    Sorry if this is something you know and tried and dismissed already but I think it could be the solution to your problem. If this is enough in your case, then federated would be indeed overkill.

    opened by deakjahn 19
  • Does not work on Android 10 device release build

    Does not work on Android 10 device release build

    My test device have android 10 I have cached_network_image: ^2.2.0+1

    in build.gradle I have;

    minSdkVersion 21 targetSdkVersion 29

    When I run it in debug mode on the device everything works fine.

    But when I run it in release mode does not show any images, but I can see the data is getting downloaded.

    flutter run --release -v

    [ +129 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H [ +86 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H [ ] 2ae34518b87dd891355ed6c6ea8cb68c4d52bb9d [ ] executing: [C:\flutter/] git tag --contains HEAD [ +357 ms] Exit code 0 from: git tag --contains HEAD [ ] 1.20.1 [ +7 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u} [ +67 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u} [ ] origin/stable [ ] executing: [C:\flutter/] git ls-remote --get-url origin [ +52 ms] Exit code 0 from: git ls-remote --get-url origin [ ] https://github.com/flutter/flutter.git [ +90 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD [ +56 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD [ ] stable [ +70 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update. [ +1 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update. [ ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ +4 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ +1 ms] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ +1 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ +25 ms] executing: C:\Android\Sdk\platform-tools\adb.exe devices -l [ +59 ms] List of devices attached emulator-5554 device product:sdk_gphone_x86_arm model:AOSP_on_IA_Emulator device:generic_x86_arm transport_id:1 [ +14 ms] C:\Android\Sdk\platform-tools\adb.exe -s emulator-5554 shell getprop [ +97 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update. [ +10 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update. [ ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update. [ +3 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update. [ ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update. [ ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update. [ +1 ms] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update. [ +164 ms] Found plugin cloud_firestore at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\cloud_firestore-0.13.7
    [ +14 ms] Found plugin cloud_firestore_web at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+2
    [ +23 ms] Found plugin firebase_auth at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_auth-0.16.1
    [ +7 ms] Found plugin firebase_auth_web at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.3+1
    [ +5 ms] Found plugin firebase_core at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_core-0.4.5
    [ +7 ms] Found plugin firebase_core_web at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2
    [ +4 ms] Found plugin firebase_storage at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_storage-3.1.6
    [ +9 ms] Found plugin flutter_facebook_login at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\flutter_facebook_login-3.0.0
    [ +7 ms] Found plugin flutter_plugin_android_lifecycle at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8
    [ +11 ms] Found plugin image_picker at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\image_picker-0.6.7+4
    [ +21 ms] Found plugin path_provider at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\path_provider-1.6.11
    [ +5 ms] Found plugin path_provider_linux at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\path_provider_linux-0.0.1+2
    [ +3 ms] Found plugin path_provider_macos at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4+3
    [ +29 ms] Found plugin sqflite at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\sqflite-1.3.1
    [ +20 ms] Found plugin url_launcher at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\url_launcher-5.5.0
    [ +3 ms] Found plugin url_launcher_linux at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\url_launcher_linux-0.0.1+1
    [ +2 ms] Found plugin url_launcher_macos at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-0.0.1+7
    [ +5 ms] Found plugin url_launcher_web at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\url_launcher_web-0.1.2
    [ +205 ms] Found plugin cloud_firestore at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\cloud_firestore-0.13.7
    [ +5 ms] Found plugin cloud_firestore_web at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\cloud_firestore_web-0.1.1+2
    [ +7 ms] Found plugin firebase_auth at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_auth-0.16.1
    [ +3 ms] Found plugin firebase_auth_web at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_auth_web-0.1.3+1
    [ +2 ms] Found plugin firebase_core at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_core-0.4.5
    [ +3 ms] Found plugin firebase_core_web at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_core_web-0.1.1+2
    [ +2 ms] Found plugin firebase_storage at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\firebase_storage-3.1.6
    [ +2 ms] Found plugin flutter_facebook_login at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\flutter_facebook_login-3.0.0
    [ +2 ms] Found plugin flutter_plugin_android_lifecycle at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\flutter_plugin_android_lifecycle-1.0.8
    [ +3 ms] Found plugin image_picker at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\image_picker-0.6.7+4
    [ +6 ms] Found plugin path_provider at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\path_provider-1.6.11
    [ +2 ms] Found plugin path_provider_linux at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\path_provider_linux-0.0.1+2
    [ +2 ms] Found plugin path_provider_macos at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\path_provider_macos-0.0.4+3
    [ +8 ms] Found plugin sqflite at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\sqflite-1.3.1
    [ +5 ms] Found plugin url_launcher at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\url_launcher-5.5.0
    [ +1 ms] Found plugin url_launcher_linux at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\url_launcher_linux-0.0.1+1
    [ +2 ms] Found plugin url_launcher_macos at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\url_launcher_macos-0.0.1+7
    [ +3 ms] Found plugin url_launcher_web at C:\Users\Janaka\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\url_launcher_web-0.1.2
    [ +78 ms] Generating E:\TechnoGlitter\Janaka\MyApp\Code\Build\JanakaApp\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java [ +32 ms] ro.hardware = ranchu [ +38 ms] "flutter run" took 1,013ms. [ +9 ms] Release mode is not supported by AOSP on IA Emulator. [ +3 ms] #0 throwToolExit (package:flutter_tools/src/base/common.dart:14:3) #1 RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:476:9) #2 FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:860: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. (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. (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)

    [ +255 ms] ensureAnalyticsSent: 252ms [ +3 ms] Running shutdown hooks [ +1 ms] Shutdown hooks complete [ +1 ms] exiting with code 1

    status: needs more info 
    opened by wijesijp 19
  • Make cached_network_image friendly with widget testing

    Make cached_network_image friendly with widget testing

    🏗 Enhancement Proposal

    Currently widget testing for CachedNetworkImage is very difficult and there are some packages for that like https://pub.dev/packages/network_image_mock but I think that could be more easy.

    Pitch

    class DefaultCacheManager extends CacheManager with ImageCacheManager {
      static const key = 'libCachedImageData';
    
      static DefaultCacheManager? _instance;
    
      static DefaultCacheManager? _mockCacheManager;
    
      factory DefaultCacheManager() {
        _instance ??= _mockCacheManager ?? DefaultCacheManager._();
        return _instance!;
      }
    
      DefaultCacheManager._() : super(Config(key));
    }
    
    @visibleForTesting
    Future<void> mockDefaultCacheManager(
      Future Function() cb,
      DefaultCacheManager mockCacheManager,
    ) {
      DefaultCacheManager._mockCacheManager = mockCacheManager;
      await cb();
      DefaultCacheManager._mockCacheManager = null;
      DefaultCacheManager._instance = null;
    }
    

    then in our tests we can use

    testWidgets('my test', 
       (tester) async {
        final mock = ....;
        return mockDefaultCacheManager(
          () async {
            /// OUR TEST CODE
          }
        );
        },
    );
    
    opened by darwin-morocho 0
  • Facing issue when running flutter app as module in android.

    Facing issue when running flutter app as module in android.

    [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: DatabaseException(database is locked (code 5 SQLITE_BUSY): retrycount exceeded) sql 'PRAGMA user_version' args [] #0 wrapDatabaseException (package:sqflite/src/exception_impl.dart:11:7) #1 SqfliteDatabaseMixin.txnRawQuery. (package:sqflite_common/src/database_mixin.dart:473:30) #2 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:33:16) #3 SqfliteDatabaseMixin.txnSynchronized (package:sqflite_common/src/database_mixin.dart:392:14) #4 SqfliteDatabaseMixin.getVersion (package:sqflite_common/src/database_mixin.dart:695:18) #5 SqfliteDatabaseMixin.doOpen (package:sqflite_common/src/database_mixin.dart:896:28) #6 SqfliteDatabaseOpenHelper.openDatabase (package:sqflite_common/src/database.dart:46:7) #7 SqfliteDatabaseFactoryMixin.openDatabase. (package:sqflite_common/src/factory_mixin.dart:110:18) #8 ReentrantLock.synchronized. (package:synchronized/src/reentrant_lock.dart:37:18) #9 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:33:16) #10 CacheObjectProvider.open (package:flutter_cache_manager/src/storage/cache_info_repositories/cache_object_provider.dart:30:10) #11 CacheStore._getCacheDataFromDatabase (package:flutter_cache_manager/src/cache_store.dart:115:22)

    Both android and ios

    opened by droidmitra 0
  • CachedNetworkImage will render twice

    CachedNetworkImage will render twice

    Container( constraints:BoxConstraints(maxHeight: 218), child: CachedNetworkImage(imageUrl: imageUrls), )

    The position of the image is center when first render,

    and then it will to left at the second render(That's right).

    How to resolve this problem, thank you.

    opened by YellowDoing 0
  • Invalid image data

    Invalid image data

    ======== Exception caught by image resource service ================================================ The following _Exception was thrown resolving an image codec: Exception: Invalid image data

    When the exception was thrown, this was the stack: #0 _futurize (dart:ui/painting.dart:5718:5) #1 ImageDescriptor.encoded (dart:ui/painting.dart:5574:12) #2 instantiateImageCodec (dart:ui/painting.dart:2056:60) #3 ImageLoader.loadAsync (package:cached_network_image/src/image_provider/_image_loader.dart:59:25) #4 new MultiImageStreamCompleter. (package:cached_network_image/src/image_provider/multi_image_stream_completer.dart:25:18)

    Platform:

    • [ * ] :iphone: iOS
    • [ * ] :robot: Android
    opened by sumanwebidigital 0
  • how to disable gif support?

    how to disable gif support?

    I need to disable gif support. This includes gif content downloading, cacheing and rendering. I know this is random and rare to request. But, is this possible and what is the best way to do it?

    I think #391 is similar in some way.

    opened by rupinderjeet 0
  • CachedNetworkImage without placeholder produces exceptions

    CachedNetworkImage without placeholder produces exceptions

    🐛 Bug Report

    When using CachedNetworkImage without a placeholder e.g.

    class _BookListState extends State<BookList> {
      @override
      Widget build(BuildContext context) => ListView.builder(
            itemCount: widget.books.length,
            itemBuilder: (context, index) => Card(
              key: ValueKey(widget.books[index].title),
              child: ListTile(
                leading: CachedNetworkImage(
                    imageUrl: "<someuri>"),
                title: Text(widget.books[index].title),
                subtitle: Text(widget.books[index].description),
              ),
            ),
          );
    }
    

    The following output is displayed from Flutter:

    ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
    The following assertion was thrown during performLayout():
    Leading widget consumes entire tile width. Please use a sized widget, or consider replacing ListTile
    with a custom widget (see
    https://api.flutter.dev/flutter/material/ListTile-class.html#material.ListTile.4)
    'package:flutter/src/material/list_tile.dart':
    Failed assertion: line 1186 pos 7: 'tileWidth != leadingSize.width || tileWidth == 0.0'
    
    Either the assertion indicates an error in the framework itself, or we should provide substantially
    more information in this error message to help you determine and fix the underlying cause.
    In either case, please report this assertion by filing a bug on GitHub:
      https://github.com/flutter/flutter/issues/new?template=2_bug.md
    
    The relevant error-causing widget was:
      ListTile ListTile:file:///Users/bquinlan/dart/http/pkgs/cronet_http/example/lib/main.dart:124:18
    
    When the exception was thrown, this was the stack:
    #2      _RenderListTile.performLayout (package:flutter/src/material/list_tile.dart:1186:7)
    #3      RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #4      RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #5      RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:240:12)
    #6      RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #7      RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #8      RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:240:12)
    #9      RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #10     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #11     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #12     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #13     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #14     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #15     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #16     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #17     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #18     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #19     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #20     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #21     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #22     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #23     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #24     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #25     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #26     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #27     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #28     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #29     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #30     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #31     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #32     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #33     RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:552:11)
    #34     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #35     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #36     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #37     _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1466:11)
    #38     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #39     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #40     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:240:12)
    #41     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #42     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #43     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #44     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #45     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #46     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #47     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #48     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #49     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #50     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #51     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #52     RenderSliverList.performLayout (package:flutter/src/rendering/sliver_list.dart:213:28)
    #53     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #54     RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:149:12)
    #55     RenderSliverPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:386:11)
    #56     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #57     RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:550:13)
    #58     RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1634:12)
    #59     RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1541:20)
    #60     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #61     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #62     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #63     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #64     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #65     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #66     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #67     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #68     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #69     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #70     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #71     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #72     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #73     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #74     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #75     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #76     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #77     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #78     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #79     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #80     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #81     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #82     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #83     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #84     RenderCustomPaint.performLayout (package:flutter/src/rendering/custom_paint.dart:552:11)
    #85     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #86     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #87     RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:120:14)
    #88     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #89     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #90     ChildLayoutHelper.layoutChild (package:flutter/src/rendering/layout_helper.dart:56:11)
    #91     RenderFlex._computeSizes (package:flutter/src/rendering/flex.dart:903:45)
    #92     RenderFlex.performLayout (package:flutter/src/rendering/flex.dart:938:32)
    #93     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #94     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #95     RenderPadding.performLayout (package:flutter/src/rendering/shifted_box.dart:240:12)
    #96     RenderObject.layout (package:flutter/src/rendering/object.dart:2189:7)
    #97     RenderBox.layout (package:flutter/src/rendering/box.dart:2430:11)
    #98     MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
    #99     _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1078:7)
    #100    MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:240:7)
    #101    RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:410:14)
    #102    RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2027:7)
    #103    PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1020:18)
    #104    RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:516:19)
    #105    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:865:13)
    #106    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:381:5)
    #107    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1289:15)
    #108    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1218:9)
    #109    SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1076:5)
    #113    _invoke (dart:ui/hooks.dart:147:10)
    #114    PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:338:5)
    #115    _drawFrame (dart:ui/hooks.dart:112:31)
    (elided 5 frames from class _AssertionError and dart:async)
    
    The following RenderObject was being processed when the exception was fired: _RenderListTile#cdb14 relayoutBoundary=up18 NEEDS-LAYOUT NEEDS-PAINT
    NEEDS-COMPOSITING-BITS-UPDATE:
      creator: _ListTile ← IconTheme ← Builder ← MediaQuery ← Padding ← SafeArea ← Builder ←
        Padding-[GlobalKey#aa9d6] ← Ink ← Semantics ← Listener ← RawGestureDetector ← ⋯
      parentData: offset=Offset(0.0, 0.0) (can use size)
      constraints: BoxConstraints(w=332.7, 0.0<=h<=Infinity)
      size: MISSING
    This RenderObject had the following descendants (showing up to depth 5):
        leading: RenderConstrainedBox#8c8e8 relayoutBoundary=up19 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
          child: RenderLimitedBox#4e5eb relayoutBoundary=up20 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
            child: RenderConstrainedBox#7997b relayoutBoundary=up21 NEEDS-PAINT
        title: RenderParagraph#10272 NEEDS-LAYOUT NEEDS-PAINT
          text: TextSpan
        subtitle: RenderParagraph#aa3b7 NEEDS-LAYOUT NEEDS-PAINT
          text: TextSpan
    ════════════════════════════════════════════════════════════════════════════════════════════════════
    
    Another exception was thrown: RenderBox was not laid out: _RenderListTile#cdb14 relayoutBoundary=up18 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderPadding#f320f relayoutBoundary=up17 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderPadding#68847 relayoutBoundary=up16 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#9f29f relayoutBoundary=up15 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderPointerListener#60d76 relayoutBoundary=up14 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#7745b relayoutBoundary=up13 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderMouseRegion#e8ced relayoutBoundary=up12 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#4169e relayoutBoundary=up11 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#8244d relayoutBoundary=up10 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: _RenderInkFeatures#ca711 relayoutBoundary=up9 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderCustomPaint#0c335 relayoutBoundary=up8 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderPhysicalShape#a573e relayoutBoundary=up7 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderPadding#66917 relayoutBoundary=up6 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderSemanticsAnnotations#c1f05 relayoutBoundary=up5 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: RenderBox was not laid out: RenderRepaintBoundary#1492c relayoutBoundary=up4 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
    
    Another exception was thrown: 'package:flutter/src/rendering/sliver_multi_box_adaptor.dart': Failed assertion: line 550 pos 12: 'child.hasSize': is not true.
    
    Another exception was thrown: Null check operator used on a null value
    

    Configuration

    $ flutter doctor
    Doctor summary (to see all details, run flutter doctor -v):
    [!] Flutter (Channel master, 3.7.0-9.0.pre.4, on macOS 13.0.1 22A400 darwin-arm64, locale en)
        ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.18.4/libexec/bin/dart, which is not inside your current Flutter SDK checkout at
          /Users/bquinlan/flutter. Consider adding /Users/bquinlan/flutter/bin to the front of your path.
    [!] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
        ✗ cmdline-tools component is missing
          Run `path/to/sdkmanager --install "cmdline-tools;latest"`
          See https://developer.android.com/studio/command-line for more details.
        ✗ Android license status unknown.
          Run `flutter doctor --android-licenses` to accept the SDK licenses.
          See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
    [✓] Xcode - develop for iOS and macOS (Xcode 14.1)
    [✓] Chrome - develop for the web
    [✓] Android Studio (version 2021.2)
    [✓] VS Code (version 1.74.0)
    [✓] Connected device (3 available)
    [✓] HTTP Host Availability
    
    ! Doctor found issues in 2 categories.
    

    Version: 1.x

    Platform:

    • [ ] :iphone: iOS
    • [X ] :robot: Android
    opened by brianquinlan 0
Owner
Baseflow
We provide software, skills and knowledge and with this we want to make a contribution to the world. We love to make innovation happen.
Baseflow
Instagram tool to download images, reels, videos and more.

Instagram tool to download images, reels, videos and more.

Yuji 34 Jan 2, 2023
📸 Easy to use yet very customizable zoomable image widget for Flutter, Photo View provides a gesture sensitive zoomable widget. Photo View is largely used to show interacive images and other stuff such as SVG.

Flutter Photo View A simple zoomable image/content widget for Flutter. PhotoView enables images to become able to zoom and pan with user gestures such

Fire Slime Games 1.7k Jan 3, 2023
Generic cache manager for flutter

flutter_cache_manager A CacheManager to download and cache files in the cache directory of the app. Various settings on how long to keep a file can be

Rene Floor 6 Jul 19, 2021
A powerful official extension library of image, which support placeholder(loading)/ failed state, cache network, zoom pan image, photo view, slide out page, editor(crop,rotate,flip), paint custom etc.

extended_image Language: English| 中文简体 A powerful official extension library of image, which support placeholder(loading)/ failed state, cache network

FlutterCandies 1.6k Dec 31, 2022
A Flutter plugin for Android and iOS supports cropping images

Image Cropper A Flutter plugin for Android and iOS supports cropping images. This plugin is based on two different native libraries so it comes with d

HungHD 891 Dec 28, 2022
Load GIF images and can set framerate

Load GIF images and can set framerate

Rafael Almeida Barbosa 9 Dec 14, 2022
A flutter plugin which provides Crop Widget for cropping images.

A flutter plugin which provides Crop Widget for cropping images. crop_your_image provides only minimum UI for deciding cropping area inside images. Other UI parts, such as "Crop" button or "Change Aspect Ratio" button, need to be prepared by each app developers.

Chooyan 96 Dec 31, 2022
A flutter package which makes it easy to track a series of images.

A flutter package which makes it easy to track a series of images.

Jaehee Kim 2 Oct 7, 2022
Simple and effective cross platform image saver for flutter, supported web and desktop

Simple and effective cross platform image saver for flutter, supported web and desktop

7c00 3 Oct 5, 2022
Crop any widget/image in Android, iOS, Web and Desktop with fancy and customizable UI, in pure Dart code.

crop A Flutter package for cropping any widget, not only images. This package is entirely written in Dart and supports Android, iOS, Web and Desktop.

Mahdi 225 Jan 6, 2023
Loading indicator GIFs. Material and Cupertino (Android and iOS) loading indicators in assorted sizes. Use as placeholders for loading remote image assets. Demo: https://gallery.codelessly.com/flutterwebsites/loadinggifs/

Loading GIFs High quality Android and iOS loading spinners. View Demo Loading GIFs is a collection of high fidelity loading animations in GIF format.

Codelessly 31 Dec 23, 2022
A flutter carousel widget, support infinite scroll, and custom child widget.

carousel_slider A carousel slider widget. Features Infinite scroll Custom child widgets Auto play Supported platforms Flutter Android Flutter iOS Flut

serenader 1.4k Dec 30, 2022
A Flutter widget that paints an image and moves it at a slower speed than the main scrolling content.

A Flutter widget that paints an image and moves it at a slower speed than the main scrolling content. Installation Add dependency to your pubspec.yaml

Anatoly Pulyaevskiy 272 Dec 23, 2022
SVG parsing, rendering, and widget library for Flutter

flutter_svg Draw SVG (and some Android VectorDrawable (XML)) files on a Flutter Widget. Getting Started This is a Dart-native rendering library. Issue

Dan Field 1.5k Jan 6, 2023
Flutter plugin that allows you to display multi image picker on iOS and Android. 👌🔝🎉

IMPORTANT: This repository has been archived and no longer mantained. As I don't have time anymore to work on the package it became very outdated. For

Radoslav Vitanov 898 Apr 29, 2021
Use lottie in flutter for both iOS and Android

flutter_lottie Use Lottie in Flutter. Supports both iOS and Android using lottie-ios and lottie-android Current Status Supports most features that bot

Cameron Smith 160 Nov 25, 2022
A simple and easy flutter demo to crop image

flutter_image_crop A simple demo to crop image on flutter easily. A Chinese version of this document can be found here Flutter_image_crop Plugin will

路小飞 3 Jul 8, 2021
A Flutter image editor with support for paint, text, filters, emojis, stickers and more

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

null 44 Dec 22, 2022
Multiavatar is a free and open-source multicultural avatar maker.

Flutter Wrapper for Multiavatar Multiavatar is a multicultural avatar maker. Multiavatar represents people from multiple races, multiple cultures, multiple age groups, multiple worldviews and walks of life.

Iheb Briki 69 Dec 19, 2022