package com.smilodontech.newer.ui.league; import android.annotation.SuppressLint; import android.app.Dialog; import android.content.Intent; import android.graphics.Color; import android.os.Build; import android.os.Bundle; import android.text.TextUtils; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import android.widget.FrameLayout; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.viewbinding.ViewBinding; import com.alibaba.fastjson.JSON; import com.aopcloud.base.log.Logcat; import com.bigkoo.pickerview.builder.OptionsPickerBuilder; import com.bigkoo.pickerview.view.OptionsPickerView; import com.chad.library.adapter.base.BaseQuickAdapter; import com.scwang.smartrefresh.layout.api.RefreshLayout; import com.scwang.smartrefresh.layout.listener.OnRefreshListener; import com.smilodontech.iamkicker.R; import com.smilodontech.iamkicker.common.Constant; import com.smilodontech.iamkicker.databinding.ActivityMatchRecordDataBinding; import com.smilodontech.iamkicker.model.HotMatchPersonalData; import com.smilodontech.iamkicker.ui.HotMatchDataSubmitDetailReplaceActivity; import com.smilodontech.iamkicker.ui.HotMatchDataSubmitSignatureActivity; import com.smilodontech.iamkicker.ui.HotMatchKickScoreDialogActivity; import com.smilodontech.iamkicker.util.LogHelper; import com.aopcloud.base.toast.ToastUtils; import com.smilodontech.iamkicker.view.HotMatchChooseCancelPerformanceDialog; import com.smilodontech.iamkicker.view.HotMatchChooseWaiveTeamDialog; import com.smilodontech.iamkicker.view.RadioChooserDialog; import com.smilodontech.iamkicker.view.TipsDialog; import com.smilodontech.newer.loader.AppImageLoader; import com.smilodontech.newer.network.api.v3.match.MatchHighlightListRequest; import com.smilodontech.newer.ui.download.LocalVideoPlayerActivity; import com.smilodontech.newer.ui.league.adapter.manage.MatchRecordTeamActionAdapter; import com.smilodontech.newer.ui.league.bean.manage.MatchActionBean; import com.smilodontech.newer.ui.league.bean.manage.MatchActionHighlightBean; import com.smilodontech.newer.ui.league.bean.manage.MatchActionInfoBean; import com.smilodontech.newer.ui.league.bean.manage.MatchAddActionBean; import com.smilodontech.newer.ui.league.bean.manage.MatchPlayerActionItemBean; import com.smilodontech.newer.ui.league.bean.manage.MatchRecordDataListBean; import com.smilodontech.newer.ui.league.constant.MatchActionType; import com.smilodontech.newer.ui.league.contract.MatchRecordContract; import com.smilodontech.newer.ui.league.dialog.ChooseDialog; import com.smilodontech.newer.ui.league.dialog.MatchActionInfoDialog; import com.smilodontech.newer.ui.league.dialog.MatchCardActionReasonDialog; import com.smilodontech.newer.ui.league.dialog.SelectMatchActionDialog; import com.smilodontech.newer.ui.league.presenter.MatchRecordPresenter; import com.smilodontech.newer.ui.mvp.BaseMvpActivity; import com.smilodontech.newer.utils.ListUtils; import com.smilodontech.newer.utils.ViewUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * @PackageName : com.smilodontech.newer.ui.match * @File : MatchRecordDataActivity.java * @Date : 2022/8/24 2022/8/24 * @Author : K * @E-mail : vip@devkit.vip * @Version : V 1.0 * @Describe : */ public class MatchRecordDataActivity extends BaseMvpActivity implements MatchRecordContract.IMvpView, OnRefreshListener, BaseQuickAdapter.OnItemClickListener, MatchRecordTeamActionAdapter.OnItemActionClickListener, View.OnClickListener { private String leagueId; private String matchId; private ActivityMatchRecordDataBinding mViewBinding; private MatchRecordTeamActionAdapter mAdapter; private List mBeanList = new ArrayList<>(); private MatchActionBean mMatchActionBean; private HotMatchChooseCancelPerformanceDialog cancelActionDialog; private SelectMatchActionDialog mSelectMatchActionDialog; private MatchActionInfoDialog mMatchActionInfoDialog; private MatchActionHighlightBean mSelectMatchActionHighlightBean; private OptionsPickerView mVideoPickerView; private List currentHighlightList = new ArrayList<>(); private Boolean isMaster = true; private MatchAddActionBean mMatchAddActionBean; private Integer[] hasVideoType = new Integer[]{1, 3, 4, 24, 35, 36}; public static final int REQUEST_CODE_KICK = 3; public static final int REQUEST_CODE_SIGNATURE = 1; public static final int REQUEST_CODE_REPLACE = 2; @Override protected ViewBinding createViewBinding() { return mViewBinding = ActivityMatchRecordDataBinding.inflate(getLayoutInflater()); } @Override protected MatchRecordContract.Presenter createPresenter() { return new MatchRecordPresenter(); } @Override protected int setLayoutId() { return R.layout.activity_match_record_data; } @Override protected void initData() { super.initData(); Bundle bundle = getIntent().getExtras(); if (bundle != null) { leagueId = bundle.getString("leagueId"); matchId = bundle.getString("matchId"); } Logcat.i("leagueId:" + leagueId + " matchId:" + matchId); } @Override protected void initView() { mViewBinding.headerLayout.tvTitle.setText("录入数据"); mViewBinding.headerLayout.tvRightMenu.setText("弃权"); mViewBinding.refreshLayout.setEnableLoadMore(false); mViewBinding.refreshLayout.setOnRefreshListener(this); mViewBinding.headerLayout.llBack.setOnClickListener(this); mViewBinding.headerLayout.llRightMenu.setOnClickListener(this); mViewBinding.rlMasterTeam.setOnClickListener(this); mViewBinding.rlGuestTeam.setOnClickListener(this); mViewBinding.btnAction.setOnClickListener(this); mViewBinding.btnCommit.setOnClickListener(this); mViewBinding.tvMasterTeamName.setText("123"); mViewBinding.tvGuestTeamName.setText("35"); mAdapter = new MatchRecordTeamActionAdapter(R.layout.item_hot_match_datasubmit_detail, mBeanList); mAdapter.setOnItemClickListener(this::onItemClick); mAdapter.setOnItemActionClickListener(this); View headView = LayoutInflater.from(this).inflate(R.layout.item_hot_match_datasubmit_headview, null); View footView = LayoutInflater.from(this).inflate(R.layout.item_hot_match_datasubmit_footview, null); mAdapter.addHeaderView(headView); mAdapter.setFooterView(footView); mViewBinding.rvList.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)); mViewBinding.rvList.setAdapter(mAdapter); getPresenter().loadMatchActionList(matchId); } @RequiresApi(api = Build.VERSION_CODES.N) @Override public void onClick(View v) { switch (v.getId()) { case R.id.ll_back: finish(); break; case R.id.ll_right_menu: if (mMatchActionBean == null) { return; } if (mMatchActionBean.getMatchStatusType() == 3 || mMatchActionBean.getMatchStatusType() == 4 || mMatchActionBean.getMatchStatusType() == 5) { showCancelAbstainTips(); } else { Bundle bundle = new Bundle(); bundle.putString("masterName", mMatchActionBean.getMasterTeamName()); bundle.putString("masterLogo", mMatchActionBean.getMasterTeamLogo()); bundle.putString("guestName", mMatchActionBean.getGuestTeamName()); bundle.putString("guestLogo", mMatchActionBean.getGuestTeamLogo()); showAbstainDialog(bundle); } break; case R.id.rl_master_team: switchTeam(true); break; case R.id.rl_guest_team: switchTeam(false); break; case R.id.btn_action: ToastUtils.show("开始比赛"); Intent intent = new Intent(this, HotMatchKickScoreDialogActivity.class); intent.putExtra("matchId", matchId); intent.putExtra("masterName", mMatchActionBean.getMasterTeamName()); intent.putExtra("masterLogo", mMatchActionBean.getMasterTeamLogo()); intent.putExtra("guestName", mMatchActionBean.getGuestTeamName()); intent.putExtra("guestLogo", mMatchActionBean.getGuestTeamLogo()); intent.putExtra("masterPoint", "" + mMatchActionBean.getMasterPoint()); intent.putExtra("guestPoint", "" + mMatchActionBean.getGuestPoint()); startActivityForResult(intent, REQUEST_CODE_KICK); break; case R.id.btn_commit: commitDialog(); break; } } @RequiresApi(api = Build.VERSION_CODES.N) private void switchTeam(boolean isMaster) { this.isMaster = isMaster; mViewBinding.ivTeamIndex.setBackgroundResource(isMaster ? R.mipmap.list_line_left : R.mipmap.list_line_right); mViewBinding.tvMasterTeamName.setTextColor(isMaster ? Color.RED : getResources().getColor(R.color.input_hint_color)); mViewBinding.tvGuestTeamName.setTextColor(isMaster ? getResources().getColor(R.color.input_hint_color) : Color.RED); if (mMatchActionBean == null) { return; } String json = JSON.toJSONString(isMaster ? mMatchActionBean.getMasterPlayerActionVOList() : mMatchActionBean.getGuestPlayerActionVOList()); String substitutionJson = JSON.toJSONString(isMaster ? mMatchActionBean.getMasterSubstitutionPlayerVOList() : mMatchActionBean.getGuestSubstitutionPlayerVOList()); String unselectedJson = JSON.toJSONString(isMaster ? mMatchActionBean.getMasterUnselectedPlayerVOList() : mMatchActionBean.getGuestUnselectedPlayerVOList()); List listBeans = JSON.parseArray(json, MatchRecordDataListBean.class); List substitutionList = JSON.parseArray(substitutionJson, MatchRecordDataListBean.class); List unselectedList = JSON.parseArray(unselectedJson, MatchRecordDataListBean.class); // listBeans.sort((o1, o2) -> o1.getPlayerNumber()-o2.getPlayerNumber()); // substitutionList.sort((o1, o2) -> o1.getPlayerNumber()-o2.getPlayerNumber()); // unselectedList.sort((o1, o2) -> o1.getPlayerNumber()-o2.getPlayerNumber()); Logcat.i("switchTeam:" + listBeans.size() + "/" + mMatchActionBean.getMasterPlayerActionVOList().size() + "/" + mMatchActionBean.getGuestPlayerActionVOList().size()); mBeanList.clear(); mBeanList.addAll(listBeans); mBeanList.addAll(substitutionList); mBeanList.addAll(unselectedList); mAdapter.notifyDataSetChanged(); } @RequiresApi(api = Build.VERSION_CODES.N) @SuppressLint("SetTextI18n") @Override public void loadMatchActionListResult(@NotNull MatchActionBean info) { hideLoading(); mViewBinding.refreshLayout.finishRefresh(); mMatchActionBean = info; mViewBinding.headerLayout.tvRightMenu.setText(getMatchStatus(info.getMatchStatusType())); AppImageLoader.load(this, info.getMasterTeamLogo(), mViewBinding.ivMasterTeamLogo, 10); AppImageLoader.load(this, info.getGuestTeamLogo(), mViewBinding.ivGuestTeamLogo, 10); mViewBinding.tvMasterTeamName.setText(info.getMasterTeamName()); mViewBinding.tvGuestTeamName.setText(info.getGuestTeamName()); mViewBinding.tvDetailScore.setText(info.getScoreType() == 0 ? "VS" : info.getMasterScore() + "-" + info.getGuestScore()); if (info.getMasterPoint() > 0 || info.getGuestPoint() > 0) { mViewBinding.tvMasterPoint.setText("(" + info.getMasterPoint() + ")"); mViewBinding.tvGuestPoint.setText("(" + info.getGuestPoint() + ")"); } else { mViewBinding.tvGuestPoint.setText(""); mViewBinding.tvMasterPoint.setText(""); } switchTeam(isMaster); } @Override public void cancelMatchAbstainResult(boolean success, @Nullable String msg) { if (success) { getPresenter().loadMatchActionList(matchId); mViewBinding.headerLayout.tvRightMenu.setText("弃权"); } else { ToastUtils.show(msg); } } @Override public void matchAbstainResult(boolean success, @Nullable String msg) { if (success) { getPresenter().loadMatchActionList(matchId); mViewBinding.headerLayout.tvRightMenu.setText("取消弃权"); } else { ToastUtils.show(msg); } } @Override public void deleteActionResult(boolean success, @Nullable String msg) { if (success) { if (cancelActionDialog != null && cancelActionDialog.isShow()) { cancelActionDialog.dismiss(); } getPresenter().loadMatchActionList(matchId); ToastUtils.show("删除成功"); } else { ToastUtils.show(msg); } } @Override public void loadMatchActionHighlightResult(@NotNull List list) { Logcat.i("loadMatchActionHighlightResult:" + mMatchAddActionBean.getVideoId()); currentHighlightList = new ArrayList<>(); mSelectMatchActionHighlightBean = null; for (int i = 0; i < list.size(); i++) { MatchActionHighlightBean bean = list.get(i); if (mMatchAddActionBean != null && mMatchAddActionBean.getVideoId() != null && mMatchAddActionBean.getVideoId().equals(bean.getVideoId())) { mSelectMatchActionHighlightBean = bean; } currentHighlightList.add(bean); } showActionSetDialog(); } @Override public void loadMatchActionInfoResult(@NotNull MatchActionInfoBean info) { if (info.getVideoId() != 0) { mMatchAddActionBean.setVideoId(info.getVideoId()); } if (!TextUtils.isEmpty(info.getActionContent())) { mMatchAddActionBean.setActionContent(info.getActionContent()); } if (info.getToPlayingUserId() != 0) { mMatchAddActionBean.setToPlayingUserId(info.getToPlayingUserId()); } getPresenter().loadMatchActionHighlight("" + info.getMatchId(), info.getTeamId(), getHighlightType(info.getActionType())); } @Override public void addOrEditActionResult(@NotNull MatchAddActionBean bean, boolean success, @Nullable String msg) { hideLoading(); if (success) { if (mMatchActionInfoDialog != null && mMatchActionInfoDialog.isShowing()) { mMatchActionInfoDialog.dismiss(); } mMatchActionBean = null; currentHighlightList.clear(); getPresenter().loadMatchActionList(matchId); ToastUtils.show(bean.isEdit() ? "编辑成功" : "添加成功"); } else { ToastUtils.show(msg); } } @Override public void recordPointScoreResult() { hideLoading(); getPresenter().loadMatchActionList(matchId); } @Override public void commitMatchDataResult(@NotNull String url) { Logcat.d("commitMatchDataResult:" + url); Bundle bundle = new Bundle(); bundle.putString(Constant.PARAM_MATCH_ID, matchId); bundle.putString("leagueId", leagueId); bundle.putString("url", url); gotoActivity(HotMatchDataSubmitSignatureActivity.class, REQUEST_CODE_SIGNATURE, bundle); } @Override public void loadOldMatchDataResult(@NotNull ArrayList beanList) { for (int i = 0; i < mBeanList.size(); i++) { String userId = "" + mBeanList.get(i).getUserId(); for (int j = 0; j < beanList.size(); j++) { if (userId.equals(beanList.get(j).getUser_id()) && mBeanList.get(i).getIsPlaying() == 1) { beanList.get(j).setPresence("1"); } } } Intent intent = new Intent(this, HotMatchDataSubmitDetailReplaceActivity.class); intent.putExtra("currentUserId", mMatchAddActionBean.getOperationUserId()); intent.putParcelableArrayListExtra("dataList", beanList); startActivityForResult(intent, REQUEST_CODE_REPLACE); } /** * 1已经提交数据,2无弃权,无提交, 3主队弃权,4客队弃权,5双方弃权 , * * @param matchStatusType * @return */ private String getMatchStatus(Integer matchStatusType) { String status = "弃权"; switch (matchStatusType) { case 3: case 4: case 5: status = "取消弃权"; break; } return status; } @Override public void onRefresh(@NonNull @NotNull RefreshLayout refreshLayout) { getPresenter().loadMatchActionList(matchId); } @Override public void onItemClick(BaseQuickAdapter adapter, View view, int position) { if (mMatchActionBean.getMatchStatusType() == 3 || mMatchActionBean.getMatchStatusType() == 4 || mMatchActionBean.getMatchStatusType() == 5) { ToastUtils.show("无法更改弃权比赛记录"); return; } MatchRecordDataListBean adapterItem = mAdapter.getItem(position); boolean hasRedCard = false; if (null != adapterItem.getPlayerActionItemVOS()) { for (MatchPlayerActionItemBean itemBean : adapterItem.getPlayerActionItemVOS()) { if (itemBean.getPlayerActionType() == 4 || itemBean.getPlayerActionType() == 36) { hasRedCard = true; break; } } } if (mSelectMatchActionDialog == null) { mSelectMatchActionDialog = new SelectMatchActionDialog(this); } mSelectMatchActionDialog.setPlayerNumber(adapterItem.getPlayerNumber()); mSelectMatchActionDialog.setPlaying(adapterItem.getIsPlaying() == 1); mSelectMatchActionDialog.setHasRedCard(hasRedCard); mSelectMatchActionDialog.setOnMatchActionSelectListener(actionType -> { int teamId = isMaster ? mMatchActionBean.getMasterTeamId() : mMatchActionBean.getGuestTeamId(); mMatchAddActionBean = new MatchAddActionBean(); mMatchAddActionBean.setOperationUserId(adapterItem.getUserId()); mMatchAddActionBean.setEdit(false); mMatchAddActionBean.setActionType(actionType.getType()); mMatchAddActionBean.setTeamId(teamId); //换人额外处理 if (actionType == MatchActionType.ACTION_TYPE_REPLACE) { getPresenter().loadOldMatchData(matchId, isMaster); return; } if (Arrays.asList(hasVideoType).contains(actionType.getType())) { getPresenter().loadMatchActionHighlight(matchId, teamId, getHighlightType(actionType.getType())); } else { currentHighlightList.clear(); showActionSetDialog(); } }); mSelectMatchActionDialog.show(); } @Override public void onItemActionClick(int position, int actionPosition) { if (mMatchActionBean.getMatchStatusType() == 3 || mMatchActionBean.getMatchStatusType() == 4 || mMatchActionBean.getMatchStatusType() == 5) { ToastUtils.show("无法更改弃权比赛记录"); return; } MatchPlayerActionItemBean actionItemBean = mAdapter.getItem(position).getPlayerActionItemVOS().get(actionPosition); cancelActionDialog = new HotMatchChooseCancelPerformanceDialog(this); cancelActionDialog.setTimeVisibility(actionItemBean.getPlayerActionType() == 5 ? View.GONE : View.VISIBLE); cancelActionDialog.setOnCancelBtnClickListener(() -> cancelActionDialog.dismiss()); cancelActionDialog.setOnConfirmBtnClickListener(() -> { int choose = cancelActionDialog.getChoose(); /** * 1撤销表现 * 2修改时间 */ int teamId = isMaster ? mMatchActionBean.getMasterTeamId() : mMatchActionBean.getGuestTeamId(); if (choose == 1) { getPresenter().delAction(leagueId, matchId, actionItemBean.getPlayerActionId(), teamId); } else { mMatchAddActionBean = new MatchAddActionBean(); mMatchAddActionBean.setEdit(true); mMatchAddActionBean.setPlayerActionId(actionItemBean.getPlayerActionId()); String time = actionItemBean.getPlayerActionTime(); int actionTime = 0; try { actionTime = Integer.parseInt(time); } catch (Exception e) { Logcat.e("时间解析异常:" + time); e.printStackTrace(); } mMatchAddActionBean.setActionTime(actionTime); mMatchAddActionBean.setActionType(actionItemBean.getPlayerActionType()); mMatchAddActionBean.setTeamId(teamId); mMatchAddActionBean.setOperationUserId(mAdapter.getItem(position).getUserId()); if (Arrays.asList(hasVideoType).contains(actionItemBean.getPlayerActionType())) { getPresenter().loadMatchActionInfo(leagueId, matchId, actionItemBean.getPlayerActionId(), teamId); } else { currentHighlightList.clear(); showActionSetDialog(); } } }); cancelActionDialog.show(); } private MatchHighlightListRequest.HighlightType getHighlightType(Integer playerActionType) { MatchHighlightListRequest.HighlightType type = null; if (playerActionType == 1) { type = MatchHighlightListRequest.HighlightType.TYPE_GOA; } else if (playerActionType == 3) { type = MatchHighlightListRequest.HighlightType.TYPE_YELLOW_CARD; } else if (playerActionType == 4) { type = MatchHighlightListRequest.HighlightType.TYPE_RED_CARD; } else if (playerActionType == 24) { type = MatchHighlightListRequest.HighlightType.TYPE_OWN_GOAL; } else if (playerActionType == 35) { type = MatchHighlightListRequest.HighlightType.TYPE_GOA; } return type; } private void showActionSetDialog() { if (cancelActionDialog != null && cancelActionDialog.isShow()) { cancelActionDialog.dismiss(); } if (mSelectMatchActionDialog != null && mSelectMatchActionDialog.isShowing()) { mSelectMatchActionDialog.dismiss(); } if (mMatchActionInfoDialog == null) { mMatchActionInfoDialog = new MatchActionInfoDialog(this); } if (mSelectMatchActionHighlightBean != null) { mMatchActionInfoDialog.setHighlightBean(mSelectMatchActionHighlightBean); } if (mMatchAddActionBean.getActionTime() != null) { mMatchActionInfoDialog.setTime(mMatchAddActionBean.getActionTime()); } mMatchActionInfoDialog.setHasVideo(Arrays.asList(hasVideoType).contains(mMatchAddActionBean.getActionType())); mMatchActionInfoDialog.setOnMatchActionInfoListener(new MatchActionInfoDialog.OnMatchActionInfoListener() { @Override public void onMatchActionInfo(int minute, MatchActionHighlightBean highlightBean) { mMatchAddActionBean.setActionTime(minute); mMatchAddActionBean.setLeagueId(Integer.parseInt(leagueId)); mMatchAddActionBean.setMatchId(Integer.parseInt(matchId)); mMatchAddActionBean.setMatchSegmentType(0); mMatchAddActionBean.setOfficerOrPlayer(1); if (mMatchAddActionBean.getActionType().equals(MatchActionType.ACTION_TYPE_CARD_YELLOW.getType()) || mMatchAddActionBean.getActionType().equals(MatchActionType.ACTION_TYPE_CARD_RED.getType()) || mMatchAddActionBean.getActionType().equals(MatchActionType.ACTION_TYPE_CARD_YELLOW_2_RED.getType()) ) { mMatchActionInfoDialog.dismiss(); MatchCardActionReasonDialog reasonDialog = new MatchCardActionReasonDialog(MatchRecordDataActivity.this); reasonDialog.setReason(mMatchAddActionBean.getActionContent()); reasonDialog.setActionInputListener(reason -> { if (!TextUtils.isEmpty(reason)) { mMatchAddActionBean.setActionContent(reason); } getPresenter().addOrEditAction(mMatchAddActionBean); reasonDialog.dismiss(); }); reasonDialog.show(); } else if (mMatchAddActionBean.getActionType().equals(MatchActionType.ACTION_TYPE_GOAL.getType())) { mMatchActionInfoDialog.dismiss(); showGoalTypeDialog(); } else { getPresenter().addOrEditAction(mMatchAddActionBean); } } @Override public void onSelectVideo() { if (!ListUtils.isEmpty(currentHighlightList)) { showVideoSelect(); } else { ToastUtils.show("暂无该类型视频集锦"); } } @Override public void onPreviewVideo(MatchActionHighlightBean highlightBean) { Bundle bundle = new Bundle(); bundle.putBoolean(LocalVideoPlayerActivity.SCREEN_FULL, false); bundle.putString(LocalVideoPlayerActivity.VIDEO_URL, highlightBean.getVideoUrl()); gotoActivity(LocalVideoPlayerActivity.class, bundle); } }); mMatchActionInfoDialog.show(); } public void showVideoSelect() { List itemList = new ArrayList(); itemList.addAll(currentHighlightList); mVideoPickerView = new OptionsPickerBuilder(this, (options1, options2, options3, v) -> { MatchActionHighlightBean itemBean = itemList.get(options1); Logcat.d("select Video ID" + JSON.toJSONString(itemBean)); mMatchActionInfoDialog.setHighlightBean(itemBean); mMatchAddActionBean.setVideoId(itemBean.getVideoId()); }) .setOutSideCancelable(false) .setContentTextSize(15) .setTitleBgColor(Color.WHITE) .setTextColorCenter(Color.parseColor("#0C0909")) .setCancelColor(Color.parseColor("#0C0909")) .setSubmitColor(Color.parseColor("#848484")) .setItemVisibleCount(7) .setLineSpacingMultiplier(2.5f) .isDialog(true) .build(); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewUtil.getScreenWidth(this), ViewGroup.LayoutParams.WRAP_CONTENT); Dialog dialog = mVideoPickerView.getDialog(); if (dialog != null) { Window window = dialog.getWindow(); assert window != null; window.setWindowAnimations(R.style.dialog_anim_bottom); window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); WindowManager.LayoutParams winParams = window.getAttributes(); winParams.width = ViewUtil.getScreenWidth(this); winParams.height = WindowManager.LayoutParams.WRAP_CONTENT; winParams.gravity = Gravity.BOTTOM; window.setAttributes(winParams); } mVideoPickerView.getDialogContainerLayout().setLayoutParams(params); mVideoPickerView.setPicker(itemList); mVideoPickerView.show(); } private void showGoalTypeDialog() { List typeList = new ArrayList<>(); typeList.add("运动战进球"); typeList.add("点球"); final RadioChooserDialog goalTypeDialog = new RadioChooserDialog(MatchRecordDataActivity.this, typeList, "进球类型", 0); goalTypeDialog.setOnCancelBtnClickListener(() -> goalTypeDialog.dismiss()); goalTypeDialog.setOnConfirmBtnClickListener(() -> { int goalType = goalTypeDialog.getSelectedItem(); if (goalType == 0) { mMatchAddActionBean.setActionType(MatchActionType.ACTION_TYPE_GOAL.getType()); List beanList = new ArrayList<>(); beanList.addAll(mBeanList); int playerIndex = 0; int lastAsPlayerIndex = 0; for (int i = 0; i < beanList.size(); i++) { if (beanList.get(i).getUserId().equals(mMatchAddActionBean.getOperationUserId())) { playerIndex = i; } if (mMatchAddActionBean.getToPlayingUserId() != null && beanList.get(i).getUserId().equals(mMatchAddActionBean.getToPlayingUserId())) { lastAsPlayerIndex = i; } } beanList.remove(playerIndex); ChooseDialog dialog = new ChooseDialog<>(MatchRecordDataActivity.this); dialog.setTitle("选择助攻球员"); dialog.setConfirmText("确定"); dialog.setCancelText("暂不录助攻"); dialog.setList(beanList, lastAsPlayerIndex); dialog.setOnDialogChooseListener(new ChooseDialog.OnDialogChooseListener() { @Override public void onChoose(MatchRecordDataListBean matchRecordDataListBean) { mMatchAddActionBean.setToPlayingUserId(matchRecordDataListBean.getUserId()); getPresenter().addOrEditAction(mMatchAddActionBean); dialog.dismiss(); } @Override public void onDismiss() { getPresenter().addOrEditAction(mMatchAddActionBean); } }); dialog.show(); } else { mMatchAddActionBean.setActionType(MatchActionType.ACTION_TYPE_GOAL_POINT.getType()); getPresenter().addOrEditAction(mMatchAddActionBean); } goalTypeDialog.dismiss(); }); goalTypeDialog.show(); } private void commitDialog() { final TipsDialog tipsDialog = new TipsDialog(this, "比赛提示", "是 否 提 交 数 据", R.style.dialog_style); tipsDialog.setConfirmListener(() -> { // getPresenter().commitMatchData(matchId, mMatchActionBean.getMasterPoint(), mMatchActionBean.getGuestPoint()); int matchSegmentType = mMatchActionBean.getMatchStatusType(); getPresenter().commit(leagueId, matchId, mMatchActionBean.getMasterTeamId(), mMatchActionBean.getGuestTeamId(), matchSegmentType); tipsDialog.dismiss(); }); tipsDialog.setCancleListener(() -> tipsDialog.dismiss()); tipsDialog.setCanceledOnTouchOutside(false); tipsDialog.show(); } /** * 取消弃权 */ private void showCancelAbstainTips() { final TipsDialog dialog = new TipsDialog(this, "提示", "请确认是否取消弃权", R.style.dialog_style); dialog.setCancleListener(dialog::dismiss); dialog.setConfirmListener(() -> { getPresenter().cancelMatchAbstain(matchId); dialog.dismiss(); }); dialog.show(); } /** * 弃权 * * @param bundle */ private void showAbstainDialog(Bundle bundle) { final HotMatchChooseWaiveTeamDialog dialog = new HotMatchChooseWaiveTeamDialog(this, bundle); dialog.setOnCancelBtnClickListener(dialog::dismiss); dialog.setOnConfirmBtnClickListener(() -> { if (!TextUtils.isEmpty(dialog.getChoose())) { LogHelper.e("choose " + dialog.getChoose()); } int abstain = 3; if ("master".equals(dialog.getChoose())) { abstain = 1; } else if ("guest".equals(dialog.getChoose())) { abstain = 2; } getPresenter().matchAbstain(leagueId, matchId, abstain); dialog.dismiss(); }); dialog.show(); } //添加表现 @Override protected void onActivityResult(int requestCode, int resultCode, final Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == RESULT_OK) { switch (requestCode) { // 返回赛程 case REQUEST_CODE_SIGNATURE: setResult(RESULT_OK); finish(); break; case REQUEST_CODE_REPLACE: showLoading(); getPresenter().loadMatchActionList(matchId); break; //记录点球大战 case REQUEST_CODE_KICK: showLoading(); int masterPoint = data.getIntExtra("masterPoint", -1); int guestPoint = data.getIntExtra("guestPoint", -1); getPresenter().recordPointScore(leagueId, matchId, mMatchActionBean.getMasterTeamId(), masterPoint, mMatchActionBean.getGuestTeamId(), guestPoint); // mMatchActionBean.setMasterPoint(masterPoint); // mMatchActionBean.setGuestPoint(guestPoint); // if (mMatchActionBean.getMasterPoint() > 0 || mMatchActionBean.getGuestPoint() > 0) { // mViewBinding.tvMasterPoint.setText("(" + mMatchActionBean.getMasterPoint() + ")"); // mViewBinding.tvGuestPoint.setText("(" + mMatchActionBean.getGuestPoint() + ")"); // } else { // mViewBinding.tvGuestPoint.setText(""); // mViewBinding.tvMasterPoint.setText(""); // } break; } } } @Override public void onPointerCaptureChanged(boolean hasCapture) { } @Override public void commitResult() { } @Override public void onError(@NotNull Throwable msg) { } }