Reveal extends Visibility { @Override @Nullable public Animator onAppear( @NonNull final ViewGroup sceneRoot, @NonNull final View view, @Nullable final TransitionValues startValues, @Nullable final TransitionValues endValues ) { calculateTransitionProperties(view); final Animator animator = createAnimatorFromInfo(view); if (animator == null) { return null; } animator.addListener(new TransitionAnimatorListener(view, startVisibility, endVisibility)); view.setVisibility(appearVisibility); return animator; } Reveal();  Reveal(@RevealMode final int mode);  Reveal(@NonNull final Context context, @Nullable final AttributeSet attrs); @FloatRange(from = 0) static float calculateRadius(@NonNull final View view); @FloatRange(from = 0) static float calculateRadius(@FloatRange(from = 0) final float width, @FloatRange(from = 0) final float height); @NonNull @Size(2) static float[] resolveCenterPosition(@NonNull final View view); @NonNull @Size(2) static float[] resolveCenterPosition(
			@NonNull final View view,
			@FloatRange(from = 0, to = 1) final float centerXFraction,
			@FloatRange(from = 0, to = 1) final float centerYFraction
	); @NonNull @Size(2) static float[] resolveCenter(@NonNull final View view); @NonNull @Size(2) static float[] resolveCenter(
			@NonNull final View view,
			@FloatRange(from = 0, to = 1) final float centerXFraction,
			@FloatRange(from = 0, to = 1) final float centerYFraction
	); @UiThread @Nullable static Animator createAnimator(
			@NonNull final View view,
			@FloatRange(from = 0) final float radiusStart,
			@FloatRange(from = 0) final float radiusEnd
	); @UiThread @Nullable static Animator createAnimator(
			@NonNull final View view,
			@IntRange(from = 0) final int centerX,
			@IntRange(from = 0) final int centerY,
			@FloatRange(from = 0) final float radiusStart,
			@FloatRange(from = 0) final float radiusEnd
	); @Override final void setMode(@RevealMode final int mode); @RevealMode final int getMode(); void setStartRadius(@Nullable final Float radius); @Nullable Float getStartRadius(); void setEndRadius(@Nullable final Float radius); @Nullable Float getEndRadius(); void setStartVisibility(final int visibility); int getStartVisibility(); void setEndVisibility(final int visibility); int getEndVisibility(); void setAppearVisibility(final int visibility); int getAppearVisibility(); void setDisappearVisibility(final int visibility); int getDisappearVisibility(); void setCenterGravity(@Nullable final Integer gravity); @Nullable Integer getCenterGravity(); void setCenterHorizontalOffset(final int offset); int getCenterHorizontalOffset(); void setCenterVerticalOffset(final int offset); int getCenterVerticalOffset(); void setCenterX(@Nullable final Float centerX); @Nullable Float getCenterX(); void setCenterY(@Nullable final Float centerY); @Nullable Float getCenterY(); void setCenterXFraction(@FloatRange(from = 0, to = 1) final float fractionX); @FloatRange(from = 0, to = 1) float getCenterXFraction(); void setCenterYFraction(@FloatRange(from = 0, to = 1) final float fractionY); @FloatRange(from = 0, to = 1) float getCenterYFraction(); @Override @Nullable Animator onAppear(
			@NonNull final ViewGroup sceneRoot,
			@NonNull final View view,
			@Nullable final TransitionValues startValues,
			@Nullable final TransitionValues endValues
	); @Override @Nullable Animator onDisappear(
			@NonNull final ViewGroup sceneRoot,
			@NonNull final View view,
			@Nullable final TransitionValues startValues,
			@Nullable final TransitionValues endValues
	); static final int REVEAL; static final int CONCEAL; static final TimeInterpolator INTERPOLATOR; }
@Test public void testOnAppear() { final View view = createViewAttachedToWindow(); final Reveal reveal = new Reveal(); assertThat(reveal.onAppear(new FrameLayout(context), view, null, null), is(notNullValue())); }
@Test public void testOnAppearWithViewNotAttachedToWindow() { final View view = createViewNotAttachedToWindow(); final Reveal reveal = new Reveal(); assertThat(reveal.onAppear(new FrameLayout(context), view, null, null), is(nullValue())); }