WT 1.1.11+4 bug fixes
This commit is contained in:
@@ -9,6 +9,14 @@ part 'exercise_control_event.dart';
|
||||
|
||||
part 'exercise_control_state.dart';
|
||||
|
||||
enum ExerciseTypeLocal { oneRepMax, endurance }
|
||||
|
||||
extension ExerciseTypeLocalExt on ExerciseTypeLocal {
|
||||
String toStr() => this.toString().split(".").last;
|
||||
bool equalsTo(ExerciseTypeLocal type) => this.toString() == type.toString();
|
||||
bool equalsStringTo(String type) => this.toStr() == type;
|
||||
}
|
||||
|
||||
class ExerciseControlBloc extends Bloc<ExerciseControlEvent, ExerciseControlState> {
|
||||
final TimerBloc timerBloc;
|
||||
final ExerciseRepository exerciseRepository;
|
||||
@@ -26,16 +34,25 @@ class ExerciseControlBloc extends Bloc<ExerciseControlEvent, ExerciseControlStat
|
||||
double? firstUnitQuantity; // unit quantity of the first test
|
||||
|
||||
double scrollOffset = 0;
|
||||
late ExerciseTypeLocal exerciseTypeLocal;
|
||||
|
||||
@override
|
||||
ExerciseControlBloc({required this.exerciseRepository, required this.readonly, required this.timerBloc})
|
||||
: super(ExerciseControlInitial()) {
|
||||
print("Exercise ${exerciseRepository.exercise!.toJson()}");
|
||||
|
||||
exerciseTypeLocal = ExerciseTypeLocal.oneRepMax;
|
||||
oneRepQuantity = exerciseRepository.exercise!.quantity!;
|
||||
if (oneRepQuantity > 25) {
|
||||
exerciseTypeLocal = ExerciseTypeLocal.endurance;
|
||||
}
|
||||
oneRepUnitQuantity = exerciseRepository.exercise!.unitQuantity!;
|
||||
initialRM = this.calculate1RM(percent75: false);
|
||||
unitQuantity = this.calculate1RM(percent75: true).roundToDouble();
|
||||
quantity = 12;
|
||||
if (oneRepQuantity > 25) {
|
||||
quantity = 35;
|
||||
}
|
||||
origQuantity = quantity;
|
||||
|
||||
exerciseRepository.setUnitQuantity(unitQuantity);
|
||||
@@ -47,11 +64,12 @@ class ExerciseControlBloc extends Bloc<ExerciseControlEvent, ExerciseControlStat
|
||||
@override
|
||||
Stream<ExerciseControlState> mapEventToState(ExerciseControlEvent event) async* {
|
||||
try {
|
||||
if (event is ExerciseControlLoad) {
|
||||
/* if (event is ExerciseControlLoad) {
|
||||
yield ExerciseControlLoading();
|
||||
step = 1;
|
||||
yield ExerciseControlReady();
|
||||
} else if (event is ExerciseControlQuantityChange) {
|
||||
} else */
|
||||
if (event is ExerciseControlQuantityChange) {
|
||||
//yield ExerciseControlLoading();
|
||||
if (event.step == step) {
|
||||
exerciseRepository.setQuantity(event.quantity);
|
||||
@@ -60,7 +78,7 @@ class ExerciseControlBloc extends Bloc<ExerciseControlEvent, ExerciseControlStat
|
||||
//yield ExerciseControlReady();
|
||||
} else if (event is ExerciseControlUnitQuantityChange) {
|
||||
yield ExerciseControlLoading();
|
||||
|
||||
print("event step ${event.step} quantity ${event.quantity}");
|
||||
if (event.step == step) {
|
||||
this.unitQuantity = event.quantity;
|
||||
exerciseRepository.setUnitQuantity(event.quantity);
|
||||
@@ -108,7 +126,12 @@ class ExerciseControlBloc extends Bloc<ExerciseControlEvent, ExerciseControlStat
|
||||
print("Weight: $weight repeat: $repeat, $rmWendler, Oconner: $rmOconner");
|
||||
double average = (rmWendler + rmOconner) / 2;
|
||||
|
||||
return percent75 ? average * 0.75 : average;
|
||||
double serieQuantity = 0.75;
|
||||
if (exerciseTypeLocal.equalsTo(ExerciseTypeLocal.endurance)) {
|
||||
serieQuantity = 0.5;
|
||||
}
|
||||
|
||||
return percent75 ? average * serieQuantity : average;
|
||||
}
|
||||
|
||||
int calculateQuantityByUnitQuantity() {
|
||||
|
||||
Reference in New Issue
Block a user