code: @Override
    public void invalidateDrawable(@NonNull Drawable who) {
      Callback callback = getCallback();
      if (callback == null) {
        return;
      }
      callback.invalidateDrawable(this);
    }
docs: These Drawable.Callback methods proxy the calls so that this is the drawable that is
  actually invalidated, not a child one which will not pass the view's validateDrawable check.