以下のようにボタンを押すとimageviewの色が変わる様なアニメーションを指示しておりますが、例えばこのid=startのボタンが連続で押されると、またアニメーションが最初から起動してしまいます。(当たり前といえば当たり前なのですが)

質問したい内容として、例えば連続で同じボタンを押した時に、同じボタンの場合は最初からアニメーションがスタートしない。つまり、同じ信号の場合は無視する、のような指示をしたいと考えております。
コードも汚いですし、無知で申し訳ないのですが、もしもやり方をご存知でしたらお伺い出来ますと幸いです。
何卒よろしくお願いいたします。

    setContentView(R.layout.activity_main);
    image = (ImageView) findViewById(R.id.image);

    btnStart = (Button) findViewById(R.id.start);
    btnStart.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View v) {
            startColorAnimation(image);
        }});

    btnStart = (Button) findViewById(R.id.start1);
    btnStart.setOnClickListener(new View.OnClickListener(){

        @Override
        public void onClick(View v) {
            startColorAnimation1(image);
        }});

public void startColorAnimation(View view){
    int colorStart = 0xFFffffff;
    int colorEnd   = 0xFF000000;

    ValueAnimator colorAnim = ObjectAnimator.ofInt(
            view, "backgroundColor", colorStart, colorEnd);
    colorAnim.setDuration(2000);
    colorAnim.setEvaluator(new ArgbEvaluator());
    colorAnim.setRepeatCount(100);
    colorAnim.setRepeatMode(ValueAnimator.REVERSE);
    colorAnim.start();
}
public void startColorAnimation1(View view){
    int colorStart = 0xfff53b6d;
    //int colorStart = view.getSolidColor();
    int colorEnd   = 0xFF000000;

    ValueAnimator colorAnim = ObjectAnimator.ofInt(
            view, "backgroundColor", colorStart, colorEnd);
    colorAnim.setDuration(2000);
    colorAnim.setEvaluator(new ArgbEvaluator());
    colorAnim.setRepeatCount(100);
    colorAnim.setRepeatMode(ValueAnimator.REVERSE);
    colorAnim.start();
}