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

Use flutter linter, apply lints, update dependencies

parent c0db5082
Branches
Tags
1 merge request!19Resolve "Use flutter linter and apply lints"
Pipeline #5083 passed
include: package:flutter_lints/flutter.yaml
...@@ -53,7 +53,7 @@ android { ...@@ -53,7 +53,7 @@ android {
defaultConfig { defaultConfig {
applicationId "org.benoitharrault.memory" applicationId "org.benoitharrault.memory"
minSdkVersion 16 minSdkVersion flutter.minSdkVersion
targetSdkVersion 30 targetSdkVersion 30
versionCode appVersionCode.toInteger() versionCode appVersionCode.toInteger()
versionName appVersionName versionName appVersionName
......
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
app.versionName=1.0.16 app.versionName=1.0.17
app.versionCode=17 app.versionCode=18
Add automatic flutter linter. Apply code lints. Update dependencies.
Ajout d'un correcteur automatique de code. Application des corrections. Mise à jour des dépendances.
import 'package:memory/models/TileModel.dart'; import 'package:memory/models/tile_model.dart';
String selectedTile = ""; String selectedTile = "";
int selectedIndex = 0; int selectedIndex = 0;
...@@ -20,56 +20,56 @@ List<bool> getClicked() { ...@@ -20,56 +20,56 @@ List<bool> getClicked() {
List<TileModel> getPairs() { List<TileModel> getPairs() {
List<TileModel> pairs = []; List<TileModel> pairs = [];
TileModel tileModel = new TileModel(); TileModel tileModel = TileModel();
//1 //1
tileModel.setImageAssetPath("assets/fox.png"); tileModel.setImageAssetPath("assets/fox.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//2 //2
tileModel.setImageAssetPath("assets/hippo.png"); tileModel.setImageAssetPath("assets/hippo.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//3 //3
tileModel.setImageAssetPath("assets/horse.png"); tileModel.setImageAssetPath("assets/horse.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//4 //4
tileModel.setImageAssetPath("assets/monkey.png"); tileModel.setImageAssetPath("assets/monkey.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//5 //5
tileModel.setImageAssetPath("assets/panda.png"); tileModel.setImageAssetPath("assets/panda.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//6 //6
tileModel.setImageAssetPath("assets/parrot.png"); tileModel.setImageAssetPath("assets/parrot.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//7 //7
tileModel.setImageAssetPath("assets/rabbit.png"); tileModel.setImageAssetPath("assets/rabbit.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//8 //8
tileModel.setImageAssetPath("assets/zoo.png"); tileModel.setImageAssetPath("assets/zoo.png");
...@@ -82,56 +82,56 @@ List<TileModel> getPairs() { ...@@ -82,56 +82,56 @@ List<TileModel> getPairs() {
List<TileModel> getQuestionPairs() { List<TileModel> getQuestionPairs() {
List<TileModel> pairs = []; List<TileModel> pairs = [];
TileModel tileModel = new TileModel(); TileModel tileModel = TileModel();
//1 //1
tileModel.setImageAssetPath("assets/question.png"); tileModel.setImageAssetPath("assets/question.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//2 //2
tileModel.setImageAssetPath("assets/question.png"); tileModel.setImageAssetPath("assets/question.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//3 //3
tileModel.setImageAssetPath("assets/question.png"); tileModel.setImageAssetPath("assets/question.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//4 //4
tileModel.setImageAssetPath("assets/question.png"); tileModel.setImageAssetPath("assets/question.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//5 //5
tileModel.setImageAssetPath("assets/question.png"); tileModel.setImageAssetPath("assets/question.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//6 //6
tileModel.setImageAssetPath("assets/question.png"); tileModel.setImageAssetPath("assets/question.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//7 //7
tileModel.setImageAssetPath("assets/question.png"); tileModel.setImageAssetPath("assets/question.png");
tileModel.setIsSelected(false); tileModel.setIsSelected(false);
pairs.add(tileModel); pairs.add(tileModel);
pairs.add(tileModel); pairs.add(tileModel);
tileModel = new TileModel(); tileModel = TileModel();
//8 //8
tileModel.setImageAssetPath("assets/question.png"); tileModel.setImageAssetPath("assets/question.png");
......
import 'dart:async'; import 'dart:async';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:memory/data/data.dart'; import 'package:memory/data/data.dart';
import 'package:memory/models/TileModel.dart'; import 'package:memory/models/tile_model.dart';
void main() => runApp(MyApp()); void main() => runApp(const MyApp());
class MyApp extends StatelessWidget { class MyApp extends StatelessWidget {
const MyApp({super.key});
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return MaterialApp( return MaterialApp(
...@@ -15,17 +18,19 @@ class MyApp extends StatelessWidget { ...@@ -15,17 +18,19 @@ class MyApp extends StatelessWidget {
theme: ThemeData( theme: ThemeData(
primarySwatch: Colors.blue, primarySwatch: Colors.blue,
), ),
home: Home(), home: const Home(),
); );
} }
} }
class Home extends StatefulWidget { class Home extends StatefulWidget {
const Home({super.key});
@override @override
_HomeState createState() => _HomeState(); HomeState createState() => HomeState();
} }
class _HomeState extends State<Home> { class HomeState extends State<Home> {
List<TileModel> gridViewTiles = []; List<TileModel> gridViewTiles = [];
List<TileModel> questionPairs = []; List<TileModel> questionPairs = [];
...@@ -55,10 +60,10 @@ class _HomeState extends State<Home> { ...@@ -55,10 +60,10 @@ class _HomeState extends State<Home> {
backgroundColor: Colors.white, backgroundColor: Colors.white,
body: SingleChildScrollView( body: SingleChildScrollView(
child: Container( child: Container(
padding: EdgeInsets.symmetric(horizontal: 20, vertical: 50), padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 50),
child: Column( child: Column(
children: <Widget>[ children: <Widget>[
SizedBox( const SizedBox(
height: 40, height: 40,
), ),
points != 800 points != 800
...@@ -67,12 +72,12 @@ class _HomeState extends State<Home> { ...@@ -67,12 +72,12 @@ class _HomeState extends State<Home> {
children: <Widget>[ children: <Widget>[
Text( Text(
"$points/800", "$points/800",
style: TextStyle( style: const TextStyle(
fontSize: 20, fontSize: 20,
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),
), ),
Text( const Text(
"Points", "Points",
textAlign: TextAlign.start, textAlign: TextAlign.start,
style: TextStyle( style: TextStyle(
...@@ -83,7 +88,7 @@ class _HomeState extends State<Home> { ...@@ -83,7 +88,7 @@ class _HomeState extends State<Home> {
], ],
) )
: Container(), : Container(),
SizedBox( const SizedBox(
height: 20, height: 20,
), ),
points != 800 points != 800
...@@ -91,7 +96,7 @@ class _HomeState extends State<Home> { ...@@ -91,7 +96,7 @@ class _HomeState extends State<Home> {
shrinkWrap: true, shrinkWrap: true,
//physics: ClampingScrollPhysics(), //physics: ClampingScrollPhysics(),
scrollDirection: Axis.vertical, scrollDirection: Axis.vertical,
gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent( gridDelegate: const SliverGridDelegateWithMaxCrossAxisExtent(
mainAxisSpacing: 0.0, mainAxisSpacing: 0.0,
maxCrossAxisExtent: 100.0, maxCrossAxisExtent: 100.0,
), ),
...@@ -103,8 +108,7 @@ class _HomeState extends State<Home> { ...@@ -103,8 +108,7 @@ class _HomeState extends State<Home> {
); );
}), }),
) )
: Container( : Column(
child: Column(
children: <Widget>[ children: <Widget>[
GestureDetector( GestureDetector(
onTap: () { onTap: () {
...@@ -121,7 +125,7 @@ class _HomeState extends State<Home> { ...@@ -121,7 +125,7 @@ class _HomeState extends State<Home> {
color: Colors.blue, color: Colors.blue,
borderRadius: BorderRadius.circular(24), borderRadius: BorderRadius.circular(24),
), ),
child: Text( child: const Text(
"Replay", "Replay",
style: TextStyle( style: TextStyle(
color: Colors.white, color: Colors.white,
...@@ -133,7 +137,6 @@ class _HomeState extends State<Home> { ...@@ -133,7 +137,6 @@ class _HomeState extends State<Home> {
), ),
], ],
), ),
),
], ],
), ),
), ),
...@@ -145,15 +148,15 @@ class _HomeState extends State<Home> { ...@@ -145,15 +148,15 @@ class _HomeState extends State<Home> {
class Tile extends StatefulWidget { class Tile extends StatefulWidget {
final String imagePathUrl; final String imagePathUrl;
final int tileIndex; final int tileIndex;
final _HomeState? parent; final HomeState? parent;
Tile({this.imagePathUrl = '', this.tileIndex = 0, this.parent}); const Tile({super.key, this.imagePathUrl = '', this.tileIndex = 0, this.parent});
@override @override
_TileState createState() => _TileState(); TileState createState() => TileState();
} }
class _TileState extends State<Tile> { class TileState extends State<Tile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return GestureDetector( return GestureDetector(
...@@ -167,9 +170,9 @@ class _TileState extends State<Tile> { ...@@ -167,9 +170,9 @@ class _TileState extends State<Tile> {
if (selectedTile == myPairs[widget.tileIndex].getImageAssetPath()) { if (selectedTile == myPairs[widget.tileIndex].getImageAssetPath()) {
print("add point"); print("add point");
points = points + 100; points = points + 100;
print(selectedTile + " -> " + widget.imagePathUrl); print("$selectedTile -> ${widget.imagePathUrl}");
TileModel tileModel = new TileModel(); TileModel tileModel = TileModel();
print(widget.tileIndex); print(widget.tileIndex);
selected = true; selected = true;
Future.delayed(const Duration(seconds: 2), () { Future.delayed(const Duration(seconds: 2), () {
...@@ -177,20 +180,20 @@ class _TileState extends State<Tile> { ...@@ -177,20 +180,20 @@ class _TileState extends State<Tile> {
myPairs[widget.tileIndex] = tileModel; myPairs[widget.tileIndex] = tileModel;
print(selectedIndex); print(selectedIndex);
myPairs[selectedIndex] = tileModel; myPairs[selectedIndex] = tileModel;
this.widget.parent?.setState(() {}); widget.parent?.setState(() {});
setState(() { setState(() {
selected = false; selected = false;
}); });
selectedTile = ""; selectedTile = "";
}); });
} else { } else {
print(selectedTile + " -> " + myPairs[widget.tileIndex].getImageAssetPath()); print("$selectedTile -> ${myPairs[widget.tileIndex].getImageAssetPath()}");
print("wrong choice"); print("wrong choice");
print(widget.tileIndex); print(widget.tileIndex);
print(selectedIndex); print(selectedIndex);
selected = true; selected = true;
Future.delayed(const Duration(seconds: 2), () { Future.delayed(const Duration(seconds: 2), () {
this.widget.parent?.setState(() { widget.parent?.setState(() {
myPairs[widget.tileIndex].setIsSelected(false); myPairs[widget.tileIndex].setIsSelected(false);
myPairs[selectedIndex].setIsSelected(false); myPairs[selectedIndex].setIsSelected(false);
}); });
...@@ -213,7 +216,7 @@ class _TileState extends State<Tile> { ...@@ -213,7 +216,7 @@ class _TileState extends State<Tile> {
} }
}, },
child: Container( child: Container(
margin: EdgeInsets.all(5), margin: const EdgeInsets.all(5),
child: myPairs[widget.tileIndex].getImageAssetPath() != "" child: myPairs[widget.tileIndex].getImageAssetPath() != ""
? Image.asset(myPairs[widget.tileIndex].getIsSelected() ? Image.asset(myPairs[widget.tileIndex].getIsSelected()
? myPairs[widget.tileIndex].getImageAssetPath() ? myPairs[widget.tileIndex].getImageAssetPath()
......
...@@ -2,7 +2,10 @@ class TileModel { ...@@ -2,7 +2,10 @@ class TileModel {
String imageAssetPath = ""; String imageAssetPath = "";
bool isSelected = false; bool isSelected = false;
TileModel({this.imageAssetPath = "", this.isSelected = false}); TileModel({
this.imageAssetPath = "",
this.isSelected = false,
});
void setImageAssetPath(String getImageAssetPath) { void setImageAssetPath(String getImageAssetPath) {
imageAssetPath = getImageAssetPath; imageAssetPath = getImageAssetPath;
......
...@@ -13,10 +13,10 @@ packages: ...@@ -13,10 +13,10 @@ packages:
dependency: transitive dependency: transitive
description: description:
name: collection name: collection
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687 sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.17.2" version: "1.18.0"
cupertino_icons: cupertino_icons:
dependency: "direct main" dependency: "direct main"
description: description:
...@@ -30,22 +30,38 @@ packages: ...@@ -30,22 +30,38 @@ packages:
description: flutter description: flutter
source: sdk source: sdk
version: "0.0.0" version: "0.0.0"
flutter_lints:
dependency: "direct dev"
description:
name: flutter_lints
sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7
url: "https://pub.dev"
source: hosted
version: "3.0.1"
lints:
dependency: transitive
description:
name: lints
sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
url: "https://pub.dev"
source: hosted
version: "3.0.0"
material_color_utilities: material_color_utilities:
dependency: transitive dependency: transitive
description: description:
name: material_color_utilities name: material_color_utilities
sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.5.0" version: "0.8.0"
meta: meta:
dependency: transitive dependency: transitive
description: description:
name: meta name: meta
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3" sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "1.9.1" version: "1.11.0"
sky_engine: sky_engine:
dependency: transitive dependency: transitive
description: flutter description: flutter
...@@ -59,13 +75,5 @@ packages: ...@@ -59,13 +75,5 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "2.1.4" version: "2.1.4"
web:
dependency: transitive
description:
name: web
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
url: "https://pub.dev"
source: hosted
version: "0.1.4-beta"
sdks: sdks:
dart: ">=3.1.0-185.0.dev <4.0.0" dart: ">=3.2.0-0 <4.0.0"
name: memory name: memory
description: A simple and classic memory game. description: A simple and classic memory game.
publish_to: 'none' publish_to: 'none'
version: 1.0.0+1 version: 1.0.17+18
environment: environment:
sdk: '^3.0.0' sdk: '^3.0.0'
...@@ -11,8 +11,10 @@ dependencies: ...@@ -11,8 +11,10 @@ dependencies:
sdk: flutter sdk: flutter
cupertino_icons: ^1.0.6 cupertino_icons: ^1.0.6
dev_dependencies:
flutter_lints: ^3.0.1
flutter: flutter:
uses-material-design: true uses-material-design: true
assets: assets:
- assets/ - assets/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment