Skip to content
Snippets Groups Projects
Commit 077ebbc6 authored by Benoît Harrault's avatar Benoît Harrault
Browse files

Update framework and dependencies, clean some code

parent fe0d6ed3
No related branches found
No related tags found
1 merge request!22Resolve "Upgrade flutter framework and dependencies"
Pipeline #3459 passed
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
app.versionName=0.0.16 app.versionName=0.0.17
app.versionCode=16 app.versionCode=17
Upgrade Flutter framework and dependencies, clean some code
Mise à jour du framework Flutter et de ses dépendances, nettoyage de code
...@@ -7,7 +7,8 @@ FLUTTER_BUILD_DIR=build ...@@ -7,7 +7,8 @@ FLUTTER_BUILD_DIR=build
FLUTTER_BUILD_NAME=1.0.0 FLUTTER_BUILD_NAME=1.0.0
FLUTTER_BUILD_NUMBER=1 FLUTTER_BUILD_NUMBER=1
EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386 EXCLUDED_ARCHS[sdk=iphonesimulator*]=i386
EXCLUDED_ARCHS[sdk=iphoneos*]=armv7
DART_OBFUSCATION=false DART_OBFUSCATION=false
TRACK_WIDGET_CREATION=false TRACK_WIDGET_CREATION=true
TREE_SHAKE_ICONS=false TREE_SHAKE_ICONS=false
PACKAGE_CONFIG=.dart_tool/package_config.json PACKAGE_CONFIG=.dart_tool/package_config.json
...@@ -8,6 +8,6 @@ export "FLUTTER_BUILD_DIR=build" ...@@ -8,6 +8,6 @@ export "FLUTTER_BUILD_DIR=build"
export "FLUTTER_BUILD_NAME=1.0.0" export "FLUTTER_BUILD_NAME=1.0.0"
export "FLUTTER_BUILD_NUMBER=1" export "FLUTTER_BUILD_NUMBER=1"
export "DART_OBFUSCATION=false" export "DART_OBFUSCATION=false"
export "TRACK_WIDGET_CREATION=false" export "TRACK_WIDGET_CREATION=true"
export "TREE_SHAKE_ICONS=false" export "TREE_SHAKE_ICONS=false"
export "PACKAGE_CONFIG=.dart_tool/package_config.json" export "PACKAGE_CONFIG=.dart_tool/package_config.json"
...@@ -4,7 +4,6 @@ import '../provider/data.dart'; ...@@ -4,7 +4,6 @@ import '../provider/data.dart';
import '../utils/game_utils.dart'; import '../utils/game_utils.dart';
class Board { class Board {
static Container buildGameBoard(Data myProvider) { static Container buildGameBoard(Data myProvider) {
String skin = myProvider.skin; String skin = myProvider.skin;
...@@ -21,7 +20,7 @@ class Board { ...@@ -21,7 +20,7 @@ class Board {
Image imageWidget = Image( Image imageWidget = Image(
image: AssetImage('assets/skins/' + skin + '_' + cellImage + '.png'), image: AssetImage('assets/skins/' + skin + '_' + cellImage + '.png'),
fit: BoxFit.fill fit: BoxFit.fill,
); );
Text textWidget = Text( Text textWidget = Text(
...@@ -31,16 +30,15 @@ class Board { ...@@ -31,16 +30,15 @@ class Board {
fontSize: 40.0, fontSize: 40.0,
fontWeight: FontWeight.w900, fontWeight: FontWeight.w900,
), ),
textAlign: TextAlign.center textAlign: TextAlign.center,
); );
return Stack( return Stack(
alignment: Alignment.center, alignment: Alignment.center,
children: <Widget>[ children: <Widget>[
imageWidget, imageWidget,
Center(child: textWidget), Center(child: textWidget),
] ],
); );
} }
...@@ -69,17 +67,10 @@ class Board { ...@@ -69,17 +67,10 @@ class Board {
cellTip = tips[colIndex]; cellTip = tips[colIndex];
} }
tableCells.add( tableCells.add(TableCell(child: buildCellWidget(cellValue, cellTip)));
TableCell( }
child: buildCellWidget(cellValue, cellTip)
) tableRows.add(TableRow(children: tableCells));
);
};
tableRows.add(
TableRow(
children: tableCells
)
);
} }
double horizontalMargins = 20; double horizontalMargins = 20;
...@@ -93,7 +84,6 @@ class Board { ...@@ -93,7 +84,6 @@ class Board {
return Container( return Container(
margin: EdgeInsets.symmetric(horizontal: horizontalMargins), margin: EdgeInsets.symmetric(horizontal: horizontalMargins),
padding: EdgeInsets.all(2), padding: EdgeInsets.all(2),
child: Table( child: Table(
defaultVerticalAlignment: TableCellVerticalAlignment.middle, defaultVerticalAlignment: TableCellVerticalAlignment.middle,
border: TableBorder.all( border: TableBorder.all(
...@@ -102,8 +92,7 @@ class Board { ...@@ -102,8 +92,7 @@ class Board {
style: BorderStyle.solid, style: BorderStyle.solid,
), ),
children: tableRows, children: tableRows,
) ),
); );
} }
} }
import 'dart:math';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../layout/board.dart'; import '../layout/board.dart';
...@@ -8,7 +6,6 @@ import '../provider/data.dart'; ...@@ -8,7 +6,6 @@ import '../provider/data.dart';
import '../utils/game_utils.dart'; import '../utils/game_utils.dart';
class Game { class Game {
static Container buildGameWidget(Data myProvider) { static Container buildGameWidget(Data myProvider) {
bool gameIsFinished = myProvider.isGameFinished(); bool gameIsFinished = myProvider.isGameFinished();
...@@ -33,8 +30,8 @@ class Game { ...@@ -33,8 +30,8 @@ class Game {
); );
} }
static FlatButton buildRestartGameButton(Data myProvider) { static TextButton buildRestartGameButton(Data myProvider) {
return FlatButton( return TextButton(
child: Container( child: Container(
child: Image( child: Image(
image: AssetImage('assets/icons/button_back.png'), image: AssetImage('assets/icons/button_back.png'),
...@@ -55,13 +52,12 @@ class Game { ...@@ -55,13 +52,12 @@ class Game {
Image decorationImage = Image( Image decorationImage = Image(
image: AssetImage(decorationImageAssetName), image: AssetImage(decorationImageAssetName),
fit: BoxFit.fill fit: BoxFit.fill,
); );
return Container( return Container(
margin: EdgeInsets.all(2), margin: EdgeInsets.all(2),
padding: EdgeInsets.all(2), padding: EdgeInsets.all(2),
child: Table( child: Table(
defaultColumnWidth: IntrinsicColumnWidth(), defaultColumnWidth: IntrinsicColumnWidth(),
children: [ children: [
...@@ -72,9 +68,8 @@ class Game { ...@@ -72,9 +68,8 @@ class Game {
Column(children: [decorationImage]), Column(children: [decorationImage]),
], ],
), ),
] ],
) ),
); );
} }
} }
import 'dart:math';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import '../provider/data.dart'; import '../provider/data.dart';
import '../utils/game_utils.dart'; import '../utils/game_utils.dart';
class Keyboard { class Keyboard {
static Container buildWidget(Data myProvider) { static Container buildWidget(Data myProvider) {
final List<List<String>> keys = [ final List<List<String>> keys = [
['A', 'Z', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'], ['A', 'Z', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'],
...@@ -33,7 +30,7 @@ class Keyboard { ...@@ -33,7 +30,7 @@ class Keyboard {
children: <Widget>[ children: <Widget>[
Image( Image(
image: AssetImage('assets/icons/key.png'), image: AssetImage('assets/icons/key.png'),
fit: BoxFit.fill fit: BoxFit.fill,
), ),
Center( Center(
child: TextButton( child: TextButton(
...@@ -47,7 +44,7 @@ class Keyboard { ...@@ -47,7 +44,7 @@ class Keyboard {
fontSize: 30.0, fontSize: 30.0,
fontWeight: FontWeight.w800, fontWeight: FontWeight.w800,
), ),
textAlign: TextAlign.center textAlign: TextAlign.center,
), ),
onPressed: () { onPressed: () {
if (key == '<') { if (key == '<') {
...@@ -58,9 +55,9 @@ class Keyboard { ...@@ -58,9 +55,9 @@ class Keyboard {
GameUtils.addLetter(myProvider, key); GameUtils.addLetter(myProvider, key);
} }
}, },
)
), ),
] ),
],
); );
} }
...@@ -68,33 +65,20 @@ class Keyboard { ...@@ -68,33 +65,20 @@ class Keyboard {
keys.forEach((row) { keys.forEach((row) {
List<TableCell> tableCells = []; List<TableCell> tableCells = [];
row.forEach((key) { row.forEach((key) {
tableCells.add( tableCells.add(TableCell(
TableCell(
child: buildKeyWidget(key), child: buildKeyWidget(key),
) ));
);
}); });
tableRows.add( tableRows.add(TableRow(children: tableCells));
TableRow(
children: tableCells
)
);
}); });
return Container( return Container(
margin: EdgeInsets.symmetric(horizontal: 2), margin: EdgeInsets.symmetric(horizontal: 2),
padding: EdgeInsets.all(2), padding: EdgeInsets.all(2),
child: Table( child: Table(
defaultVerticalAlignment: TableCellVerticalAlignment.middle, defaultVerticalAlignment: TableCellVerticalAlignment.middle,
// border: TableBorder.all(
// width: 2.0,
// color: Colors.blue,
// style: BorderStyle.solid,
// ),
children: tableRows, children: tableRows,
) ),
); );
} }
} }
...@@ -4,7 +4,6 @@ import '../provider/data.dart'; ...@@ -4,7 +4,6 @@ import '../provider/data.dart';
import '../utils/game_utils.dart'; import '../utils/game_utils.dart';
class Parameters { class Parameters {
static Container buildParametersSelector(Data myProvider) { static Container buildParametersSelector(Data myProvider) {
return Container( return Container(
padding: EdgeInsets.all(2), padding: EdgeInsets.all(2),
...@@ -19,7 +18,6 @@ class Parameters { ...@@ -19,7 +18,6 @@ class Parameters {
SizedBox(height: 5), SizedBox(height: 5),
Parameters.buildParameterSelector(myProvider, 'skin'), Parameters.buildParameterSelector(myProvider, 'skin'),
SizedBox(height: 5), SizedBox(height: 5),
Parameters.buildStartGameButton(myProvider), Parameters.buildStartGameButton(myProvider),
], ],
), ),
...@@ -31,15 +29,14 @@ class Parameters { ...@@ -31,15 +29,14 @@ class Parameters {
children: [ children: [
Image( Image(
image: AssetImage('assets/icons/game_win.png'), image: AssetImage('assets/icons/game_win.png'),
fit: BoxFit.fill fit: BoxFit.fill,
), ),
] ],
); );
return Container( return Container(
margin: EdgeInsets.all(2), margin: EdgeInsets.all(2),
padding: EdgeInsets.all(2), padding: EdgeInsets.all(2),
child: Table( child: Table(
defaultColumnWidth: IntrinsicColumnWidth(), defaultColumnWidth: IntrinsicColumnWidth(),
children: [ children: [
...@@ -48,7 +45,7 @@ class Parameters { ...@@ -48,7 +45,7 @@ class Parameters {
decorationImage, decorationImage,
Column( Column(
children: [ children: [
FlatButton( TextButton(
child: Container( child: Container(
child: Image( child: Image(
image: AssetImage('assets/icons/button_start.png'), image: AssetImage('assets/icons/button_start.png'),
...@@ -57,13 +54,13 @@ class Parameters { ...@@ -57,13 +54,13 @@ class Parameters {
), ),
onPressed: () => GameUtils.startGame(myProvider), onPressed: () => GameUtils.startGame(myProvider),
), ),
] ],
), ),
decorationImage, decorationImage,
], ],
), ),
] ],
) ),
); );
} }
...@@ -83,7 +80,7 @@ class Parameters { ...@@ -83,7 +80,7 @@ class Parameters {
Column( Column(
children: [ children: [
_buildParameterButton(myProvider, parameterCode, availableValues[index]) _buildParameterButton(myProvider, parameterCode, availableValues[index])
] ],
), ),
], ],
), ),
...@@ -91,7 +88,8 @@ class Parameters { ...@@ -91,7 +88,8 @@ class Parameters {
); );
} }
static TextButton _buildParameterButton(Data myProvider, String parameterCode, String parameterValue) { static TextButton _buildParameterButton(
Data myProvider, String parameterCode, String parameterValue) {
String currentValue = myProvider.getParameterValue(parameterCode).toString(); String currentValue = myProvider.getParameterValue(parameterCode).toString();
bool isActive = (parameterValue == currentValue); bool isActive = (parameterValue == currentValue);
...@@ -116,5 +114,4 @@ class Parameters { ...@@ -116,5 +114,4 @@ class Parameters {
onPressed: () => myProvider.setParameterValue(parameterCode, parameterValue), onPressed: () => myProvider.setParameterValue(parameterCode, parameterValue),
); );
} }
} }
...@@ -29,7 +29,8 @@ class MyApp extends StatelessWidget { ...@@ -29,7 +29,8 @@ class MyApp extends StatelessWidget {
routes: { routes: {
Home.id: (context) => Home(), Home.id: (context) => Home(),
}, },
)); ),
);
}), }),
); );
} }
......
...@@ -2,7 +2,6 @@ import 'package:flutter/foundation.dart'; ...@@ -2,7 +2,6 @@ import 'package:flutter/foundation.dart';
import 'package:shared_preferences/shared_preferences.dart'; import 'package:shared_preferences/shared_preferences.dart';
class Data extends ChangeNotifier { class Data extends ChangeNotifier {
// Configuration available values // Configuration available values
List _availableLangValues = ['fr']; List _availableLangValues = ['fr'];
List _availableWordLengthValues = ['4', '5', '6', '7', '8']; List _availableWordLengthValues = ['4', '5', '6', '7', '8'];
...@@ -67,12 +66,14 @@ class Data extends ChangeNotifier { ...@@ -67,12 +66,14 @@ class Data extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
} }
void currentGuessRemoveLetter() { void currentGuessRemoveLetter() {
if (_currentGuess.length > 0) { if (_currentGuess.length > 0) {
_currentGuess = _currentGuess.substring(0, _currentGuess.length - 1); _currentGuess = _currentGuess.substring(0, _currentGuess.length - 1);
notifyListeners(); notifyListeners();
} }
} }
void currentGuessSubmitWord() { void currentGuessSubmitWord() {
if (_currentGuess.length == int.parse(_length)) { if (_currentGuess.length == int.parse(_length)) {
print('check word: ' + _currentGuess); print('check word: ' + _currentGuess);
...@@ -86,11 +87,13 @@ class Data extends ChangeNotifier { ...@@ -86,11 +87,13 @@ class Data extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
} }
void currentGuessSubmitWrongWord() { void currentGuessSubmitWrongWord() {
print('Adding unknown word'); print('Adding unknown word');
addGuess(_currentGuess); addGuess(_currentGuess);
notifyListeners(); notifyListeners();
} }
void addGuess(String word) { void addGuess(String word) {
print('addGuess(' + word + ')'); print('addGuess(' + word + ')');
_guesses.add(word); _guesses.add(word);
...@@ -101,40 +104,68 @@ class Data extends ChangeNotifier { ...@@ -101,40 +104,68 @@ class Data extends ChangeNotifier {
getParameterValue(String parameterCode) { getParameterValue(String parameterCode) {
switch (parameterCode) { switch (parameterCode) {
case 'lang': { return _lang; } case 'lang':
break; {
case 'length': { return _length; } return _lang;
break; }
case 'level': { return _level; } case 'length':
break; {
case 'skin': { return _skin; } return _length;
break; }
case 'level':
{
return _level;
}
case 'skin':
{
return _skin;
}
} }
} }
List getParameterAvailableValues(String parameterCode) { List getParameterAvailableValues(String parameterCode) {
switch (parameterCode) { switch (parameterCode) {
case 'lang': { return _availableLangValues; } case 'lang':
break; {
case 'length': { return _availableWordLengthValues; } return _availableLangValues;
break; }
case 'level': { return _availableLevelValues; } case 'length':
break; {
case 'skin': { return _availableSkinValues; } return _availableWordLengthValues;
break; }
case 'level':
{
return _availableLevelValues;
}
case 'skin':
{
return _availableSkinValues;
}
} }
return []; return [];
} }
setParameterValue(String parameterCode, String parameterValue) async { setParameterValue(String parameterCode, String parameterValue) async {
switch (parameterCode) { switch (parameterCode) {
case 'lang': { updateLang(parameterValue); } case 'lang':
{
updateLang(parameterValue);
}
break; break;
case 'length': { updateLength(parameterValue); } case 'length':
{
updateLength(parameterValue);
}
break; break;
case 'level': { updateLevel(parameterValue); } case 'level':
{
updateLevel(parameterValue);
}
break; break;
case 'skin': { updateSkin(parameterValue); } case 'skin':
{
updateSkin(parameterValue);
}
break; break;
} }
final prefs = await SharedPreferences.getInstance(); final prefs = await SharedPreferences.getInstance();
...@@ -169,7 +200,7 @@ class Data extends ChangeNotifier { ...@@ -169,7 +200,7 @@ class Data extends ChangeNotifier {
void updateWord(String word) { void updateWord(String word) {
_word = word; _word = word;
if (word != null) { if (word != '') {
_recentWords.insert(0, word); _recentWords.insert(0, word);
_recentWords = _recentWords.take(_recentWordsCount).toList(); _recentWords = _recentWords.take(_recentWordsCount).toList();
} }
...@@ -187,5 +218,4 @@ class Data extends ChangeNotifier { ...@@ -187,5 +218,4 @@ class Data extends ChangeNotifier {
_foundWord = false; _foundWord = false;
notifyListeners(); notifyListeners();
} }
} }
...@@ -31,7 +31,7 @@ class _HomeState extends State<Home> { ...@@ -31,7 +31,7 @@ class _HomeState extends State<Home> {
if (myProvider.gameIsRunning) { if (myProvider.gameIsRunning) {
menuActions = [ menuActions = [
FlatButton( TextButton(
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
...@@ -43,7 +43,7 @@ class _HomeState extends State<Home> { ...@@ -43,7 +43,7 @@ class _HomeState extends State<Home> {
margin: EdgeInsets.all(8), margin: EdgeInsets.all(8),
child: Image( child: Image(
image: AssetImage('assets/icons/button_back.png'), image: AssetImage('assets/icons/button_back.png'),
fit: BoxFit.fill fit: BoxFit.fill,
), ),
), ),
onPressed: () => toast('Long press to quit game...'), onPressed: () => toast('Long press to quit game...'),
...@@ -60,9 +60,9 @@ class _HomeState extends State<Home> { ...@@ -60,9 +60,9 @@ class _HomeState extends State<Home> {
child: Center( child: Center(
child: myProvider.gameIsRunning child: myProvider.gameIsRunning
? Game.buildGameWidget(myProvider) ? Game.buildGameWidget(myProvider)
: Parameters.buildParametersSelector(myProvider) : Parameters.buildParametersSelector(myProvider),
),
), ),
)
); );
} }
} }
import '../provider/data.dart'; import '../provider/data.dart';
import '../utils/game_utils.dart';
import '../utils/random_pick_word.dart'; import '../utils/random_pick_word.dart';
class GameUtils { class GameUtils {
static Future<void> resetGame(Data myProvider) async { static Future<void> resetGame(Data myProvider) async {
myProvider.updateGameIsRunning(false); myProvider.updateGameIsRunning(false);
} }
...@@ -61,11 +59,9 @@ class GameUtils { ...@@ -61,11 +59,9 @@ class GameUtils {
List<String> tips = List<String>.filled(wordLength, '', growable: false); List<String> tips = List<String>.filled(wordLength, '', growable: false);
if ( if ((word.length != wordLength) ||
(word.length != wordLength) (candidate.length != wordLength) ||
|| (candidate.length != wordLength) (!RandomPickWord.checkWordExists(candidate))) {
|| (!RandomPickWord.checkWordExists(candidate))
) {
return List<String>.filled(wordLength, 'wrong', growable: false); return List<String>.filled(wordLength, 'wrong', growable: false);
} }
...@@ -91,7 +87,12 @@ class GameUtils { ...@@ -91,7 +87,12 @@ class GameUtils {
for (int i = 0; i < wordLength; i++) { for (int i = 0; i < wordLength; i++) {
for (int j = 0; j < wordLength; j++) { for (int j = 0; j < wordLength; j++) {
if ((candidate[j] != ' ') && (candidate[j] == word[i])) { if ((candidate[j] != ' ') && (candidate[j] == word[i])) {
print('Found "'+candidate[j]+'" on the wrong place: '+(j+1).toString()+' instead of '+(i+1).toString()); print('Found "' +
candidate[j] +
'" on the wrong place: ' +
(j + 1).toString() +
' instead of ' +
(i + 1).toString());
word = replaceCharAt(word, i, ' '); word = replaceCharAt(word, i, ' ');
candidate = replaceCharAt(candidate, j, ' '); candidate = replaceCharAt(candidate, j, ' ');
tips[j] = 'misplaced'; tips[j] = 'misplaced';
...@@ -124,5 +125,4 @@ class GameUtils { ...@@ -124,5 +125,4 @@ class GameUtils {
return RandomPickWord.checkWordExists(guessedWord); return RandomPickWord.checkWordExists(guessedWord);
} }
} }
...@@ -18,7 +18,11 @@ class RandomPickWord { ...@@ -18,7 +18,11 @@ class RandomPickWord {
String get word => _word; String get word => _word;
init(String lang, int length, String level) async { init(String lang, int length, String level) async {
if (lang != _lang || length != _length || level != _level || wordList.isEmpty || dictionary.isEmpty) { if (lang != _lang ||
length != _length ||
level != _level ||
wordList.isEmpty ||
dictionary.isEmpty) {
_lang = lang; _lang = lang;
_length = length; _length = length;
_level = level; _level = level;
......
...@@ -7,7 +7,7 @@ packages: ...@@ -7,7 +7,7 @@ packages:
name: async name: async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.8.2" version: "2.9.0"
boolean_selector: boolean_selector:
dependency: transitive dependency: transitive
description: description:
...@@ -21,21 +21,14 @@ packages: ...@@ -21,21 +21,14 @@ packages:
name: characters name: characters
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.2.1"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
clock: clock:
dependency: transitive dependency: transitive
description: description:
name: clock name: clock
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.0" version: "1.1.1"
collection: collection:
dependency: transitive dependency: transitive
description: description:
...@@ -49,21 +42,21 @@ packages: ...@@ -49,21 +42,21 @@ packages:
name: fake_async name: fake_async
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.3.0" version: "1.3.1"
ffi: ffi:
dependency: transitive dependency: transitive
description: description:
name: ffi name: ffi
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.0.1"
file: file:
dependency: transitive dependency: transitive
description: description:
name: file name: file
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "6.1.2" version: "6.1.4"
flutter: flutter:
dependency: "direct main" dependency: "direct main"
description: flutter description: flutter
...@@ -92,21 +85,21 @@ packages: ...@@ -92,21 +85,21 @@ packages:
name: matcher name: matcher
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.12.11" version: "0.12.12"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.1.4" version: "0.1.5"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.7.0" version: "1.8.0"
nested: nested:
dependency: transitive dependency: transitive
description: description:
...@@ -127,7 +120,7 @@ packages: ...@@ -127,7 +120,7 @@ packages:
name: path name: path
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.1" version: "1.8.2"
path_provider_linux: path_provider_linux:
dependency: transitive dependency: transitive
description: description:
...@@ -148,7 +141,7 @@ packages: ...@@ -148,7 +141,7 @@ packages:
name: path_provider_windows name: path_provider_windows
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.0" version: "2.1.3"
platform: platform:
dependency: transitive dependency: transitive
description: description:
...@@ -162,7 +155,7 @@ packages: ...@@ -162,7 +155,7 @@ packages:
name: plugin_platform_interface name: plugin_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.1.2" version: "2.1.3"
process: process:
dependency: transitive dependency: transitive
description: description:
...@@ -190,7 +183,7 @@ packages: ...@@ -190,7 +183,7 @@ packages:
name: shared_preferences_android name: shared_preferences_android
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.12" version: "2.0.13"
shared_preferences_ios: shared_preferences_ios:
dependency: transitive dependency: transitive
description: description:
...@@ -218,7 +211,7 @@ packages: ...@@ -218,7 +211,7 @@ packages:
name: shared_preferences_platform_interface name: shared_preferences_platform_interface
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.0.0" version: "2.1.0"
shared_preferences_web: shared_preferences_web:
dependency: transitive dependency: transitive
description: description:
...@@ -244,7 +237,7 @@ packages: ...@@ -244,7 +237,7 @@ packages:
name: source_span name: source_span
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.8.2" version: "1.9.0"
stack_trace: stack_trace:
dependency: transitive dependency: transitive
description: description:
...@@ -265,21 +258,21 @@ packages: ...@@ -265,21 +258,21 @@ packages:
name: string_scanner name: string_scanner
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.1.0" version: "1.1.1"
term_glyph: term_glyph:
dependency: transitive dependency: transitive
description: description:
name: term_glyph name: term_glyph
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "1.2.0" version: "1.2.1"
test_api: test_api:
dependency: transitive dependency: transitive
description: description:
name: test_api name: test_api
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.4.9" version: "0.4.12"
vector_math: vector_math:
dependency: transitive dependency: transitive
description: description:
...@@ -293,14 +286,14 @@ packages: ...@@ -293,14 +286,14 @@ packages:
name: win32 name: win32
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "2.7.0" version: "3.0.0"
xdg_directories: xdg_directories:
dependency: transitive dependency: transitive
description: description:
name: xdg_directories name: xdg_directories
url: "https://pub.dartlang.org" url: "https://pub.dartlang.org"
source: hosted source: hosted
version: "0.2.0+1" version: "0.2.0+2"
sdks: sdks:
dart: ">=2.17.0 <3.0.0" dart: ">=2.17.0 <3.0.0"
flutter: ">=3.0.0" flutter: ">=3.0.0"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment