diff --git a/android/gradle.properties b/android/gradle.properties index 6b2d4c01edce349df7a33f5e430d0beb8beccb32..ecbb5aaf4b02b5743761a174beafac22e93dcd0b 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=1.0.48 -app.versionCode=49 +app.versionName=1.0.49 +app.versionCode=50 diff --git a/lib/cubit/api_cubit.dart b/lib/cubit/api_cubit.dart index 5fe5dd73df67df664784117e1456b7f7cc7131e7..1835d78d2b08a5c94ef2508bc515dc2ccb7d19cc 100644 --- a/lib/cubit/api_cubit.dart +++ b/lib/cubit/api_cubit.dart @@ -4,6 +4,7 @@ import 'package:hydrated_bloc/hydrated_bloc.dart'; import 'package:random/models/api_failure.dart'; import 'package:random/models/api_data.dart'; import 'package:random/repository/api.dart'; +import 'package:random/utils/tools.dart'; part 'api_state.dart'; @@ -27,7 +28,7 @@ class ApiDataCubit extends HydratedCubit<ApiDataState> { } } } - print('emit new state: $stateAsString'); + printlog('emit new state: $stateAsString'); emit(state); } @@ -41,7 +42,7 @@ class ApiDataCubit extends HydratedCubit<ApiDataState> { } on ApiFailure catch (err) { customEmit(ApiDataFetchError(failure: err)); } catch (err) { - print("Error (fetchApiData): $err"); + printlog("Error (fetchApiData): $err"); } return ApiData.fromJson({}); } diff --git a/lib/cubit/api_state.dart b/lib/cubit/api_state.dart index 86cbe009ed797c5a66cc6a8ccef80f78da07f5db..e35635963d329dcb532751c722b280b7b73210c9 100644 --- a/lib/cubit/api_state.dart +++ b/lib/cubit/api_state.dart @@ -16,15 +16,12 @@ class ApiDataFetchInitial extends ApiDataState {} class ApiDataFetchLoading extends ApiDataState {} class ApiDataFetchLoaded extends ApiDataState { - @override - final ApiData data; - const ApiDataFetchLoaded({ - required this.data, + required super.data, }); @override - List<Object> get props => [data]; + List<Object> get props => [data!]; } class ApiDataFetchError extends ApiDataState { diff --git a/lib/models/game/game.dart b/lib/models/game/game.dart index e099feb79495861816c21e844dcf01038b0c81d0..56cde71b0ab48c4dfd0fe6c7bbee10b842395852 100644 --- a/lib/models/game/game.dart +++ b/lib/models/game/game.dart @@ -3,6 +3,7 @@ import 'dart:math'; import 'package:random/models/game/game_board.dart'; import 'package:random/models/game/game_cell.dart'; import 'package:random/models/game/game_settings.dart'; +import 'package:random/utils/tools.dart'; class Game { GameBoard board; @@ -88,7 +89,7 @@ class Game { void dump() { GameBoard.printGrid(board.cells); - print(settings.toJson()); - print(toJson()); + printlog(settings.toString()); + printlog(toString()); } } diff --git a/lib/models/game/game_board.dart b/lib/models/game/game_board.dart index 41257e021d5ea50a6c9fd8fc4fd0da3e41bf2dbd..03e0611add32fe11850d28241f9220f738c706e5 100644 --- a/lib/models/game/game_board.dart +++ b/lib/models/game/game_board.dart @@ -2,6 +2,7 @@ import 'dart:math'; import 'package:random/models/game/game_cell.dart'; import 'package:random/models/game/game_settings.dart'; +import 'package:random/utils/tools.dart'; class GameBoard { final List<List<GameCell>> cells; @@ -36,17 +37,17 @@ class GameBoard { } static printGrid(List<List<GameCell>> cells) { - print(''); - print('-------'); + printlog(''); + printlog('-------'); for (var rowIndex = 0; rowIndex < cells.length; rowIndex++) { String row = ''; for (var colIndex = 0; colIndex < cells[rowIndex].length; colIndex++) { row += cells[rowIndex][colIndex].value.toString(); } - print(row); + printlog(row); } - print('-------'); - print(''); + printlog('-------'); + printlog(''); } @override diff --git a/lib/network/api.dart b/lib/network/api.dart index aa759361eaf0b5dbdb2c770d83ef452fceb60340..92a90e027bb81abd4859ede8af3b7162a185a242 100644 --- a/lib/network/api.dart +++ b/lib/network/api.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:dio/dio.dart'; import 'package:random/models/api_failure.dart'; +import 'package:random/utils/tools.dart'; class ApiService { final Dio _dio = Dio(); @@ -12,15 +13,15 @@ class ApiService { Future<Response?> getData() async { String url = '$baseUrl/get.php'; try { - print('fetching api data... $url'); + printlog('fetching api data... $url'); final Response response = await _dio.get(url); - print('ok got api response.'); - print(response); + printlog('ok got api response.'); + printlog(response.toString()); return response; } on SocketException { throw const ApiFailure(message: 'Failed to reach API endpoint.'); } catch (err) { - print("Error (getData): $err"); + printlog("Error (getData): $err"); throw ApiFailure(message: "$err"); } } diff --git a/lib/repository/api.dart b/lib/repository/api.dart index d6548b04414a5015d6946dae187bb9d56d697252..7530d1f66bca91d8c7e951e89d0e70e55f15613a 100644 --- a/lib/repository/api.dart +++ b/lib/repository/api.dart @@ -1,5 +1,6 @@ import 'package:random/models/api_data.dart'; import 'package:random/network/api.dart'; +import 'package:random/utils/tools.dart'; class ApiRepository { const ApiRepository({required this.apiService}); @@ -7,15 +8,15 @@ class ApiRepository { final ApiService apiService; Future<ApiData> getApiData() async { - print('(getApiData) delayed API call...'); + printlog('(getApiData) delayed API call...'); final response = await Future.delayed(const Duration(milliseconds: 1000)) .then((value) => apiService.getData()); if (response != null) { - print('(getApiData) got api response'); - print(response.data); + printlog('(getApiData) got api response'); + printlog(response.data); return ApiData.fromJson(response.data); } - print('(getApiData) failed'); + printlog('(getApiData) failed'); return ApiData.fromJson({}); } } diff --git a/lib/ui/screens/graph_page.dart b/lib/ui/screens/graph_page.dart index 6a4c24732b65d5f42b863d0a7e9812cc4fabe588..e26f8a247061d3722439f8a0757d16801b4fd720 100644 --- a/lib/ui/screens/graph_page.dart +++ b/lib/ui/screens/graph_page.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:random/ui/painters/graph_painter.dart'; +import 'package:random/utils/tools.dart'; class GraphPage extends StatefulWidget { const GraphPage({super.key}); @@ -33,7 +34,7 @@ class _GraphPageState extends State<GraphPage> { onTapUp: (details) { double xTap = details.localPosition.dx; double yTap = details.localPosition.dy; - print('[$xTap,$yTap]'); + printlog('[$xTap,$yTap]'); }, child: Container( margin: const EdgeInsets.all(4), diff --git a/lib/ui/widgets/game/game_board.dart b/lib/ui/widgets/game/game_board.dart index f354e213c268bd6dab8bbeb0bc8d99896bf6aa8c..3a092b3f77339f2d84930a605b50939ee5d43119 100644 --- a/lib/ui/widgets/game/game_board.dart +++ b/lib/ui/widgets/game/game_board.dart @@ -6,6 +6,7 @@ import 'package:random/models/game/game.dart'; import 'package:random/models/game/game_settings.dart'; import 'package:random/ui/painters/cell_painter.dart'; import 'package:random/ui/widgets/game/game_score.dart'; +import 'package:random/utils/tools.dart'; class GameBoardWidget extends StatefulWidget { const GameBoardWidget({ @@ -168,11 +169,11 @@ class _GameBoardWidget extends State<GameBoardWidget> with TickerProviderStateMi int x = (xTap / widgetWidth * columnsCount).toInt(); int y = (yTap / widgetHeight * rowsCount).toInt(); - print('[$x,$y]'); + printlog('[$x,$y]'); removeCell(context, x, y); } else { - print('animation in progress...'); + printlog('animation in progress...'); } }, ); diff --git a/lib/ui/widgets/take_picture_widget.dart b/lib/ui/widgets/take_picture_widget.dart index efece10a4435b499e8f9557a44161329b381fab2..1bcc14e0c051f3288a84bba8035fdd7a4eebda06 100644 --- a/lib/ui/widgets/take_picture_widget.dart +++ b/lib/ui/widgets/take_picture_widget.dart @@ -5,6 +5,7 @@ import 'package:flutter/material.dart'; import 'package:unicons/unicons.dart'; import 'package:random/utils/picture_storage.dart'; +import 'package:random/utils/tools.dart'; class TakePictureWidget extends StatefulWidget { const TakePictureWidget({super.key}); @@ -41,7 +42,7 @@ class TakePictureWidgetState extends State<TakePictureWidget> { } setState(() {}); }); - } + } @override void dispose() { @@ -71,14 +72,14 @@ class TakePictureWidgetState extends State<TakePictureWidget> { try { if ((controller != null) && (controller!.value.isInitialized)) { final XFile image = await controller!.takePicture(); - print('image.path: ${image.path}'); + printlog('image.path: ${image.path}'); debug.add('image.path: ${image.path}'); File savedFile = await storage!.writeCounter(File(image.path)); debug.add('image.path: ${image.path}'); String imagePath = savedFile.path; - print('imagePath: $imagePath'); + printlog('imagePath: $imagePath'); debug.add('imagePath: $imagePath'); previousImages.add(imagePath); @@ -88,7 +89,7 @@ class TakePictureWidgetState extends State<TakePictureWidget> { debug.add('error: $e'); setState(() {}); - print(e); + printlog(e.toString()); } }, ), diff --git a/lib/utils/picture_storage.dart b/lib/utils/picture_storage.dart index ebf663b54f928c580239afa3218833fb8f4a9a65..9914680b03f5689dc48c0ce08e00033062515b11 100644 --- a/lib/utils/picture_storage.dart +++ b/lib/utils/picture_storage.dart @@ -3,6 +3,8 @@ import 'dart:io'; import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:random/utils/tools.dart'; + class PictureStorage { Future<String> get _localPath async { final directory = await getApplicationDocumentsDirectory(); @@ -20,7 +22,7 @@ class PictureStorage { try { return await sourceFile.rename(newPath); } on FileSystemException catch (e) { - print('Found exception while moving file: $e'); + printlog('Found exception while moving file: $e'); final newFile = await sourceFile.copy(newPath); await sourceFile.delete(); return newFile; 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 bbeb8afac4b4f31dc3de84650799f129d50c8c6e..ab15162e3c4f564020ecf29b01ceff0b7140934d 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -53,10 +53,10 @@ packages: dependency: transitive description: name: camera_platform_interface - sha256: fceb2c36038b6392317b1d5790c6ba9e6ca9f1da3031181b8bea03882bf9387a + sha256: a250314a48ea337b35909a4c9d5416a208d736dcb01d0b02c6af122be66660b0 url: "https://pub.dev" source: hosted - version: "2.7.3" + version: "2.7.4" camera_web: dependency: transitive description: @@ -364,10 +364,10 @@ packages: dependency: transitive description: name: provider - sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.2" shared_preferences: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 2f14702d88a12f11b41c922969f2786ce6f8c25c..64096ba0c8ac127d7793e2ef04248b21e21a5a1a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A random application, for testing purpose only. publish_to: 'none' -version: 1.0.48+49 +version: 1.0.49+50 environment: sdk: '^3.0.0'