flutter_allroundrefresh 2.0.2

文档语言:中文简体English

flutter_allroundrefresh #

集 初始转圈+网络正常/异常+下拉刷新+加载更多+数据正常/异常+重试+登录失效 的组件。

快速使用 #

  1. **添加依赖 **

    dependencies:
      flutter_allroundrefresh: ^2.0.2
    
  2. 引用

    import 'package:flutter_allroundrefresh/future_refresh.dart';
    
  3. 在入口方法中进行初始化

    1. 默认初始化

      AFutureWidget.init( );
      
    2. 需要配置国际化、或需要改变文字内容

      AFutureWidget.init(  loadingText: '加载中...',...);
      
  4. 具体页面

    class SimplePage3 extends StatefulWidget {
      @override
      _SimplePage3State createState() => _SimplePage3State();}
    
    class _SimplePage3State extends State<SimplePage3> with TickerProviderStateMixin {
      var page = 1;
      List<SimpleDataBean> modelList = [];
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar( title: const Text('AFutureWidget 组件DEMO'),),
          body: AFutureWidget(
            childWidget: yourContentWidget(),//必填
            //errorWidget: YourError1Widget(),//支持自定义
            //progressWidget: YourProgress2Widget(),//支持自定义
            fRefresh: SimpleDao.getData10(page: 1),//必填,page 必须写1
            fLoading: SimpleDao.getData10(page: page),//有加载更多必填
            onLoadingCallback: () {page = page + 1;setState(() {});},//有加载更多必填
            onRefreshCallback: () {page = 1;modelList.clear();setState(() {}); },//必填
            tokenInvalidCallback: () { },,//登录失效回调
            dataCallback: (List<dynamic> data) {
              data.forEach((v) {
                modelList.add(new SimpleDataBean.fromJson(v));
              });
              setState(() {});
            },//必填
          ),
        );
      }
     Widget yourContentWidget() {
        return ListView.builder(
          itemCount: modelList.length,
          itemBuilder: (BuildContext context, int index) {
            return Container(
              alignment: Alignment.center,
              height: 80.0,
              child: Text('${modelList[index].name}'),
            ); },);
      }
    }
    
    

    为了达到一目了然的效果,上面贴上了整个页面的代码,不难发现

    • 该页面只需要配置flutter_allroundrefresh 下的具体组件AFutureWidget 即可

    • 具体页面的ListView/GridView 的代码,即Item样式编写

注意事项

  • 获取接口API数据的方法,即fRefresh的参数(方法),这里需要注意,无论是get/post/put/delete请求,具体方法的返回值必须是**Future

  • errorWidget: YourError1Widget(),//支持自定义错误页面,demo/截图展示了默认纯文字、静态图、和动图三种效果

  • progressWidget: YourProgress2Widget(),//支持自定义初始转圈,demo/截图展示了默认转圈、动图两种效果

  • tokenInvalidCallback: 登录失效的回调方法,根据项目决定是否需要(作者的项目是弹出对话框,点击确定进入登录页面)

  • 接口API返回的json建议使用 json_to_dart 进行格式化

  1. 接口API返回的json格式说明(若你的后台有自己的code规则则需要在初始化方法AFutureWidget.init();中进行适配)
{
    "code": "默认200访问成功,404无数据,900登录失效",
    "msg": "",
    "data": {},//  "data": [],
}

完成到这里,接入 flutter_allroundrefresh 组件的优势也就很清晰了

  • 编写/测试接口API数据获取的方法(作者使用了java中的dao概念,木有使用bloc)

  • 编写具体页面的Item

  • 那么整体项目就包含:载框架搭建+dao层+UI层,不管是个人开发,还是团队开发,项目就很清晰了,分工与工作量就都很好分配了(非列表页面即将适配哈,以及返回页面刷新的问题)

说明

AFutureWidget组件

