diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1fe851a3..b1842c86 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,6 +16,8 @@ jobs:
test:
name: Run tests
runs-on: ubuntu-latest
+ env:
+ TZ: Europe/Berlin
steps:
- uses: actions/checkout@v5
diff --git a/ios/Podfile b/ios/Podfile
index fe628cb8..974aea70 100644
--- a/ios/Podfile
+++ b/ios/Podfile
@@ -37,5 +37,9 @@ end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
+ target.build_configurations.each do |config|
+ config.build_settings['ENABLE_BITCODE'] = 'NO'
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '16.0'
+ end
end
end
diff --git a/lib/helpers/date.dart b/lib/helpers/date.dart
index 9177b8fc..08a96d4e 100644
--- a/lib/helpers/date.dart
+++ b/lib/helpers/date.dart
@@ -16,11 +16,6 @@
* along with this program. If not, see .
*/
-/// Returns a timezone aware DateTime object from a date and time string.
-DateTime getDateTimeFromDateAndTime(String date, String time) {
- return DateTime.parse('$date $time');
-}
-
/// Returns a list of [DateTime] objects from [first] to [last], inclusive.
List daysInRange(DateTime first, DateTime last) {
final dayCount = last.difference(first).inDays + 1;
diff --git a/lib/helpers/json.dart b/lib/helpers/json.dart
index a80fba71..560e6958 100644
--- a/lib/helpers/json.dart
+++ b/lib/helpers/json.dart
@@ -62,6 +62,14 @@ String dateToUtcIso8601(DateTime dateTime) {
return dateTime.toUtc().toIso8601String();
}
+/// Converts an ISO8601 datetime string in UTC to a local DateTime object.
+///
+/// Needs to be used in conjunction with [dateToUtcIso8601] in the models to
+/// correctly handle timezones.
+DateTime utcIso8601ToLocalDate(String dateTime) {
+ return DateTime.parse(dateTime).toLocal();
+}
+
/*
* Converts a time to a date object.
* Needed e.g. when the wger api only sends a time but no date information.
diff --git a/lib/models/body_weight/weight_entry.dart b/lib/models/body_weight/weight_entry.dart
index d5343cd6..8daada31 100644
--- a/lib/models/body_weight/weight_entry.dart
+++ b/lib/models/body_weight/weight_entry.dart
@@ -29,7 +29,7 @@ class WeightEntry {
@JsonKey(required: true, fromJson: stringToNum, toJson: numToString)
late num weight = 0;
- @JsonKey(required: true)
+ @JsonKey(required: true, fromJson: utcIso8601ToLocalDate, toJson: dateToUtcIso8601)
late DateTime date;
WeightEntry({this.id, weight, DateTime? date}) {
diff --git a/lib/models/body_weight/weight_entry.g.dart b/lib/models/body_weight/weight_entry.g.dart
index 42281afa..286c9866 100644
--- a/lib/models/body_weight/weight_entry.g.dart
+++ b/lib/models/body_weight/weight_entry.g.dart
@@ -11,12 +11,12 @@ WeightEntry _$WeightEntryFromJson(Map json) {
return WeightEntry(
id: (json['id'] as num?)?.toInt(),
weight: stringToNum(json['weight'] as String?),
- date: json['date'] == null ? null : DateTime.parse(json['date'] as String),
+ date: utcIso8601ToLocalDate(json['date'] as String),
);
}
Map _$WeightEntryToJson(WeightEntry instance) => {
'id': instance.id,
'weight': numToString(instance.weight),
- 'date': instance.date.toIso8601String(),
+ 'date': dateToUtcIso8601(instance.date),
};
diff --git a/lib/models/gallery/image.dart b/lib/models/gallery/image.dart
index 2645cf77..6916f7ed 100644
--- a/lib/models/gallery/image.dart
+++ b/lib/models/gallery/image.dart
@@ -26,7 +26,7 @@ class Image {
@JsonKey(required: true)
int? id;
- @JsonKey(required: true, toJson: dateToYYYYMMDD)
+ @JsonKey(required: true, fromJson: utcIso8601ToLocalDate, toJson: dateToUtcIso8601)
late DateTime date;
@JsonKey(required: true, name: 'image')
diff --git a/lib/models/gallery/image.g.dart b/lib/models/gallery/image.g.dart
index 0a6f9694..a0e4dd9f 100644
--- a/lib/models/gallery/image.g.dart
+++ b/lib/models/gallery/image.g.dart
@@ -10,7 +10,7 @@ Image _$ImageFromJson(Map json) {
$checkKeys(json, requiredKeys: const ['id', 'date', 'image']);
return Image(
id: (json['id'] as num?)?.toInt(),
- date: DateTime.parse(json['date'] as String),
+ date: utcIso8601ToLocalDate(json['date'] as String),
url: json['image'] as String?,
description: json['description'] as String? ?? '',
);
@@ -18,7 +18,7 @@ Image _$ImageFromJson(Map json) {
Map _$ImageToJson(Image instance) => {
'id': instance.id,
- 'date': dateToYYYYMMDD(instance.date),
+ 'date': dateToUtcIso8601(instance.date),
'image': instance.url,
'description': instance.description,
};
diff --git a/lib/models/nutrition/log.dart b/lib/models/nutrition/log.dart
index 259c43a0..118b6254 100644
--- a/lib/models/nutrition/log.dart
+++ b/lib/models/nutrition/log.dart
@@ -36,7 +36,7 @@ class Log {
@JsonKey(required: true, name: 'plan')
int planId;
- @JsonKey(required: true, toJson: dateToUtcIso8601)
+ @JsonKey(required: true, fromJson: utcIso8601ToLocalDate, toJson: dateToUtcIso8601)
late DateTime datetime;
String? comment;
diff --git a/lib/models/nutrition/log.g.dart b/lib/models/nutrition/log.g.dart
index 1325e3a1..102125b4 100644
--- a/lib/models/nutrition/log.g.dart
+++ b/lib/models/nutrition/log.g.dart
@@ -25,7 +25,7 @@ Log _$LogFromJson(Map json) {
weightUnitId: (json['weight_unit'] as num?)?.toInt(),
amount: stringToNum(json['amount'] as String?),
planId: (json['plan'] as num).toInt(),
- datetime: DateTime.parse(json['datetime'] as String),
+ datetime: utcIso8601ToLocalDate(json['datetime'] as String),
comment: json['comment'] as String?,
);
}
diff --git a/lib/models/nutrition/nutritional_plan.dart b/lib/models/nutrition/nutritional_plan.dart
index 65ac4206..e366b141 100644
--- a/lib/models/nutrition/nutritional_plan.dart
+++ b/lib/models/nutrition/nutritional_plan.dart
@@ -41,7 +41,12 @@ class NutritionalPlan {
@JsonKey(required: true)
late String description;
- @JsonKey(required: true, name: 'creation_date', toJson: dateToUtcIso8601)
+ @JsonKey(
+ required: true,
+ name: 'creation_date',
+ fromJson: utcIso8601ToLocalDate,
+ toJson: dateToUtcIso8601,
+ )
late DateTime creationDate;
@JsonKey(required: true, name: 'start', toJson: dateToYYYYMMDD)
diff --git a/lib/models/nutrition/nutritional_plan.g.dart b/lib/models/nutrition/nutritional_plan.g.dart
index 61cedaba..3efe23b1 100644
--- a/lib/models/nutrition/nutritional_plan.g.dart
+++ b/lib/models/nutrition/nutritional_plan.g.dart
@@ -26,9 +26,7 @@ NutritionalPlan _$NutritionalPlanFromJson(Map json) {
return NutritionalPlan(
id: (json['id'] as num?)?.toInt(),
description: json['description'] as String,
- creationDate: json['creation_date'] == null
- ? null
- : DateTime.parse(json['creation_date'] as String),
+ creationDate: utcIso8601ToLocalDate(json['creation_date'] as String),
startDate: DateTime.parse(json['start'] as String),
endDate: json['end'] == null ? null : DateTime.parse(json['end'] as String),
onlyLogging: json['only_logging'] as bool? ?? false,
diff --git a/lib/models/workouts/log.dart b/lib/models/workouts/log.dart
index f3ccfb81..edd11547 100644
--- a/lib/models/workouts/log.dart
+++ b/lib/models/workouts/log.dart
@@ -80,7 +80,7 @@ class Log {
@JsonKey(includeFromJson: false, includeToJson: false)
late WeightUnit? weightUnitObj;
- @JsonKey(required: true, toJson: dateToUtcIso8601)
+ @JsonKey(required: true, fromJson: utcIso8601ToLocalDate, toJson: dateToUtcIso8601)
late DateTime date;
Log({
diff --git a/lib/models/workouts/log.g.dart b/lib/models/workouts/log.g.dart
index 803f1778..96ab9b2c 100644
--- a/lib/models/workouts/log.g.dart
+++ b/lib/models/workouts/log.g.dart
@@ -39,7 +39,7 @@ Log _$LogFromJson(Map json) {
weight: stringToNum(json['weight'] as String?),
weightTarget: stringToNum(json['weight_target'] as String?),
weightUnitId: (json['weight_unit'] as num?)?.toInt() ?? WEIGHT_UNIT_KG,
- date: DateTime.parse(json['date'] as String),
+ date: utcIso8601ToLocalDate(json['date'] as String),
)..sessionId = (json['session'] as num?)?.toInt();
}
diff --git a/lib/models/workouts/routine.dart b/lib/models/workouts/routine.dart
index bd90d6bb..7f98ff1f 100644
--- a/lib/models/workouts/routine.dart
+++ b/lib/models/workouts/routine.dart
@@ -42,7 +42,7 @@ class Routine {
@JsonKey(required: true, includeToJson: false)
int? id;
- @JsonKey(required: true, toJson: dateToUtcIso8601)
+ @JsonKey(required: true, fromJson: utcIso8601ToLocalDate, toJson: dateToUtcIso8601)
late DateTime created;
@JsonKey(required: true, name: 'name')
diff --git a/lib/models/workouts/routine.g.dart b/lib/models/workouts/routine.g.dart
index d6385c8b..96f598fc 100644
--- a/lib/models/workouts/routine.g.dart
+++ b/lib/models/workouts/routine.g.dart
@@ -9,11 +9,19 @@ part of 'routine.dart';
Routine _$RoutineFromJson(Map json) {
$checkKeys(
json,
- requiredKeys: const ['id', 'created', 'name', 'description', 'fit_in_week', 'start', 'end'],
+ requiredKeys: const [
+ 'id',
+ 'created',
+ 'name',
+ 'description',
+ 'fit_in_week',
+ 'start',
+ 'end',
+ ],
);
return Routine(
id: (json['id'] as num?)?.toInt(),
- created: json['created'] == null ? null : DateTime.parse(json['created'] as String),
+ created: utcIso8601ToLocalDate(json['created'] as String),
name: json['name'] as String,
start: json['start'] == null ? null : DateTime.parse(json['start'] as String),
end: json['end'] == null ? null : DateTime.parse(json['end'] as String),
diff --git a/lib/models/workouts/session.g.dart b/lib/models/workouts/session.g.dart
index 7cfc9d89..ac78029d 100644
--- a/lib/models/workouts/session.g.dart
+++ b/lib/models/workouts/session.g.dart
@@ -9,7 +9,15 @@ part of 'session.dart';
WorkoutSession _$WorkoutSessionFromJson(Map json) {
$checkKeys(
json,
- requiredKeys: const ['id', 'routine', 'day', 'date', 'impression', 'time_start', 'time_end'],
+ requiredKeys: const [
+ 'id',
+ 'routine',
+ 'day',
+ 'date',
+ 'impression',
+ 'time_start',
+ 'time_end',
+ ],
);
return WorkoutSession(
id: (json['id'] as num?)?.toInt(),
diff --git a/lib/screens/log_meal_screen.dart b/lib/screens/log_meal_screen.dart
index 0f2566d2..ad8a99d9 100644
--- a/lib/screens/log_meal_screen.dart
+++ b/lib/screens/log_meal_screen.dart
@@ -17,8 +17,8 @@
*/
import 'package:flutter/material.dart';
+import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
-import 'package:wger/helpers/date.dart';
import 'package:wger/helpers/json.dart';
import 'package:wger/l10n/generated/app_localizations.dart';
import 'package:wger/models/nutrition/meal.dart';
@@ -44,14 +44,13 @@ class LogMealScreen extends StatefulWidget {
class _LogMealScreenState extends State {
double portionPct = 100;
- final _dateController = TextEditingController();
+ final _dateController = TextEditingController(text: '');
final _timeController = TextEditingController();
@override
void initState() {
super.initState();
- _dateController.text = dateToYYYYMMDD(DateTime.now())!;
_timeController.text = timeToString(TimeOfDay.now())!;
}
@@ -64,6 +63,9 @@ class _LogMealScreenState extends State {
@override
Widget build(BuildContext context) {
+ final dateFormat = DateFormat.yMd(Localizations.localeOf(context).languageCode);
+ final i18n = AppLocalizations.of(context);
+
final args = ModalRoute.of(context)!.settings.arguments as LogMealArguments;
final meal = args.meal.copyWith(
mealItems: args.meal.mealItems
@@ -71,7 +73,9 @@ class _LogMealScreenState extends State {
.toList(),
);
- final i18n = AppLocalizations.of(context);
+ if (_dateController.text.isEmpty) {
+ _dateController.text = dateFormat.format(DateTime.now());
+ }
return Scaffold(
appBar: AppBar(title: Text(i18n.logMeal)),
@@ -123,12 +127,12 @@ class _LogMealScreenState extends State {
final pickedDate = await showDatePicker(
context: context,
initialDate: DateTime.now(),
- firstDate: DateTime(DateTime.now().year - 10),
+ firstDate: DateTime.now().subtract(const Duration(days: 3000)),
lastDate: DateTime.now(),
);
if (pickedDate != null) {
- _dateController.text = dateToYYYYMMDD(pickedDate)!;
+ _dateController.text = dateFormat.format(pickedDate);
}
},
onSaved: (newValue) {
@@ -170,15 +174,13 @@ class _LogMealScreenState extends State {
TextButton(
child: Text(i18n.save),
onPressed: () async {
- final loggedTime = getDateTimeFromDateAndTime(
- _dateController.text,
- _timeController.text,
+ final loggedDate = dateFormat.parse(
+ '${_dateController.text} ${_timeController.text}',
);
-
await Provider.of(
context,
listen: false,
- ).logMealToDiary(meal, loggedTime);
+ ).logMealToDiary(meal, loggedDate);
if (context.mounted) {
ScaffoldMessenger.of(context).showSnackBar(
diff --git a/lib/widgets/gallery/forms.dart b/lib/widgets/gallery/forms.dart
index 2899ff99..a2d6a8e8 100644
--- a/lib/widgets/gallery/forms.dart
+++ b/lib/widgets/gallery/forms.dart
@@ -20,9 +20,9 @@ import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
+import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:wger/helpers/consts.dart';
-import 'package:wger/helpers/json.dart';
import 'package:wger/l10n/generated/app_localizations.dart';
import 'package:wger/models/gallery/image.dart' as gallery;
import 'package:wger/providers/gallery.dart';
@@ -43,7 +43,7 @@ class _ImageFormState extends State {
XFile? _file;
- final dateController = TextEditingController();
+ final dateController = TextEditingController(text: '');
final TextEditingController descriptionController = TextEditingController();
@override
@@ -57,7 +57,6 @@ class _ImageFormState extends State {
void initState() {
super.initState();
- dateController.text = dateToYYYYMMDD(widget._image.date)!;
descriptionController.text = widget._image.description;
}
@@ -97,6 +96,12 @@ class _ImageFormState extends State {
@override
Widget build(BuildContext context) {
+ final dateFormat = DateFormat.yMd(Localizations.localeOf(context).languageCode);
+
+ if (dateController.text.isEmpty) {
+ dateController.text = dateFormat.format(widget._image.date);
+ }
+
return Form(
key: _form,
child: Column(
@@ -156,14 +161,15 @@ class _ImageFormState extends State {
final pickedDate = await showDatePicker(
context: context,
initialDate: widget._image.date,
- firstDate: DateTime(DateTime.now().year - 10),
+ firstDate: DateTime.now().subtract(const Duration(days: 3000)),
lastDate: DateTime.now(),
);
-
- dateController.text = dateToYYYYMMDD(pickedDate)!;
+ if (pickedDate != null) {
+ dateController.text = dateFormat.format(pickedDate);
+ }
},
onSaved: (newValue) {
- widget._image.date = DateTime.parse(newValue!);
+ widget._image.date = dateFormat.parse(newValue!);
},
validator: (value) {
if (widget._image.id == null && _file == null) {
diff --git a/lib/widgets/measurements/forms.dart b/lib/widgets/measurements/forms.dart
index 41a2ea09..d315d5f3 100644
--- a/lib/widgets/measurements/forms.dart
+++ b/lib/widgets/measurements/forms.dart
@@ -20,7 +20,6 @@ import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:wger/helpers/consts.dart';
-import 'package:wger/helpers/json.dart';
import 'package:wger/l10n/generated/app_localizations.dart';
import 'package:wger/models/measurements/measurement_category.dart';
import 'package:wger/models/measurements/measurement_entry.dart';
@@ -136,7 +135,7 @@ class MeasurementEntryForm extends StatelessWidget {
final _form = GlobalKey();
final int _categoryId;
final _valueController = TextEditingController();
- final _dateController = TextEditingController();
+ final _dateController = TextEditingController(text: '');
final _notesController = TextEditingController();
late final Map _entryData;
@@ -158,18 +157,23 @@ class MeasurementEntryForm extends StatelessWidget {
_entryData['notes'] = entry.notes;
}
- _dateController.text = dateToYYYYMMDD(_entryData['date'])!;
_valueController.text = '';
_notesController.text = _entryData['notes']!;
}
@override
Widget build(BuildContext context) {
+ final dateFormat = DateFormat.yMd(Localizations.localeOf(context).languageCode);
+
final measurementProvider = Provider.of(context, listen: false);
final measurementCategory = measurementProvider.categories.firstWhere(
(category) => category.id == _categoryId,
);
+ if (_dateController.text.isEmpty) {
+ _dateController.text = dateFormat.format(_entryData['date']);
+ }
+
final numberFormat = NumberFormat.decimalPattern(Localizations.localeOf(context).toString());
// If the value is not empty, format it
@@ -213,10 +217,10 @@ class MeasurementEntryForm extends StatelessWidget {
},
);
- _dateController.text = pickedDate == null ? '' : dateToYYYYMMDD(pickedDate)!;
+ _dateController.text = pickedDate == null ? '' : dateFormat.format(pickedDate);
},
onSaved: (newValue) {
- _entryData['date'] = DateTime.parse(newValue!);
+ _entryData['date'] = dateFormat.parse(newValue!);
},
validator: (value) {
if (value!.isEmpty) {
diff --git a/lib/widgets/nutrition/forms.dart b/lib/widgets/nutrition/forms.dart
index 3d7daaa3..ae50a76a 100644
--- a/lib/widgets/nutrition/forms.dart
+++ b/lib/widgets/nutrition/forms.dart
@@ -20,7 +20,6 @@ import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:wger/helpers/consts.dart';
-import 'package:wger/helpers/date.dart';
import 'package:wger/helpers/json.dart';
import 'package:wger/l10n/generated/app_localizations.dart';
import 'package:wger/models/nutrition/ingredient.dart';
@@ -182,18 +181,10 @@ class IngredientFormState extends State {
final _ingredientIdController = TextEditingController();
final _amountController = TextEditingController();
final _dateController = TextEditingController(); // optional
- final _timeController = TextEditingController(); // optional
+ final _timeController = TextEditingController(text: ''); // optional
final _mealItem = MealItem.empty();
var _searchQuery = ''; // copy from typeahead. for filtering suggestions
- @override
- void initState() {
- super.initState();
- final now = DateTime.now();
- _dateController.text = dateToYYYYMMDD(now)!;
- _timeController.text = timeToString(TimeOfDay.fromDateTime(now))!;
- }
-
@override
void dispose() {
_ingredientController.dispose();
@@ -236,6 +227,17 @@ class IngredientFormState extends State {
@override
Widget build(BuildContext context) {
+ final dateFormat = DateFormat.yMd(Localizations.localeOf(context).languageCode);
+ final timeFormat = DateFormat.Hm(Localizations.localeOf(context).languageCode);
+
+ if (_dateController.text.isEmpty) {
+ _dateController.text = dateFormat.format(DateTime.now());
+ }
+
+ if (_timeController.text.isEmpty) {
+ _timeController.text = timeFormat.format(DateTime.now());
+ }
+
final String unit = AppLocalizations.of(context).g;
final queryLower = _searchQuery.toLowerCase();
final suggestions = widget.recent
@@ -311,7 +313,7 @@ class IngredientFormState extends State {
);
if (pickedDate != null) {
- _dateController.text = dateToYYYYMMDD(pickedDate)!;
+ _dateController.text = dateFormat.format(pickedDate);
}
},
onSaved: (newValue) {
@@ -402,9 +404,8 @@ class IngredientFormState extends State {
_form.currentState!.save();
_mealItem.ingredientId = int.parse(_ingredientIdController.text);
- final loggedDate = getDateTimeFromDateAndTime(
- _dateController.text,
- _timeController.text,
+ final loggedDate = dateFormat.parse(
+ '${_dateController.text} ${_timeController.text}',
);
widget.onSave(context, _mealItem, loggedDate);
diff --git a/lib/widgets/routines/gym_mode/navigation.dart b/lib/widgets/routines/gym_mode/navigation.dart
index 29dc30fa..3ff2391c 100644
--- a/lib/widgets/routines/gym_mode/navigation.dart
+++ b/lib/widgets/routines/gym_mode/navigation.dart
@@ -79,14 +79,14 @@ class NavigationHeader extends StatelessWidget {
final PageController _controller;
final String _title;
final Map exercisePages;
- final int ?totalPages;
+ final int? totalPages;
const NavigationHeader(
this._title,
this._controller, {
- this.totalPages,
- required this.exercisePages
- });
+ this.totalPages,
+ required this.exercisePages,
+ });
Widget getDialog(BuildContext context) {
final TextButton? endWorkoutButton = totalPages != null
diff --git a/test/exercises/contribute_exercise_image_test.mocks.dart b/test/exercises/contribute_exercise_image_test.mocks.dart
index 22ab5237..c3685ed3 100644
--- a/test/exercises/contribute_exercise_image_test.mocks.dart
+++ b/test/exercises/contribute_exercise_image_test.mocks.dart
@@ -72,7 +72,10 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
_i2.WgerBaseProvider get baseProvider =>
(super.noSuchMethod(
Invocation.getter(#baseProvider),
- returnValue: _FakeWgerBaseProvider_0(this, Invocation.getter(#baseProvider)),
+ returnValue: _FakeWgerBaseProvider_0(
+ this,
+ Invocation.getter(#baseProvider),
+ ),
)
as _i2.WgerBaseProvider);
@@ -88,23 +91,35 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
String get author =>
(super.noSuchMethod(
Invocation.getter(#author),
- returnValue: _i8.dummyValue(this, Invocation.getter(#author)),
+ returnValue: _i8.dummyValue(
+ this,
+ Invocation.getter(#author),
+ ),
)
as String);
@override
List get alternateNamesEn =>
- (super.noSuchMethod(Invocation.getter(#alternateNamesEn), returnValue: [])
+ (super.noSuchMethod(
+ Invocation.getter(#alternateNamesEn),
+ returnValue: [],
+ )
as List);
@override
List get alternateNamesTrans =>
- (super.noSuchMethod(Invocation.getter(#alternateNamesTrans), returnValue: [])
+ (super.noSuchMethod(
+ Invocation.getter(#alternateNamesTrans),
+ returnValue: [],
+ )
as List);
@override
List<_i9.Equipment> get equipment =>
- (super.noSuchMethod(Invocation.getter(#equipment), returnValue: <_i9.Equipment>[])
+ (super.noSuchMethod(
+ Invocation.getter(#equipment),
+ returnValue: <_i9.Equipment>[],
+ )
as List<_i9.Equipment>);
@override
@@ -121,12 +136,18 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
@override
List<_i10.Muscle> get primaryMuscles =>
- (super.noSuchMethod(Invocation.getter(#primaryMuscles), returnValue: <_i10.Muscle>[])
+ (super.noSuchMethod(
+ Invocation.getter(#primaryMuscles),
+ returnValue: <_i10.Muscle>[],
+ )
as List<_i10.Muscle>);
@override
List<_i10.Muscle> get secondaryMuscles =>
- (super.noSuchMethod(Invocation.getter(#secondaryMuscles), returnValue: <_i10.Muscle>[])
+ (super.noSuchMethod(
+ Invocation.getter(#secondaryMuscles),
+ returnValue: <_i10.Muscle>[],
+ )
as List<_i10.Muscle>);
@override
@@ -141,8 +162,10 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
as _i11.ExerciseSubmissionApi);
@override
- set author(String? value) =>
- super.noSuchMethod(Invocation.setter(#author, value), returnValueForMissingStub: null);
+ set author(String? value) => super.noSuchMethod(
+ Invocation.setter(#author, value),
+ returnValueForMissingStub: null,
+ );
@override
set exerciseNameEn(String? value) => super.noSuchMethod(
@@ -157,8 +180,10 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
);
@override
- set descriptionEn(String? value) =>
- super.noSuchMethod(Invocation.setter(#descriptionEn, value), returnValueForMissingStub: null);
+ set descriptionEn(String? value) => super.noSuchMethod(
+ Invocation.setter(#descriptionEn, value),
+ returnValueForMissingStub: null,
+ );
@override
set descriptionTrans(String? value) => super.noSuchMethod(
@@ -167,8 +192,10 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
);
@override
- set languageEn(_i12.Language? value) =>
- super.noSuchMethod(Invocation.setter(#languageEn, value), returnValueForMissingStub: null);
+ set languageEn(_i12.Language? value) => super.noSuchMethod(
+ Invocation.setter(#languageEn, value),
+ returnValueForMissingStub: null,
+ );
@override
set languageTranslation(_i12.Language? value) => super.noSuchMethod(
@@ -189,12 +216,16 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
);
@override
- set category(_i13.ExerciseCategory? value) =>
- super.noSuchMethod(Invocation.setter(#category, value), returnValueForMissingStub: null);
+ set category(_i13.ExerciseCategory? value) => super.noSuchMethod(
+ Invocation.setter(#category, value),
+ returnValueForMissingStub: null,
+ );
@override
- set equipment(List<_i9.Equipment>? equipment) =>
- super.noSuchMethod(Invocation.setter(#equipment, equipment), returnValueForMissingStub: null);
+ set equipment(List<_i9.Equipment>? equipment) => super.noSuchMethod(
+ Invocation.setter(#equipment, equipment),
+ returnValueForMissingStub: null,
+ );
@override
set variationConnectToExercise(int? value) => super.noSuchMethod(
@@ -225,8 +256,10 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
(super.noSuchMethod(Invocation.getter(#hasListeners), returnValue: false) as bool);
@override
- void clear() =>
- super.noSuchMethod(Invocation.method(#clear, []), returnValueForMissingStub: null);
+ void clear() => super.noSuchMethod(
+ Invocation.method(#clear, []),
+ returnValueForMissingStub: null,
+ );
@override
void addExerciseImages(List<_i7.ExerciseSubmissionImage>? images) => super.noSuchMethod(
@@ -235,8 +268,10 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
);
@override
- void removeImage(String? path) =>
- super.noSuchMethod(Invocation.method(#removeImage, [path]), returnValueForMissingStub: null);
+ void removeImage(String? path) => super.noSuchMethod(
+ Invocation.method(#removeImage, [path]),
+ returnValueForMissingStub: null,
+ );
@override
_i14.Future postExerciseToServer() =>
@@ -284,12 +319,16 @@ class MockAddExerciseProvider extends _i1.Mock implements _i6.AddExerciseProvide
);
@override
- void dispose() =>
- super.noSuchMethod(Invocation.method(#dispose, []), returnValueForMissingStub: null);
+ void dispose() => super.noSuchMethod(
+ Invocation.method(#dispose, []),
+ returnValueForMissingStub: null,
+ );
@override
- void notifyListeners() =>
- super.noSuchMethod(Invocation.method(#notifyListeners, []), returnValueForMissingStub: null);
+ void notifyListeners() => super.noSuchMethod(
+ Invocation.method(#notifyListeners, []),
+ returnValueForMissingStub: null,
+ );
}
/// A class which mocks [WgerBaseProvider].
@@ -317,23 +356,34 @@ class MockWgerBaseProvider extends _i1.Mock implements _i2.WgerBaseProvider {
as _i5.Client);
@override
- set auth(_i4.AuthProvider? value) =>
- super.noSuchMethod(Invocation.setter(#auth, value), returnValueForMissingStub: null);
+ set auth(_i4.AuthProvider? value) => super.noSuchMethod(
+ Invocation.setter(#auth, value),
+ returnValueForMissingStub: null,
+ );
@override
- set client(_i5.Client? value) =>
- super.noSuchMethod(Invocation.setter(#client, value), returnValueForMissingStub: null);
+ set client(_i5.Client? value) => super.noSuchMethod(
+ Invocation.setter(#client, value),
+ returnValueForMissingStub: null,
+ );
@override
Map getDefaultHeaders({bool? includeAuth = false}) =>
(super.noSuchMethod(
- Invocation.method(#getDefaultHeaders, [], {#includeAuth: includeAuth}),
+ Invocation.method(#getDefaultHeaders, [], {
+ #includeAuth: includeAuth,
+ }),
returnValue: {},
)
as Map);
@override
- Uri makeUrl(String? path, {int? id, String? objectMethod, Map? query}) =>
+ Uri makeUrl(
+ String? path, {
+ int? id,
+ String? objectMethod,
+ Map? query,
+ }) =>
(super.noSuchMethod(
Invocation.method(
#makeUrl,
@@ -368,18 +418,28 @@ class MockWgerBaseProvider extends _i1.Mock implements _i2.WgerBaseProvider {
as _i14.Future>);
@override
- _i14.Future