162 lines
5.3 KiB
Java
162 lines
5.3 KiB
Java
package com.xscm.modulemain.dialog;
|
||
|
||
import android.content.Context;
|
||
import android.view.Window;
|
||
import android.view.WindowManager;
|
||
|
||
import androidx.annotation.NonNull;
|
||
|
||
import com.blankj.utilcode.util.ScreenUtils;
|
||
import com.blankj.utilcode.util.ToastUtils;
|
||
import com.blankj.utilcode.util.TouchUtils;
|
||
import com.xscm.modulemain.R;
|
||
import com.xscm.modulemain.databinding.DialogCustomInputBinding;
|
||
import com.xscm.moduleutil.bean.RoonGiftModel;
|
||
import com.xscm.moduleutil.bean.SongPlaylist;
|
||
import com.xscm.moduleutil.event.GiftUserRefreshEvent;
|
||
import com.xscm.moduleutil.event.RoomGiftClickToEvent;
|
||
import com.xscm.moduleutil.http.BaseObserver;
|
||
import com.xscm.moduleutil.http.RetrofitClient;
|
||
import com.xscm.moduleutil.widget.dialog.BaseDialog;
|
||
|
||
import org.greenrobot.eventbus.EventBus;
|
||
import org.greenrobot.eventbus.Subscribe;
|
||
import org.greenrobot.eventbus.ThreadMode;
|
||
|
||
import io.reactivex.disposables.Disposable;
|
||
|
||
/**
|
||
* 自定义输入对话框
|
||
*/
|
||
public class CustomInputDialog extends BaseDialog<DialogCustomInputBinding> {
|
||
|
||
GiftSongDialog giftSongDialog;
|
||
private String mGiftId, mGiftNum;
|
||
private SongPlaylist.SongPlaylistBean mSongPlaylistBean;
|
||
private OnDialogDismissListener mListener;
|
||
|
||
public CustomInputDialog(@NonNull Context context) {
|
||
super(context);
|
||
}
|
||
|
||
// 设置监听器
|
||
public void setOnDialogDismissListener(OnDialogDismissListener listener) {
|
||
this.mListener = listener;
|
||
}
|
||
|
||
// 定义回调接口
|
||
public interface OnDialogDismissListener {
|
||
void onDialogDismiss(boolean dataChanged);
|
||
}
|
||
|
||
@Override
|
||
public int getLayoutId() {
|
||
return R.layout.dialog_custom_input;
|
||
}
|
||
|
||
@Override
|
||
public void initView() {
|
||
setCancelable(false);
|
||
setCanceledOnTouchOutside(false);
|
||
Window window = getWindow();
|
||
window.setLayout((int) (ScreenUtils.getScreenWidth() * 315.f / 375), WindowManager.LayoutParams.WRAP_CONTENT);
|
||
mBinding.ivClose.setOnClickListener(v -> dismiss());
|
||
|
||
}
|
||
|
||
@Override
|
||
public void initData() {
|
||
|
||
|
||
mBinding.ivClose.setOnClickListener(v -> {
|
||
dismiss();
|
||
// 通知Activity对话框关闭,但数据未更改
|
||
if (mListener != null) {
|
||
mListener.onDialogDismiss(false);
|
||
}
|
||
});
|
||
|
||
mBinding.tvCancel.setOnClickListener(v -> {
|
||
dismiss();
|
||
// 通知Activity对话框关闭,但数据未更改
|
||
if (mListener != null) {
|
||
mListener.onDialogDismiss(false);
|
||
}
|
||
});
|
||
mBinding.tvClickable.setOnClickListener(v -> {
|
||
giftSongDialog = new GiftSongDialog(getContext());
|
||
giftSongDialog.show();
|
||
giftSongDialog.setOnGiftConfirmListener(new GiftSongDialog.OnGiftConfirmListener() {
|
||
@Override
|
||
public void onGiftConfirm(String giftId, String name, String giftNum) {
|
||
mGiftId = giftId;
|
||
mGiftNum = giftNum;
|
||
mBinding.tvClickable.setText(name+" x"+giftNum);
|
||
}
|
||
});
|
||
|
||
});
|
||
|
||
|
||
mBinding.tvConfirm.setOnClickListener(v -> {
|
||
if (mBinding.etInput.getText().toString().isEmpty()) {
|
||
ToastUtils.showLong("请输入歌曲名称");
|
||
return;
|
||
}
|
||
if (mBinding.tvClickable.getText().toString().isEmpty()) {
|
||
ToastUtils.showLong("请选择礼物");
|
||
return;
|
||
}
|
||
if (mSongPlaylistBean != null) {
|
||
RetrofitClient.getInstance().singerUpdateSong(mSongPlaylistBean.getId() + "", mBinding.etInput.getText().toString(), mGiftId, mGiftNum, new BaseObserver<String>() {
|
||
@Override
|
||
public void onSubscribe(Disposable d) {
|
||
|
||
}
|
||
|
||
@Override
|
||
public void onNext(String s) {
|
||
dismiss();
|
||
// 通知Activity数据已更新
|
||
if (mListener != null) {
|
||
mListener.onDialogDismiss(true);
|
||
}
|
||
}
|
||
});
|
||
} else {
|
||
RetrofitClient.getInstance().singerAddSong(mBinding.etInput.getText().toString(), mGiftId, mGiftNum, new BaseObserver<String>() {
|
||
@Override
|
||
public void onSubscribe(Disposable d) {
|
||
|
||
}
|
||
|
||
@Override
|
||
public void onNext(String s) {
|
||
dismiss();
|
||
// 通知Activity数据已更新
|
||
if (mListener != null) {
|
||
mListener.onDialogDismiss(true);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
});
|
||
|
||
}
|
||
|
||
public void PlaylistBean(SongPlaylist.SongPlaylistBean songPlaylistBean) {
|
||
this.mSongPlaylistBean = songPlaylistBean;
|
||
setPlaylistBean();
|
||
}
|
||
|
||
private void setPlaylistBean() {
|
||
if (mSongPlaylistBean != null) {
|
||
mBinding.etInput.setText(mSongPlaylistBean.getSong_name());
|
||
mBinding.tvClickable.setText(mSongPlaylistBean.getGift_name());
|
||
mGiftId=mSongPlaylistBean.getGift_id();
|
||
mGiftNum=mSongPlaylistBean.getGift_num();
|
||
}
|
||
}
|
||
}
|