getAvailableOverlays static method
- void onCompleteDownload(
- GemError error
Get a list of available SDK overlays.
Parameters
- IN listener Progress listener. If not all overlays info is available onboard, a notification will be sent when it will be downloaded.
Returns
- Pair <OverlayCollection, bool>. If pair.second == false, some overlay information is not available and will be downloaded when network is available.
Throws
- An exception if it fails
Implementation
static Pair<OverlayCollection, bool> getAvailableOverlays({
final void Function(GemError error)? onCompleteDownload,
}) {
EventDrivenProgressListener? listener;
if (onCompleteDownload != null) {
listener = EventDrivenProgressListener();
listener.registerOnCompleteWithDataCallback((
final int err,
final String hint,
final Map<dynamic, dynamic> json,
) {
GemKitPlatform.instance.unregisterEventHandler(listener!.id);
onCompleteDownload(GemErrorExtension.fromCode(err));
});
GemKitPlatform.instance.registerEventHandler(listener.id, listener);
}
final OperationResult resultString = objectMethod(
0,
'OverlayService',
'getAvailableOverlays',
args: (listener != null) ? listener.id : 0,
);
final Pair<OverlayCollection, bool> result = Pair<OverlayCollection, bool>(
OverlayCollection.init(resultString['result']['first']),
resultString['result']['second'],
);
if (onCompleteDownload != null && result.second) {
onCompleteDownload(GemError.success);
}
return result;
}