init method
void
init({
- AtSyncUIOverlay? atSyncUIOverlay = AtSyncUIOverlay.dialog,
- AtSyncUIStyle? style,
- bool? showTextWhileSyncing,
- Function? onSuccessCallback,
- Function? onErrorCallback,
- Function? syncProgressCallback,
- Function? onAtSignRemoved,
- Color? primaryColor,
- Color? backgroundColor,
- Color? labelColor,
- bool showRemoveAtsignOption = false,
- bool startTimer = true,
appNavigator
is used for navigation purpose
atSyncUIOverlay
decides whether dialog or snackbar to be shown while syncing
style
if material or cupertino style to be applied
showTextWhileSyncing
should text be shown while syncing
onSuccessCallback
called after successful sync
onErrorCallback
called after failure in sync
syncProgressCallback
Notifies the registered listener for the SyncProgress
primaryColor
,backgroundColor
, labelColor
will be used while displaying overlay/snackbar.
if showRemoveAtsignOption
is true, onAtSignRemoved
will be called if atSign is removed successfully from device
Implementation
void init({
required GlobalKey<NavigatorState> appNavigator,
AtSyncUIOverlay? atSyncUIOverlay = AtSyncUIOverlay.dialog,
AtSyncUIStyle? style,
bool? showTextWhileSyncing,
Function? onSuccessCallback,
Function? onErrorCallback,
Function? syncProgressCallback,
Function? onAtSignRemoved,
Color? primaryColor,
Color? backgroundColor,
Color? labelColor,
bool showRemoveAtsignOption = false,
bool startTimer = true,
}) {
this.onSuccessCallback = onSuccessCallback;
this.onErrorCallback = onErrorCallback;
this.syncProgressCallback = syncProgressCallback;
this.onAtSignRemoved = onAtSignRemoved;
AtSyncUI.instance.setAppNavigatorKey(appNavigator);
/// change status to notStarted
_atSyncUIListenerSink.add(AtSyncUIStatus.notStarted);
if (style != null) {
atSyncUIStyle = style;
}
if (atSyncUIOverlay != null) {
this.atSyncUIOverlay = atSyncUIOverlay;
}
this.showTextWhileSyncing = showTextWhileSyncing ?? true;
this.showRemoveAtsignOption = showRemoveAtsignOption;
AtSyncUI.instance.configTheme(
primaryColor: primaryColor,
backgroundColor: backgroundColor,
labelColor: labelColor,
style: style,
);
var _atSyncUIController = AtSyncUIController();
AtSyncUI.instance.setupController(controller: _atSyncUIController);
syncService = AtClientManager.getInstance().atClient.syncService;
syncService!.addProgressListener(this);
// ignore: deprecated_member_use
syncService!.setOnDone(_onSuccessCallback);
// ignore: deprecated_member_use_from_same_package
sync(atSyncUIOverlay: atSyncUIOverlay!, startTimer: startTimer);
}