package com.fastaccess.ui.modules.repos.issues.issue.details; import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.fastaccess.data.dao.LabelModel; import com.fastaccess.data.dao.MilestoneModel; import com.fastaccess.data.dao.model.Issue; import com.fastaccess.data.dao.model.User; import com.fastaccess.ui.base.mvp.BaseMvp; import com.fastaccess.ui.modules.repos.extras.assignees.AssigneesMvp; import com.fastaccess.ui.modules.repos.extras.labels.LabelsMvp; import java.util.ArrayList; import java.util.List; /** * Created by Kosh on 10 Dec 2016, 9:21 AM */ public interface IssuePagerMvp { interface View extends BaseMvp.FAView, LabelsMvp.SelectedLabelsListener, AssigneesMvp.SelectedAssigneesListener { void onSetupIssue(); void showSuccessIssueActionMsg(boolean isClose); void showErrorIssueActionMsg(boolean isClose); void onLabelsRetrieved(@NonNull List<LabelModel> items); void onUpdateTimeline(); void onUpdateMenu(); void onMileStoneSelected(@NonNull MilestoneModel milestoneModel); void onFinishActivity(); } interface Presenter extends BaseMvp.FAPresenter { @Nullable Issue getIssue(); void onActivityCreated(@Nullable Intent intent); void onWorkOffline(long issueNumber, @NonNull String repoId, @NonNull String login); boolean isOwner(); boolean isRepoOwner(); boolean isLocked(); boolean isCollaborator(); boolean showToRepoBtn(); void onHandleConfirmDialog(@Nullable Bundle bundle); void onOpenCloseIssue(); void onLockUnlockIssue(); void onLoadLabels(); void onPutMilestones(@NonNull MilestoneModel milestone); void onPutLabels(@NonNull ArrayList<LabelModel> labels); void onPutAssignees(@NonNull ArrayList<User> users); String getLogin(); String getRepoId(); void onUpdateIssue(@NonNull Issue issueModel); void onSubscribeOrMute(boolean mute); } }