package com.reactnativenavigation.utils;
import android.view.View;
import com.reactnativenavigation.views.ContentView;
public class ViewVisibilityChecker {
public static boolean check(View view) {
final int top = getTopRelativeToContentView(view);
final int scrollYInScreen = getScrollYInScreen(view);
return top + view.getHeight() > scrollYInScreen;
}
private static int getTopRelativeToContentView(View view) {
return view instanceof ContentView ? 0 : view.getTop() + getTopRelativeToContentView((View) view.getParent());
}
private static int getScrollYInScreen(View view) {
return view instanceof ContentView ? 0 : view.getScrollY() + getScrollYInScreen((View) view.getParent());
}
}