La différenciation entre l'utilisateur de faire défiler et d'programatic changement de page dans le ViewPager

J'ai un android.support.v4.view.ViewPager dans mon application, et je voudrais faire la distinction entre une par programme initié par défilement fluide et une initiative de l'utilisateur touche de défilement.

J'ai eu un coup d'oeil à ViewPager.OnPageChangeListener et je crois que la réponse réside peut-être là, mais je ne suis pas sûr de savoir comment.