diff --git a/.gitignore b/.gitignore
index ac4a906..570b0d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,7 @@
**/doc/api/
.dart_tool/
.flutter-plugins
+.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 0000000..83d9b10
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,37 @@
+{
+ // Use IntelliSense to learn about possible attributes.
+ // Hover to view descriptions of existing attributes.
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "name": "Current Device",
+ "request": "launch",
+ "type": "dart"
+ },
+ {
+ "name": "info_tren (profile mode)",
+ "request": "launch",
+ "type": "dart",
+ "flutterMode": "profile"
+ },
+ {
+ "name": "Android Emulator",
+ "request": "launch",
+ "type": "dart",
+ "deviceId": "sdk gphone"
+ },
+ {
+ "name": "iPhone",
+ "request": "launch",
+ "type": "dart",
+ "deviceId": "iphone"
+ }
+ ],
+ "compounds": [
+ {
+ "name": "All Devices",
+ "configurations": ["Android Emulator", "iPhone"]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 42255c7..1b418e2 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -9,7 +9,6 @@
additional functionality it is fine to subclass or reimplement
FlutterApplication and put your custom class here. -->
+
+
+
-
+
diff --git a/android/app/src/main/kotlin/ml/dandevelop/info_tren/MainActivity.kt b/android/app/src/main/kotlin/ml/dandevelop/info_tren/MainActivity.kt
index 2bf726d..5939f33 100644
--- a/android/app/src/main/kotlin/ml/dandevelop/info_tren/MainActivity.kt
+++ b/android/app/src/main/kotlin/ml/dandevelop/info_tren/MainActivity.kt
@@ -1,13 +1,6 @@
package ml.dandevelop.info_tren
-import android.os.Bundle
-
-import io.flutter.app.FlutterActivity
-import io.flutter.plugins.GeneratedPluginRegistrant
+import io.flutter.embedding.android.FlutterActivity
class MainActivity: FlutterActivity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- GeneratedPluginRegistrant.registerWith(this)
- }
}
diff --git a/ios/Flutter/Flutter.podspec b/ios/Flutter/Flutter.podspec
new file mode 100644
index 0000000..2c4421c
--- /dev/null
+++ b/ios/Flutter/Flutter.podspec
@@ -0,0 +1,18 @@
+#
+# NOTE: This podspec is NOT to be published. It is only used as a local source!
+# This is a generated file; do not edit or check into version control.
+#
+
+Pod::Spec.new do |s|
+ s.name = 'Flutter'
+ s.version = '1.0.0'
+ s.summary = 'High-performance, high-fidelity mobile apps.'
+ s.homepage = 'https://flutter.io'
+ s.license = { :type => 'MIT' }
+ s.author = { 'Flutter Dev Team' => 'flutter-dev@googlegroups.com' }
+ s.source = { :git => 'https://github.com/flutter/engine', :tag => s.version.to_s }
+ s.ios.deployment_target = '8.0'
+ # Framework linking is handled by Flutter tooling, not CocoaPods.
+ # Add a placeholder to satisfy `s.dependency 'Flutter'` plugin podspecs.
+ s.vendored_frameworks = 'path/to/nothing'
+end
diff --git a/ios/Flutter/flutter_export_environment.sh b/ios/Flutter/flutter_export_environment.sh
new file mode 100755
index 0000000..eafe31c
--- /dev/null
+++ b/ios/Flutter/flutter_export_environment.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+# This is a generated file; do not edit or check into version control.
+export "FLUTTER_ROOT=/usr/local/Caskroom/flutter/2.2.3/flutter"
+export "FLUTTER_APPLICATION_PATH=/Users/dan.cojocaru/info_tren"
+export "COCOAPODS_PARALLEL_CODE_SIGN=true"
+export "FLUTTER_TARGET=/Users/dan.cojocaru/info_tren/lib/main.dart"
+export "FLUTTER_BUILD_DIR=build"
+export "SYMROOT=${SOURCE_ROOT}/../build/ios"
+export "FLUTTER_BUILD_NAME=2.0.6"
+export "FLUTTER_BUILD_NUMBER=2.0.6"
+export "DART_DEFINES=Zmx1dHRlci5pbnNwZWN0b3Iuc3RydWN0dXJlZEVycm9ycz10cnVl,RkxVVFRFUl9XRUJfQVVUT19ERVRFQ1Q9dHJ1ZQ=="
+export "DART_OBFUSCATION=false"
+export "TRACK_WIDGET_CREATION=true"
+export "TREE_SHAKE_ICONS=false"
+export "PACKAGE_CONFIG=/Users/dan.cojocaru/info_tren/.dart_tool/package_config.json"
diff --git a/ios/Podfile b/ios/Podfile
index e9286cb..1e8c3c9 100644
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -10,65 +10,32 @@ project 'Runner', {
'Release' => :release,
}
-def parse_KV_file(file, separator='=')
- file_abs_path = File.expand_path(file)
- if !File.exists? file_abs_path
- return [];
+def flutter_root
+ generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
+ unless File.exist?(generated_xcode_build_settings_path)
+ raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
- pods_ary = []
- skip_line_start_symbols = ["#", "/"]
- File.foreach(file_abs_path) { |line|
- next if skip_line_start_symbols.any? { |symbol| line =~ /^\s*#{symbol}/ }
- plugin = line.split(pattern=separator)
- if plugin.length == 2
- podname = plugin[0].strip()
- path = plugin[1].strip()
- podpath = File.expand_path("#{path}", file_abs_path)
- pods_ary.push({:name => podname, :path => podpath});
- else
- puts "Invalid plugin specification: #{line}"
- end
- }
- return pods_ary
+
+ File.foreach(generated_xcode_build_settings_path) do |line|
+ matches = line.match(/FLUTTER_ROOT\=(.*)/)
+ return matches[1].strip if matches
+ end
+ raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
+require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
+
+flutter_ios_podfile_setup
+
target 'Runner' do
use_frameworks!
+ use_modular_headers!
- # Prepare symlinks folder. We use symlinks to avoid having Podfile.lock
- # referring to absolute paths on developers' machines.
- system('rm -rf .symlinks')
- system('mkdir -p .symlinks/plugins')
-
- # Flutter Pods
- generated_xcode_build_settings = parse_KV_file('./Flutter/Generated.xcconfig')
- if generated_xcode_build_settings.empty?
- puts "Generated.xcconfig must exist. If you're running pod install manually, make sure flutter pub get is executed first."
- end
- generated_xcode_build_settings.map { |p|
- if p[:name] == 'FLUTTER_FRAMEWORK_DIR'
- symlink = File.join('.symlinks', 'flutter')
- File.symlink(File.dirname(p[:path]), symlink)
- pod 'Flutter', :path => File.join(symlink, File.basename(p[:path]))
- end
- }
-
- # Plugin Pods
- plugin_pods = parse_KV_file('../.flutter-plugins')
- plugin_pods.map { |p|
- symlink = File.join('.symlinks', 'plugins', p[:name])
- File.symlink(p[:path], symlink)
- pod p[:name], :path => File.join(symlink, 'ios')
- }
+ flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end
-# Prevent Cocoapods from embedding a second Flutter framework and causing an error with the new Xcode build system.
-install! 'cocoapods', :disable_input_output_paths => true
-
post_install do |installer|
installer.pods_project.targets.each do |target|
- target.build_configurations.each do |config|
- config.build_settings['ENABLE_BITCODE'] = 'NO'
- end
+ flutter_additional_ios_build_settings(target)
end
end
diff --git a/ios/Podfile.lock b/ios/Podfile.lock
index ea9f7c6..5a029b1 100644
--- a/ios/Podfile.lock
+++ b/ios/Podfile.lock
@@ -4,19 +4,19 @@ PODS:
- Flutter
DEPENDENCIES:
- - Flutter (from `.symlinks/flutter/ios-release`)
+ - Flutter (from `Flutter`)
- webview_flutter (from `.symlinks/plugins/webview_flutter/ios`)
EXTERNAL SOURCES:
Flutter:
- :path: ".symlinks/flutter/ios-release"
+ :path: Flutter
webview_flutter:
:path: ".symlinks/plugins/webview_flutter/ios"
SPEC CHECKSUMS:
- Flutter: 58dd7d1b27887414a370fcccb9e645c08ffd7a6a
+ Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c
webview_flutter: 1aa7604e6cdb451a9b7ed2c37d5454c0b440246b
-PODFILE CHECKSUM: b6a0a141693093b304368d08511b46cf3d1d0ac5
+PODFILE CHECKSUM: aafe91acc616949ddb318b77800a7f51bffa2a4c
-COCOAPODS: 1.6.1
+COCOAPODS: 1.10.1
diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj
index 08687f1..7fbc945 100644
--- a/ios/Runner.xcodeproj/project.pbxproj
+++ b/ios/Runner.xcodeproj/project.pbxproj
@@ -9,12 +9,8 @@
/* Begin PBXBuildFile section */
1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
- 3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
- 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
722F441253D3B79676E4DE80 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F72320B12B1F4015789BBC8E /* Pods_Runner.framework */; };
74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
- 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
- 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
9740EEB41CF90195004384FC /* Debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 9740EEB21CF90195004384FC /* Debug.xcconfig */; };
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
@@ -28,8 +24,6 @@
dstPath = "";
dstSubfolderSpec = 10;
files = (
- 3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
- 9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
@@ -41,7 +35,6 @@
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
313F1E773DA06364A0C4F20A /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; };
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
- 3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; };
636963D381657D3BAEDC0A47 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; };
74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
@@ -49,7 +42,6 @@
7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
- 9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; };
97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
@@ -63,8 +55,6 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
- 3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
722F441253D3B79676E4DE80 /* Pods_Runner.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -83,9 +73,7 @@
9740EEB11CF90186004384FC /* Flutter */ = {
isa = PBXGroup;
children = (
- 3B80C3931E831B6300D905FE /* App.framework */,
3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
- 9740EEBA1CF902C7004384FC /* Flutter.framework */,
9740EEB21CF90195004384FC /* Debug.xcconfig */,
7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
9740EEB31CF90195004384FC /* Generated.xcconfig */,
@@ -248,14 +236,13 @@
buildActionMask = 2147483647;
files = (
);
- inputFileListPaths = (
- );
inputPaths = (
+ "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-frameworks.sh",
+ "${BUILT_PRODUCTS_DIR}/webview_flutter/webview_flutter.framework",
);
name = "[CP] Embed Pods Frameworks";
- outputFileListPaths = (
- );
outputPaths = (
+ "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/webview_flutter.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
@@ -274,7 +261,7 @@
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
- shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
+ shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
};
9740EEB61CF901F6004384FC /* Run Script */ = {
isa = PBXShellScriptBuildPhase;
@@ -326,7 +313,6 @@
/* Begin XCBuildConfiguration section */
249021D3217E4FDB00AE95B9 /* Profile */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@@ -406,7 +392,6 @@
};
97C147031CF9000F007C117D /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
@@ -462,7 +447,6 @@
};
97C147041CF9000F007C117D /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
diff --git a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
index 1d526a1..919434a 100644
--- a/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:">
diff --git a/lib/main.dart b/lib/main.dart
index f6ad378..9bfcabe 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -102,7 +102,7 @@ class MainPageMaterial extends StatelessWidget with MainPageAction {
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
- RaisedButton(
+ ElevatedButton(
child: Text(
"Informații despre tren",
style: Theme.of(context).textTheme.button.copyWith(fontSize: 18),
@@ -111,23 +111,27 @@ class MainPageMaterial extends StatelessWidget with MainPageAction {
onTrainInfoPageInvoke(context);
},
),
- RaisedButton(
+ ElevatedButton(
child: Text(
"Tabelă plecari/sosiri",
style: Theme.of(context).textTheme.button.copyWith(fontSize: 18),
),
- onPressed: () {
- onStationBoardPageInvoke(context);
- },
+ // TODO: Implement departure/arrival
+ onPressed: null,
+ // onPressed: () {
+ // onStationBoardPageInvoke(context);
+ // },
),
- RaisedButton(
+ ElevatedButton(
child: Text(
"Planificare rută",
style: Theme.of(context).textTheme.button.copyWith(fontSize: 18),
),
- onPressed: () {
- onRoutePlanPageInvoke(context);
- },
+ // TODO: Implement route planning
+ onPressed: null,
+ // onPressed: () {
+ // onRoutePlanPageInvoke(context);
+ // },
)
].map((w) => Padding(
padding: const EdgeInsets.fromLTRB(4, 2, 4, 2),
@@ -163,15 +167,19 @@ class MainPageCupertino extends StatelessWidget with MainPageAction {
),
CupertinoButton.filled(
child: Text("Tabelă plecari/sosiri"),
- onPressed: () {
- onStationBoardPageInvoke(context);
- },
+ // TODO: Implement departure/arrival
+ onPressed: null,
+ // onPressed: () {
+ // onStationBoardPageInvoke(context);
+ // },
),
CupertinoButton.filled(
child: Text("Planificare rută"),
- onPressed: () {
- onRoutePlanPageInvoke(context);
- },
+ // TODO: Implement route planning
+ onPressed: null,
+ // onPressed: () {
+ // onRoutePlanPageInvoke(context);
+ // },
),
].map((w) => Padding(
padding: const EdgeInsets.fromLTRB(4, 2, 4, 2),
diff --git a/lib/models/train_data.dart b/lib/models/train_data.dart
index 9ba6839..8bc9ac9 100644
--- a/lib/models/train_data.dart
+++ b/lib/models/train_data.dart
@@ -1,6 +1,5 @@
import 'dart:async';
import 'dart:convert';
-import 'dart:io' show Platform;
import 'package:flutter/widgets.dart';
import 'package:info_tren/hidden_webview.dart';
@@ -479,7 +478,7 @@ class OnDemandNextStop extends OnDemand {
class OnDemandStations extends OnDemand {
final WebViewController _controller;
- List issuedOnDemands = List();
+ List issuedOnDemands = [];
@override
void invalidate() {
@@ -744,7 +743,7 @@ class TrainDataWebViewAdapter extends StatefulWidget {
}
static _TrainDataWebViewAdapterState of(BuildContext context) =>
- (context.inheritFromWidgetOfExactType(_TrainDataWebViewAdapterInheritedWidget) as _TrainDataWebViewAdapterInheritedWidget)
+ (context.findAncestorWidgetOfExactType<_TrainDataWebViewAdapterInheritedWidget>())
.state;
}
@@ -841,7 +840,7 @@ class _TrainDataWebViewAdapterState extends State {
return TrainLookupResult.OTHER;
}
- List currentDatas = List();
+ List currentDatas = [];
Future trainData({Function onInvalidation}) async {
final controller = await webViewController;
diff --git a/lib/stations_list.dart b/lib/stations_list.dart
index a02034e..a69964d 100644
--- a/lib/stations_list.dart
+++ b/lib/stations_list.dart
@@ -168,14 +168,14 @@ class StopOnLineDetails extends StatelessWidget {
padding: const EdgeInsets.fromLTRB(8.0, 8.0, 8.0, 1.0),
child: Text(
station.name,
- style: Theme.of(context).textTheme.headline,
+ style: Theme.of(context).textTheme.headline5,
textAlign: TextAlign.center,
),
),
if (station.observations == "ONI")
Padding(
padding: const EdgeInsets.fromLTRB(8.0, 0.0, 8.0, 0.5),
- child: Text("oprire ne-itinerarică", style: Theme.of(context).textTheme.body1.copyWith(color: Colors.red.shade700),),
+ child: Text("oprire ne-itinerarică", style: Theme.of(context).textTheme.bodyText2.copyWith(color: Colors.red.shade700),),
),
Padding(
padding: const EdgeInsets.fromLTRB(8.0, 0.5, 8.0, 8.0),
@@ -293,14 +293,14 @@ class StopOnLineDelayDetails extends StatelessWidget {
else if (station.delay < 0) {
return Text(
"${-(station.delay)} minute mai devreme",
- style: Theme.of(context).textTheme.body1.copyWith(color: Colors.green.shade700),
+ style: Theme.of(context).textTheme.bodyText2.copyWith(color: Colors.green.shade700),
textAlign: TextAlign.center,
);
}
else {
return Text(
"${station.delay} minute întârziere",
- style: Theme.of(context).textTheme.body1.copyWith(color: Colors.red.shade700),
+ style: Theme.of(context).textTheme.bodyText2.copyWith(color: Colors.red.shade700),
textAlign: TextAlign.center,
);
}
diff --git a/lib/train_info_display.dart b/lib/train_info_display.dart
index fa2c41d..6f298dc 100644
--- a/lib/train_info_display.dart
+++ b/lib/train_info_display.dart
@@ -82,7 +82,7 @@ class TrainName extends StatelessWidget {
Widget build(BuildContext context) {
return Text(
"${trainData.rang} ${trainData.trainNumber}",
- style: Theme.of(context).textTheme.display2,
+ style: Theme.of(context).textTheme.headline3,
);
}
}
@@ -99,19 +99,19 @@ class TrainRoute extends StatelessWidget {
Expanded(
child: Text(
"${trainData.route.split("-")[0]}",
- style: Theme.of(context).textTheme.body2.copyWith(fontStyle: FontStyle.italic),
+ style: Theme.of(context).textTheme.bodyText1.copyWith(fontStyle: FontStyle.italic),
textAlign: TextAlign.left,
),
),
Text(
"-",
- style: Theme.of(context).textTheme.body2.copyWith(fontStyle: FontStyle.italic),
+ style: Theme.of(context).textTheme.bodyText1.copyWith(fontStyle: FontStyle.italic),
textAlign: TextAlign.center,
),
Expanded(
child: Text(
"${trainData.route.split("-")[1]}",
- style: Theme.of(context).textTheme.body2.copyWith(fontStyle: FontStyle.italic),
+ style: Theme.of(context).textTheme.bodyText1.copyWith(fontStyle: FontStyle.italic),
textAlign: TextAlign.right,
),
),
@@ -128,7 +128,7 @@ class TrainOperator extends StatelessWidget {
Widget build(BuildContext context) {
return Text(
"Operat de ${trainData.operator}",
- style: Theme.of(context).textTheme.body1,
+ style: Theme.of(context).textTheme.bodyText2,
textAlign: TextAlign.center,
);
}
@@ -143,7 +143,7 @@ class TrainStatus extends StatelessWidget {
return Text(
trainData.state,
textAlign: TextAlign.center,
- style: Theme.of(context).textTheme.headline,
+ style: Theme.of(context).textTheme.headline5,
);
}
}
@@ -182,7 +182,7 @@ class LastUpdate extends StatelessWidget {
children: [
Padding(
padding: const EdgeInsets.all(2.0),
- child: Text("Ultima informație", style: Theme.of(context).textTheme.headline,),
+ child: Text("Ultima informație", style: Theme.of(context).textTheme.headline5,),
),
Row(
children: [
@@ -202,8 +202,8 @@ class LastUpdate extends StatelessWidget {
child: trainData.lastInfo.delay == 0
? Text("Fără întârziere", style: Theme.of(context).textTheme.caption,)
: trainData.lastInfo.delay > 0
- ? Text("${trainData.lastInfo.delay} minute întârziere", style: Theme.of(context).textTheme.body1.copyWith(color: Colors.red.shade700),)
- : Text("${-(trainData.lastInfo.delay)} minute mai devreme", style: Theme.of(context).textTheme.body1.copyWith(color: Colors.green.shade700),)
+ ? Text("${trainData.lastInfo.delay} minute întârziere", style: Theme.of(context).textTheme.bodyText2.copyWith(color: Colors.red.shade700),)
+ : Text("${-(trainData.lastInfo.delay)} minute mai devreme", style: Theme.of(context).textTheme.bodyText2.copyWith(color: Colors.green.shade700),)
),
Padding(
padding: const EdgeInsets.all(2.0),
@@ -225,7 +225,7 @@ class NextStop extends StatelessWidget {
children: [
Padding(
padding: const EdgeInsets.all(2.0),
- child: Text("Următoarea oprire", style: Theme.of(context).textTheme.headline,),
+ child: Text("Următoarea oprire", style: Theme.of(context).textTheme.headline5,),
),
Row(
children: [
diff --git a/lib/train_info_page/train_info_material.dart b/lib/train_info_page/train_info_material.dart
index 6c414fe..3f8e39d 100644
--- a/lib/train_info_page/train_info_material.dart
+++ b/lib/train_info_page/train_info_material.dart
@@ -104,7 +104,7 @@ class _TrainInfoMaterialBeforeState extends State<_TrainInfoMaterialBefore> {
CircularProgressIndicator(),
Text(
"Conectare...",
- style: Theme.of(context).textTheme.title,
+ style: Theme.of(context).textTheme.headline6,
),
],
),
@@ -172,7 +172,7 @@ class _TrainInfoMaterialBeforeState extends State<_TrainInfoMaterialBefore> {
: widget.lookupResult == TrainLookupResult.NOT_FOUND
? "Trenul nu a fost găsit"
: "A apărut o eroare în căutarea trenului",
- style: Theme.of(context).textTheme.title,
+ style: Theme.of(context).textTheme.headline6,
),
),
Expanded(child: Container(),),
@@ -352,9 +352,9 @@ class DisplayTrainID extends StatelessWidget {
return Text(
"${list[0]} ${list[1]}",
style: (isSmallScreen(context)
- ? Theme.of(context).textTheme.display1
- : Theme.of(context).textTheme.display2).copyWith(
- color: Theme.of(context).textTheme.body1.color,
+ ? Theme.of(context).textTheme.headline4
+ : Theme.of(context).textTheme.headline3).copyWith(
+ color: Theme.of(context).textTheme.bodyText2.color,
fontWeight: FontWeight.bold,
),
textAlign: TextAlign.center,
@@ -376,7 +376,7 @@ class DisplayTrainOperator extends StatelessWidget {
builder: (context, op) {
return Text(
op,
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontStyle: FontStyle.italic,
fontSize: isSmallScreen(context) ? 12 : 14,
),
@@ -404,7 +404,7 @@ class DisplayTrainRoute extends StatelessWidget {
padding: const EdgeInsets.all(4),
child: Text(
routePieces[0],
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: 16,
),
),
@@ -418,7 +418,7 @@ class DisplayTrainRoute extends StatelessWidget {
padding: const EdgeInsets.all(4),
child: Text(
routePieces[1],
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: 16,
),
textAlign: TextAlign.right,
@@ -446,7 +446,7 @@ class DisplayTrainDeparture extends StatelessWidget {
builder: (context, dataPlecare) {
return Text(
"Plecare în ${dataPlecare.day.toString().padLeft(2, '0')}.${dataPlecare.month.toString().padLeft(2, '0')}.${dataPlecare.year.toString().padLeft(4, '0')}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontStyle: FontStyle.italic,
fontWeight: FontWeight.w200,
fontSize: isSmallScreen(context) ? 12 : 14,
@@ -477,7 +477,7 @@ class DisplayTrainLastInfo extends StatelessWidget {
padding: const EdgeInsets.all(2),
child: Text(
"Ultima informație",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 18 : 20,
fontWeight: FontWeight.bold,
),
@@ -493,7 +493,7 @@ class DisplayTrainLastInfo extends StatelessWidget {
builder: (context, station) {
return Text(
station,
- style: Theme.of(context).textTheme.body1,
+ style: Theme.of(context).textTheme.bodyText2,
textAlign: TextAlign.left,
);
},
@@ -507,7 +507,7 @@ class DisplayTrainLastInfo extends StatelessWidget {
builder: (context, event) {
return Text(
event,
- style: Theme.of(context).textTheme.body1,
+ style: Theme.of(context).textTheme.bodyText2,
textAlign: TextAlign.right,
);
},
@@ -540,7 +540,7 @@ class DisplayTrainLastInfo extends StatelessWidget {
if (snapshot.data > 0) {
return Text(
"${snapshot.data} minute întârziere",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: 14,
color: Color.fromRGBO(200, 30, 15, 1),
),
@@ -549,7 +549,7 @@ class DisplayTrainLastInfo extends StatelessWidget {
else {
return Text(
"${-snapshot.data} minute mai devreme",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: 12,
color: Color.fromRGBO(15, 200, 15, 1),
),
@@ -590,7 +590,7 @@ class DisplayTrainNextStop extends StatelessWidget {
padding: const EdgeInsets.all(4),
child: Text(
"Următoarea oprire",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 18 : 20,
fontWeight: FontWeight.bold,
),
@@ -604,7 +604,7 @@ class DisplayTrainNextStop extends StatelessWidget {
padding: const EdgeInsets.fromLTRB(4, 0, 4, 0),
child: Text(
station,
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 16 : 18,
fontWeight: FontWeight.w500,
),
@@ -623,14 +623,14 @@ class DisplayTrainNextStop extends StatelessWidget {
children: [
Text(
"în ${arrival.day} ${months[arrival.month - 1]} ${arrival.year}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 12 : 14,
),
textAlign: TextAlign.center,
),
Text(
"la ${arrival.hour.toString().padLeft(2, '0')}:${arrival.minute.toString().padLeft(2, '0')}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 12 : 14,
),
textAlign: TextAlign.center,
@@ -672,7 +672,7 @@ class DisplayTrainDestination extends StatelessWidget {
padding: const EdgeInsets.all(4),
child: Text(
"Destinația",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 18 : 20,
fontWeight: FontWeight.bold,
),
@@ -686,7 +686,7 @@ class DisplayTrainDestination extends StatelessWidget {
padding: const EdgeInsets.fromLTRB(4, 0, 4, 0),
child: Text(
station,
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 16 : 18,
fontWeight: FontWeight.w500,
),
@@ -705,14 +705,14 @@ class DisplayTrainDestination extends StatelessWidget {
children: [
Text(
"în ${arrival.day} ${months[arrival.month - 1]} ${arrival.year}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 12 : 14,
),
textAlign: TextAlign.center,
),
Text(
"la ${arrival.hour.toString().padLeft(2, '0')}:${arrival.minute.toString().padLeft(2, '0')}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 12 : 14,
),
textAlign: TextAlign.center,
@@ -747,7 +747,7 @@ class DisplayTrainRouteDistance extends StatelessWidget {
children: [
Text(
"Distanța rutei",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 16 : 18,
fontWeight: FontWeight.bold,
),
@@ -758,7 +758,7 @@ class DisplayTrainRouteDistance extends StatelessWidget {
builder: (context, distance) {
return Text(
"$distance km",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 14 : 16,
),
textAlign: TextAlign.center,
@@ -789,7 +789,7 @@ class DisplayTrainRouteDuration extends StatelessWidget {
children: [
Text(
"Durata rutei",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 16 : 18,
fontWeight: FontWeight.bold,
),
@@ -831,7 +831,7 @@ class DisplayTrainRouteDuration extends StatelessWidget {
return Text(
durationString.toString(),
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 14 : 16,
),
textAlign: TextAlign.center,
@@ -925,8 +925,8 @@ class SlimAppBar extends StatelessWidget {
title,
textAlign: TextAlign.center,
style:
- Theme.of(context).appBarTheme.textTheme?.caption?.copyWith(color: Theme.of(context).appBarTheme.textTheme?.body1?.color) ??
- Theme.of(context).textTheme.caption.copyWith(color: Theme.of(context).textTheme.body1.color),
+ Theme.of(context).appBarTheme.textTheme?.caption?.copyWith(color: Theme.of(context).appBarTheme.textTheme?.bodyText2?.color) ??
+ Theme.of(context).textTheme.caption.copyWith(color: Theme.of(context).textTheme.bodyText2.color),
),
),
),
diff --git a/lib/train_info_page/train_info_material_DisplayTrainStation.dart b/lib/train_info_page/train_info_material_DisplayTrainStation.dart
index 2f95e07..31bff16 100644
--- a/lib/train_info_page/train_info_material_DisplayTrainStation.dart
+++ b/lib/train_info_page/train_info_material_DisplayTrainStation.dart
@@ -113,7 +113,7 @@ class KmBadge extends StatelessWidget {
builder: (context, value) {
return Text(
value.toString(),
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 14 : 18,
fontWeight: MediaQuery.of(context).boldText ? FontWeight.w400 : FontWeight.w200,
color: MediaQuery.of(context).boldText ? Colors.white70 : foregroundColor,
@@ -126,7 +126,7 @@ class KmBadge extends StatelessWidget {
),
Text(
"km",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: 10,
color: MediaQuery.of(context).boldText ? Colors.white70 : foregroundColor,
),
@@ -155,7 +155,7 @@ class Title extends StatelessWidget {
builder: (context, items) {
return Text(
items[0],
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 18 : 22,
fontWeight: MediaQuery.of(context).boldText ? FontWeight.w400 : FontWeight.w200,
fontStyle: items[1] == "ONI" ? FontStyle.italic : FontStyle.normal,
@@ -204,7 +204,7 @@ class Time extends StatelessWidget {
children: [
Text(
"→",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 18 : 22,
),
),
@@ -217,7 +217,7 @@ class Time extends StatelessWidget {
Container(width: 2,),
Text(
"→",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 18 : 22,
),
),
@@ -251,7 +251,7 @@ class ArrivalTime extends StatelessWidget {
children: [
Text(
"→",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: isSmallScreen(context) ? 18 : 22,
),
),
@@ -278,13 +278,13 @@ class ArrivalTime extends StatelessWidget {
children: [
Text(
"${oldDate.hour.toString().padLeft(2, '0')}:${oldDate.minute.toString().padLeft(2, '0')}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
decoration: TextDecoration.lineThrough,
),
),
Text(
"${data[0]}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
color: Colors.red.shade300,
),
),
@@ -303,13 +303,13 @@ class ArrivalTime extends StatelessWidget {
children: [
Text(
"${oldDate.hour.toString().padLeft(2, '0')}:${oldDate.minute.toString().padLeft(2, '0')}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
decoration: TextDecoration.lineThrough,
),
),
Text(
"${data[0]}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
color: Colors.green.shade300,
),
),
@@ -398,7 +398,7 @@ class DepartureTime extends StatelessWidget {
Container(width: 2,),
Text(
"→",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
fontSize: 22,
),
),
@@ -421,13 +421,13 @@ class DepartureTime extends StatelessWidget {
children: [
Text(
"${oldDate.hour.toString().padLeft(2, '0')}:${oldDate.minute.toString().padLeft(2, '0')}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
decoration: TextDecoration.lineThrough,
),
),
Text(
"${data[0]}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
color: Colors.red.shade300,
),
),
@@ -446,13 +446,13 @@ class DepartureTime extends StatelessWidget {
children: [
Text(
"${oldDate.hour.toString().padLeft(2, '0')}:${oldDate.minute.toString().padLeft(2, '0')}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
decoration: TextDecoration.lineThrough,
),
),
Text(
"${data[0]}",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
color: Colors.green.shade300,
),
),
@@ -483,7 +483,7 @@ class Delay extends StatelessWidget {
else if (delay > 0) {
return Text(
"$delay minute întârziere",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
color: Colors.red.shade300,
fontSize: 12,
fontStyle: FontStyle.italic,
@@ -494,7 +494,7 @@ class Delay extends StatelessWidget {
else if (delay < 0) {
return Text(
"${-delay} minute mai devreme",
- style: Theme.of(context).textTheme.body1.copyWith(
+ style: Theme.of(context).textTheme.bodyText2.copyWith(
color: Colors.green.shade300,
fontSize: 12,
fontStyle: FontStyle.italic,
diff --git a/lib/train_info_page/train_info_prompt.dart b/lib/train_info_page/train_info_prompt.dart
index 5bea6db..32dcca4 100644
--- a/lib/train_info_page/train_info_prompt.dart
+++ b/lib/train_info_page/train_info_prompt.dart
@@ -21,10 +21,10 @@ mixin TrainInfoPromptCommon {
}
mixin TrainInfoPromptListHandling {
- List operators = List();
+ List operators = [];
Future loadOperators(BuildContext context) async {
- operators = List();
+ operators = [];
final operatorsString = await DefaultAssetBundle.of(context).loadString("assets/lines/files.txt");
final operatorsFilesList = operatorsString.split("\n");
@@ -265,7 +265,7 @@ class _TrainInfoPromptMaterialState extends State with
labelText: "Numărul trenului",
),
inputFormatters: [
- WhitelistingTextInputFormatter.digitsOnly,
+ FilteringTextInputFormatter.digitsOnly,
],
textInputAction: TextInputAction.search,
keyboardType: TextInputType.number,
@@ -326,7 +326,7 @@ class _TrainInfoPromptCupertinoState extends State wit
setState(() {});
},
inputFormatters: [
- WhitelistingTextInputFormatter.digitsOnly,
+ FilteringTextInputFormatter.digitsOnly,
],
),
),
diff --git a/lib/utils/stream_list.dart b/lib/utils/stream_list.dart
index 355f99e..9166e3f 100644
--- a/lib/utils/stream_list.dart
+++ b/lib/utils/stream_list.dart
@@ -1,7 +1,7 @@
import 'dart:async';
Stream> listifyStream(Stream stream) async* {
- List list = List();
+ List list = [];
await for (T item in stream) {
list.add(item);
diff --git a/pubspec.lock b/pubspec.lock
index b5a0e43..bd5cd45 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -21,14 +21,14 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
- version: "2.2.0"
+ version: "2.6.1"
boolean_selector:
dependency: transitive
description:
name: boolean_selector
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.4"
+ version: "2.1.0"
build:
dependency: transitive
description:
@@ -85,13 +85,27 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "6.7.0"
+ characters:
+ dependency: transitive
+ description:
+ name: characters
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.1.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.2"
+ version: "1.2.0"
+ clock:
+ dependency: transitive
+ description:
+ name: clock
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.1.0"
code_builder:
dependency: transitive
description:
@@ -105,7 +119,7 @@ packages:
name: collection
url: "https://pub.dartlang.org"
source: hosted
- version: "1.14.11"
+ version: "1.15.0"
convert:
dependency: transitive
description:
@@ -141,6 +155,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.9"
+ fake_async:
+ dependency: transitive
+ description:
+ name: fake_async
+ url: "https://pub.dartlang.org"
+ source: hosted
+ version: "1.2.0"
fixnum:
dependency: transitive
description:
@@ -255,14 +276,14 @@ packages:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
- version: "0.12.5"
+ version: "0.12.10"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.6"
+ version: "1.3.0"
mime:
dependency: transitive
description:
@@ -290,7 +311,7 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
- version: "1.6.2"
+ version: "1.8.0"
pedantic:
dependency: transitive
description:
@@ -365,21 +386,21 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
- version: "1.5.5"
+ version: "1.8.1"
stack_trace:
dependency: transitive
description:
name: stack_trace
url: "https://pub.dartlang.org"
source: hosted
- version: "1.9.3"
+ version: "1.10.0"
stream_channel:
dependency: transitive
description:
name: stream_channel
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.0"
+ version: "2.1.0"
stream_transform:
dependency: transitive
description:
@@ -393,21 +414,21 @@ packages:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
- version: "1.0.4"
+ version: "1.1.0"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.0"
+ version: "1.2.0"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
- version: "0.2.5"
+ version: "0.3.0"
timing:
dependency: transitive
description:
@@ -428,14 +449,14 @@ packages:
name: typed_data
url: "https://pub.dartlang.org"
source: hosted
- version: "1.1.6"
+ version: "1.3.0"
vector_math:
dependency: transitive
description:
name: vector_math
url: "https://pub.dartlang.org"
source: hosted
- version: "2.0.8"
+ version: "2.1.0"
watcher:
dependency: transitive
description:
@@ -465,5 +486,5 @@ packages:
source: hosted
version: "2.1.16"
sdks:
- dart: ">=2.3.0 <3.0.0"
- flutter: ">=1.5.0 <2.0.0"
+ dart: ">=2.12.0 <3.0.0"
+ flutter: ">=1.5.0"