kr.co.hanwha.hifive.screen.task

## Class TaskDetailPresenter

- java.lang.Object
- - kr.co.hanwha.hifive.screen.task.TaskDetailPresenter

- All Implemented Interfaces:
    BasePresenter, TaskDetailContract.Presenter

      public class TaskDetailPresenter
      extends java.lang.Object
      implements TaskDetailContract.Presenter

  TASK 상세 & 히스토리 Presenter
  See Also:
    `Created by sanghoonkwon on 2018. 1. 22..`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private TaskDetailListContract.Model` | `mAdapterModel`
    `private TaskHistoryListContract.Model` | `mAdapterModelHistory`
    `private TaskDetailListContract.View` | `mAdapterView`
    `private TaskHistoryListContract.View` | `mAdapterViewHistory`
    `private int` | `mCurrentPage`
    `private TaskDetailData` | `mData`
    `private TaskDetailRoot` | `mRoot`
    `private int` | `mTotalCount`
    `private TaskDetailContract.View` | `mView`
    `(package private) HanwhaNetworkCallback` | `refreshHanwhaNetworkCallback` HanwhaNetworkCallback

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TaskDetailPresenter(TaskDetailContract.View view, TaskDetailListContract.View adapterView, TaskDetailListContract.Model adapterModel, TaskHistoryListContract.View adapterViewHistory, TaskHistoryListContract.Model adapterModelHistory)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkNotificationOpen(int task_id, int project_id)` 알림 읽음 표시
    `void` | `detachView()`
    `void` | `doAddComment(HFCommentEditView commentEditView, java.lang.String contents)` 댓글 등록
    `void` | `doDeleteComment(int id)` 댓글 삭제
    `void` | `doDeleteRequestClicked()` 요청 삭제
    `void` | `doDeleteTask()` Task 삭제
    `void` | `doEditTask()` Task 편집
    `void` | `doEvalAcceptClicked()` 평가 수락 선택
    `void` | `doEvalRejectClicked()` 평가 반려 선택
    `void` | `doEvaluation(TaskEvaluationType taskEvaluationType)` 평가하기
    `void` | `doReRequestClicked()` 수정후 재 요청
    `void` | `doTaskAccept()` TASK 수락
    `void` | `doTaskReject()` TASK 반려
    `private android.app.Activity` | `getActivity()` Support methods
    `android.content.Context` | `getContext()`
    `void` | `initData(int task_id, int project_id, boolean needLoading)` Task 상세 조회
    `void` | `initHistoryData(java.util.ArrayList<TaskHistoryData> list)` TASK HISTORY
    `void` | `initMessageData(boolean needScrollBottom, boolean needLoading)` 댓글 목록 조회
    `void` | `moreMessageData()` 다음 댓글 더 보기
    `void` | `refreshData()` Task 정보 새로고침
    `void` | `showEvaluationDialog()` 평가 팝업 노출

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### mView

          private TaskDetailContract.View mView

    - #### mAdapterView

          private TaskDetailListContract.View mAdapterView

    - #### mAdapterModel

          private TaskDetailListContract.Model mAdapterModel

    - #### mAdapterViewHistory

          private TaskHistoryListContract.View mAdapterViewHistory

    - #### mAdapterModelHistory

          private TaskHistoryListContract.Model mAdapterModelHistory

    - #### mRoot

          private TaskDetailRoot mRoot

    - #### mData

          private TaskDetailData mData

    - #### mCurrentPage

          private int mCurrentPage

    - #### mTotalCount

          private int mTotalCount

    - #### refreshHanwhaNetworkCallback

          HanwhaNetworkCallback refreshHanwhaNetworkCallback

      HanwhaNetworkCallback

  - ### Constructor Detail

    - #### TaskDetailPresenter

          public TaskDetailPresenter(@NonNull
                                     TaskDetailContract.View view,
                                     @NonNull
                                     TaskDetailListContract.View adapterView,
                                     @NonNull
                                     TaskDetailListContract.Model adapterModel,
                                     @NonNull
                                     TaskHistoryListContract.View adapterViewHistory,
                                     @NonNull
                                     TaskHistoryListContract.Model adapterModelHistory)

  - ### Method Detail

    - #### detachView

          public void detachView()

      Specified by:
        `detachView` in interface `BasePresenter`

    - #### getContext

          public android.content.Context getContext()

      Specified by:
        `getContext` in interface `BasePresenter`

    - #### checkNotificationOpen

          public void checkNotificationOpen(@NonNull
                                            int task_id,
                                            @NonNull
                                            int project_id)

      Description copied from interface: `TaskDetailContract.Presenter`
      알림 읽음 표시
      Specified by:
        `checkNotificationOpen` in interface `TaskDetailContract.Presenter`
      Parameters:
        `task_id` - TASK_ID
        `project_id` - PROJECT_ID

    - #### initData

          public void initData(@NonNull
                               int task_id,
                               @NonNull
                               int project_id,
                               boolean needLoading)

      Description copied from interface: `TaskDetailContract.Presenter`
      Task 상세 조회
      Specified by:
        `initData` in interface `TaskDetailContract.Presenter`

    - #### initHistoryData

          public void initHistoryData(java.util.ArrayList<TaskHistoryData> list)

      Description copied from interface: `TaskDetailContract.Presenter`
      TASK HISTORY
      Specified by:
        `initHistoryData` in interface `TaskDetailContract.Presenter`

    - #### initMessageData

          public void initMessageData(boolean needScrollBottom,
                                      boolean needLoading)

      Description copied from interface: `TaskDetailContract.Presenter`
      댓글 목록 조회
      Specified by:
        `initMessageData` in interface `TaskDetailContract.Presenter`
      Parameters:
        `needScrollBottom` - 스크롤

    - #### moreMessageData

          public void moreMessageData()

      Description copied from interface: `TaskDetailContract.Presenter`
      다음 댓글 더 보기
      Specified by:
        `moreMessageData` in interface `TaskDetailContract.Presenter`

    - #### refreshData

          public void refreshData()

      Description copied from interface: `TaskDetailContract.Presenter`
      Task 정보 새로고침
      Specified by:
        `refreshData` in interface `TaskDetailContract.Presenter`

    - #### doEditTask

          public void doEditTask()

      Description copied from interface: `TaskDetailContract.Presenter`
      Task 편집
      Specified by:
        `doEditTask` in interface `TaskDetailContract.Presenter`

    - #### doDeleteTask

          public void doDeleteTask()

      Description copied from interface: `TaskDetailContract.Presenter`
      Task 삭제
      Specified by:
        `doDeleteTask` in interface `TaskDetailContract.Presenter`

    - #### doTaskAccept

          public void doTaskAccept()

      Description copied from interface: `TaskDetailContract.Presenter`
      TASK 수락
      Specified by:
        `doTaskAccept` in interface `TaskDetailContract.Presenter`

    - #### doTaskReject

          public void doTaskReject()

      Description copied from interface: `TaskDetailContract.Presenter`
      TASK 반려
      Specified by:
        `doTaskReject` in interface `TaskDetailContract.Presenter`

    - #### showEvaluationDialog

          public void showEvaluationDialog()

      Description copied from interface: `TaskDetailContract.Presenter`
      평가 팝업 노출
      Specified by:
        `showEvaluationDialog` in interface `TaskDetailContract.Presenter`

    - #### doEvaluation

          public void doEvaluation(@NonNull
                                   TaskEvaluationType taskEvaluationType)

      Description copied from interface: `TaskDetailContract.Presenter`
      평가하기
      Specified by:
        `doEvaluation` in interface `TaskDetailContract.Presenter`

    - #### doEvalAcceptClicked

          public void doEvalAcceptClicked()

      Description copied from interface: `TaskDetailContract.Presenter`
      평가 수락 선택
      Specified by:
        `doEvalAcceptClicked` in interface `TaskDetailContract.Presenter`

    - #### doEvalRejectClicked

          public void doEvalRejectClicked()

      Description copied from interface: `TaskDetailContract.Presenter`
      평가 반려 선택
      Specified by:
        `doEvalRejectClicked` in interface `TaskDetailContract.Presenter`

    - #### doDeleteRequestClicked

          public void doDeleteRequestClicked()

      Description copied from interface: `TaskDetailContract.Presenter`
      요청 삭제
      Specified by:
        `doDeleteRequestClicked` in interface `TaskDetailContract.Presenter`

    - #### doReRequestClicked

          public void doReRequestClicked()

      Description copied from interface: `TaskDetailContract.Presenter`
      수정후 재 요청
      Specified by:
        `doReRequestClicked` in interface `TaskDetailContract.Presenter`

    - #### doAddComment

          public void doAddComment(@NonNull
                                   HFCommentEditView commentEditView,
                                   @NonNull
                                   java.lang.String contents)

      Description copied from interface: `TaskDetailContract.Presenter`
      댓글 등록
      Specified by:
        `doAddComment` in interface `TaskDetailContract.Presenter`
        `contents` - 댓글 내용

    - #### doDeleteComment

          public void doDeleteComment(int id)

      Description copied from interface: `TaskDetailContract.Presenter`
      댓글 삭제
      Specified by:
        `doDeleteComment` in interface `TaskDetailContract.Presenter`
      Parameters:
        `id` - 댓글 아이디

    - #### getActivity

          private android.app.Activity getActivity()

      Support methods