fun navigate()

in slideshow/src/main/java/com/zachklipp/richtext/ui/slideshow/Slideshow.kt [324:340]


  fun navigate(forward: Boolean) {
    val interceptors = navigationInterceptorsBySlide.getOrElse(requestedSlide, ::mutableListOf)

    // Iterate reversed so that later interceptors can intercept from earlier ones.
    for (i in interceptors.indices.reversed()) {
      val interceptor = interceptors[i]
      if (interceptor.invoke(forward)) return
    }

    requestedSlide = if (forward) {
      navigatedForward = true
      min(requestedSlide + 1, slides.size)
    } else {
      navigatedForward = false
      max(requestedSlide - 1, 0)
    }
  }