Commit 57a0f6d3 authored by Administrator's avatar Administrator

enhanced speed support, missing ascent and descent support

parent d80cd7ba
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_secure_storage","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.3/","dependencies":[]},{"name":"package_info","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/package_info-0.4.1/","dependencies":[]},{"name":"path_provider","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.8/","dependencies":[]},{"name":"shared_preferences","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7+2/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"uni_links","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/uni_links-0.4.0/","dependencies":[]},{"name":"url_launcher","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.5.0/","dependencies":[]}],"android":[{"name":"flutter_secure_storage","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.3/","dependencies":[]},{"name":"package_info","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/package_info-0.4.1/","dependencies":[]},{"name":"path_provider","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.8/","dependencies":[]},{"name":"shared_preferences","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7+2/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"uni_links","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/uni_links-0.4.0/","dependencies":[]},{"name":"url_launcher","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.5.0/","dependencies":[]}],"macos":[{"name":"package_info","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/package_info-0.4.1/","dependencies":[]},{"name":"path_provider_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+2/","dependencies":[]},{"name":"shared_preferences_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+8/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"url_launcher_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-0.0.1+5/","dependencies":[]}],"linux":[{"name":"url_launcher_linux","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_linux-0.0.1+1/","dependencies":[]}],"windows":[],"web":[{"name":"shared_preferences_web","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+5/","dependencies":[]},{"name":"url_launcher_web","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_web-0.1.1+5/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_secure_storage","dependencies":[]},{"name":"package_info","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos"]},{"name":"path_provider_macos","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_linux","url_launcher_macos"]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]}],"date_created":"2020-08-06 09:25:52.738268","version":"1.17.3"}
\ No newline at end of file
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_secure_storage","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.3/","dependencies":[]},{"name":"package_info","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/package_info-0.4.1/","dependencies":[]},{"name":"path_provider","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.8/","dependencies":[]},{"name":"shared_preferences","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7+2/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"uni_links","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/uni_links-0.4.0/","dependencies":[]},{"name":"url_launcher","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.5.0/","dependencies":[]}],"android":[{"name":"flutter_secure_storage","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_secure_storage-3.3.3/","dependencies":[]},{"name":"package_info","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/package_info-0.4.1/","dependencies":[]},{"name":"path_provider","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider-1.6.8/","dependencies":[]},{"name":"shared_preferences","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences-0.5.7+2/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"uni_links","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/uni_links-0.4.0/","dependencies":[]},{"name":"url_launcher","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher-5.5.0/","dependencies":[]}],"macos":[{"name":"package_info","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/package_info-0.4.1/","dependencies":[]},{"name":"path_provider_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/path_provider_macos-0.0.4+2/","dependencies":[]},{"name":"shared_preferences_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_macos-0.0.1+8/","dependencies":[]},{"name":"sqflite","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/sqflite-1.3.0+1/","dependencies":[]},{"name":"url_launcher_macos","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_macos-0.0.1+5/","dependencies":[]}],"linux":[{"name":"url_launcher_linux","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_linux-0.0.1+1/","dependencies":[]}],"windows":[],"web":[{"name":"shared_preferences_web","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/shared_preferences_web-0.1.2+5/","dependencies":[]},{"name":"url_launcher_web","path":"/home/stefan/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/url_launcher_web-0.1.1+5/","dependencies":[]}]},"dependencyGraph":[{"name":"flutter_secure_storage","dependencies":[]},{"name":"package_info","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_macos"]},{"name":"path_provider_macos","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_macos","shared_preferences_web"]},{"name":"shared_preferences_macos","dependencies":[]},{"name":"shared_preferences_web","dependencies":[]},{"name":"sqflite","dependencies":[]},{"name":"uni_links","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_web","url_launcher_linux","url_launcher_macos"]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]}],"date_created":"2020-08-06 18:30:55.673439","version":"1.20.0"}
\ No newline at end of file
......@@ -61,7 +61,8 @@ class Event {
..positionLong = dataMessage.get('position_long') as double
..distance = dataMessage.get('distance') as double
..altitude = dataMessage.get('altitude') as double
..speed = dataMessage.get('speed') as double
..speed = dataMessage.get('speed') as double ??
dataMessage.get('enhanced_speed') as double
..heartRate = (dataMessage.get('heart_rate') as double)?.round()
..cadence = dataMessage.get('cadence') as double
..fractionalCadence = dataMessage.get('fractional_cadence') as double
......
......@@ -43,13 +43,13 @@ class _AddHeartRateZoneSchemaScreenState
child: ListView(
padding: const EdgeInsets.only(left: 20, right: 20),
children: <Widget>[
Card(
margin: const EdgeInsets.all(40),
const Card(
margin: EdgeInsets.all(40),
child: ListTile(
leading: MyIcon.warning,
title:
const Text('Instructions to update your current base value'),
subtitle: const Text(
Text('Instructions to update your current base value'),
subtitle: Text(
'1) Change the VALID FROM date to today to copy the heart rate zone schema.\n'
'2) Edit the BASE VALUE to the new value.\n'
'3) Click SAVE to persist your changes.',
......
......@@ -42,13 +42,13 @@ class _AddPowerZoneSchemaScreenState extends State<AddPowerZoneSchemaScreen> {
child: ListView(
padding: const EdgeInsets.only(left: 20, right: 20),
children: <Widget>[
Card(
margin: const EdgeInsets.all(40),
const Card(
margin: EdgeInsets.all(40),
child: ListTile(
leading: MyIcon.warning,
title:
const Text('Instructions to update your current base value'),
subtitle: const Text(
Text('Instructions to update your current base value'),
subtitle: Text(
'1) Change the VALID FROM date to today to copy the power zone schema.\n'
'2) Edit the BASE VALUE to the new value.\n'
'3) Click SAVE to persist your changes.',
......
......@@ -40,10 +40,10 @@ class _OnboardingCreateUserScreenState
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
ListTile(
const ListTile(
leading: MyIcon.create,
title: const Text('Option 1: Demo Setup'),
subtitle: const Text(
title: Text('Option 1: Demo Setup'),
subtitle: Text(
'Choose this option to create a demo user with demo setup.'
'It will download and analyse 4 activities provided '
'by the Encrateia team. '
......@@ -77,11 +77,11 @@ class _OnboardingCreateUserScreenState
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
ListTile(
const ListTile(
leading: MyIcon.download,
title:
const Text('Option 2: Athlete with Strava Account'),
subtitle: const Text(
Text('Option 2: Athlete with Strava Account'),
subtitle: Text(
'Choose this option, if you want to download activities '
'from Strava'),
),
......@@ -116,10 +116,10 @@ class _OnboardingCreateUserScreenState
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
ListTile(
const ListTile(
leading: MyIcon.upload,
title: const Text('Option 3: Standalone Athlete'),
subtitle: const Text(
title: Text('Option 3: Standalone Athlete'),
subtitle: Text(
'Choose this option, if you want to upload all'
' .fit-files manually'),
),
......
......@@ -24,7 +24,7 @@ class BarChartPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
final TextStyle textStyle = TextStyle(
const TextStyle textStyle = TextStyle(
color: Colors.black,
fontSize: 12,
);
......
......@@ -6,113 +6,113 @@ import 'package:flutter/material.dart';
// ignore: avoid_classes_with_only_static_members
class MyIcon {
// A
static final Icon activities = Icon(Icons.view_list);
static final Icon amount = Icon(Icons.playlist_add);
static final Icon altitude = Icon(Icons.landscape);
static final Icon analyze = Icon(Icons.multiline_chart);
static final Icon ascent = Icon(Icons.trending_up);
static final Icon athlete = Icon(
static const Icon activities = Icon(Icons.view_list);
static const Icon amount = Icon(Icons.playlist_add);
static const Icon altitude = Icon(Icons.landscape);
static const Icon analyze = Icon(Icons.multiline_chart);
static const Icon ascent = Icon(Icons.trending_up);
static const Icon athlete = Icon(
Icons.face,
color: Colors.deepOrange,
);
static final Icon average = Icon(Icons.filter_tilt_shift);
static const Icon average = Icon(Icons.filter_tilt_shift);
// B
static final Icon barGraph = Icon(Icons.storage);
static final Icon brokenConnection = Icon(Icons.link_off);
static const Icon barGraph = Icon(Icons.storage);
static const Icon brokenConnection = Icon(Icons.link_off);
// C
static final Icon cadence = Icon(Icons.pets);
static final Icon calories = Icon(Icons.battery_charging_full);
static final Icon climb = ascent;
static final Icon create = Icon(Icons.star);
static final Icon cycling = Icon(Icons.directions_bike);
static final Icon cycles = Icon(Icons.repeat);
static const Icon cadence = Icon(Icons.pets);
static const Icon calories = Icon(Icons.battery_charging_full);
static const Icon climb = ascent;
static const Icon create = Icon(Icons.star);
static const Icon cycling = Icon(Icons.directions_bike);
static const Icon cycles = Icon(Icons.repeat);
// D
static final Icon delete = Icon(Icons.delete);
static final Icon distance = Icon(Icons.redo);
static final Icon download = Icon(Icons.cloud_download);
static final Icon downloadLocal = Icon(Icons.file_download);
static const Icon delete = Icon(Icons.delete);
static const Icon distance = Icon(Icons.redo);
static const Icon download = Icon(Icons.cloud_download);
static const Icon downloadLocal = Icon(Icons.file_download);
// E
static final Icon edit = Icon(Icons.edit);
static const Icon edit = Icon(Icons.edit);
static final Icon error = Icon(
Icons.error_outline,
color: MyColor.grapeFruit,
);
static final Icon event = Icon(Icons.event);
static const Icon event = Icon(Icons.event);
// F
static final Icon finished = Icon(Icons.check_box);
static const Icon finished = Icon(Icons.check_box);
static final Icon finishedWhite = Icon(
Icons.sentiment_very_satisfied,
color: MyColor.white,
);
static final Icon formPower = Icon(Icons.ev_station);
static final Icon ftp = Icon(Icons.multiline_chart);
static const Icon formPower = Icon(Icons.ev_station);
static const Icon ftp = Icon(Icons.multiline_chart);
// G
static final Icon groundTime = Icon(Icons.vertical_align_bottom);
static const Icon groundTime = Icon(Icons.vertical_align_bottom);
// H
static final Icon heartRate = Icon(Icons.spa);
static const Icon heartRate = Icon(Icons.spa);
static final Icon hello = Icon(
Icons.tag_faces,
color: MyColor.primary,
);
static final Icon help = Icon(Icons.help);
static const Icon help = Icon(Icons.help);
// I
static final Icon id = Icon(Icons.fingerprint);
static const Icon id = Icon(Icons.fingerprint);
static final Icon information = Icon(
Icons.info_outline,
color: MyColor.blueJeans,
);
static final Icon intensity = Icon(Icons.power);
static const Icon intensity = Icon(Icons.power);
// L
static final Icon laps = Icon(Icons.timer);
static final Icon legSpringStiffness = Icon(Icons.airline_seat_recline_extra);
static const Icon laps = Icon(Icons.timer);
static const Icon legSpringStiffness = Icon(Icons.airline_seat_recline_extra);
// M
static final Icon map = Icon(Icons.map);
static final Icon maximum = Icon(Icons.expand_less);
static final Icon metaData = Icon(Icons.list);
static final Icon minimum = Icon(Icons.expand_more);
static const Icon map = Icon(Icons.map);
static const Icon maximum = Icon(Icons.expand_less);
static const Icon metaData = Icon(Icons.list);
static const Icon minimum = Icon(Icons.expand_more);
// N
static final Icon number = amount;
static const Icon number = amount;
// O
static final Icon overView = Icon(Icons.landscape);
static const Icon overView = Icon(Icons.landscape);
// P
static final Icon parse = Icon(Icons.build);
static final Icon position = Icon(Icons.map);
static final Icon power = Icon(Icons.ev_station);
static final Icon powerDuration = Icon(Icons.multiline_chart);
static const Icon parse = Icon(Icons.build);
static const Icon position = Icon(Icons.map);
static const Icon power = Icon(Icons.ev_station);
static const Icon powerDuration = Icon(Icons.multiline_chart);
// R
static final Icon repeats = Icon(Icons.loop);
static final Icon running = Icon(Icons.directions_run);
static final Icon runningBig = Icon(Icons.directions_run, size: 50);
static const Icon repeats = Icon(Icons.loop);
static const Icon running = Icon(Icons.directions_run);
static const Icon runningBig = Icon(Icons.directions_run, size: 50);
// S
static final Icon secrets = Icon(Icons.vpn_key);
static final Icon settings = Icon(Icons.settings);
static final Icon show = Icon(Icons.remove_red_eye);
static final Icon speed = Icon(Icons.shutter_speed);
static final Icon sport = Icon(Icons.fitness_center);
static final Icon stanceTime = cadence;
static final Icon standardDeviation = Icon(Icons.unfold_more);
static final Icon stravaDownload = Icon(Icons.cloud_download);
static const Icon secrets = Icon(Icons.vpn_key);
static const Icon settings = Icon(Icons.settings);
static const Icon show = Icon(Icons.remove_red_eye);
static const Icon speed = Icon(Icons.shutter_speed);
static const Icon sport = Icon(Icons.fitness_center);
static const Icon stanceTime = cadence;
static const Icon standardDeviation = Icon(Icons.unfold_more);
static const Icon stravaDownload = Icon(Icons.cloud_download);
static final Icon stravaDownloadWhite = Icon(
Icons.cloud_download,
color: MyColor.white,
);
static final Icon strideRatio = Icon(Icons.signal_cellular_null);
static final Icon strides = Icon(Icons.directions_walk);
static const Icon strideRatio = Icon(Icons.signal_cellular_null);
static const Icon strides = Icon(Icons.directions_walk);
// T
static final Icon tag = Icon(Icons.label);
static final Icon temperature = Icon(Icons.ac_unit);
static final Icon time = Icon(Icons.timer);
static final Icon timeStamp = Icon(Icons.access_time);
static final Icon title = Icon(Icons.title);
static final Icon trainingEffect = Icon(Icons.fitness_center);
static const Icon tag = Icon(Icons.label);
static const Icon temperature = Icon(Icons.ac_unit);
static const Icon time = Icon(Icons.timer);
static const Icon timeStamp = Icon(Icons.access_time);
static const Icon title = Icon(Icons.title);
static const Icon trainingEffect = Icon(Icons.fitness_center);
//
static final Icon upload = Icon(Icons.file_upload);
static const Icon upload = Icon(Icons.file_upload);
// V
static final Icon verticalOscillation = Icon(Icons.unfold_more);
static const Icon verticalOscillation = Icon(Icons.unfold_more);
// W
static final Icon warning = Icon(Icons.warning);
static final Icon website = Icon(Icons.web);
static final Icon weight = Icon(Icons.restaurant_menu);
static final Icon work = Icon(Icons.landscape);
static const Icon warning = Icon(Icons.warning);
static const Icon website = Icon(Icons.web);
static const Icon weight = Icon(Icons.restaurant_menu);
static const Icon work = Icon(Icons.landscape);
}
......@@ -46,9 +46,8 @@ class _ActivitiesFeedWidgetState extends State<ActivitiesFeedWidget> {
@override
Widget build(BuildContext context) {
return ListView.separated(
separatorBuilder: (BuildContext context, int index) => Divider(
color: Colors.black,
),
separatorBuilder: (BuildContext context, int index) =>
const Divider(color: Colors.black),
padding: const EdgeInsets.only(top: 10),
itemCount: activities.length,
itemBuilder: (BuildContext context, int index) {
......
......@@ -86,10 +86,10 @@ class _AthleteSettingsWidgetState extends State<AthleteSettingsWidget> {
],
),
),
ListTile(
const ListTile(
leading: MyIcon.weight,
title: const Text('Last known weight'),
subtitle: const Text('no data available'))
title: Text('Last known weight'),
subtitle: Text('no data available'))
],
);
}
......@@ -139,11 +139,11 @@ class _AthleteSettingsWidgetState extends State<AthleteSettingsWidget> {
return ListTile(
leading: MyIcon.stravaDownload,
title: const Text('Strava ID / Username / Location'),
subtitle: Text(athlete.stravaId.toString() +
subtitle: Text(athlete.stravaId.toString() ?? '' +
' / ' +
athlete.stravaUsername +
athlete.stravaUsername ?? '' +
' / ' +
athlete.geoState));
athlete.geoState ?? ''));
else
return Container(width: 0, height: 0);
}
......
......@@ -28,10 +28,10 @@ class _EditStandaloneAthleteWidgetState
return ListView(
padding: const EdgeInsets.all(20),
children: <Widget>[
Card(
const Card(
child: ListTile(
leading: MyIcon.running,
title: const Text('Enter Your Name'),
title: Text('Enter Your Name'),
),
),
TextFormField(
......
......@@ -28,10 +28,10 @@ class _EditStravaAthleteWidgetState extends State<EditStravaAthleteWidget> {
return ListView(
padding: const EdgeInsets.all(20),
children: <Widget>[
Card(
const Card(
child: ListTile(
leading: MyIcon.website,
title: const Text(
title: Text(
'Credentials for .fit-Download from Strava Web Site'),
),
),
......
......@@ -62,7 +62,7 @@ class LapsListWidget extends StatelessWidget {
Text((lap.totalDistance / 1000).toStringAsFixed(2)),
),
DataCell(
Text((lap.totalAscent - lap.totalDescent)
Text((lap.totalAscent ?? 0 - (lap.totalDescent ?? 0))
.toString()),
),
],
......
......@@ -35,7 +35,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.4.1"
version: "2.4.2"
boolean_selector:
dependency: transitive
description:
......@@ -106,6 +106,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "7.1.0"
characters:
dependency: transitive
description:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
charcode:
dependency: transitive
description:
......@@ -134,6 +141,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.1"
code_builder:
dependency: transitive
description:
......@@ -147,7 +161,7 @@ packages:
name: collection
url: "https://pub.dartlang.org"
source: hosted
version: "1.14.12"
version: "1.14.13"
convert:
dependency: transitive
description:
......@@ -225,12 +239,19 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.0"
fit_parser:
dependency: "direct main"
fake_async:
dependency: transitive
description:
name: fit_parser
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
fit_parser:
dependency: "direct main"
description:
path: "../fit_parser"
relative: true
source: path
version: "0.1.8"
fixnum:
dependency: transitive
......@@ -393,7 +414,7 @@ packages:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.6"
version: "0.12.8"
meta:
dependency: transitive
description:
......@@ -408,13 +429,6 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.9.6+3"
multi_server_socket:
dependency: transitive
description:
name: multi_server_socket
url: "https://pub.dartlang.org"
source: hosted
version: "1.0.2"
node_interop:
dependency: transitive
description:
......@@ -463,7 +477,7 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.6.4"
version: "1.7.0"
path_provider:
dependency: "direct main"
description:
......@@ -664,7 +678,7 @@ packages:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
version: "1.9.3"
version: "1.9.5"
strava_flutter:
dependency: "direct main"
description:
......@@ -713,21 +727,21 @@ packages:
name: test
url: "https://pub.dartlang.org"
source: hosted
version: "1.14.3"
version: "1.15.2"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.2.15"
version: "0.2.17"
test_core:
dependency: transitive
description:
name: test_core
url: "https://pub.dartlang.org"
source: hosted
version: "0.3.4"
version: "0.3.10"
timing:
dependency: transitive
description:
......@@ -741,7 +755,7 @@ packages:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.6"
version: "1.2.0"
uni_links:
dependency: transitive
description:
......@@ -841,5 +855,5 @@ packages:
source: hosted
version: "2.2.1"
sdks:
dart: ">=2.7.2 <3.0.0"
dart: ">=2.9.0-14.0.dev <3.0.0"
flutter: ">=1.17.0 <2.0.0"
......@@ -16,7 +16,9 @@ dependencies:
datetime_picker_formfield: ^1.0.0
dio: ^3.0.7
dio_cookie_manager: ^1.0.0
fit_parser: ^0.1.8
# fit_parser: ^0.1.8
fit_parser:
path: '../fit_parser'
flushbar: 1.10.4
flutter_launcher_icons: ^0.7.2
flutter_markdown: ^0.4.1
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment