Error handling improvements

This commit is contained in:
Yegor Vialov
2018-11-04 18:20:06 +02:00
parent 73b32b30a8
commit e24c47b041
3 changed files with 82 additions and 5 deletions

View File

@ -26,6 +26,7 @@ part 'entity_class/light_entity.class.dart';
part 'entity_class/select_entity.class.dart';
part 'entity_class/other_entity.class.dart';
part 'entity_class/slider_entity.dart';
part 'entity_class/media_player_entity.class.dart';
part 'entity_widgets/badge.dart';
part 'entity_widgets/model_widgets.dart';
part 'entity_widgets/default_entity_container.dart';
@ -267,10 +268,19 @@ class _MainPageState extends State<MainPage> with WidgetsBindingObserver {
setState(() {
_isLoading = 2;
});
_showErrorSnackBar(
message: e != null ? e["errorMessage"] ?? "$e" : "Unknown error",
errorCode: e["errorCode"] != null ? e["errorCode"] : 99
);
if (e is Error) {
TheLogger.error(e.toString());
TheLogger.error("${e.stackTrace}");
_showErrorSnackBar(
message: "There was some error",
errorCode: 13
);
} else {
_showErrorSnackBar(
message: e != null ? e["errorMessage"] ?? "$e" : "Unknown error",
errorCode: e["errorCode"] != null ? e["errorCode"] : 99
);
}
}
void _callService(String domain, String service, String entityId, Map<String, dynamic> additionalParams) {
@ -477,6 +487,17 @@ class _MainPageState extends State<MainPage> with WidgetsBindingObserver {
);
break;
}
default: {
action = SnackBarAction(
label: "Reload",
onPressed: () {
_scaffoldKey?.currentState?.hideCurrentSnackBar();
_refreshData();
},
);
break;
}
}
_scaffoldKey.currentState.hideCurrentSnackBar();
_scaffoldKey.currentState.showSnackBar(