@Override
  protected final void onSizeChanged(int w, int h, int oldw, int oldh) {
    if (DEBUG) {
      Log.d(LOG_TAG, String.format("onSizeChanged. W: %d, H: %d", w, h));
    }

    super.onSizeChanged(w, h, oldw, oldh);

    // We need to update the header/footer when our size changes
    refreshLoadingViewsSize();

    // Update the Refreshable View layout
    refreshRefreshableViewSize(w, h);

    /**
     * As we're currently in a Layout Pass, we need to schedule another one to layout any changes
     * we've made here
     */
    post(
        new Runnable() {
          @Override
          public void run() {
            requestLayout();
          }
        });
  }