private boolean shouldCloseDrawers(float x, float y) {
    View activitedDrawer = null;
    if (mLeftPercent > 0.0f) {
      activitedDrawer = mLeftDrawer;
    } else if (mRightPercent > 0.0f) {
      activitedDrawer = mRightDrawer;
    }
    if (activitedDrawer == null) {
      return false;
    }

    int xInt = (int) x;
    int yInt = (int) y;

    if (activitedDrawer instanceof DrawerLayoutChild) {
      DrawerLayoutChild dlc = (DrawerLayoutChild) activitedDrawer;
      int paddingTop = dlc.getLayoutPaddingTop();
      int paddingBottom = dlc.getLayoutPaddingBottom();
      if (yInt < paddingTop || yInt >= getHeight() - paddingBottom) {
        return false;
      }
    }

    return !ViewUtils.isViewUnder(activitedDrawer, xInt, yInt, 0);
  }
 private boolean isDrawerUnder(int x, int y) {
   return ViewUtils.isViewUnder(mLeftDrawer, x, y, 0)
       || ViewUtils.isViewUnder(mRightDrawer, x, y, 0);
 }