DEFAULT_RESISTANCE

const val DEFAULT_RESISTANCE: Float = 4.0f

Ours, and the number that decides how strong the whole effect feels — which took a space-time diagram to find, after two other knobs had been turned for it.

It is how much finger travel past the end spends the spring, as a multiple of the viewport. At 1 the limit is maxOffset of a viewport of over-travel — 132 px on a phone — and a finger moving at six thousand pixels a second covers 96 of those in one frame. So any flick that ended past the boundary was at the limit within two frames, and every report that the effect was too strong was about this, not about the throw: the fling's own curve is only consulted for whatever the drag has not already spent, and the drag had spent all of it.

OverscrollFlingTimelineTest is what showed it. The boundary sat at 18 px of a possible 18 for the whole time the finger was past the stop, at both of the speeds being compared.

At 4 the same 132 px of over-travel spends a quarter of the spring and the limit needs about 530, which is a deliberate push rather than the tail of a flick.