/// <summary> /// Reveal the AppShowcaseView. /// </summary> /// <returns><c>true</c> if the view did show something, <c>false</c> otherwise.</returns> public bool Show() { // if we're in single use mode and have already shot our bolt then do nothing if (CurrentShowcase == null || CurrentShowcase.HasFired(Context)) { return(false); } OnShowcaseStarted(); // See if we have started this showcase before, if so then skip to the point we reached before // instead of showing the user everything from the start CurrentShowcase.LastStep(Context); return(ShowNext(AnimateInitialStep)); }
private bool ShowNext(bool animate) { if (CurrentShowcase == null) { return(false); } var next = CurrentShowcase.NextStep(Context); if (next != null) { UpdateShowcaseContent(next); LayoutShowcaseContent(); if (CurrentStep.Delay > 0 && animate) { handler.PostDelayed(() => { ShowCurrentStep(animate); }, CurrentStep.Delay); } else { ShowCurrentStep(animate); } return(true); } else { var parent = Parent as ViewGroup; if (parent != null) { parent.RemoveView(this); } OnShowcaseCompleted(); return(false); } }