confirmReport static method
Provides positive feedback (upvote) for a report.
Confirms that a reported event is accurate and still in effect, increasing the report's score value in OverlayItem.previewData.
Each user can confirm or deny a report only once. The operation executes
asynchronously with result delivered via onComplete callback.
Parameters
item: The social report OverlayItem to confirm. Must be a valid social report overlay item obtained from map selection, search, or alarm notification.onComplete: Callback invoked when operation completes or fails. Called with:- GemError.success when confirmation is successfully recorded.
- GemError.invalidInput if
itemis not a social report overlay item or not from alarm notification. - GemError.accessDenied if user has already confirmed or denied this report.
Returns
EventHandlerif operation was successfully initiated (use with cancel).nullif operation could not be started.
See also:
- denyReport - Provides negative feedback for inaccurate reports.
- addComment - Adds contextual comment to report.
- AlarmService - Provides notifications about incoming social reports.
Implementation
static EventHandler? confirmReport(
final OverlayItem item, {
final void Function(GemError error)? onComplete,
}) {
final EventDrivenProgressListener progListener =
EventDrivenProgressListener();
GemKitPlatform.instance.registerEventHandler(progListener.id, progListener);
progListener.registerOnCompleteWithData((final int err, _, _) {
GemKitPlatform.instance.unregisterEventHandler(progListener.id);
onComplete?.call(GemErrorExtension.fromCode(err));
});
final OperationResult result = staticMethod(
'SocialOverlay',
'confirmReport',
args: <String, dynamic>{
'item': item.pointerId,
'listener': progListener.id,
},
);
final GemError errorCode = GemErrorExtension.fromCode(result['result']);
if (errorCode != GemError.scheduled) {
GemKitPlatform.instance.unregisterEventHandler(progListener.id);
onComplete?.call(errorCode);
return null;
}
return progListener;
}