コード例 #1
0
ファイル: ResizeManager.java プロジェクト: TinyNiko/AManager
  public boolean checkForResizing(
      MotionEvent
          ev) { // FIXME this method should only return true / false. Make another method for
                // starting animation
    if (mState == State.DRAGGING) {
      return true;
    }

    final float yDIff = calculateDistance(ev);
    if (Math.abs(calculateXDistanse(ev)) > Math.abs(calculateDistance(ev))) {
      if (calculateXDistanse(ev) > 100) {
        type = LEFT;
      } else if (calculateXDistanse(ev) < -100) {
        type = RIGHT;
      }
    } else {
      CalendarManager manager = mCalendarView.getManager();
      CalendarManager.State state = manager.getState();
      if (Math.abs(yDIff)
          > mTouchSlop) { // FIXME this should happen only if dragging int right direction
        mState = State.DRAGGING;
        mDragStartY = ev.getY();
        if (mProgressManager == null) {
          int weekOfMonth = manager.getWeekOfMonth();
          if (state == CalendarManager.State.WEEK) { // always animate in month view
            manager.toggleView();
            mCalendarView.populateLayout();
          }
          mProgressManager =
              new ProgressManagerImpl(
                  mCalendarView, weekOfMonth, state == CalendarManager.State.MONTH);
        }
        return true;
      }
    }
    return false;
  }