diff --git a/android/gradle.properties b/android/gradle.properties index 81949dfd2077495aaea8a6bc81ad9c75442f9ebb..957c40bc42f3a742d2266dc3a403ad014458ba3f 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.14 -app.versionCode=14 +app.versionName=0.0.15 +app.versionCode=15 diff --git a/fastlane/metadata/android/en-US/changelogs/15.txt b/fastlane/metadata/android/en-US/changelogs/15.txt new file mode 100644 index 0000000000000000000000000000000000000000..52f2179d505f14dcc88966038849680298d1df24 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/15.txt @@ -0,0 +1 @@ +Avoid print calls in production code. diff --git a/fastlane/metadata/android/fr-FR/changelogs/15.txt b/fastlane/metadata/android/fr-FR/changelogs/15.txt new file mode 100644 index 0000000000000000000000000000000000000000..8537dac9f8ac580dac7eee02b1a1c99a901fe7d2 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/15.txt @@ -0,0 +1 @@ +Supprime les appels à print dans le code de production. diff --git a/lib/entities/tile.dart b/lib/entities/tile.dart index 64227e6317941c23413b94f41929514ba469e8dc..c9d585dbd766be04de40247b75bfd1e903c786a3 100644 --- a/lib/entities/tile.dart +++ b/lib/entities/tile.dart @@ -46,7 +46,7 @@ class Tile { }, onAcceptWithDetails: (DragTargetDetails<List<int>> source) { List<int> target = [currentCol, currentRow]; - // print('(drag) Pick from ' + source.toString() + ' and drop on ' + target.toString()); + // printlog('(drag) Pick from ' + source.toString() + ' and drop on ' + target.toString()); if (GameUtils.isMoveAllowed(myProvider, source.data, target)) { GameUtils.move(myProvider, source.data, target); } diff --git a/lib/utils/board_utils.dart b/lib/utils/board_utils.dart index 53ae2eb3ed0dcdd781148f161e9e3a209388fe08..19754fb6a536c31587ff7118954b0c3e22f0c5b8 100644 --- a/lib/utils/board_utils.dart +++ b/lib/utils/board_utils.dart @@ -2,6 +2,7 @@ import 'dart:math'; import 'package:solitaire_game/entities/tile.dart'; import 'package:solitaire_game/provider/data.dart'; +import 'package:solitaire_game/utils/tools.dart'; class BoardUtils { static printGrid(List cells) { @@ -9,8 +10,8 @@ class BoardUtils { String textHole = '·'; String textPeg = 'o'; - print(''); - print('-------'); + printlog(''); + printlog('-------'); for (int rowIndex = 0; rowIndex < cells.length; rowIndex++) { String row = ''; for (int colIndex = 0; colIndex < cells[rowIndex].length; colIndex++) { @@ -21,10 +22,10 @@ class BoardUtils { } row += textCell; } - print(row); + printlog(row); } - print('-------'); - print(''); + printlog('-------'); + printlog(''); } static List<List<Tile?>> createBoardFromSavedState(Data myProvider, String savedBoard) { diff --git a/lib/utils/game_utils.dart b/lib/utils/game_utils.dart index 7b99a816ed6738d2c1924dd137c182e010f202d4..cd0c5ea7c309f56876771e558b54a1d8c7540670 100644 --- a/lib/utils/game_utils.dart +++ b/lib/utils/game_utils.dart @@ -1,6 +1,7 @@ import 'package:solitaire_game/entities/tile.dart'; import 'package:solitaire_game/provider/data.dart'; import 'package:solitaire_game/utils/board_utils.dart'; +import 'package:solitaire_game/utils/tools.dart'; class GameUtils { static Future<void> quitGame(Data myProvider) async { @@ -13,7 +14,7 @@ class GameUtils { } static Future<void> startNewGame(Data myProvider) async { - print('Starting game'); + printlog('Starting game'); BoardUtils.createNewBoard(myProvider); @@ -36,7 +37,7 @@ class GameUtils { myProvider.updateGameIsRunning(true); } catch (e) { - print('Failed to resume game. Will start new one instead.'); + printlog('Failed to resume game. Will start new one instead.'); myProvider.resetCurrentSavedState(); myProvider.initParametersValues(); startNewGame(myProvider); @@ -49,7 +50,7 @@ class GameUtils { } static bool isMoveAllowed(Data myProvider, List<int> source, List<int> target) { - // print('(test) Pick from ' + source.toString() + ' and drop on ' + target.toString()); + // printlog('(test) Pick from ' + source.toString() + ' and drop on ' + target.toString()); List<List<Tile?>> board = myProvider.board; int sourceCol = source[0]; int sourceRow = source[1]; @@ -61,39 +62,39 @@ class GameUtils { sourceRow > (myProvider.boardSize - 1) || sourceCol < 0 || sourceCol > (myProvider.boardSize - 1)) { - // print('move forbidden: source is out of board'); + // printlog('move forbidden: source is out of board'); return false; } if (targetRow < 0 || targetRow > (myProvider.boardSize - 1) || targetCol < 0 || targetCol > (myProvider.boardSize - 1)) { - // print('move forbidden: target is out of board'); + // printlog('move forbidden: target is out of board'); return false; } // ensure source exists and has a peg if (board[sourceRow][sourceCol] == null || board[sourceRow][sourceCol]?.hasPeg == false) { - // print('move forbidden: source peg does not exist'); + // printlog('move forbidden: source peg does not exist'); return false; } // ensure target exists and is empty if (board[targetRow][targetCol] == null || board[targetRow][targetCol]?.hasPeg == true) { - // print('move forbidden: target does not exist or already with a peg'); + // printlog('move forbidden: target does not exist or already with a peg'); return false; } // ensure source and target are in the same line/column if ((targetCol != sourceCol) && (targetRow != sourceRow)) { - // print('move forbidden: source and target are not in the same line or column'); + // printlog('move forbidden: source and target are not in the same line or column'); return false; } // ensure source and target are separated by exactly one tile if (((targetCol == sourceCol) && ((targetRow - sourceRow).abs() != 2)) || ((targetRow == sourceRow) && ((targetCol - sourceCol).abs() != 2))) { - // print('move forbidden: source and target must be separated by exactly one tile'); + // printlog('move forbidden: source and target must be separated by exactly one tile'); return false; } @@ -101,7 +102,7 @@ class GameUtils { int middleRow = (sourceRow + ((targetRow - sourceRow) / 2)).round(); int middleCol = (sourceCol + ((targetCol - sourceCol) / 2)).round(); if (board[middleRow][middleCol] == null || board[middleRow][middleCol]?.hasPeg == false) { - // print('move forbidden: tile between source and target does not contain a peg'); + // printlog('move forbidden: tile between source and target does not contain a peg'); return false; } @@ -110,7 +111,7 @@ class GameUtils { } static void move(Data myProvider, List<int> source, List<int> target) { - print('Move from $source to $target'); + printlog('Move from $source to $target'); int sourceCol = source[0]; int sourceRow = source[1]; int targetCol = target[0]; diff --git a/lib/utils/tools.dart b/lib/utils/tools.dart new file mode 100644 index 0000000000000000000000000000000000000000..fd48b2b009b80b22248d6e7f08a63e96c4065bd7 --- /dev/null +++ b/lib/utils/tools.dart @@ -0,0 +1,7 @@ +import 'package:flutter/foundation.dart'; + +void printlog(String message) { + if (!kReleaseMode) { + debugPrint(message); + } +} diff --git a/pubspec.lock b/pubspec.lock index 394474ffa93627c54bc013d08e68346854cf7420..6b1fdfef808496ebd4ff8ce5bb9e51bfbc6469e8 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -151,10 +151,10 @@ packages: dependency: "direct main" description: name: provider - sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.2" shared_preferences: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index ea8a53bf353b3520eefc08bbb8128dc07ba29840..c0d1f0f22e669a78044d696d569de8a46a7158ac 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: solitaire_game description: Solitaire Game publish_to: 'none' -version: 0.0.14+14 +version: 0.0.15+15 environment: sdk: '^3.0.0'