@Override
 protected Parcelable onSaveInstanceState() {
   Parcelable superState = super.onSaveInstanceState();
   CustomState state = new CustomState(superState);
   state.progress = getProgress();
   state.max = mMax;
   state.min = mMin;
   return state;
 }
  @Override
  protected void onRestoreInstanceState(Parcelable state) {
    if (state == null || !state.getClass().equals(CustomState.class)) {
      super.onRestoreInstanceState(state);
      return;
    }

    CustomState customState = (CustomState) state;
    setMin(customState.min);
    setMax(customState.max);
    setProgress(customState.progress, false);
    super.onRestoreInstanceState(customState.getSuperState());
  }