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

Improve shuffling indicator

parent 847cdb5b
No related branches found
No related tags found
1 merge request!8Resolve "Improve shuffling indicator"
Pipeline #1392 passed
This commit is part of merge request !8. Comments created here will be created in the context of that merge request.
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
app.versionName=0.0.26 app.versionName=0.0.27
app.versionCode=26 app.versionCode=27
...@@ -13,7 +13,7 @@ class Data extends ChangeNotifier { ...@@ -13,7 +13,7 @@ class Data extends ChangeNotifier {
List _tiles = []; List _tiles = [];
// application state // application state
bool _shuffling = false; bool _isShufflingBoard = false;
bool _displayTipImage = false; bool _displayTipImage = false;
String get image => _image; String get image => _image;
...@@ -44,10 +44,10 @@ class Data extends ChangeNotifier { ...@@ -44,10 +44,10 @@ class Data extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
bool get shuffling => _shuffling; bool get isShufflingBoard => _isShufflingBoard;
set updateShuffling(bool value) { set updateIsShufflingBoard(bool value) {
_shuffling = value; _isShufflingBoard = value;
notifyListeners(); notifyListeners();
} }
......
import 'dart:async';
import 'dart:typed_data'; import 'dart:typed_data';
import 'dart:math'; import 'dart:math';
...@@ -41,10 +42,11 @@ class Home extends StatelessWidget { ...@@ -41,10 +42,11 @@ class Home extends StatelessWidget {
} }
Future<void> selectImage(Data myProvider, String imageCode, double tileImageSize) async { Future<void> selectImage(Data myProvider, String imageCode, double tileImageSize) async {
myProvider.updateShuffling = true; myProvider.updateIsShufflingBoard = true;
myProvider.updateImage = imageCode; myProvider.updateImage = imageCode;
myProvider.updateTiles = await splitImageInTiles(myProvider, tileImageSize); Timer timer = new Timer(new Duration(seconds: 1), () {
myProvider.updateShuffling = false; splitImageInTiles(myProvider, tileImageSize);
});
} }
void shuffleImages(Data myProvider) { void shuffleImages(Data myProvider) {
...@@ -161,7 +163,7 @@ class Home extends StatelessWidget { ...@@ -161,7 +163,7 @@ class Home extends StatelessWidget {
return tiles; return tiles;
} }
Future<List<Tile>> splitImageInTiles(Data myProvider, double tileImageSize) async { Future<void> splitImageInTiles(Data myProvider, double tileImageSize) async {
String imageAsset = getImageAssetName(myProvider.image); String imageAsset = getImageAssetName(myProvider.image);
Uint8List imageData = (await rootBundle.load(imageAsset)) Uint8List imageData = (await rootBundle.load(imageAsset))
.buffer .buffer
...@@ -194,7 +196,8 @@ class Home extends StatelessWidget { ...@@ -194,7 +196,8 @@ class Home extends StatelessWidget {
y += height; y += height;
} }
return shuffleTiles(tiles); myProvider.updateTiles = shuffleTiles(tiles);
myProvider.updateIsShufflingBoard = false;
} }
bool _checkTilesetIsOrdered(List<Tile> tiles) { bool _checkTilesetIsOrdered(List<Tile> tiles) {
...@@ -307,6 +310,8 @@ class Home extends StatelessWidget { ...@@ -307,6 +310,8 @@ class Home extends StatelessWidget {
color: Colors.black, color: Colors.black,
), ),
), ),
SizedBox(height: 20),
CircularProgressIndicator(),
], ],
), ),
); );
...@@ -321,7 +326,7 @@ class Home extends StatelessWidget { ...@@ -321,7 +326,7 @@ class Home extends StatelessWidget {
double _selectorImageSize = (MediaQuery.of(context).size.width - 140) / _selectImageColumnsCount; double _selectorImageSize = (MediaQuery.of(context).size.width - 140) / _selectImageColumnsCount;
double _tileImageSize = (MediaQuery.of(context).size.width - 70) / _myProvider.tilesCount; double _tileImageSize = (MediaQuery.of(context).size.width - 70) / _myProvider.tilesCount;
if (_myProvider.shuffling) { if (_myProvider.isShufflingBoard) {
content = _buildShufflingIndicatorWidget(); content = _buildShufflingIndicatorWidget();
} else { } else {
if (_myProvider.image == '') { if (_myProvider.image == '') {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment