handlerMethodCalls method
Implementation
@visibleForTesting
Future<dynamic> handlerMethodCalls(MethodCall call) async {
switch (call.method) {
case 'onSurveyDisplayed':
if (onSurveyDisplayedListener == null) {
return false;
}
if (call.arguments == null) {
return false;
}
if (!call.arguments.containsKey('surveyId')) {
return false;
}
String? surveyId = call.arguments['surveyId'];
onSurveyDisplayedListener!(surveyId);
return true;
case 'onQuestionAnswered':
if (onQuestionAnsweredListener == null) {
return false;
}
if (call.arguments == null) {
return false;
}
if (!call.arguments.containsKey('surveyId') ||
!call.arguments.containsKey('questionId') ||
!call.arguments.containsKey('answer')) {
return false;
}
String? surveyId = call.arguments['surveyId'];
num? questionId = call.arguments['questionId'];
SurvicateAnswerModel answer =
SurvicateAnswerModel.fromMap(call.arguments['answer']);
onQuestionAnsweredListener!(surveyId, questionId, answer);
return true;
case 'onSurveyClosed':
if (onSurveyClosedListener == null) {
return false;
}
if (call.arguments == null) {
return false;
}
if (!call.arguments.containsKey('surveyId')) {
return false;
}
String? surveyId = call.arguments['surveyId'];
onSurveyClosedListener!(surveyId);
return true;
case 'onSurveyCompleted':
if (onSurveyCompletedListener == null) {
return false;
}
if (call.arguments == null) {
return false;
}
if (!call.arguments.containsKey('surveyId')) {
return false;
}
String? surveyId = call.arguments['surveyId'];
onSurveyCompletedListener!(surveyId);
return true;
default:
throw MissingPluginException();
}
}