Class ShadowEdgeEffect

    • Constructor Detail

      • ShadowEdgeEffect

        public ShadowEdgeEffect()
    • Method Detail

      • getCurrentEdgeEffectBehavior

        @Implementation(minSdk=31)
        protected int getCurrentEdgeEffectBehavior()
        Disable edge effects for Android S and above. The problem with edge effects in S+ is that ScrollView will intercept/swallow all touch events while edge effects are still running (in ScrollView.onInterceptTouchEvent(MotionEvent). EdgeEffect completion depends on a free-running clock and draw traversals being continuously performed. So for Robolectric to ensure that edge effects are complete, it has to bump the uptime and then re-run draw traversals any time an edge effect starts.

        Because edge effects are not critical for unit testing, it is simpler to disable them.