code: private void updateDraggablePanelStateDelayed(DraggableState draggableState) {
      Handler handler = new Handler();
      switch (draggableState) {
        case MAXIMIZED:
          handler.postDelayed(new Runnable() {
            @Override public void run() {
              draggablePanel.maximize();
            }
          }, DELAY_MILLIS);
          break;
        case MINIMIZED:
          handler.postDelayed(new Runnable() {
            @Override public void run() {
              draggablePanel.minimize();
            }
          }, DELAY_MILLIS);
          break;
        case CLOSED_AT_LEFT:
          handler.postDelayed(new Runnable() {
            @Override public void run() {
              draggablePanel.setVisibility(View.GONE);
              draggablePanel.closeToLeft();
            }
          }, DELAY_MILLIS);
          break;
        case CLOSED_AT_RIGHT:
          handler.postDelayed(new Runnable() {
            @Override public void run() {
              draggablePanel.setVisibility(View.GONE);
              draggablePanel.closeToRight();
            }
          }, DELAY_MILLIS);
          break;
        default:
          draggablePanel.setVisibility(View.GONE);
          break;
      }
    }
docs: Return the view to the DraggablePanelState: minimized, maximized, closed to the right or
  closed
  to the left.
  
  @param draggableState to apply.