// Path: app/src/main/java/com/bedrock/padder/model/tutorial/TimingListener.java
// public static void listen(Timing timing) {
//     if (timings.indexOf(timing) >= 0) {
//         timings.remove(timing);
//         Log.e("broadcast", "duplicate: listener removed for " + timing.toString());
//     }
//     timings.add(timing);
//     Log.i("broadcast", "listener added for " + timing.toString());
// }
// 
// Path: app/src/main/java/com/bedrock/padder/model/tutorial/Tutorial.java
// public static Animation ANIMATION_FADE = new AlphaAnimation(1, 0);
// 
// Path: app/src/main/java/com/bedrock/padder/model/tutorial/Tutorial.java
// public static int TUTORIAL_ANIMATION_DURATION = 400; // 400 ~ 500 seems legit


import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.animation.Animation;
import static com.bedrock.padder.model.tutorial.TimingListener.listen;
import static com.bedrock.padder.model.tutorial.Tutorial.ANIMATION_FADE;
import static com.bedrock.padder.model.tutorial.Tutorial.TUTORIAL_ANIMATION_DURATION;
        }

        @Override
        public void onAnimationRepeat(Animation anim) {
        }
    };

    TutorialView(View view, Timing timing) {
        this.view = view;
        this.timing = timing;
    }

    void setAnimation(Animation animation) {
        this.animation = animation;
        animation.setAnimationListener(listener);
    }

    public void setDuration(int duration) {
        animation.setDuration(duration);
    }

    public void start() {
        if (view == null) {
            Log.e("TutorialView", "View is null");
            return;
        }
        if (animation == null) {
            Log.e("TutorialView", "Animation is not initialized");
            return;
        }
// Path: app/src/main/java/com/bedrock/padder/model/tutorial/TimingListener.java
// public static void listen(Timing timing) {
//     if (timings.indexOf(timing) >= 0) {
//         timings.remove(timing);
//         Log.e("broadcast", "duplicate: listener removed for " + timing.toString());
//     }
//     timings.add(timing);
//     Log.i("broadcast", "listener added for " + timing.toString());
// }
// 
// Path: app/src/main/java/com/bedrock/padder/model/tutorial/Tutorial.java
// public static Animation ANIMATION_FADE = new AlphaAnimation(1, 0);
// 
// Path: app/src/main/java/com/bedrock/padder/model/tutorial/Tutorial.java
// public static int TUTORIAL_ANIMATION_DURATION = 400; // 400 ~ 500 seems legit


// Path: app/src/main/java/com/bedrock/padder/model/tutorial/TutorialView.java
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.animation.Animation;
import static com.bedrock.padder.model.tutorial.TimingListener.listen;
import static com.bedrock.padder.model.tutorial.Tutorial.ANIMATION_FADE;
import static com.bedrock.padder.model.tutorial.Tutorial.TUTORIAL_ANIMATION_DURATION;

        }

        @Override
        public void onAnimationRepeat(Animation anim) {
        }
    };

    TutorialView(View view, Timing timing) {
        this.view = view;
        this.timing = timing;
    }

    void setAnimation(Animation animation) {
        this.animation = animation;
        animation.setAnimationListener(listener);
    }

    public void setDuration(int duration) {
        animation.setDuration(duration);
    }

    public void start() {
        if (view == null) {
            Log.e("TutorialView", "View is null");
            return;
        }
        if (animation == null) {
            Log.e("TutorialView", "Animation is not initialized");
            return;
        }
        listen(timing);