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

Merge branch '18-use-flutter-linter-and-apply-lints' into 'master'

Resolve "Use flutter linter and apply lints"

Closes #18

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