diff --git a/android/gradle.properties b/android/gradle.properties index d6af5de7dd3b01541eb540fa8dfd4d0caed97461..7d3ad5fb1ba80989d0c88e55ec415fdc9f5d25f7 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.45 -app.versionCode=45 +app.versionName=0.0.46 +app.versionCode=46 diff --git a/fastlane/metadata/android/en-US/changelogs/46.txt b/fastlane/metadata/android/en-US/changelogs/46.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a454239e41f6dbb1928a7414814e0d2ed3dac4d --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/46.txt @@ -0,0 +1 @@ +Improve code in data provider diff --git a/fastlane/metadata/android/fr-FR/changelogs/46.txt b/fastlane/metadata/android/fr-FR/changelogs/46.txt new file mode 100644 index 0000000000000000000000000000000000000000..3faeb72feff1b6717e0c696ad754bfaa375a7ffc --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/46.txt @@ -0,0 +1 @@ +Améliorations du code du fournisseur de données diff --git a/lib/provider/data.dart b/lib/provider/data.dart index d685c364291b7429dd292f41b6e61275507eb8d7..5deb9c48c7b0f066f9e79550b0d15f22bf176835 100644 --- a/lib/provider/data.dart +++ b/lib/provider/data.dart @@ -6,53 +6,57 @@ class Data extends ChangeNotifier { int _tilesCount = 4; // application data - List _images = []; - String _image = ''; + List _availableImages = []; + String _selectedImage = ''; List<MovingTile> _tiles = []; // application state bool _isShufflingBoard = false; - bool _displayTipImage = false; + bool _isTipImageDisplayed = false; - String get image => _image; + String get selectedImage => _selectedImage; - set updateImage(String value) { - _image = value; + void updateSelectedImage(String value) { + _selectedImage = value; notifyListeners(); } + void resetSelectedImage() { + updateSelectedImage(''); + } + int get tilesCount => _tilesCount; - set updateTilesCount(int value) { - _tilesCount = value; + void updateTilesCount(int tilesCountPerSide) { + _tilesCount = tilesCountPerSide; notifyListeners(); } - List get images => _images; + List get availableImages => _availableImages; - set updateImages(List value) { - _images = value; + void updateAvailableImages(List availableImages) { + _availableImages = availableImages; notifyListeners(); } List<MovingTile> get tiles => _tiles; - set updateTiles(List<MovingTile> value) { - _tiles = value; + void updateTiles(List<MovingTile> tiles) { + _tiles = tiles; notifyListeners(); } bool get isShufflingBoard => _isShufflingBoard; - set updateIsShufflingBoard(bool value) { - _isShufflingBoard = value; + void updateIsShufflingBoard(bool isShuffling) { + _isShufflingBoard = isShuffling; notifyListeners(); } - bool get displayTipImage => _displayTipImage; + bool get displayTipImage => _isTipImageDisplayed; - set updateDisplayTipImage(bool value) { - _displayTipImage = value; + void updateIsTipImageDisplayed(bool isDisplayed) { + _isTipImageDisplayed = isDisplayed; notifyListeners(); } @@ -76,9 +80,4 @@ class Data extends ChangeNotifier { notifyListeners(); } - - void resetGame() { - _image = ''; - notifyListeners(); - } } diff --git a/lib/screens/game.dart b/lib/screens/game.dart index 09b9af1ef0f8ea46f53ded0c9cad26259c6c59d6..4c63e598502bca7d285893c3ea5c27c1f2b613bf 100644 --- a/lib/screens/game.dart +++ b/lib/screens/game.dart @@ -5,7 +5,7 @@ import 'package:puzzlegame/utils/game_utils.dart'; class Game { static void toggleDisplayTipImage(Data myProvider) { - myProvider.updateDisplayTipImage = !myProvider.displayTipImage; + myProvider.updateIsTipImageDisplayed(!myProvider.displayTipImage); } static Container buildTilesetWidget(Data myProvider) { @@ -79,7 +79,7 @@ class Game { child: Image( image: AssetImage( myProvider.displayTipImage - ? GameUtils.getImageAssetName(myProvider.image) + ? GameUtils.getImageAssetName(myProvider.selectedImage) : 'assets/icons/tip_hidden.png', ), fit: BoxFit.contain, diff --git a/lib/screens/home.dart b/lib/screens/home.dart index 9f5697a267fe23e66befdff69771fbac659a6c65..3db611e9f1f3e81050cbe7fa53c1e73675c05f31 100644 --- a/lib/screens/home.dart +++ b/lib/screens/home.dart @@ -18,22 +18,22 @@ class Home extends StatelessWidget { GetImagesList getImagesList; getImagesList = GetImagesList(); await getImagesList.init(); - if (getImagesList.images.isNotEmpty) { - myProvider.updateImages = getImagesList.images; + if (getImagesList.availableImages.isNotEmpty) { + myProvider.updateAvailableImages(getImagesList.availableImages); shuffleAvailableImages(myProvider); } } Future<void> selectImage(Data myProvider, String imageCode, double tileImageSize) async { - myProvider.updateIsShufflingBoard = true; - myProvider.updateImage = imageCode; + myProvider.updateIsShufflingBoard(true); + myProvider.updateSelectedImage(imageCode); GameUtils.startGame(myProvider, tileImageSize); } void shuffleAvailableImages(Data myProvider) { - List images = myProvider.images; + List images = myProvider.availableImages; images.shuffle(); - myProvider.updateImages = images; + myProvider.updateAvailableImages(images); } Container _buildImageSelectorItem(Data myProvider, String image, double tileImageSize) { @@ -63,10 +63,10 @@ class Home extends StatelessWidget { } Container _buildImageSelector(Data myProvider, double tileImageSize) { - if (myProvider.images.length == 0) { + if (myProvider.availableImages.length == 0) { getImagesList(myProvider); } - List images = myProvider.images; + List images = myProvider.availableImages; return Container( padding: EdgeInsets.all(2), @@ -122,7 +122,7 @@ class Home extends StatelessWidget { ), ), onPressed: () { - myProvider.updateTilesCount = value; + myProvider.updateTilesCount(value); }, ); } @@ -139,7 +139,7 @@ class Home extends StatelessWidget { content = Game.buildShufflingIndicatorWidget(); precacheImage(new AssetImage('assets/icons/game_win.png'), context); } else { - if (_myProvider.image == '') { + if (_myProvider.selectedImage == '') { content = _buildImageSelector(_myProvider, _tileImageSize); } else { content = Game.buildGameWidget(_myProvider); @@ -190,7 +190,7 @@ class Home extends StatelessWidget { return Scaffold( appBar: AppBar( backgroundColor: themePrimaryColor, - actions: _myProvider.image == '' ? menuActions : gameActions, + actions: _myProvider.selectedImage == '' ? menuActions : gameActions, ), body: SafeArea( child: Center(child: content), diff --git a/lib/utils/game_utils.dart b/lib/utils/game_utils.dart index ec6b9c63af8e2ee4779bf16b9d6ffaaec74ed343..c22242a4712c7616c373b99915c680cba9b2b5ea 100644 --- a/lib/utils/game_utils.dart +++ b/lib/utils/game_utils.dart @@ -21,8 +21,8 @@ class GameUtils { } static Future<void> resetGame(Data myProvider) async { - myProvider.updateImage = ''; - myProvider.updateDisplayTipImage = false; + myProvider.resetSelectedImage(); + myProvider.updateIsTipImageDisplayed(false); } static bool checkTilesetIsCleared(List<MovingTile> tiles) { @@ -59,7 +59,7 @@ class GameUtils { } static Future<void> splitImageInTiles(Data myProvider, double tileImageSize) async { - String imageAsset = getImageAssetName(myProvider.image); + String imageAsset = getImageAssetName(myProvider.selectedImage); Uint8List imageData = (await rootBundle.load(imageAsset)).buffer.asUint8List(); imglib.Image image = imglib.decodeImage(imageData) ?? imglib.Image.fromBytes(1, 1, []); @@ -94,7 +94,7 @@ class GameUtils { y += height; } - myProvider.updateTiles = shuffleMovingTiles(tiles); - myProvider.updateIsShufflingBoard = false; + myProvider.updateTiles(shuffleMovingTiles(tiles)); + myProvider.updateIsShufflingBoard(false); } } diff --git a/lib/utils/get_images_list.dart b/lib/utils/get_images_list.dart index 3f590aa7da93f14ff54286a6c4675c9b1225436a..4f5f4f139fc9b24370c8b97963122055bbc6aa0b 100644 --- a/lib/utils/get_images_list.dart +++ b/lib/utils/get_images_list.dart @@ -5,7 +5,7 @@ import 'package:flutter/services.dart'; class GetImagesList { GetImagesList(); - List _images = []; + List _availableImages = []; init() async { await imagesFromLocalFile(); @@ -17,14 +17,14 @@ class GetImagesList { jsonString = await rootBundle.loadString('assets/files/images.json'); final jsonResponse = await json.decode(jsonString); List imagesList = jsonResponse['images']; - _images = imagesList; + _availableImages = imagesList; } catch (e) { - _images = []; + _availableImages = []; } // Remove empty images - _images.removeWhere((value) => (value == '')); + _availableImages.removeWhere((value) => (value == '')); } - List get images => _images; + List get availableImages => _availableImages; } diff --git a/pubspec.lock b/pubspec.lock index 572027bd77a77a46a4c3f8be3b25707e81d26b5e..ec91274256d16ff49b60d063305a41fec2049d15 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: archive url: "https://pub.dartlang.org" source: hosted - version: "3.3.0" + version: "3.3.1" async: dependency: transitive description: