in shimmer/src/main/java/com/facebook/shimmer/ShimmerFrameLayout.java [151:168]
protected void onVisibilityChanged(View changedView, int visibility) {
super.onVisibilityChanged(changedView, visibility);
// View's constructor directly invokes this method, in which case no fields on
// this class have been fully initialized yet.
if (mShimmerDrawable == null) {
return;
}
if (visibility != View.VISIBLE) {
// GONE or INVISIBLE
if (isShimmerStarted()) {
stopShimmer();
mStoppedShimmerBecauseVisibility = true;
}
} else if (mStoppedShimmerBecauseVisibility) {
mShimmerDrawable.maybeStartShimmer();
mStoppedShimmerBecauseVisibility = false;
}
}