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
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
app.versionName=0.0.26
app.versionCode=26
app.versionName=0.0.27
app.versionCode=27
......@@ -13,7 +13,7 @@ class Data extends ChangeNotifier {
List _tiles = [];
// application state
bool _shuffling = false;
bool _isShufflingBoard = false;
bool _displayTipImage = false;
String get image => _image;
......@@ -44,10 +44,10 @@ class Data extends ChangeNotifier {
notifyListeners();
}
bool get shuffling => _shuffling;
bool get isShufflingBoard => _isShufflingBoard;
set updateShuffling(bool value) {
_shuffling = value;
set updateIsShufflingBoard(bool value) {
_isShufflingBoard = value;
notifyListeners();
}
......
import 'dart:async';
import 'dart:typed_data';
import 'dart:math';
......@@ -41,10 +42,11 @@ class Home extends StatelessWidget {
}
Future<void> selectImage(Data myProvider, String imageCode, double tileImageSize) async {
myProvider.updateShuffling = true;
myProvider.updateIsShufflingBoard = true;
myProvider.updateImage = imageCode;
myProvider.updateTiles = await splitImageInTiles(myProvider, tileImageSize);
myProvider.updateShuffling = false;
Timer timer = new Timer(new Duration(seconds: 1), () {
splitImageInTiles(myProvider, tileImageSize);
});
}
void shuffleImages(Data myProvider) {
......@@ -161,7 +163,7 @@ class Home extends StatelessWidget {
return tiles;
}
Future<List<Tile>> splitImageInTiles(Data myProvider, double tileImageSize) async {
Future<void> splitImageInTiles(Data myProvider, double tileImageSize) async {
String imageAsset = getImageAssetName(myProvider.image);
Uint8List imageData = (await rootBundle.load(imageAsset))
.buffer
......@@ -194,7 +196,8 @@ class Home extends StatelessWidget {
y += height;
}
return shuffleTiles(tiles);
myProvider.updateTiles = shuffleTiles(tiles);
myProvider.updateIsShufflingBoard = false;
}
bool _checkTilesetIsOrdered(List<Tile> tiles) {
......@@ -307,6 +310,8 @@ class Home extends StatelessWidget {
color: Colors.black,
),
),
SizedBox(height: 20),
CircularProgressIndicator(),
],
),
);
......@@ -321,7 +326,7 @@ class Home extends StatelessWidget {
double _selectorImageSize = (MediaQuery.of(context).size.width - 140) / _selectImageColumnsCount;
double _tileImageSize = (MediaQuery.of(context).size.width - 70) / _myProvider.tilesCount;
if (_myProvider.shuffling) {
if (_myProvider.isShufflingBoard) {
content = _buildShufflingIndicatorWidget();
} else {
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