字段默认值/返回类型是否必须说明
enablePullDowntrue可自定义
childWidgetScrollView类型必须页面item
errorWidget初始错误页可自定义,图片、gif均可
progressWidget初始转圈可自定义
fRefreshFuture必须刷新方法,方法返回类型必须保持一致
fLoadingFuture加载更多方法,不填=无加载更多
onLoadingCallback加载更多回调,加载更多时必填
onRefreshCallback必须刷新方法
tokenInvalidCallback登录失效处理回调,根据项目看是否需要
dataCallback必须数据处理回调
header刷新头
footer加载更多

涉及到的国际化配置、状态码配置

字段默认
loadingText加载中...
noDataText没有更多数据了
idleText加载更多
failedText加载失败,点击重试
errorMsg暂无数据
normalCode200
noDataCode404
tokenInvalidCode900
netClose检测到手机没有网络,请打开网络后重试!
netWifiLose网络差或服务器超时,请稍后重试或使用4G尝试!
netLoseOrTimeOut网络差或服务器超时,请稍后重试!

截图 #

DEMO使用说明 #

由于使用的是mocky模拟接口 我打包的正式包是无法获取数据的,也就是大家荡下来以后example跑起来也可能是没有数据的,具体跑起来点击这里

常见问题 #

其他 #

下载链接(由于demo中的接口API使用了 mocky 进行模拟所以,apk跑起来可能是没有数据的)

android apk

下载二维码

有任何问题、建议、意见 ,欢迎到 github提issues

或者加入QQ群:10788108 #

鸣谢

pull_to_refresh

GSYGithubAppFlutter

领航未来

开源协议

 
Copyright 2019 pf

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
 

0.0.1 #

  • initRelease

0.0.3 #

  • initRelease

1.0.0 #

  • initRelease and update explain

1.0.1 #

  • Adapt Flutter 1.5.4
  • Fix the problem of default turn-around immobility after upgrade of Flutter 1.5.4

2.0.0 #

  • Major updates:Upgrade Components to Lazy Mode
  • Optimized the previous version of more redundant code, and some error-prone code to make components easier to use

2.0.1 #

  • Fixed IOS refresh failure

2.0.2 #

  • New scalable solutions to support some unknown needs

example/README.md

[TOCM]

[TOC]

flutter_allroundrefresh_example #

Demonstrates how to use the flutter_allroundrefresh plugin.

使用事项 #

  1. 必须使用初始化方法 AFutureWidget.init();

  2. 获取网络数据的方法返回值必须是 Future<dynamic> (其实不全对,后面详细说)

  3. 接口API数据格式必须是统一的

    {
        "code": "默认200访问成功,900登录失效",
        "msg": "",
        "data": {},//  "data": [],
    }
    
  4. 如果是直接使用自己的组件,或使用自己的接口API,则无需再看剩下5,6、7

  5. fdsfs

不运行 demo 请跳过该小节()

  1. 由于demo中的接口API使用了 mocky 进行模拟所以,demo跑起来若没有数据:
    1. 需要在demo的 assets 下找到对应的json文件,并打开 mocky 参考 demo中的 SimpleDao 进行无数据、正常获取数据,等情况的模拟(替换掉demo中的API链接即可)
    2. 注意参考SimpleDao 及 HttpManager 中对数据返回类型

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  flutter_allroundrefresh: ^2.0.2

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:flutter_allroundrefresh/flutter_allroundrefresh.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
43
Health:
Code health derived from static analysis. [more]
84
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90
Overall:
Weighted score of the above. [more]
65
Learn more about scoring.

We analyzed this package on Jul 22, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.4.0
  • pana: 0.12.19
  • Flutter: 1.7.8+hotfix.3

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health suggestions

Fix lib/src/internals/indicator_wrap.dart. (-8.63 points)

Analysis of lib/src/internals/indicator_wrap.dart reported 18 hints, including:

line 75 col 74: The member 'activity' can only be used within instance members of subclasses of 'package:flutter/src/widgets/scroll_position.dart'.

line 75 col 74: The member 'activity' can only be used within 'package:flutter/src/widgets/scroll_position.dart' or a test.

line 87 col 19: The member 'activity' can only be used within instance members of subclasses of 'package:flutter/src/widgets/scroll_position.dart'.

line 87 col 19: The member 'activity' can only be used within 'package:flutter/src/widgets/scroll_position.dart' or a test.

line 88 col 19: The member 'activity' can only be used within instance members of subclasses of 'package:flutter/src/widgets/scroll_position.dart'.

Fix lib/src/smart_refresher.dart. (-4.89 points)

Analysis of lib/src/smart_refresher.dart reported 10 hints, including:

line 88 col 18: 'scrollController' is deprecated and shouldn't be used.

line 90 col 18: 'scrollController' is deprecated and shouldn't be used.

line 108 col 27: The member 'activity' can only be used within instance members of subclasses of 'package:flutter/src/widgets/scroll_position.dart'.

line 108 col 27: The member 'activity' can only be used within 'package:flutter/src/widgets/scroll_position.dart' or a test.

line 119 col 31: The member 'buildChildLayout' can only be used within instance members of subclasses of 'package:flutter/src/widgets/scroll_view.dart'.

Fix lib/src/a_future_widget.dart. (-1.49 points)

Analysis of lib/src/a_future_widget.dart reported 3 hints:

line 17 col 7: This class (or a class which this class inherits from) is marked as '@immutable', but one or more of its instance fields are not final: AFutureWidget.fRefresh, AFutureWidget.fLoading

line 279 col 3: Prefer using /// for doc comments.

line 348 col 38: Name non-constant identifiers using lowerCamelCase.

Fix additional 10 files with analysis or formatting issues. (-1.50 points)

Additional issues in the following files:

  • lib/src/internals/slivers.dart (2 hints)
  • lib/src/internals/refresh_physics.dart (1 hint)
  • lib/flutter_allroundrefresh.dart (Run flutter format to format lib/flutter_allroundrefresh.dart.)
  • lib/src/bean/comm_bean.dart (Run flutter format to format lib/src/bean/comm_bean.dart.)
  • lib/src/indicator/classic_indicator.dart (Run flutter format to format lib/src/indicator/classic_indicator.dart.)
  • lib/src/indicator/custom_indicator.dart (Run flutter format to format lib/src/indicator/custom_indicator.dart.)
  • lib/src/indicator/link_indicator.dart (Run flutter format to format lib/src/indicator/link_indicator.dart.)
  • lib/src/indicator/material_indicator.dart (Run flutter format to format lib/src/indicator/material_indicator.dart.)
  • lib/src/indicator/waterdrop_header.dart (Run flutter format to format lib/src/indicator/waterdrop_header.dart.)
  • lib/src/util/dialog_comm.dart (Run flutter format to format lib/src/util/dialog_comm.dart.)

Maintenance issues and suggestions

Make sure dartdoc successfully runs on your package's source files. (-10 points)

exitCode: 255 stdout: parsing /tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/flutter_allroundrefresh.dart... parsing /tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/future_refresh.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/collection/collection.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/developer/developer.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/internal/internal.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/io/io.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/isolate/isolate.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/async/async.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/convert/convert.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/typed_data/typed_data.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/_empty.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/math/math.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/core/core.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/_http/http.dart... parsing /flutter/bin/cache/pkg/sky_engine/lib/ui/ui.dart... parsing /tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/bean/comm_bean.dart... parsing /tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/a_future_widget.dart... parsing /flutter/packages/flutter/lib/material.dart... parsing /flutter/packages/flutter/lib/src/material/about.dart... parsing /flutter/packages/flutter/lib/foundation.dart... [...] parsing /tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/util/sp_util.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/shared_preferences-0.5.3+4/lib/shared_preferences.dart... parsing /tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/indicator/waterdrop_header.dart... parsing /tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/indicator/custom_indicator.dart... parsing /tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/indicator/link_indicator.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/meta-1.1.6/lib/dart2js.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/typed_data-1.1.6/lib/typed_data.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/equality.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/priority_queue.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/wrappers.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/algorithms.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/iterable_zip.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/vector_math-2.0.8/lib/vector_math_geometry.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/vector_math-2.0.8/lib/vector_math.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/vector_math-2.0.8/lib/vector_math_operations.dart... parsing /tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/vector_math-2.0.8/lib/vector_math_lists.dart... Initialized dartdoc with 478 libraries in 78.7 seconds documenting flutter_allroundrefresh Generating docs for library allroundrefresh from package:flutter_allroundrefresh/future_refresh.dart... Generating docs for library flutter_allroundrefresh from package:flutter_allroundrefresh/flutter_allroundrefresh.dart... stderr: Documenting flutter_allroundrefresh... warning: private API of package:Dart is reexported by libraries in other packages: from E: (file:///flutter/bin/cache/pkg/sky_engine/lib/collection/collections.dart:11:28) referred to by collection: (file:///tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/collection.dart) referred to by dart.pkg.collection.wrappers: (file:///tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/wrappers.dart:7:9) warning: private API of package:Dart is reexported by libraries in other packages: from K: (file:///flutter/bin/cache/pkg/sky_engine/lib/collection/maps.dart:372:27) referred to by collection: (file:///tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/collection.dart) referred to by dart.pkg.collection.wrappers: (file:///tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/wrappers.dart:7:9) warning: private API of package:Dart is reexported by libraries in other packages: from V: (file:///flutter/bin/cache/pkg/sky_engine/lib/collection/maps.dart:372:30) referred to by collection: (file:///tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/collection.dart) referred to by dart.pkg.collection.wrappers: (file:///tmp/pub-cache-dirTTBPFW/hosted/pub.dartlang.org/collection-1.14.11/lib/wrappers.dart:7:9) warning: ambiguous reexport of dart-ui.hashList, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.hashList: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/hash_codes.dart:114:5) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) Use {@canonicalFor dart:ui.hashList} in the desired library's documentation to resolve the ambiguity and/or override dartdoc's decision, or structure your package so the reexport is less ambiguous. The symbol will still be referenced in all candidates -- this only controls the location where it will be written and which library will be displayed in navigation for the relevant pages. The flag --ambiguous-reexport-scorer-min-confidence allows you to set the threshold at which this warning will appear. warning: ambiguous reexport of dart-ui.hashValues, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.hashValues: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/hash_codes.dart:42:5) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.VoidCallback, canonicalization candidates: (cupertino, foundation, material, painting, rendering, scheduler, widgets) -> widgets (confidence 0.000) from dart-ui.VoidCallback: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:8:9) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) foundation: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) scheduler: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.AccessibilityFeatures, canonicalization candidates: (rendering, semantics) -> semantics (confidence 0.000) from dart-ui.AccessibilityFeatures: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:1144:7) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) semantics: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.FontWeight, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.FontWeight: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:17:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Locale, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Locale: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:241:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Offset, canonicalization candidates: (cupertino, gestures, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Offset: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:119:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) gestures: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Radius, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Radius: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:895:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Rect, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Rect: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:621:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.RRect, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.RRect: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:1018:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.RSTransform, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.RSTransform: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:1641:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Size, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.Size: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/geometry.dart:347:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextBox, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextBox: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1144:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextDecoration, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextDecoration: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:287:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextPosition, canonicalization candidates: (cupertino, material, painting, rendering, services, widgets) -> widgets (confidence 0.000) from dart-ui.TextPosition: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1288:7) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) services: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.AppLifecycleState, canonicalization candidates: (cupertino, material, scheduler, widgets) -> widgets (confidence 0.000) from dart-ui.AppLifecycleState: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:145:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) scheduler: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.Brightness, canonicalization candidates: (cupertino, material, services) -> services (confidence 0.000) from dart-ui.Brightness: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/window.dart:1208:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) services: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.FontStyle, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.FontStyle: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:8:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.PlaceholderAlignment, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.PlaceholderAlignment: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1456:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextAffinity, canonicalization candidates: (cupertino, material, painting, rendering, services, widgets) -> widgets (confidence 0.000) from dart-ui.TextAffinity: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1246:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) services: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextAlign, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextAlign: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:246:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextBaseline, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextBaseline: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:278:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextDecorationStyle, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextDecorationStyle: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:346:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: ambiguous reexport of dart-ui.TextDirection, canonicalization candidates: (cupertino, material, painting, rendering, widgets) -> widgets (confidence 0.000) from dart-ui.TextDirection: (file:///flutter/bin/cache/pkg/sky_engine/lib/ui/text.dart:1132:6) cupertino: 1.010 - embeds package name (+1.000), name is long (+0.01000) material: 1.010 - embeds package name (+1.000), name is long (+0.01000) painting: 1.010 - embeds package name (+1.000), name is long (+0.01000) rendering: 1.010 - embeds package name (+1.000), name is long (+0.01000) widgets: 1.010 - embeds package name (+1.000), name is long (+0.01000) warning: allroundrefresh has no library level documentation comments, from allroundrefresh: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/future_refresh.dart:5:9) warning: no canonical library found for allroundrefresh.AFutureWidget.hashCode, not linking, from allroundrefresh.AFutureWidget.hashCode: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart) warning: no canonical library found for allroundrefresh.AFutureWidget.runtimeType, not linking, from allroundrefresh.AFutureWidget.runtimeType: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart) warning: no canonical library found for allroundrefresh.AFutureWidget.noSuchMethod, not linking, from allroundrefresh.AFutureWidget.noSuchMethod: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart:109:20) warning: no canonical library found for allroundrefresh.AFutureWidget.==, not linking, from allroundrefresh.AFutureWidget.==: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart:60:26) warning: no canonical library found for allroundrefresh.AFutureWidgetHelper.toString, not linking, from allroundrefresh.AFutureWidgetHelper.toString: (file:///flutter/bin/cache/pkg/sky_engine/lib/core/object.dart:97:19) warning: unresolved doc reference [InheritedWidget] from allroundrefresh.AFutureWidgetState.build: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/a_future_widget.dart:122:10) in documentation inherited from framework.State.build: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1314:10) warning: unresolved doc reference [AnimatedWidget] from allroundrefresh.AFutureWidgetState.build: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/a_future_widget.dart:122:10) in documentation inherited from framework.State.build: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1314:10) warning: unresolved doc reference [ChangeNotifier] from allroundrefresh.AFutureWidgetState.dispose: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/a_future_widget.dart:140:8) in documentation inherited from framework.State.dispose: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1209:8) warning: unresolved doc reference [Stream] from allroundrefresh.AFutureWidgetState.dispose: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/a_future_widget.dart:140:8) in documentation inherited from framework.State.dispose: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1209:8) warning: unresolved doc reference [InheritedWidget] from allroundrefresh.LoadIndicatorState.build: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:292:10) in documentation inherited from framework.State.build: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1314:10) warning: unresolved doc reference [AnimatedWidget] from allroundrefresh.LoadIndicatorState.build: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:292:10) in documentation inherited from framework.State.build: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1314:10) warning: unresolved doc reference [ChangeNotifier] from allroundrefresh.LoadIndicatorState.dispose: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:285:8) in documentation inherited from framework.State.dispose: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1209:8) warning: unresolved doc reference [Stream] from allroundrefresh.LoadIndicatorState.dispose: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:285:8) in documentation inherited from framework.State.dispose: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1209:8) warning: unresolved doc reference [InheritedWidget] from allroundrefresh.RefreshIndicatorState.build: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:194:10) in documentation inherited from framework.State.build: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1314:10) warning: unresolved doc reference [AnimatedWidget] from allroundrefresh.RefreshIndicatorState.build: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:194:10) in documentation inherited from framework.State.build: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1314:10) warning: unresolved doc reference [ScrollPosition.setPixels] from allroundrefresh.RefreshPhysics.applyBoundaryConditions: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:133:10) in documentation inherited from scroll_physics.ScrollPhysics.applyBoundaryConditions: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:172:10) warning: unresolved doc reference [ScrollPosition.pixels] from allroundrefresh.RefreshPhysics.applyBoundaryConditions: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:133:10) in documentation inherited from scroll_physics.ScrollPhysics.applyBoundaryConditions: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:172:10) warning: unresolved doc reference [ScrollPosition.didOverscrollBy] from allroundrefresh.RefreshPhysics.applyBoundaryConditions: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:133:10) in documentation inherited from scroll_physics.ScrollPhysics.applyBoundaryConditions: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:172:10) warning: unresolved doc reference [BallisticScrollActivity] from allroundrefresh.RefreshPhysics.applyBoundaryConditions: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:133:10) in documentation inherited from scroll_physics.ScrollPhysics.applyBoundaryConditions: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:172:10) warning: unresolved doc reference [DragScrollActivity] from allroundrefresh.RefreshPhysics.applyPhysicsToUserOffset: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:81:10) in documentation inherited from scroll_physics.ScrollPhysics.applyPhysicsToUserOffset: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:117:10) warning: unresolved doc reference [ScrollActivityDelegate.setPixels] from allroundrefresh.RefreshPhysics.applyPhysicsToUserOffset: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:81:10) in documentation inherited from scroll_physics.ScrollPhysics.applyPhysicsToUserOffset: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:117:10) warning: unresolved doc reference [ScrollPosition] from allroundrefresh.RefreshPhysics.applyPhysicsToUserOffset: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:81:10) in documentation inherited from scroll_physics.ScrollPhysics.applyPhysicsToUserOffset: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:117:10) warning: unresolved doc reference [ScrollPositionWithSingleContext] from allroundrefresh.RefreshPhysics.createBallisticSimulation: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:179:14) in documentation inherited from scroll_physics.ScrollPhysics.createBallisticSimulation: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:190:14) warning: unresolved doc reference [ScrollPositionWithSingleContext.goBallistic] from allroundrefresh.RefreshPhysics.createBallisticSimulation: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:179:14) in documentation inherited from scroll_physics.ScrollPhysics.createBallisticSimulation: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:190:14) warning: unresolved doc reference [BallisticScrollActivity] from allroundrefresh.RefreshPhysics.createBallisticSimulation: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/refresh_physics.dart:179:14) in documentation inherited from scroll_physics.ScrollPhysics.createBallisticSimulation: (file:///flutter/packages/flutter/lib/src/widgets/scroll_physics.dart:190:14) warning: unresolved doc reference [ChangeNotifier] from allroundrefresh.IndicatorStateMixin.didUpdateWidget: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:406:8) in documentation inherited from framework.State.didUpdateWidget: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1041:8) warning: unresolved doc reference [Stream] from allroundrefresh.IndicatorStateMixin.didUpdateWidget: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:406:8) in documentation inherited from framework.State.didUpdateWidget: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1041:8) warning: unresolved doc reference [ChangeNotifier] from allroundrefresh.IndicatorStateMixin.dispose: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:391:8) in documentation inherited from framework.State.dispose: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1209:8) warning: unresolved doc reference [Stream] from allroundrefresh.IndicatorStateMixin.dispose: (file:///tmp/pub-dartlang-dartdocARMKTJ/pkg/lib/src/internals/indicator_wrap.dart:391:8) in documentation inherited from framework.State.dispose: (file:///flutter/packages/flutter/lib/src/widgets/framework.dart:1209:8) Unhandled exception: RangeError (start): Invalid value: Only valid value is 0: 1 #0 _StringBase.indexOf (dart:core-patch/string_patch.dart:333:7) #1 String.indexOf (dart:core-patch/string_patch.dart:1028:18) #2 _createLineNumbersMap (package:dartdoc/src/line_number_cache.dart:30:23) #3 LineNumberCache.lineAndColumn.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
connectivity ^0.4.3+4 0.4.3+6
flutter 0.0.0
shared_preferences ^0.5.3+2 0.5.3+4
Transitive dependencies
collection 1.14.11
meta 1.1.6 1.1.7
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test

Admin