Version 1.0.4
Fix handling of kcal amount extraction from json
This commit is contained in:
parent
63e9b471b4
commit
b87c288527
@ -15,6 +15,7 @@ android {
|
|||||||
namespace = "de.swgross.calorimeter"
|
namespace = "de.swgross.calorimeter"
|
||||||
compileSdk = flutter.compileSdkVersion
|
compileSdk = flutter.compileSdkVersion
|
||||||
ndkVersion = flutter.ndkVersion
|
ndkVersion = flutter.ndkVersion
|
||||||
|
|
||||||
dependenciesInfo {
|
dependenciesInfo {
|
||||||
includeInApk = false
|
includeInApk = false
|
||||||
includeInBundle = false
|
includeInBundle = false
|
||||||
@ -33,8 +34,8 @@ android {
|
|||||||
applicationId = "de.swgross.calorimeter"
|
applicationId = "de.swgross.calorimeter"
|
||||||
minSdk = flutter.minSdkVersion
|
minSdk = flutter.minSdkVersion
|
||||||
targetSdk = flutter.targetSdkVersion
|
targetSdk = flutter.targetSdkVersion
|
||||||
versionCode = 3
|
versionCode = 4
|
||||||
versionName = "1.0.3"
|
versionName = "1.0.4"
|
||||||
}
|
}
|
||||||
|
|
||||||
signingConfigs {
|
signingConfigs {
|
||||||
|
@ -170,14 +170,10 @@ class FoodEntryBloc extends Bloc<FoodEvent, GlobalEntryState> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int kcalToDisplay = response.food?.kcalPer100g ?? 0;
|
|
||||||
if (response.food?.kcalPer100gPrepared != 0) {
|
|
||||||
kcalToDisplay = response.food?.kcalPer100gPrepared ?? 0;
|
|
||||||
}
|
|
||||||
var newEntryFinishedWaiting = FoodEntryState(
|
var newEntryFinishedWaiting = FoodEntryState(
|
||||||
name: response.food?.name ?? "",
|
name: response.food?.name ?? "",
|
||||||
mass: response.food?.mass ?? 0,
|
mass: response.food?.mass ?? 0,
|
||||||
kcalPer100: kcalToDisplay,
|
kcalPer100: response.food?.kcalPer100g ?? 0,
|
||||||
waitingForNetwork: false,
|
waitingForNetwork: false,
|
||||||
isSelected: false,
|
isSelected: false,
|
||||||
);
|
);
|
||||||
|
@ -47,35 +47,50 @@ class FoodFactLookupClient {
|
|||||||
class FoodFactModel {
|
class FoodFactModel {
|
||||||
final String name;
|
final String name;
|
||||||
final int kcalPer100g;
|
final int kcalPer100g;
|
||||||
final int kcalPer100gPrepared;
|
|
||||||
final int mass;
|
final int mass;
|
||||||
|
|
||||||
FoodFactModel({
|
FoodFactModel({
|
||||||
required this.name,
|
required this.name,
|
||||||
required this.mass,
|
required this.mass,
|
||||||
required this.kcalPer100g,
|
required this.kcalPer100g,
|
||||||
required this.kcalPer100gPrepared,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
factory FoodFactModel.fromJson(Map<String, dynamic> json) {
|
factory FoodFactModel.fromJson(Map<String, dynamic> json) {
|
||||||
int kcalPer100g = json['product']['nutriments']['energy-kcal_100g'] ?? 0;
|
int kcalPer100gForModel = 0;
|
||||||
int kcalPer100gPrepared =
|
int kcalPer100g = 0;
|
||||||
json['product']['nutriments']['energy-kcal_prepared_100g'] ?? 0;
|
int kcalPer100gPrepared = 0;
|
||||||
|
|
||||||
String quantityString = json['product']['product_quantity'] ?? "0";
|
|
||||||
int quantity;
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
quantity = int.parse(quantityString);
|
kcalPer100g = (json['product']['nutriments']['energy-kcal_100g'] as num)
|
||||||
|
.toDouble()
|
||||||
|
.ceil();
|
||||||
|
kcalPer100gForModel = kcalPer100g;
|
||||||
|
} catch (e) {
|
||||||
|
try {
|
||||||
|
kcalPer100gPrepared =
|
||||||
|
(json['product']['nutriments']['energy-kcal_prepared_100g'] as num)
|
||||||
|
.toDouble()
|
||||||
|
.ceil();
|
||||||
|
kcalPer100gForModel = kcalPer100gPrepared;
|
||||||
|
} catch (e) {
|
||||||
|
kcalPer100gForModel = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
String quantityString = json['product']['product_quantity'] ?? "0";
|
||||||
|
double quantity;
|
||||||
|
|
||||||
|
try {
|
||||||
|
quantity = double.parse(quantityString);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
quantity = 0;
|
quantity = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FoodFactModel(
|
return FoodFactModel(
|
||||||
name: json['product']['product_name'] ?? "",
|
name: json['product']['product_name'] ?? "",
|
||||||
kcalPer100g: kcalPer100g,
|
kcalPer100g: kcalPer100gForModel,
|
||||||
kcalPer100gPrepared: kcalPer100gPrepared,
|
mass: quantity.ceil(),
|
||||||
mass: quantity);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user