@@ -62,20 +62,20 @@ class ShowcaseView {
6262 /// options like auto-play, animation, and many more.
6363 ShowcaseView .register ({
6464 this .scope = Constants .defaultScope,
65- this .onFinish,
6665 this .onStart,
66+ this .onFinish,
6767 this .onComplete,
6868 this .onDismiss,
69+ this .enableShowcase = true ,
6970 this .autoPlay = false ,
7071 this .autoPlayDelay = Constants .defaultAutoPlayDelay,
7172 this .enableAutoPlayLock = false ,
72- this .blurValue = 0 ,
73- this .scrollDuration = Constants .defaultScrollDuration,
74- this .disableMovingAnimation = false ,
75- this .disableScaleAnimation = false ,
7673 this .enableAutoScroll = false ,
74+ this .scrollDuration = Constants .defaultScrollDuration,
7775 this .disableBarrierInteraction = false ,
78- this .enableShowcase = true ,
76+ this .disableScaleAnimation = false ,
77+ this .disableMovingAnimation = false ,
78+ this .blurValue = 0 ,
7979 this .globalTooltipActionConfig,
8080 this .globalTooltipActions,
8181 this .globalFloatingActionWidget,
@@ -263,10 +263,6 @@ class ShowcaseView {
263263 if (! _mounted) return ;
264264
265265 _cleanupAfterSteps ();
266- OverlayManager .instance.update (
267- show: isShowcaseRunning,
268- scope: scope,
269- );
270266 }
271267
272268 /// Cleans up resources when unregistering the showcase view.
@@ -321,7 +317,6 @@ class ShowcaseView {
321317 _ids = widgetIds;
322318 _activeWidgetId = 0 ;
323319 _onStart ();
324- // OverlayManager.instance.update(show: isShowcaseRunning, scope: scope);
325320 } else {
326321 Future .delayed (delay, () => _startShowcase (Duration .zero, widgetIds));
327322 }
@@ -344,12 +339,13 @@ class ShowcaseView {
344339 (_) {
345340 if (! _mounted) return ;
346341 _activeWidgetId = id;
347- _onStart ();
342+
348343 if (_activeWidgetId! >= _ids! .length) {
349344 _cleanupAfterSteps ();
350345 onFinish? .call ();
346+ } else {
347+ _onStart ();
351348 }
352- OverlayManager .instance.update (show: isShowcaseRunning, scope: scope);
353349 },
354350 );
355351 }
@@ -418,7 +414,7 @@ class ShowcaseView {
418414 await firstController? .scrollIntoView ();
419415 } else {
420416 for (var i = 0 ; i < controllerLength; i++ ) {
421- controllers[i].startShowcase (shouldUpdateOverlay: i == 0 );
417+ controllers[i].setupShowcase (shouldUpdateOverlay: i == 0 );
422418 }
423419 }
424420 }
@@ -468,6 +464,7 @@ class ShowcaseView {
468464 void _cleanupAfterSteps () {
469465 _ids = _activeWidgetId = null ;
470466 _cancelTimer ();
467+ OverlayManager .instance.update (show: isShowcaseRunning, scope: scope);
471468 }
472469
473470 @override
0 commit comments