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

Update framework and dependencies, clean some code

parent b99556d3
No related branches found
No related tags found
1 merge request!30Resolve "Upgrade flutter framework and dependencies"
Pipeline #3462 passed
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=1.2.20
app.versionCode=26
app.versionName=1.2.21
app.versionCode=27
Upgrade Flutter framework and dependencies, clean some code
Mise à jour du framework Flutter et de ses dépendances, nettoyage de code
......@@ -16,7 +16,8 @@ class MyApp extends StatelessWidget {
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (BuildContext context) => Data(),
child: Consumer<Data>(builder: (context, data, child) {
child: Consumer<Data>(
builder: (context, data, child) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
......@@ -28,7 +29,8 @@ class MyApp extends StatelessWidget {
Home.id: (context) => Home(),
},
);
}),
},
),
);
}
}
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'dart:math';
import 'dart:async';
import '../provider/data.dart';
......@@ -11,10 +10,8 @@ import '../utils/random_pick_letter.dart';
class Home extends StatelessWidget {
static const String id = 'home';
String _randomLetter = '';
String _randomCategory = '';
Timer _timer;
int _countdownStart = 10;
static Timer _timer;
static int _countdownStart = 10;
Future<void> startMiniGame(Data myProvider) async {
if (myProvider.countdown <= 0) {
......@@ -44,7 +41,6 @@ class Home extends StatelessWidget {
);
}
@override
void dispose() {
_timer.cancel();
}
......@@ -56,11 +52,8 @@ class Home extends StatelessWidget {
do {
randomPickCategory = RandomPickCategory();
await randomPickCategory.init();
if (
randomPickCategory.category != null
&&
!myProvider.isCategoryRecentlyPicked(randomPickCategory.category)
) {
if (randomPickCategory.category != null &&
!myProvider.isCategoryRecentlyPicked(randomPickCategory.category)) {
myProvider.updateCategory(randomPickCategory.category);
myProvider.setSearchingCategory(false);
break;
......@@ -76,11 +69,8 @@ class Home extends StatelessWidget {
do {
randomPickLetter = RandomPickLetter();
await randomPickLetter.init();
if (
randomPickLetter.letter != null
&&
!myProvider.isLetterRecentlyPicked(randomPickLetter.letter)
) {
if (randomPickLetter.letter != null &&
!myProvider.isLetterRecentlyPicked(randomPickLetter.letter)) {
myProvider.updateLetter(randomPickLetter.letter);
myProvider.setSearchingLetter(false);
break;
......@@ -95,7 +85,8 @@ class Home extends StatelessWidget {
return hslDark.toColor();
}
Container mainLetterButtonContainer(Data myProvider, Color backgroundColor, double borderWidth) {
Container mainLetterButtonContainer(
Data myProvider, Color backgroundColor, double borderWidth) {
Color borderColor = darken(backgroundColor);
return Container(
......@@ -109,7 +100,7 @@ class Home extends StatelessWidget {
width: borderWidth,
),
),
child: FlatButton(
child: TextButton(
onPressed: () => pickLetter(myProvider),
child: Text(
myProvider.letter == '' ? "🔀" : myProvider.letter,
......@@ -160,7 +151,8 @@ class Home extends StatelessWidget {
);
}
Container _buildPickedLetterContainer(Data myProvider, Color backgroundColor, double borderWidth) {
Container _buildPickedLetterContainer(
Data myProvider, Color backgroundColor, double borderWidth) {
int previousLettersCountToShow = 3;
List<Widget> cells = [];
......@@ -169,40 +161,38 @@ class Home extends StatelessWidget {
for (var i = 0; i < previousLettersCountToShow; i++) {
cells.add(TableCell(
verticalAlignment: TableCellVerticalAlignment.middle,
child: previousLetterBlockContainer(myProvider, previousLettersCountToShow - i, true)
child: previousLetterBlockContainer(myProvider, previousLettersCountToShow - i, true),
));
}
// Add current letter block
cells.add(TableCell(
verticalAlignment: TableCellVerticalAlignment.middle,
child: mainLetterButtonContainer(myProvider, backgroundColor, borderWidth)
child: mainLetterButtonContainer(myProvider, backgroundColor, borderWidth),
));
// Pad with empty blocks to keep symetrical layout
for (var i = 0; i < previousLettersCountToShow; i++) {
cells.add(TableCell(
verticalAlignment: TableCellVerticalAlignment.middle,
child: previousLetterBlockContainer(myProvider, i + 1, false)
child: previousLetterBlockContainer(myProvider, i + 1, false),
));
}
return Container(
margin: EdgeInsets.all(2),
padding: EdgeInsets.all(2),
child: Table(
defaultColumnWidth: IntrinsicColumnWidth(),
children: [
TableRow(
children: cells
TableRow(children: cells),
],
),
]
)
);
}
Container _buildPickedCategoryContainer(Data myProvider, Color backgroundColor, double borderWidth) {
Container _buildPickedCategoryContainer(
Data myProvider, Color backgroundColor, double borderWidth) {
Color borderColor = darken(backgroundColor);
return Container(
......@@ -221,7 +211,7 @@ class Home extends StatelessWidget {
width: borderWidth,
),
),
child: FlatButton(
child: TextButton(
onPressed: () => pickCategory(myProvider),
child: Text(
myProvider.category == '' ? "🔀" : myProvider.category,
......@@ -239,7 +229,8 @@ class Home extends StatelessWidget {
);
}
Container _buildMiniGameContainer(Data myProvider, Color backgroundColor, double borderWidth) {
Container _buildMiniGameContainer(
Data myProvider, Color backgroundColor, double borderWidth) {
Color borderColor = darken(backgroundColor);
Color countDownColor = Colors.black;
......@@ -263,7 +254,7 @@ class Home extends StatelessWidget {
width: borderWidth,
),
),
child: FlatButton(
child: TextButton(
onPressed: (myProvider.countdown >= 0) ? null : () => startMiniGame(myProvider),
child: Text(
(myProvider.countdown >= 0) ? myProvider.countdown.toString() : '🎲',
......
......@@ -19,7 +19,6 @@ class RandomPickCategory {
jsonString = await rootBundle.loadString('assets/files/categories-fr.json');
final jsonResponse = await json.decode(jsonString);
var categoryList = jsonResponse[jsonResponse.keys.toList().join()];
int randomCategoryIndex = random.nextInt(categoryList.length);
String category = categoryList[random.nextInt(categoryList.length)];
_category = category ?? 'UNEXPECTED ERROR';
} catch (e) {
......
import 'dart:async';
import 'dart:convert';
import 'package:flutter/services.dart';
import 'dart:math' show Random;
class RandomPickLetter {
......
......@@ -7,7 +7,7 @@ packages:
name: async
url: "https://pub.dartlang.org"
source: hosted
version: "2.8.2"
version: "2.9.0"
boolean_selector:
dependency: transitive
description:
......@@ -21,21 +21,14 @@ packages:
name: characters
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
charcode:
dependency: transitive
description:
name: charcode
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.1"
version: "1.2.1"
clock:
dependency: transitive
description:
name: clock
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.1.1"
collection:
dependency: transitive
description:
......@@ -49,7 +42,7 @@ packages:
name: fake_async
url: "https://pub.dartlang.org"
source: hosted
version: "1.3.0"
version: "1.3.1"
flutter:
dependency: "direct main"
description: flutter
......@@ -66,21 +59,21 @@ packages:
name: matcher
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.11"
version: "0.12.12"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.4"
version: "0.1.5"
meta:
dependency: transitive
description:
name: meta
url: "https://pub.dartlang.org"
source: hosted
version: "1.7.0"
version: "1.8.0"
nested:
dependency: transitive
description:
......@@ -94,7 +87,7 @@ packages:
name: path
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.1"
version: "1.8.2"
provider:
dependency: "direct main"
description:
......@@ -113,7 +106,7 @@ packages:
name: source_span
url: "https://pub.dartlang.org"
source: hosted
version: "1.8.2"
version: "1.9.0"
stack_trace:
dependency: transitive
description:
......@@ -134,21 +127,21 @@ packages:
name: string_scanner
url: "https://pub.dartlang.org"
source: hosted
version: "1.1.0"
version: "1.1.1"
term_glyph:
dependency: transitive
description:
name: term_glyph
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.0"
version: "1.2.1"
test_api:
dependency: transitive
description:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.9"
version: "0.4.12"
vector_math:
dependency: transitive
description:
......
// This is a basic Flutter widget test.
//
// To perform an interaction with a widget in your test, use the WidgetTester
// utility that Flutter provides. For example, you can send tap and scroll
// gestures. You can also use WidgetTester to find child widgets in the widget
// tree, read text, and verify that the values of widget properties are correct.
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:petitbac/main.dart';
void main() {
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment