content: package com.romainpiel.shimmer;
  
  import android.content.Context;
  import android.content.res.ColorStateList;
  import android.graphics.Canvas;
  import android.util.AttributeSet;
  import android.widget.TextView;
  
  /**
   * Shimmer
   * User: romainpiel
   * Date: 06/03/2014
   * Time: 10:19
   *
   * Shimmering TextView
   * Dumb class wrapping a ShimmerViewHelper
   */
  public class ShimmerTextView extends TextView implements ShimmerViewBase {
  
      private ShimmerViewHelper shimmerViewHelper;
  
      public ShimmerTextView(Context context) {
          super(context);
          shimmerViewHelper = new ShimmerViewHelper(this, getPaint(), null);
          shimmerViewHelper.setPrimaryColor(getCurrentTextColor());
      }
  
      public ShimmerTextView(Context context, AttributeSet attrs) {
          super(context, attrs);
          shimmerViewHelper = new ShimmerViewHelper(this, getPaint(), attrs);
          shimmerViewHelper.setPrimaryColor(getCurrentTextColor());
      }
  
      public ShimmerTextView(Context context, AttributeSet attrs, int defStyle) {
          super(context, attrs, defStyle);
          shimmerViewHelper = new ShimmerViewHelper(this, getPaint(), attrs);
          shimmerViewHelper.setPrimaryColor(getCurrentTextColor());
      }
  
      @Override
      public float getGradientX() {
          return shimmerViewHelper.getGradientX();
      }
  
      @Override
      public void setGradientX(float gradientX) {
          shimmerViewHelper.setGradientX(gradientX);
      }
  
      @Override
      public boolean isShimmering() {
          return shimmerViewHelper.isShimmering();
      }
  
      @Override
      public void setShimmering(boolean isShimmering) {
          shimmerViewHelper.setShimmering(isShimmering);
      }
  
      @Override
      public boolean isSetUp() {
          return shimmerViewHelper.isSetUp();
      }
  
      @Override
      public void setAnimationSetupCallback(ShimmerViewHelper.AnimationSetupCallback callback) {
          shimmerViewHelper.setAnimationSetupCallback(callback);
      }
  
      @Override
      public int getPrimaryColor() {
          return shimmerViewHelper.getPrimaryColor();
      }
  
      @Override
      public void setPrimaryColor(int primaryColor) {
          shimmerViewHelper.setPrimaryColor(primaryColor);
      }
  
      @Override
      public int getReflectionColor() {
          return shimmerViewHelper.getReflectionColor();
      }
  
      @Override
      public void setReflectionColor(int reflectionColor) {
          shimmerViewHelper.setReflectionColor(reflectionColor);
      }
  
      @Override
      public void setTextColor(int color) {
          super.setTextColor(color);
          if (shimmerViewHelper != null) {
              shimmerViewHelper.setPrimaryColor(getCurrentTextColor());
          }
      }
  
      @Override
      public void setTextColor(ColorStateList colors) {
          super.setTextColor(colors);
          if (shimmerViewHelper != null) {
              shimmerViewHelper.setPrimaryColor(getCurrentTextColor());
          }
      }
  
      @Override
      protected void onSizeChanged(int w, int h, int oldw, int oldh) {
          super.onSizeChanged(w, h, oldw, oldh);
          if (shimmerViewHelper != null) {
              shimmerViewHelper.onSizeChanged();
          }
      }
  
      @Override
      public void onDraw(Canvas canvas) {
          if (shimmerViewHelper != null) {
              shimmerViewHelper.onDraw();
          }
          super.onDraw(canvas);
      }
  }
  