package com.bumptech.glide; import com.bumptech.glide.request.transition.TransitionFactory; import com.bumptech.glide.request.transition.ViewPropertyTransition; /** * Implementation of {@link TransitionOptions} that exposes only generic methods that can be applied * to any resource type. * * @param <TranscodeType> The type of the resource that will be displayed. */ @SuppressWarnings("PMD.UseUtilityClass") public final class GenericTransitionOptions<TranscodeType> extends TransitionOptions<GenericTransitionOptions<TranscodeType>, TranscodeType> { /** * Removes any existing animation put on the builder. * * @see GenericTransitionOptions#dontTransition() */ public static <TranscodeType> GenericTransitionOptions<TranscodeType> withNoTransition() { return new GenericTransitionOptions<TranscodeType>().dontTransition(); } /** * Returns a typed {@link GenericTransitionOptions} object that uses the given view animation. * * @see GenericTransitionOptions#transition(int) */ public static <TranscodeType> GenericTransitionOptions<TranscodeType> with( int viewAnimationId) { return new GenericTransitionOptions<TranscodeType>().transition(viewAnimationId); } /** * Returns a typed {@link GenericTransitionOptions} object that uses the given animator. * * @see GenericTransitionOptions#transition(ViewPropertyTransition.Animator) */ public static <TranscodeType> GenericTransitionOptions<TranscodeType> with( ViewPropertyTransition.Animator animator) { return new GenericTransitionOptions<TranscodeType>().transition(animator); } /** * Returns a typed {@link GenericTransitionOptions} object that uses the given transition factory. * * @see GenericTransitionOptions#transition(TransitionFactory) */ public static <TranscodeType> GenericTransitionOptions<TranscodeType> with( TransitionFactory<? super TranscodeType> transitionFactory) { return new GenericTransitionOptions<TranscodeType>().transition(transitionFactory); } }