点唱房功能
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
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);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user