public MaterialProgressDrawable(Context paramContext, View paramView)
 {
   mParent = paramView;
   mResources = paramContext.getResources();
   mRing = new MaterialProgressDrawable.Ring(mCallback);
   mRing.setColors(COLORS);
   updateSizes(1);
   setupAnimators();
 }
 /** One of DEFAULT, or LARGE. */
 public void setSize(int size) {
   if (size != MaterialProgressDrawable.LARGE && size != MaterialProgressDrawable.DEFAULT) {
     return;
   }
   final DisplayMetrics metrics = getResources().getDisplayMetrics();
   if (size == MaterialProgressDrawable.LARGE) {
     mCircleHeight = mCircleWidth = (int) (CIRCLE_DIAMETER_LARGE * metrics.density);
   } else {
     mCircleHeight = mCircleWidth = (int) (CIRCLE_DIAMETER * metrics.density);
   }
   // force the bounds of the progress circle inside the circle view to
   // update by setting it to null before updating its size and then
   // re-setting it
   mCircleView.setImageDrawable(null);
   mProgress.updateSizes(size);
   mCircleView.setImageDrawable(mProgress);
 }
  public MaterialProgressDrawable(Context paramContext, View paramView) {
    this.mParent = paramView;
    this.mResources = paramContext.getResources();
    this.mRing = new Ring(this.mCallback);
    this.mRing.setColors(this.COLORS);
    updateSizes(1);
    final Ring localRing = this.mRing;
    Animation local1 =
        new Animation() {
          public final void applyTransformation(
              float paramAnonymousFloat, Transformation paramAnonymousTransformation) {
            if (MaterialProgressDrawable.this.mFinishing) {
              MaterialProgressDrawable.access$000(
                  MaterialProgressDrawable.this, paramAnonymousFloat, localRing);
              return;
            }
            float f1 = MaterialProgressDrawable.access$100$6f9943cf(localRing);
            float f2 = localRing.mStartingEndTrim;
            float f3 = localRing.mStartingStartTrim;
            float f4 = localRing.mStartingRotation;
            MaterialProgressDrawable.updateRingColor(
                MaterialProgressDrawable.this, paramAnonymousFloat, localRing);
            if (paramAnonymousFloat <= 0.5F) {
              float f10 = paramAnonymousFloat / 0.5F;
              float f11 =
                  f3
                      + (0.8F - f1)
                          * MaterialProgressDrawable.MATERIAL_INTERPOLATOR.getInterpolation(f10);
              localRing.setStartTrim(f11);
            }
            if (paramAnonymousFloat > 0.5F) {
              float f7 = 0.8F - f1;
              float f8 = (paramAnonymousFloat - 0.5F) / 0.5F;
              float f9 =
                  f2 + f7 * MaterialProgressDrawable.MATERIAL_INTERPOLATOR.getInterpolation(f8);
              localRing.setEndTrim(f9);
            }
            float f5 = f4 + 0.25F * paramAnonymousFloat;
            localRing.setRotation(f5);
            float f6 =
                216.0F * paramAnonymousFloat
                    + 1080.0F * (MaterialProgressDrawable.this.mRotationCount / 5.0F);
            MaterialProgressDrawable.this.setRotation(f6);
          }
        };
    local1.setRepeatCount(-1);
    local1.setRepeatMode(1);
    local1.setInterpolator(LINEAR_INTERPOLATOR);
    local1.setAnimationListener(
        new Animation.AnimationListener() {
          public final void onAnimationEnd(Animation paramAnonymousAnimation) {}

          public final void onAnimationRepeat(Animation paramAnonymousAnimation) {
            localRing.storeOriginals();
            MaterialProgressDrawable.Ring localRing = localRing;
            localRing.setColorIndex(localRing.getNextColorIndex());
            localRing.setStartTrim(localRing.mEndTrim);
            if (MaterialProgressDrawable.this.mFinishing) {
              MaterialProgressDrawable.this.mFinishing = false;
              paramAnonymousAnimation.setDuration(1332L);
              localRing.setShowArrow(false);
              return;
            }
            MaterialProgressDrawable.access$402(
                MaterialProgressDrawable.this,
                (1.0F + MaterialProgressDrawable.this.mRotationCount) % 5.0F);
          }

          public final void onAnimationStart(Animation paramAnonymousAnimation) {
            MaterialProgressDrawable.access$402(MaterialProgressDrawable.this, 0.0F);
          }
        });
    this.mAnimation = local1;
  }