AppNotIdleException из-за AnimatedVectorDrawableCompat - PullRequest
0 голосов
/ 17 февраля 2019

У меня есть следующий нарисованный анимированный вектор:

<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/ic_ventilation" >
    <target
        android:name="fan_group"
        android:animation="@animator/fan_rotation_animation" />
</animated-vector>

Он просто анимировал вентилятор с помощью анимации вращения.

Я устанавливаю этот значок в ImageView и управляю запуском/ остановить анимацию, вызывая следующий метод (только в Lollipop и high):

public void setStopped(boolean stopped) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        this.setImageResource(R.drawable.ic_ventilation_animated);
        Drawable drawable = this.getDrawable();
        if (drawable instanceof AnimatedVectorDrawableCompat) {
            if(stopped) {
                ((AnimatedVectorDrawableCompat) drawable).stop();
            } else {
                ((AnimatedVectorDrawableCompat) drawable).start();
            }
        }
    }
}

Но я получаю следующее исключение:

android.support.test.espresso.AppNotIdleException: Looped for 3654 iterations over 60 SECONDS. The following Idle Conditions failed .
at dalvik.system.VMStack.getThreadStackTrace(Native Method)
at java.lang.Thread.getStackTrace(Thread.java:580)
at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:88)
at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:51)
at android.support.test.espresso.ViewInteraction.waitForAndHandleInteractionResults(ViewInteraction.java:312)
at android.support.test.espresso.ViewInteraction.desugaredPerform(ViewInteraction.java:173)
at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:114)

Я отключил анимацию в меню параметров разработчика,как объяснил здесь .Когда анимация отключена, я вижу, что значок больше не анимируется после вызова ((AnimatedVectorDrawableCompat) drawable).start();.Однако возникает исключение.

Есть ли проблема при вызове метода ((AnimatedVectorDrawableCompat) drawable).start();, даже если анимация отключена?Как я могу это исправить, чтобы я мог выполнять свои тесты, не заботясь об анимации?

...