package com.fastaccess.ui.modules.repos.extras.milestone.create; import android.content.Context; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.View; import com.fastaccess.R; import com.fastaccess.data.dao.MilestoneModel; import com.fastaccess.helper.BundleConstant; import com.fastaccess.helper.Bundler; import com.fastaccess.ui.base.BaseDialogFragment; import com.fastaccess.ui.base.mvp.presenter.BasePresenter; import com.fastaccess.ui.modules.repos.extras.milestone.MilestoneMvp; import com.fastaccess.ui.modules.repos.issues.issue.details.IssuePagerMvp; import com.fastaccess.ui.modules.repos.pull_requests.pull_request.details.PullRequestPagerMvp; import net.grandcentrix.thirtyinch.TiPresenter; /** * Created by Kosh on 04 Mar 2017, 10:58 PM */ public class MilestoneDialogFragment extends BaseDialogFragment implements MilestoneMvp.OnMilestoneSelected { private IssuePagerMvp.View issueCallback; private PullRequestPagerMvp.View pullRequestCallback; public static MilestoneDialogFragment newInstance(@NonNull String login, @NonNull String repo) { MilestoneDialogFragment view = new MilestoneDialogFragment(); view.setArguments(Bundler.start() .put(BundleConstant.EXTRA, login) .put(BundleConstant.ID, repo) .end()); return view; } @Override public void onAttach(Context context) { super.onAttach(context); if (context instanceof IssuePagerMvp.View) { issueCallback = (IssuePagerMvp.View) context; } else if (getParentFragment() instanceof IssuePagerMvp.View) { issueCallback = (IssuePagerMvp.View) getParentFragment(); } if (context instanceof PullRequestPagerMvp.View) { pullRequestCallback = (PullRequestPagerMvp.View) context; } else if (getParentFragment() instanceof PullRequestPagerMvp.View) { pullRequestCallback = (PullRequestPagerMvp.View) getParentFragment(); } } @Override public void onDetach() { super.onDetach(); } @NonNull @Override public TiPresenter providePresenter() { return new BasePresenter(); } @Override protected int fragmentLayout() { return R.layout.single_container_layout; } @Override protected void onFragmentCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { if (savedInstanceState == null) { Bundle bundle = getArguments(); com.fastaccess.ui.modules.repos.extras.milestone.MilestoneDialogFragment milestoneView = new com.fastaccess.ui.modules.repos.extras.milestone.MilestoneDialogFragment(); milestoneView.setArguments(bundle); getChildFragmentManager() .beginTransaction() .replace(R.id.singleContainer, milestoneView, com.fastaccess.ui.modules.repos.extras.milestone.MilestoneDialogFragment.TAG) .commit(); } } @Override public void onMilestoneSelected(@NonNull MilestoneModel milestoneModel) { if (issueCallback != null) issueCallback.onMileStoneSelected(milestoneModel); if (pullRequestCallback != null) pullRequestCallback.onMileStoneSelected(milestoneModel); } }