package com.marvinlabs.widget.slideshow; import android.widget.Adapter; /** * A SlideAdapter object acts as a bridge between a SlideShowView and the underlying SlideShow. * The SlideAdapter is responsible for making a View for each slide in the slideshow. * <p/> * Created by Vincent Mimoun-Prat @ MarvinLabs on 28/05/2014. */ public interface SlideShowAdapter extends Adapter { public enum SlideStatus { READY, LOADING, NOT_AVAILABLE; } /** * This function is called when a slide is scheduled to be next to play. You can take this opportunity to do some work to get * that slide ready to play (e.g. download the corresponding image) * * @param position The next slide index */ public void prepareSlide(int position); /** * This function is called when a slide won't be needed anymore (until it gets prepared again). This is an opportunity to release * memory corresponding to the slide that got prepared previously. * * @param position The slide index */ public void discardSlide(int position); /** * Is the slide at that position ready to be played? The slide show will wait until that slide is ready to be played or until the adapter * says the slide will never be ready and thus should skip it. * * @param position The slide index * @return The status of the given slide */ public SlideStatus getSlideStatus(int position); }