@Override
 public void onComputeInsets(Insets outInsets) {
   super.onComputeInsets(outInsets);
   if (mState != STATE_IDLE) {
     outInsets.contentInsets.top = mBottomContent.getTop();
     outInsets.touchableInsets = Insets.TOUCHABLE_INSETS_CONTENT;
   }
 }
 /**
  * @hide Compute the interesting insets into your UI. The default implementation uses the entire
  *     window frame as the insets. The default touchable insets are {@link
  *     Insets#TOUCHABLE_INSETS_FRAME}.
  * @param outInsets Fill in with the current UI insets.
  */
 @SystemApi
 public void onComputeInsets(Insets outInsets) {
   int[] loc = mTmpLocation;
   View decor = getWindow().getWindow().getDecorView();
   decor.getLocationInWindow(loc);
   outInsets.contentInsets.top = 0;
   outInsets.contentInsets.left = 0;
   outInsets.contentInsets.right = 0;
   outInsets.contentInsets.bottom = 0;
   outInsets.touchableInsets = Insets.TOUCHABLE_INSETS_FRAME;
   outInsets.touchableRegion.setEmpty();
 }