RecyclerView анимация элемента, onAnimationFinished, но не onAnimationStarted. Зачем?

Я назначил myRecyclerView с помощью itemAnimator как itemAnimator ниже (в Kotlin), чтобы я мог прослушивать события начала и окончания анимации.

  myRecyclerView.itemAnimator = object : DefaultItemAnimator() { override fun onAnimationFinished(viewHolder: RecyclerView.ViewHolder?) { Log.d("Testing", "I am finished") } override fun onAnimationStarted(viewHolder: RecyclerView.ViewHolder?) { Log.d("Testing", "I am started") } } 

Я использую DiffUtil для отправки изменений. Анимация работает отлично. Но onAnimationFinished вызов onAnimationFinished получает вызов, а не onAnimationStarted . Я что-то пропустил?

ItemAnimator#onAnimationStarted и ItemAnimator#onAnimationFinished ItemAnimator#dispatchAnimationStarted и ItemAnimator#dispatchAnimationFinished соответственно.

Из документа ItemAnimator#dispatchAnimationStarted :

Метод, который будет вызываться подклассами при запуске анимации.

ItemAnimator исходный код подкласса SimpleItemAnimator и его подкласс DefaultItemAnimator , я обнаружил, что ItemAnimator#dispatchAnimationStarted не был вызван нигде в любом из подклассов. Однако ItemAnimator#dispatchAnimationFinished вызывается из подклассов.

И именно поэтому вы не получили обратного вызова для своей реализации onAnimationStarted .

Тем не менее, я не уверен, намеренно ли это упущено или ошибка в структуре, и я не мог найти никаких ресурсов об этом.