diff --git a/agora-ktv-kit-release/.gitignore b/agora-ktv-kit-release/.gitignore
deleted file mode 100644
index 36af4938d..000000000
--- a/agora-ktv-kit-release/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/build
-*.iml
-*.DS_Store
\ No newline at end of file
diff --git a/agora-ktv-kit-release/agora-ktv-kit-release.aar b/agora-ktv-kit-release/agora-ktv-kit-release.aar
deleted file mode 100644
index a3a1b801c..000000000
Binary files a/agora-ktv-kit-release/agora-ktv-kit-release.aar and /dev/null differ
diff --git a/agora-ktv-kit-release/build.gradle b/agora-ktv-kit-release/build.gradle
deleted file mode 100644
index 5e82351ab..000000000
--- a/agora-ktv-kit-release/build.gradle
+++ /dev/null
@@ -1,2 +0,0 @@
-configurations.maybeCreate("default")
-artifacts.add("default", file('agora-ktv-kit-release.aar'))
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index af5b64781..3278d2195 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -852,23 +852,6 @@
-
-
-
-
@Override
public void exitRoom(RoomInfo roomInfo) {
closeOpenRoomAnimation();
- //ktv退出的时候需要用到
- if (AudioEngineManager.get().isOpenKtv() && roomInfo != null) {
- KtvMusicManager.INSTANCE.deleteUserAllChooseMusic(roomInfo.getUid()).subscribe();
- AudioEngineManager.get().closeKtvModel();
- }
DaemonService.stop(MainActivity.this);
}
diff --git a/app/src/main/java/com/mango/moshen/avroom/adapter/KtvMicroViewAdapter.java b/app/src/main/java/com/mango/moshen/avroom/adapter/KtvMicroViewAdapter.java
deleted file mode 100644
index 5bad536d4..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/adapter/KtvMicroViewAdapter.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package com.mango.moshen.avroom.adapter;
-
-import android.content.Context;
-
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.netease.nim.uikit.common.util.sys.ScreenUtil;
-import com.mango.moshen.R;
-import com.mango.moshen.avroom.ktv.KtvMusicManager;
-import com.mango.moshen.ui.widget.magicindicator.buildins.UIUtil;
-import com.mango.core.bean.RoomQueueInfo;
-import com.mango.core.manager.AvRoomDataManager;
-import com.mango.core.room.ktv.event.MusicCountEvent;
-import com.mango.core.room.pk.bean.PKTeamInfo;
-import com.mango.core.room.queue.bean.MicMemberInfo;
-import com.mango.core.utils.StringUtils;
-import com.mango.xchat_android_library.rxbus.RxBus;
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.CompositeDisposable;
-
-/**
- * @author xiaoyu
- * @date 2017/12/18
- */
-
-public class KtvMicroViewAdapter extends BaseMicroViewAdapter {
-
- private int[] realPositions = {1, 5, 2, 6, 0, 3, 7, 4, 8};
-
- private ViewGroup.LayoutParams microParams;
- private ViewGroup.LayoutParams bossParams;
-
- public KtvMicroViewAdapter(Context context) {
- super(context);
- int itemWidth = (int) (ScreenUtil.screenWidth * 0.1875);
- microParams = new ViewGroup.LayoutParams(itemWidth, UIUtil.dip2px(context, 80));
- bossParams = new ViewGroup.LayoutParams(ScreenUtil.screenWidth / 4, UIUtil.dip2px(context, 160));
- disposables.add(RxBus.get().toFlowable(MusicCountEvent.class)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(musicCountEvent -> notifyDataSetChanged()));
- }
-
- /**
- * Set LayoutManager and bind this to {@link RecyclerView}
- */
- @Override
- public void bindToRecyclerView(RecyclerView recyclerView) {
- GridLayoutManager layoutManager = new GridLayoutManager(context, 2);
- layoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
- layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
- @Override
- public int getSpanSize(int position) {
- return position == 4 ? 2 : 1;
- }
- });
- recyclerView.setLayoutManager(layoutManager);
- recyclerView.setAdapter(this);
- }
-
- @Override
- public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
- View item = LayoutInflater.from(parent.getContext())
- .inflate(viewType == TYPE_BOSS ? R.layout.item_ktv_boss_micro : R.layout.list_item_ktv_micro, parent, false);
- return new KtvMicroViewHolder(item, viewType == TYPE_BOSS);
-
- }
-
- @Override
- public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, final int position) {
- int realPosition = realPositions[position];
- RoomQueueInfo roomQueueInfo = AvRoomDataManager.get().getRoomQueueMemberInfoByMicPosition(realPosition - 1);
- viewHolder.itemView.setLayoutParams(position == 4 ? bossParams : microParams);
- if (roomQueueInfo == null) return;
- NormalMicroViewHolder holder = (NormalMicroViewHolder) viewHolder;
- holder.bind(roomQueueInfo, realPosition - 1);
- }
-
- @Override
- public String microType() {
- return BaseMicroViewAdapter.MICRO_TYPE_KTV;
- }
-
- @Override
- public int getItemViewType(int position) {
- return (position == 4) ? TYPE_BOSS : TYPE_NORMAL;
- }
-
- class KtvMicroViewHolder extends NormalMicroViewHolder {
-
- ImageView ivSinger;
- TextView tvPkMark;
- boolean mIsBoss;
-
- KtvMicroViewHolder(View itemView, boolean isBoss) {
- super(itemView);
- ivSinger = itemView.findViewById(R.id.iv_singer);
- tvPkMark = (TextView) itemView.findViewById(R.id.tv_pk_mark);
- mIsBoss = isBoss;
-
- }
-
- @Override
- public void clear() {
- super.clear();
- ivSinger.setVisibility(View.GONE);
- tvPkMark.setVisibility(View.GONE);
- disposables.dispose();
- }
-
- @Override
- protected void setDefalutText(int index) {
- tvNick.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
- if (mIsBoss) {
- tvNick.setTextColor(context.getResources().getColor(R.color.white_transparent_30));
- tvNick.setText("未上座");
- } else
- super.setDefalutText(index);
- }
-
- @Override
- protected void setSelectText(int index, String nick, int gender) {
- super.setSelectText(index, nick, gender);
-
- if (mIsBoss) {
- setBossViewGender(tvNick, gender == 1);
- } else
- tvNick.setCompoundDrawablesWithIntrinsicBounds(0, 0, 0, 0);
- }
-
- @Override
- void bind(RoomQueueInfo info, int position) {
- super.bind(info, position);
- MicMemberInfo micMemberInfo = info.mChatRoomMember;
- if (micMemberInfo != null && micMemberInfo.getGroupType() == PKTeamInfo.TEAM_RED) {
- tvPkMark.setVisibility(View.VISIBLE);
- tvPkMark.setBackgroundResource(R.drawable.shape_pk_mic_queue_mark_red);
- tvPkMark.setText("红队");
- ivSinger.setVisibility(View.GONE);
- if (isSinging(info.mChatRoomMember)) {
- tvPkMark.setCompoundDrawablesWithIntrinsicBounds(tvPkMark.getResources().getDrawable(R.drawable.ktv_pk_singing_mark), null, null, null);
- } else {
- tvPkMark.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
- }
- } else if (micMemberInfo != null && micMemberInfo.getGroupType() == PKTeamInfo.TEAM_BLUE) {
- tvPkMark.setVisibility(View.VISIBLE);
- tvPkMark.setBackgroundResource(R.drawable.shape_pk_mic_queue_mark_blue);
- tvPkMark.setText("蓝队");
- ivSinger.setVisibility(View.GONE);
- if (isSinging(info.mChatRoomMember)) {
- tvPkMark.setCompoundDrawablesWithIntrinsicBounds(tvPkMark.getResources().getDrawable(R.drawable.ktv_pk_singing_mark), null, null, null);
- } else {
- tvPkMark.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null);
- }
- } else {
- tvPkMark.setVisibility(View.GONE);
- if (isSinging(info.mChatRoomMember)) {
- ivSinger.setVisibility(View.VISIBLE);
- } else {
- ivSinger.setVisibility(View.GONE);
- }
- }
-
- }
-
- private boolean isSinging(MicMemberInfo chatRoomMember) {
- return chatRoomMember != null && KtvMusicManager.INSTANCE.getCurrMusic().getUid() == StringUtils.toLong(chatRoomMember.getAccount());
- }
- }
-
-
- private CompositeDisposable disposables = new CompositeDisposable();
-
- @Override
- public void onDetachedFromRecyclerView(RecyclerView recyclerView) {
- super.onDetachedFromRecyclerView(recyclerView);
- disposables.dispose();
- }
-
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/fragment/HomePartyRoomFragment.java b/app/src/main/java/com/mango/moshen/avroom/fragment/HomePartyRoomFragment.java
index db25e62c1..0c71e5a56 100644
--- a/app/src/main/java/com/mango/moshen/avroom/fragment/HomePartyRoomFragment.java
+++ b/app/src/main/java/com/mango/moshen/avroom/fragment/HomePartyRoomFragment.java
@@ -7,38 +7,6 @@ import android.view.View;
import androidx.databinding.DataBindingUtil;
-import com.mango.core.statistic.StatisticManager;
-import com.mango.core.statistic.protocol.StatisticsProtocol;
-import com.netease.nim.uikit.common.util.log.LogUtil;
-import com.netease.nim.uikit.support.glide.GlideApp;
-import com.trello.rxlifecycle3.android.FragmentEvent;
-import com.mango.moshen.R;
-import com.mango.moshen.avroom.activity.AVRoomActivity;
-import com.mango.moshen.avroom.adapter.BaseMicroViewAdapter;
-import com.mango.moshen.avroom.adapter.CpMicroViewAdapter;
-import com.mango.moshen.avroom.adapter.DatingMicroViewAdapter;
-import com.mango.moshen.avroom.adapter.KtvMicroViewAdapter;
-import com.mango.moshen.avroom.adapter.MicroViewAdapter;
-import com.mango.moshen.avroom.anotherroompk.RoomPkFinishDialog;
-import com.mango.moshen.avroom.anotherroompk.RoomPkForceFinishDialog;
-import com.mango.moshen.avroom.anotherroompk.RoomPkReceivedDialog;
-import com.mango.moshen.avroom.dialog.MicQueueDialog;
-import com.mango.moshen.avroom.dialog.PKMicQueueDialog;
-import com.mango.moshen.avroom.dialog.PKResultDialog;
-import com.mango.moshen.avroom.dialog.PKScoreBoardDialog;
-import com.mango.moshen.avroom.firstcharge.FirstChargePrizeDialog;
-import com.mango.moshen.avroom.giftvalue.GiftValueDialogUiHelper;
-import com.mango.moshen.avroom.ktv.KtvSongListActivity;
-import com.mango.moshen.avroom.presenter.HomePartyPresenter;
-import com.mango.moshen.avroom.view.IHomePartyView;
-import com.mango.moshen.avroom.widget.PKBoardView;
-import com.mango.moshen.base.BaseMvpActivity;
-import com.mango.moshen.common.widget.dialog.DialogManager;
-import com.mango.moshen.databinding.FragmentAvRoomGameBinding;
-import com.mango.moshen.treasure_box.widget.GoldBoxHelper;
-import com.mango.moshen.ui.webview.DatingRuleWebViewActivity;
-import com.mango.moshen.ui.webview.DialogWebViewActivity;
-import com.mango.moshen.utils.UserUtils;
import com.mango.core.Constants;
import com.mango.core.UriProvider;
import com.mango.core.auth.AuthModel;
@@ -63,14 +31,41 @@ import com.mango.core.room.pk.model.PkModel;
import com.mango.core.room.queuing_mic.bean.RespQueuingMicListInfo;
import com.mango.core.room.queuing_mic.event.QueuingMicEmptyEvent;
import com.mango.core.room.queuing_mic.event.QueuingMicNotEmptyEvent;
+import com.mango.core.statistic.StatisticManager;
+import com.mango.core.statistic.protocol.StatisticsProtocol;
import com.mango.core.super_admin.util.SuperAdminUtil;
import com.mango.core.user.UserModel;
import com.mango.core.utils.CurrentTimeUtils;
+import com.mango.moshen.R;
+import com.mango.moshen.avroom.activity.AVRoomActivity;
+import com.mango.moshen.avroom.adapter.BaseMicroViewAdapter;
+import com.mango.moshen.avroom.adapter.CpMicroViewAdapter;
+import com.mango.moshen.avroom.adapter.DatingMicroViewAdapter;
+import com.mango.moshen.avroom.adapter.MicroViewAdapter;
+import com.mango.moshen.avroom.anotherroompk.RoomPkFinishDialog;
+import com.mango.moshen.avroom.anotherroompk.RoomPkForceFinishDialog;
+import com.mango.moshen.avroom.anotherroompk.RoomPkReceivedDialog;
+import com.mango.moshen.avroom.dialog.MicQueueDialog;
+import com.mango.moshen.avroom.dialog.PKMicQueueDialog;
+import com.mango.moshen.avroom.dialog.PKResultDialog;
+import com.mango.moshen.avroom.dialog.PKScoreBoardDialog;
+import com.mango.moshen.avroom.firstcharge.FirstChargePrizeDialog;
+import com.mango.moshen.avroom.giftvalue.GiftValueDialogUiHelper;
+import com.mango.moshen.avroom.presenter.HomePartyPresenter;
+import com.mango.moshen.avroom.view.IHomePartyView;
+import com.mango.moshen.avroom.widget.PKBoardView;
+import com.mango.moshen.base.BaseMvpActivity;
+import com.mango.moshen.common.widget.dialog.DialogManager;
+import com.mango.moshen.databinding.FragmentAvRoomGameBinding;
+import com.mango.moshen.ui.webview.DatingRuleWebViewActivity;
+import com.mango.moshen.ui.webview.DialogWebViewActivity;
+import com.mango.moshen.utils.UserUtils;
import com.mango.xchat_android_library.base.factory.CreatePresenter;
import com.mango.xchat_android_library.utils.SingleToastUtil;
import com.mango.xchat_android_library.utils.TimeUtils;
import com.mango.xchat_android_library.utils.UIUtils;
-import com.mango.xchat_android_library.utils.config.BasicConfig;
+import com.netease.nim.uikit.common.util.log.LogUtil;
+import com.trello.rxlifecycle3.android.FragmentEvent;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -459,10 +454,6 @@ public class HomePartyRoomFragment extends BaseRoomFragment implements View.OnClickListener {
-
- private String[] errs = new String[]{
- "歌词有误",
- "歌词与伴奏有错位",
- "原唱与伴奏不匹配",
- "伴奏有误",
- "伴奏音质差",
- "MV质量差",
- "无法播放",
- "其他"};
- private int musicId;
-
- public KtvCommitErrorDialog(Context context, int musicId) {
- super(context, R.style.TranslucentNoTitle);
- this.musicId = musicId;
- }
-
- public static KtvCommitErrorDialog newInstance(Context context, int musicId) {
- return new KtvCommitErrorDialog(context, musicId);
- }
-
- @Override
- protected void init() {
- binding.setClick(this);
- TextView checkBox;
- for (String err : errs) {
- checkBox = (TextView) getLayoutInflater().inflate(R.layout.item_ktv_err, null);
- checkBox.setText(err);
- binding.llErrs.addView(checkBox, createLayoutParams());
- checkBox.setOnClickListener(v -> {
- v.setSelected(!v.isSelected());
- updateCommitStatus();
- });
- }
- }
-
- private void updateCommitStatus() {
- boolean clickable = false;
- for (int i = 0; i < binding.llErrs.getChildCount(); i++) {
- if (binding.llErrs.getChildAt(i).isSelected()) {
- clickable = true;
- break;
- }
- }
- binding.tvSure.setClickable(clickable);
- binding.tvSure.setSolid(clickable ? context.getResources().getColor(R.color.appColor) :
- context.getResources().getColor(R.color.color_FFC4A7));
- }
-
- private LinearLayout.LayoutParams createLayoutParams() {
- LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(
- ViewGroup.LayoutParams.MATCH_PARENT, UIUtil.dip2px(context, 38));
- layoutParams.setMarginStart(UIUtil.dip2px(context, 15));
- layoutParams.setMarginEnd(UIUtil.dip2px(context, 15));
- return layoutParams;
- }
-
- public void onClick(View view) {
- TextView checkBox;
- switch (view.getId()) {
- case R.id.tv_sure:
- StringBuilder errMsg = new StringBuilder();
- for (int i = 0; i < binding.llErrs.getChildCount(); i++) {
- checkBox = (TextView) binding.llErrs.getChildAt(i);
- if (checkBox.isSelected()) {
- if (i != 0) errMsg.append(",");
- errMsg.append(checkBox.getText().toString());
- }
- }
- if (TextUtils.isEmpty(errMsg.toString())) {
- SingleToastUtil.showToast("请至少选择一种错误!");
- return;
- }
- KtvMusicManager.INSTANCE.musicError(musicId, errMsg.toString())
- .subscribe(s -> {
- closeDialog();
- SingleToastUtil.showToast("提交成功!");
- });
- break;
- default:
- break;
- }
- }
-
-
-
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvHelper.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvHelper.java
deleted file mode 100644
index 92d7e4f40..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvHelper.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.content.Context;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder;
-import com.netease.nimlib.sdk.chatroom.model.ChatRoomMessage;
-
-import com.mango.moshen.R;
-import com.mango.moshen.utils.UserUtils;
-import com.mango.core.im.custom.bean.MusicInfoAttachment;
-import com.mango.core.manager.IMNetEaseManager;
-import com.mango.core.room.ktv.bean.MusicInfo;
-import com.mango.xchat_android_library.utils.NetworkUtils;
-
-import io.reactivex.Single;
-
-import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_KTV;
-
-
-public class KtvHelper {
-
- public static final int NO_NET = 1;
- public static final int NO_SONG = 2;
- public static final int NO_ROOM = 3;
- public static final int NO_DATA = 4;
- public static View createKtvEmptyView(Context context,int type ) {
- if (!NetworkUtils.isNetworkAvailable(context)) type = NO_NET;
- String hint ="";
- int resId = 0;
- switch (type) {
- case NO_NET:
- hint = "网络异常,加载失败";
- resId = R.drawable.icon_common_failure;
- break;
- case NO_DATA:
- hint = "搜索无歌曲";
- resId = R.drawable.icon_common_failure;
- break;
- case NO_ROOM:
- hint = "无房间开唱";
- resId = R.drawable.icon_common_failure;
- break;
- case NO_SONG:
- hint = "无点唱歌曲";
- resId = R.drawable.icon_common_failure;
- break;
- }
- View view = LayoutInflater.from(context).inflate(R.layout.fragment_no_data_large_iv, null);
- view.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
- ((TextView)view.findViewById(R.id.no_data_text)).setText(hint);
- ((ImageView)view.findViewById(R.id.no_data_icon)).setImageResource(resId);
- return view;
- }
-
- public static Single sendChatRoomMusicMessage(int sub, MusicInfo musicInfo) {
- MusicInfoAttachment musicInfoAttachment = new MusicInfoAttachment(CUSTOM_MSG_KTV, sub);
- if (musicInfo != null) {
- musicInfo.setOperationNick(UserUtils.getUserInfo().getNick());
- musicInfo.setOperationUid(UserUtils.getUserUid());
- musicInfoAttachment.setMusicInfo(musicInfo);
- }
- final ChatRoomMessage message = ChatRoomMessageBuilder.createChatRoomCustomMessage(
- UserUtils.getCurrentRoomId() + "", musicInfoAttachment);
- return IMNetEaseManager.get().sendChatRoomMessage(message, false);
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvMusicManager.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvMusicManager.java
deleted file mode 100644
index 79ec578b5..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvMusicManager.java
+++ /dev/null
@@ -1,207 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-import com.coorchice.library.utils.LogUtils;
-import com.mango.moshen.utils.UserUtils;
-import com.mango.core.manager.AvRoomDataManager;
-
-import com.mango.core.manager.IMNetEaseManager;
-import com.mango.core.manager.AudioEngineManager;
-import com.mango.core.room.ktv.KtvModel;
-import com.mango.core.room.ktv.bean.MusicInfo;
-import com.mango.core.room.ktv.bean.RoomMusicInfo;
-import com.mango.core.room.ktv.event.KtvEvent;
-import com.mango.core.room.ktv.event.MusicCountEvent;
-import com.mango.core.utils.net.RxHelper;
-import com.mango.xchat_android_library.rxbus.RxBus;
-import com.mango.xchat_android_library.utils.ListUtils;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-import io.reactivex.Observable;
-import io.reactivex.Single;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.Disposable;
-import io.reactivex.schedulers.Schedulers;
-
-import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_KTV_DELETE_USER_ALL;
-import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_KTV_FINISH;
-import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_KTV_SWITCH;
-
-public enum KtvMusicManager {
- INSTANCE;
- private final ArrayList mData = new ArrayList<>();
- private MusicInfo currMusic;
- private double currPlayPos;
- private Disposable ktvDisposable;
- private Disposable startDisposable;
- private Disposable dataDisposable;
- private Disposable switchDisposable;
-
- public void reset() {
- dispose(ktvDisposable);
- ktvDisposable = RxBus.get().toFlowable(KtvEvent.class)
- .subscribe(this::handleKtvEvent);
- initData();
- }
-
- private void initData() {
- dispose(dataDisposable);
- dataDisposable = KtvModel.get().getRoomMusic(UserUtils.getCurrentRoomUid())
- .compose(RxHelper.handleBeanData())
- .doOnSuccess(this::setData)
- .filter(roomMusicInfo -> !AvRoomDataManager.get().isOwnerOnMic() && !ListUtils.isListEmpty(roomMusicInfo.getUserChooseMusicVos()))
- .toObservable()
- .flatMap(roomMusicInfo -> Observable.fromIterable(roomMusicInfo.getUserChooseMusicVos()))
- .filter(musicInfo -> musicInfo.getUid() == UserUtils.getUserUid())
- .firstElement()
- .toSingle()
- .flatMap(musicInfo -> deleteUserAllChooseMusic())
- .subscribe(s -> { }, e -> { });
- }
-
- public void setData(RoomMusicInfo roomMusicInfo) {
- mData.clear();
- currMusic = roomMusicInfo.getSingingMusicVo();
- if (!ListUtils.isListEmpty(roomMusicInfo.getUserChooseMusicVos())) {
- mData.addAll(roomMusicInfo.getUserChooseMusicVos());
- }
- RxBus.get().post(KtvEvent.newInstance(KtvEvent.MUSIC_UPDATE, null));
- RxBus.get().post(new MusicCountEvent(mData.size()));
- }
-
- //处理KTV相关的各种事件
- private void handleKtvEvent(KtvEvent ktvEvent) {
- LogUtils.d(ktvEvent.toString());
- MusicInfo musicInfo = ktvEvent.getMusicInfo();
- switch (ktvEvent.getType()) {
- case KtvEvent.SWITCH_MUSIC:
- if (currMusic != null) mData.remove(currMusic);
- currMusic = musicInfo;
- AudioEngineManager.get().stopPush();
- startMv(musicInfo);
- break;
- case KtvEvent.ADD_MUSIC:
- if (musicInfo != null) {
- mData.add(musicInfo);
- }
- break;
- case KtvEvent.POP_MUSIC:
- if (musicInfo != null) {
- mData.remove(musicInfo);
- }
- break;
- case KtvEvent.NO_MUSIC:
- case KtvEvent.CLOSE_KTV_MODEL:
- AudioEngineManager.get().stopPush();
- AudioEngineManager.get().setLive(false);
- mData.clear();
- currMusic = null;
- break;
- case KtvEvent.DELETE_USER_CHOOSE_MUSIC:
- if (musicInfo != null) {
- mData.remove(musicInfo);
- }
- case KtvEvent.DELETE_USER_ALL_MUSIC:
- if (musicInfo != null) {
- Iterator iterator = mData.iterator();
- while (iterator.hasNext()) {
- if (iterator.next().getUid() == musicInfo.getUid()) {
- iterator.remove();
- }
- }
- }
- break;
- case KtvEvent.MUSIC_COMPLETE:
- LogUtils.d("MUSIC_COMPLETE");
- // if (AudioEngineManager.get().isPush()) switchSong(false);
- break;
- default:
- break;
- }
- RxBus.get().post(new MusicCountEvent(mData.size()));
- }
-
- private void startMv(MusicInfo musicInfo) {
- if (musicInfo == null ||UserUtils.getUserUid() != musicInfo.getUid()) return;
- dispose(startDisposable);
- currPlayPos = -1;
- startDisposable = Observable.just(0)
- .subscribeOn(Schedulers.io())
- .delay(2, TimeUnit.SECONDS)
- .takeUntil(integer -> !KtvView.isShowPrepare || UserUtils.getUserUid() != getCurrMusic().getUid())//准备中下麦处理
- .doOnNext(integer -> AudioEngineManager.get().startMv(musicInfo.getMusicUrl()))
- .flatMap(integer -> Observable.interval(0, 1, TimeUnit.SECONDS))
- .observeOn(AndroidSchedulers.mainThread())
- .takeUntil(aLong -> !AudioEngineManager.get().isPush())
- .filter(aLong -> (AudioEngineManager.get().getPlayPos() > 0.99d ||
- (AudioEngineManager.get().getPlayPos() > 0.94d && AudioEngineManager.get().isPlaying() &&
- currPlayPos == (currPlayPos = AudioEngineManager.get().getPlayPos()))))
- .take(1)
- .subscribe(aLong -> switchSong(false));
-
- }
-
- public Single addMusic(MusicInfo musicInfo) {
- return KtvModel.get().chooseMusic(musicInfo.getMusicId(), UserUtils.getUserUid(), UserUtils.getCurrentRoomUid());
- }
-
- public Single popMusic(MusicInfo musicInfo) {
- return KtvModel.get().popMusic(musicInfo.getMusicId(), musicInfo.getUid(), UserUtils.getCurrentRoomUid());
- }
-
- public Single switchMusic() {
- return KtvModel.get().switchMusic(UserUtils.getCurrentRoomUid());
- }
-
- public Single deleteUserChooseMusic(MusicInfo musicInfo) {
- return KtvModel.get().deleteUserChooseMusic(musicInfo.getMusicId(), musicInfo.getUid(), UserUtils.getCurrentRoomUid());
- }
-
- public Single deleteRoomAllChooseMusic() {
- return KtvModel.get().deleteRoomAllChooseMusic(UserUtils.getCurrentRoomUid());
- }
-
- public Single deleteUserAllChooseMusic() {
- return deleteUserAllChooseMusic(UserUtils.getCurrentRoomUid());
- }
-
- public Single deleteUserAllChooseMusic(long roomUid) {
- return KtvModel.get()
- .deleteUserAllChooseMusic(UserUtils.getUserUid(), roomUid)
- .doOnSuccess(s -> KtvHelper.sendChatRoomMusicMessage(CUSTOM_MSG_SUB_KTV_DELETE_USER_ALL, null)
- .subscribe(chatRoomMessage -> RxBus.get().post(KtvEvent.newInstance(KtvEvent.DELETE_USER_ALL_MUSIC, null))));
- }
-
- public void switchSong(boolean isSwitch) {
- MusicInfo musicInfo = getCurrMusic();
- dispose(switchDisposable);
- switchDisposable = KtvMusicManager.INSTANCE.switchMusic()
- .flatMap(s -> KtvHelper.sendChatRoomMusicMessage(isSwitch ? CUSTOM_MSG_SUB_KTV_SWITCH : CUSTOM_MSG_SUB_KTV_FINISH, musicInfo))
- .subscribe(chatRoomMessage -> IMNetEaseManager.get().addMessages(chatRoomMessage));
- }
-
- public Single musicError(int musicId,String errorMsg) {
- return KtvModel.get().musicError(musicId, UserUtils.getUserUid(),errorMsg);
- }
-
-
- private void dispose(@Nullable Disposable disposable) {
- if (disposable != null) disposable.dispose();
- }
-
- @NonNull
- public List getMusicList() {
- return mData;
- }
-
- @NonNull
- public MusicInfo getCurrMusic() {
- return currMusic == null ? new MusicInfo() : currMusic;
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListActivity.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListActivity.java
deleted file mode 100644
index e6a06e13c..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListActivity.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.content.Context;
-import android.content.Intent;
-import androidx.fragment.app.Fragment;
-
-import com.mango.moshen.R;
-import com.mango.moshen.base.BaseBindingActivity;
-import com.mango.moshen.common.ViewPagerAdapter;
-import com.mango.moshen.databinding.ActivityKtvRoomListBinding;
-import com.mango.moshen.decoration.view.widgets.CarMagicIndicator;
-import com.mango.moshen.ui.widget.magicindicator.ViewPagerHelper;
-import com.mango.moshen.ui.widget.magicindicator.buildins.commonnavigator.CommonNavigator;
-import com.mango.core.home.bean.TabInfo;
-import com.mango.xchat_android_library.annatation.ActLayoutRes;
-import com.mango.xchat_android_library.utils.CommonUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * KTV房间列表
- *
- */
-@ActLayoutRes(R.layout.activity_ktv_room_list)
-public class KtvRoomListActivity extends BaseBindingActivity implements CarMagicIndicator.OnItemSelectListener {
-
- public static void start(Context context) {
- if (CommonUtils.isFastDoubleClick(500)) return;
- Intent starter = new Intent(context, KtvRoomListActivity.class);
- //starter.putExtra();
- context.startActivity(starter);
- }
- @Override
- protected void init() {
- List list = new ArrayList<>();
- list.add(KtvRoomListFragment.newInstance(KtvRoomListFragment.NEW));
- list.add(KtvRoomListFragment.newInstance(KtvRoomListFragment.HOT));
- List tabInfoList = new ArrayList<>(2);
- tabInfoList.add(new TabInfo(1, "最新"));
- tabInfoList.add(new TabInfo(2, "最热"));
- CommonNavigator commonNavigator = new CommonNavigator(this);
- commonNavigator.setAdjustMode(true);
- CarMagicIndicator indicator = new CarMagicIndicator(this, tabInfoList, 0);
- indicator.setOnItemSelectListener(this);
- commonNavigator.setAdapter(indicator);
- mBinding.viewIndicator.setNavigator(commonNavigator);
- ViewPagerHelper.bind(mBinding.viewIndicator, mBinding.viewPager);
- String[] titles = {"最新", "最热"};
- mBinding.setClick(this);
- initTitleBar("KTV房");
- // mBinding.tabLayout.setupWithViewPager(mBinding.viewPager);
- // mBinding.tabLayout.setTabGravity(TabLayout.GRAVITY_CENTER);
- mBinding.viewPager.setAdapter(new ViewPagerAdapter(getSupportFragmentManager(), list, titles));
- }
-
- @Override
- public void onItemSelect(int position) {
- mBinding.viewPager.setCurrentItem(position);
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListFragment.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListFragment.java
deleted file mode 100644
index 4cc8dbb4d..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListFragment.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.os.Bundle;
-
-import androidx.recyclerview.widget.GridLayoutManager;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.mango.moshen.BR;
-import com.mango.moshen.R;
-import com.mango.moshen.avroom.activity.AVRoomActivity;
-import com.mango.moshen.base.BaseBindingFragment;
-import com.mango.moshen.bindadapter.BaseAdapter;
-import com.mango.moshen.databinding.FragmentRecyclerViewBindNoBgBinding;
-import com.mango.core.room.ktv.bean.KtvRoomInfo;
-import com.mango.xchat_android_library.annatation.ActLayoutRes;
-
-@ActLayoutRes(R.layout.fragment_recycler_view_bind_no_bg)
-public class KtvRoomListFragment extends BaseBindingFragment implements SwipeRefreshLayout.OnRefreshListener, BaseQuickAdapter.RequestLoadMoreListener {
- private BaseAdapter adapter;
- private KtvRoomListVm ktvRoomListVm;
- public static final int NEW = 1;
- public static final int HOT = 2;
-
- @Override
- public void initiate() {
- int type = getArguments().getInt("type", HOT);
- ktvRoomListVm = new KtvRoomListVm(mBinding, type);
- adapter = new BaseAdapter<>(R.layout.list_item_ktv_room, BR.ktvRoomInfo);
- adapter.setEmptyView(KtvHelper.createKtvEmptyView(getContext(),KtvHelper.NO_ROOM ));
- mBinding.setViewmodel(ktvRoomListVm);
- mBinding.recyclerView.setLayoutManager(new GridLayoutManager(mContext,2));
- mBinding.recyclerView.setAdapter(adapter);
- mBinding.swipeRefresh.setOnRefreshListener(this);
- loadData(false);
- adapter.setOnLoadMoreListener(this, mBinding.recyclerView);
- adapter.setOnItemClickListener((adapter, view, position) ->{
- AVRoomActivity.start(getActivity(), ((KtvRoomInfo)adapter.getData().get(position)).getRoomUid());
-// getActivity().finish();
- }
- );
-
- }
-
- private void loadData(boolean isLoad) {
- ktvRoomListVm.loadData(isLoad)
- .compose(bindToLifecycle())
- .doAfterTerminate(() -> {
- if (adapter.getItemCount() == 0) showNoData();
- else hideStatus();
- }).subscribe();
- }
-
- public static KtvRoomListFragment newInstance(int type) {
- Bundle args = new Bundle();
- args.putInt("type", type);
- KtvRoomListFragment fragment = new KtvRoomListFragment();
- fragment.setArguments(args);
- return fragment;
- }
-
- @Override
- public void onReloadData() {
- loadData(false);
- showLoading();
- }
-
- @Override
- public void onRefresh() {
- loadData(false);
- }
-
- @Override
- public void onLoadMoreRequested() {
- loadData(true);
- }
-
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListVm.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListVm.java
deleted file mode 100644
index 28a945c4d..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvRoomListVm.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-
-import com.mango.moshen.base.BaseMsListViewModel;
-import com.mango.moshen.databinding.FragmentRecyclerViewBindNoBgBinding;
-import com.mango.core.bean.response.ServiceResult;
-import com.mango.core.room.ktv.KtvModel;
-import com.mango.core.room.ktv.bean.KtvRoomInfo;
-
-import java.util.List;
-
-import io.reactivex.Single;
-
-/**
- * Created by huangmeng1 on 2018/5/9.
- */
-
-public class KtvRoomListVm extends BaseMsListViewModel {
-
- private int sortType;
-
- public KtvRoomListVm(FragmentRecyclerViewBindNoBgBinding mBinding, int sortType) {
- super(mBinding);
- this.sortType = sortType;
- pageSize = 20;
- }
-
- @Override
- public Single>> getSingle() {
- return KtvModel.get().getKtvRooms(sortType, page, pageSize);
- }
-
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSearchSongActivity.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSearchSongActivity.java
deleted file mode 100644
index 195fb1acb..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSearchSongActivity.java
+++ /dev/null
@@ -1,191 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.Intent;
-import android.text.Editable;
-import android.text.TextUtils;
-import android.text.TextWatcher;
-import android.view.KeyEvent;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.view.inputmethod.EditorInfo;
-import android.widget.TextView;
-
-import androidx.recyclerview.widget.LinearLayoutManager;
-
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.coorchice.library.SuperTextView;
-import com.google.android.flexbox.FlexboxLayout;
-import com.mango.moshen.BR;
-import com.mango.moshen.R;
-import com.mango.moshen.base.BaseBindingActivity;
-import com.mango.moshen.bindadapter.BaseAdapter;
-import com.mango.moshen.databinding.ActivityKtvSearchSongBinding;
-import com.mango.moshen.ui.widget.magicindicator.buildins.UIUtil;
-import com.mango.moshen.utils.UserUtils;
-import com.mango.core.manager.AvRoomDataManager;
-import com.mango.core.room.ktv.bean.MusicInfo;
-import com.mango.core.room.ktv.event.KtvEvent;
-import com.mango.core.room.ktv.event.MusicCountEvent;
-import com.mango.core.utils.SharedPreferenceUtils;
-import com.mango.xchat_android_library.annatation.ActLayoutRes;
-import com.mango.xchat_android_library.rxbus.RxBus;
-import com.mango.xchat_android_library.utils.CommonUtils;
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-
-/**
- * KTV搜索歌曲
- *
- */
-
-@ActLayoutRes(R.layout.activity_ktv_search_song)
-public class KtvSearchSongActivity extends BaseBindingActivity implements TextWatcher, BaseQuickAdapter.RequestLoadMoreListener, BaseQuickAdapter.OnItemClickListener, TextView.OnEditorActionListener {
- private KtvSearchSongVm vm;
- private BaseAdapter adapter;
-
-
- public static void start(Context context) {
- if (CommonUtils.isFastDoubleClick(500)) return;
- Intent starter = new Intent(context, KtvSearchSongActivity.class);
- //starter.putExtra();
- context.startActivity(starter);
- }
-
- @SuppressLint("CheckResult")
- @Override
- protected void init() {
- initTitleBar("点歌台");
- vm = new KtvSearchSongVm(mBinding);
- mBinding.setViewModel(vm);
- mBinding.setClick(this);
- mBinding.swipeRefresh.setEnabled(false);
- mBinding.edtSearch.addTextChangedListener(this);
- adapter = new BaseAdapter<>(R.layout.list_item_ktv_search, BR.musicInfo);
- adapter.setOnLoadMoreListener(this, mBinding.recyclerView);
- mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(context));
- mBinding.recyclerView.setAdapter(adapter);
- adapter.setOnItemClickListener(this);
- adapter.setEmptyView(KtvHelper.createKtvEmptyView(context, KtvHelper.NO_DATA));
- mBinding.edtSearch.setOnEditorActionListener(this);
- if (vm.getHistoryList().size() == 0) {
- mBinding.ivClearHistory.setVisibility(View.INVISIBLE);
- } else {
- for (String item : vm.getHistoryList()) {
- mBinding.fblHistory.addView(createSearchItem(item), createLayoutParams());
- }
- }
- mBinding.tvSongCount.setText("已点" + KtvMusicManager.INSTANCE.getMusicList().size());
- RxBus.get().toFlowable(KtvEvent.class)
- .compose(bindToLifecycle())
- .filter(ktvEvent -> ktvEvent.getType() == KtvEvent.ADD_MUSIC_BY_USER)
- .subscribe(ktvEvent -> finish());
- RxBus.get().toFlowable(MusicCountEvent.class)
- .compose(bindToLifecycle())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(musicCountEvent -> mBinding.tvSongCount.setText("已点" + musicCountEvent.getCount()));
- }
-
- private SuperTextView createSearchItem(String text) {
- SuperTextView textView = (SuperTextView) LayoutInflater.from(context).inflate(R.layout.item_ktv_search_history, null);
- textView.setText(text);
- textView.setMaxLines(1);
- textView.setOnClickListener(v -> {
- mBinding.edtSearch.setText(text);
- mBinding.edtSearch.setSelection(mBinding.edtSearch.getText().toString().length());
- loadData(text);
- });
- return textView;
- }
-
- private FlexboxLayout.LayoutParams createLayoutParams() {
- FlexboxLayout.LayoutParams layoutParams = new FlexboxLayout.LayoutParams(
- ViewGroup.LayoutParams.WRAP_CONTENT, UIUtil.dip2px(this, 28));
- layoutParams.setMargins(0, 0, UIUtil.dip2px(this, 8), UIUtil.dip2px(this, 10));
- return layoutParams;
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.tv_search:
- loadData(mBinding.edtSearch.getText().toString());
- break;
- case R.id.iv_clear_history:
- mBinding.fblHistory.removeAllViews();
- mBinding.ivClearHistory.setVisibility(View.INVISIBLE);
- SharedPreferenceUtils.remove("ktv_history");
- break;
-
- case R.id.ib_clear_edt:
- mBinding.edtSearch.setText("");
- break;
- }
- }
-
- @Override
- public void beforeTextChanged(CharSequence s, int start, int count, int after) {
-
- }
-
- @Override
- public void onTextChanged(CharSequence s, int start, int before, int count) {
-
- }
-
- @Override
- public void afterTextChanged(Editable s) {
- if (TextUtils.isEmpty(s.toString())) {
- mBinding.recyclerView.setVisibility(View.GONE);
- mBinding.llHistory.setVisibility(View.VISIBLE);
- }
-
- }
-
- private void loadData(String searchKey) {
- if (TextUtils.isEmpty(searchKey)) {
- toast("请输入搜索关键字~");
- return;
- }
- hideIME();
- mBinding.recyclerView.setVisibility(View.VISIBLE);
- mBinding.llHistory.setVisibility(View.GONE);
- if (vm.addHistory(searchKey)) {
- if (mBinding.ivClearHistory.getVisibility() == View.INVISIBLE) {
- mBinding.ivClearHistory.setVisibility(View.VISIBLE);
- }
- if (mBinding.fblHistory.getChildCount() == 12) mBinding.fblHistory.removeViewAt(11);
- mBinding.fblHistory.addView(createSearchItem(searchKey), 0, createLayoutParams());
- }
- vm.setSearchKey(searchKey);
- vm.loadData(this, false);
- }
-
- @Override
- public void onLoadMoreRequested() {
- vm.loadData(this, true);
- }
-
- @Override
- public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
- if (CommonUtils.isFastDoubleClick(500)) return;
- if (AvRoomDataManager.get().isOnMic(UserUtils.getUserUid())) {
- KtvSelectSongDialog.newInstance(context, this.adapter.getData().get(position))
- .openDialog();
- } else {
- getDialogManager().showOkDialog("只有麦上用户才可以点歌哦~");
- }
- }
-
- @Override
- public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if (actionId == EditorInfo.IME_ACTION_SEND || actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_ACTION_SEARCH
- || (event != null && KeyEvent.KEYCODE_ENTER == event.getKeyCode() && KeyEvent.ACTION_DOWN == event.getAction())) {
- loadData(mBinding.edtSearch.getText().toString());
- return true;
- }
- return false;
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSearchSongVm.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSearchSongVm.java
deleted file mode 100644
index ee1af9af6..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSearchSongVm.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.text.TextUtils;
-
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-
-import com.mango.moshen.base.BaseMsListViewModel;
-import com.mango.moshen.databinding.ActivityKtvSearchSongBinding;
-import com.mango.core.bean.response.ServiceResult;
-import com.mango.core.room.ktv.KtvModel;
-import com.mango.core.room.ktv.bean.MusicInfo;
-import com.mango.core.utils.SharedPreferenceUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import io.reactivex.Single;
-
-public class KtvSearchSongVm extends BaseMsListViewModel {
-
- private String searchKey;
-
- public KtvSearchSongVm(ActivityKtvSearchSongBinding mBinding) {
- super(mBinding);
- }
-
- public void setSearchKey(String searchKey) {
- this.searchKey = searchKey;
- }
-
- @Override
- public Single>> getSingle() {
- return KtvModel.get().searchMusic(searchKey, page, pageSize);
- }
-
-
- public boolean addHistory(String searchKey) {
- if (TextUtils.isEmpty(searchKey)) return false;
- List historyList = getHistoryList();
- if (!historyList.contains(searchKey)) {
- if (historyList.size() > 11) historyList.remove(11);
- historyList.add(0, searchKey);
- SharedPreferenceUtils.put("ktv_history", new Gson().toJson(historyList));
- return true;
- }
- return false;
- }
-
- public List getHistoryList() {
- String historys = (String) SharedPreferenceUtils.get("ktv_history", "");
- List historyList = new ArrayList<>();
- if (!TextUtils.isEmpty(historys)) {
- historyList.addAll(new Gson().fromJson(historys, new TypeToken>() {
- }.getType()));
- }
- return historyList;
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongActivity.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongActivity.java
deleted file mode 100644
index 7a49b92c4..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongActivity.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import android.content.Intent;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import android.view.View;
-
-import com.chad.library.adapter.base.BaseQuickAdapter;
-
-import com.mango.moshen.BR;
-import com.mango.moshen.R;
-import com.mango.moshen.base.BaseBindingActivity;
-import com.mango.moshen.bindadapter.BaseAdapter;
-import com.mango.moshen.common.widget.dialog.DialogManager;
-import com.mango.moshen.databinding.ActivityKtvSelectSongBinding;
-import com.mango.moshen.utils.UserUtils;
-import com.mango.core.manager.AvRoomDataManager;
-import com.mango.core.room.ktv.bean.MusicInfo;
-import com.mango.core.room.ktv.event.MusicCountEvent;
-import com.mango.core.super_admin.SaConstant;
-import com.mango.core.super_admin.util.SuperAdminUtil;
-import com.mango.xchat_android_library.annatation.ActLayoutRes;
-import com.mango.xchat_android_library.rxbus.RxBus;
-import com.mango.xchat_android_library.utils.CommonUtils;
-import com.mango.xchat_android_library.utils.SingleToastUtil;
-
-import io.reactivex.android.schedulers.AndroidSchedulers;
-
-/**
- * KTV点歌台
- *
- */
-
-@ActLayoutRes(R.layout.activity_ktv_select_song)
-public class KtvSelectSongActivity extends BaseBindingActivity implements BaseQuickAdapter.RequestLoadMoreListener, BaseQuickAdapter.OnItemClickListener {
- private KtvSelectSongVm vm;
- private BaseAdapter adapter;
-
- public static void start(Context context, boolean isHint) {
- if (SuperAdminUtil.isSuperAdmin()) {
- SingleToastUtil.showToast(SaConstant.TOAST_ERROR_TIPS);
- return;
- }
- if (CommonUtils.isFastDoubleClick(500)) return;
- if (!AvRoomDataManager.get().isOnMic(UserUtils.getUserUid()) && isHint) {
- new DialogManager(context).showOkDialog("只有麦上用户才可以点歌哦~");
- return;
- }
- Intent starter = new Intent(context, KtvSelectSongActivity.class);
- // starter.putExtra();
- context.startActivity(starter);
- }
-
-
- @SuppressLint("CheckResult")
- @Override
- protected void init() {
- initTitleBar("点歌台");
- vm = new KtvSelectSongVm(mBinding);
- mBinding.setViewModel(vm);
- mBinding.setClick(this);
- adapter = new BaseAdapter<>(R.layout.list_item_ktv_select, BR.musicInfo);
- adapter.setOnLoadMoreListener(this, mBinding.recyclerView);
- mBinding.swipeRefresh.setEnabled(false);
- mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(this));
- mBinding.recyclerView.setAdapter(adapter);
- vm.loadData(this, false);
- adapter.setOnItemClickListener(this);
- mBinding.stvKtvSong.setText("已点" + KtvMusicManager.INSTANCE.getMusicList().size());
- RxBus.get().toFlowable(MusicCountEvent.class)
- .compose(bindToLifecycle())
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(musicCountEvent -> mBinding.stvKtvSong.setText("已点" + musicCountEvent.getCount()));
- }
-
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.container_search:
- KtvSearchSongActivity.start(context);
- break;
- case R.id.stv_ktv_song:
- KtvSongListActivity.start(context, true);
- break;
- }
- }
-
- @Override
- public void onLoadMoreRequested() {
- vm.loadData(this, true);
- }
-
- @Override
- public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
- if (CommonUtils.isFastDoubleClick(500)) return;
- if (!AvRoomDataManager.get().isOnMic(UserUtils.getUserUid())) {
- getDialogManager()
- .showOkDialog("只有麦上用户才可以点歌喔~");
- return;
- }
- KtvSelectSongDialog.newInstance(context, (MusicInfo) adapter.getData().get(position))
-
- .openDialog();
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongDialog.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongDialog.java
deleted file mode 100644
index 0bd0c0b1e..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongDialog.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.content.Context;
-import android.text.style.ForegroundColorSpan;
-import android.view.View;
-
-
-import com.mango.moshen.R;
-import com.mango.moshen.treasure_box.widget.dialog.BaseBindingDialog;
-import com.mango.moshen.avroom.widget.MessageView;
-import com.mango.moshen.common.widget.dialog.DialogManager;
-import com.mango.moshen.databinding.DialogKtvSelectSongBinding;
-import com.mango.moshen.utils.UserUtils;
-import com.mango.core.manager.AvRoomDataManager;
-import com.mango.core.manager.IMNetEaseManager;
-import com.mango.core.manager.AudioEngineManager;
-import com.mango.core.room.ktv.bean.MusicInfo;
-import com.mango.core.room.ktv.event.KtvEvent;
-import com.mango.core.utils.net.BeanObserver;
-import com.mango.xchat_android_library.annatation.ActLayoutRes;
-import com.mango.xchat_android_library.rxbus.RxBus;
-import com.mango.xchat_android_library.utils.SingleToastUtil;
-
-import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_KTV_ADD;
-
-
-@ActLayoutRes(R.layout.dialog_ktv_select_song)
-public class KtvSelectSongDialog extends BaseBindingDialog implements View.OnClickListener {
- private MusicInfo musicInfo;
-
- public KtvSelectSongDialog(Context context, MusicInfo musicInfo) {
- super(context, R.style.MyAlertDialogStyle);
- this.musicInfo = musicInfo;
- }
-
- public static KtvSelectSongDialog newInstance(Context context, MusicInfo musicInfo) {
- return new KtvSelectSongDialog(context, musicInfo);
- }
-
- @Override
- protected void init() {
- binding.setMusicInfo(musicInfo);
- binding.setClick(this);
-
- MessageView.SpannableBuilder builder = new MessageView.SpannableBuilder(binding.tvUploader)
- .append("感谢 ")
- .append(musicInfo.getUploader(), new ForegroundColorSpan(context.getResources().getColor(R.color.appColor)))
- .append(" 上传");
- binding.tvUploader.setText(builder.build());
- }
-
- public void onClick(View view) {
- switch (view.getId()) {
- case R.id.tv_cancel:
- closeDialog();
- break;
- case R.id.tv_sure:
- if (!AudioEngineManager.get().isOpenKtv()){
- SingleToastUtil.showToast("管理已经已经关闭KTV模式哦~~");
- return;
- }
- if (!AvRoomDataManager.get().isOnMic(UserUtils.getUserUid())) {
- new DialogManager(context).showOkDialog("只有麦上用户才可以点歌哦~");
- return;
- }
- KtvMusicManager.INSTANCE.addMusic(musicInfo)
- .subscribe(new BeanObserver() {
- @Override
- public void onErrorMsg(String error) {
- SingleToastUtil.showToast(error);
- }
-
- @Override
- public void onSuccess(String s) {
- closeDialog();
- SingleToastUtil.showToast("点歌成功~~");
- RxBus.get().post(KtvEvent.newInstance(KtvEvent.ADD_MUSIC_BY_USER, musicInfo));
- RxBus.get().post(KtvEvent.newInstance(KtvEvent.ADD_MUSIC, musicInfo));
- KtvHelper.sendChatRoomMusicMessage(CUSTOM_MSG_SUB_KTV_ADD, musicInfo)
- .subscribe(chatRoomMessage -> {
- IMNetEaseManager.get().addMessages(chatRoomMessage);
- });
- }
- });
- break;
- default:
- break;
- }
- }
-
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongVm.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongVm.java
deleted file mode 100644
index 64d62c067..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSelectSongVm.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-
-import com.mango.moshen.base.BaseMsListViewModel;
-import com.mango.moshen.databinding.ActivityKtvSelectSongBinding;
-import com.mango.core.bean.response.ServiceResult;
-import com.mango.core.room.ktv.KtvModel;
-import com.mango.core.room.ktv.bean.MusicInfo;
-
-import java.util.List;
-
-import io.reactivex.Single;
-
-public class KtvSelectSongVm extends BaseMsListViewModel {
-
- public KtvSelectSongVm(ActivityKtvSelectSongBinding mBinding) {
- super(mBinding);
- }
-
- @Override
- public Single>> getSingle() {
- return KtvModel.get().hotMusic(page, pageSize);
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListActivity.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListActivity.java
deleted file mode 100644
index b35c16e73..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListActivity.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_KTV_DELETE;
-import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_KTV_TOP;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.view.View;
-
-import androidx.annotation.Nullable;
-import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
-
-import com.trello.rxlifecycle3.android.ActivityEvent;
-import com.mango.moshen.BR;
-import com.mango.moshen.R;
-import com.mango.moshen.base.BaseBindingActivity;
-import com.mango.moshen.base.TitleBar;
-import com.mango.moshen.bindadapter.BaseAdapter;
-import com.mango.moshen.databinding.ActivityKtvSongListBinding;
-import com.mango.core.manager.IMNetEaseManager;
-import com.mango.core.room.ktv.bean.MusicInfo;
-import com.mango.core.room.ktv.event.KtvEvent;
-import com.mango.core.super_admin.SaConstant;
-import com.mango.core.super_admin.util.SuperAdminUtil;
-import com.mango.xchat_android_library.annatation.ActLayoutRes;
-import com.mango.xchat_android_library.rxbus.RxBus;
-import com.mango.xchat_android_library.utils.CommonUtils;
-import com.mango.xchat_android_library.utils.SingleToastUtil;
-
-import java.util.Collections;
-
-/**
- * KTV房间已点列表
- *
- */
-
-@ActLayoutRes(R.layout.activity_ktv_song_list)
-public class KtvSongListActivity extends BaseBindingActivity implements SwipeRefreshLayout.OnRefreshListener {
-
- private KtvSongListVm vm;
- private BaseAdapter adapter;
- private boolean hasSelectSong;
-
- public static void start(Context context, boolean hasSelectSong) {
- if (SuperAdminUtil.isSuperAdmin()) {
- SingleToastUtil.showToast(SaConstant.TOAST_ERROR_TIPS);
- return;
- }
- if (CommonUtils.isFastDoubleClick(500)) return;
- Intent starter = new Intent(context, KtvSongListActivity.class);
- //starter.putExtra();
- context.startActivity(starter);
- }
-
- @Override
- protected void init() {
- initTitleBar("已点(0)");
- vm = new KtvSongListVm(mBinding);
- mBinding.setViewModel(vm);
- mBinding.setClick(this);
- vm.count.observe(this, count -> {
- if (count == null) {
- return;
- }
- setTitleBarText("已点(" + count + ")");
- });
- adapter = new KtvSongListAdapter(R.layout.list_item_ktv_song, BR.musicInfo, new int[]{R.id.stv_delete, R.id.stv_top});
- adapter.setEmptyView(KtvHelper.createKtvEmptyView(context,KtvHelper.NO_SONG ));
- mBinding.swipeRefresh.setOnRefreshListener(this);
- mBinding.recyclerView.setLayoutManager(new LinearLayoutManager(context));
- mBinding.recyclerView.setAdapter(adapter);
- vm.loadData(this, false);
- adapter.setOnItemChildClickListener((adapter, view, position) -> {
- MusicInfo musicInfo = (MusicInfo) adapter.getItem(position);
- if (musicInfo == null) return;
- switch (view.getId()) {
- case R.id.stv_top:
- KtvMusicManager.INSTANCE.popMusic(musicInfo)
- .compose(bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(s -> {
- for (int i = position; i > 1; i--) {
- Collections.swap(adapter.getData(), i, i - 1);
- }
- KtvHelper.sendChatRoomMusicMessage(CUSTOM_MSG_SUB_KTV_TOP,musicInfo)
- .subscribe(chatRoomMessage -> IMNetEaseManager.get().addMessages(chatRoomMessage));
- });
- break;
- case R.id.stv_delete:
- KtvMusicManager.INSTANCE.deleteUserChooseMusic(musicInfo)
- .compose(bindUntilEvent(ActivityEvent.DESTROY))
- .subscribe(s -> {
- adapter.remove(position);
- vm.count.setValue(adapter.getItemCount());
- KtvHelper.sendChatRoomMusicMessage(CUSTOM_MSG_SUB_KTV_DELETE,musicInfo)
- .subscribe(chatRoomMessage -> IMNetEaseManager.get().addMessages(chatRoomMessage));
- });
- break;
- }
- });
- RxBus.get().toFlowable(KtvEvent.class)
- .compose(bindToLifecycle())
- .filter(ktvEvent -> ktvEvent.getType() == KtvEvent.ADD_MUSIC_BY_USER)
- .subscribe(ktvEvent -> vm.loadData(KtvSongListActivity.this, false));
- }
-
- public void initTitleBar(String title) {
- mTitleBar = (TitleBar) findViewById(R.id.title_bar);
- if (mTitleBar != null) {
- mTitleBar.setTitle(title);
- mTitleBar.setImmersive(false);
- mTitleBar.setTitleColor(getResources().getColor(R.color.back_font));
- mTitleBar.setLeftImageResource(R.mipmap.common_ic_back);
- mTitleBar.setLeftClickListener(v -> onLeftClickListener());
- mTitleBar.addAction(new TitleBar.ImageAction(R.drawable.icon_ktv_select_song_right) {
- @Override
- public void performAction(View view) {
- KtvSelectSongActivity.start(context, true);
- }
- });
- }
- }
-
- public void setTitleBarText(String title) {
- mTitleBar = (TitleBar) findViewById(R.id.title_bar);
- if (mTitleBar != null) {
- mTitleBar.setTitle(title);
- }
- }
-
- @Override
- public void onClick(View v) {
-
- }
-
- @Override
- public void onRefresh() {
- vm.loadData(this, false);
- }
-
- @Override
- public void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
-
- @Override
- protected void onDestroy() {
- super.onDestroy();
- }
-
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListAdapter.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListAdapter.java
deleted file mode 100644
index a10b64e9e..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListAdapter.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import androidx.annotation.Nullable;
-
-import com.mango.moshen.R;
-import com.mango.moshen.bindadapter.BaseAdapter;
-import com.mango.moshen.bindadapter.BindingViewHolder;
-import com.mango.moshen.ui.widget.LivingIconView;
-import com.mango.moshen.utils.UserUtils;
-import com.mango.core.manager.AvRoomDataManager;
-import com.mango.core.room.ktv.bean.MusicInfo;
-
-public class KtvSongListAdapter extends BaseAdapter {
-
- public KtvSongListAdapter(int layoutResId, int brid, @Nullable int[] clickIds) {
- super(layoutResId, brid, clickIds);
- }
-
- @Override
- protected void convert(BindingViewHolder helper, MusicInfo item) {
- super.convert(helper, item);
- int position = helper.getLayoutPosition();
- boolean isManager = AvRoomDataManager.get().isRoomOwner() || AvRoomDataManager.get().isRoomAdmin();
- helper.setVisible(R.id.stv_top, position != 0 && position != 1 && isManager);
- helper.setVisible(R.id.stv_delete, position != 0 && (isManager || UserUtils.getUserUid() == item.getUid()));
- helper.setTextColor(R.id.tv_song_name, position == 0 ? 0xffff4362 : 0xff333333);
- helper.setVisible(R.id.tv_singing, position == 0);
- ((LivingIconView) helper.getView(R.id.tv_singing)).stop();
- if (position == 0) {
- ((LivingIconView) helper.getView(R.id.tv_singing)).start();
- }
- helper.addOnClickListener(R.id.stv_top)
- .addOnClickListener(R.id.stv_delete);
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListVm.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListVm.java
deleted file mode 100644
index e3c0de459..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvSongListVm.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import androidx.lifecycle.MutableLiveData;
-
-
-import com.mango.moshen.base.BaseMsListViewModel;
-import com.mango.moshen.databinding.ActivityKtvSongListBinding;
-import com.mango.moshen.utils.UserUtils;
-import com.mango.core.bean.response.ServiceResult;
-import com.mango.core.room.ktv.KtvModel;
-import com.mango.core.room.ktv.bean.MusicInfo;
-
-import java.util.List;
-
-import io.reactivex.Single;
-
-public class KtvSongListVm extends BaseMsListViewModel {
-
- public MutableLiveData count = new MutableLiveData<>();
-
- public KtvSongListVm(ActivityKtvSongListBinding mBinding) {
- super(mBinding);
- pageSize = 50;
- count.setValue(0);
- }
-
- @Override
- public Single>> getSingle() {
- return KtvModel.get().getRoomMusic(UserUtils.getCurrentRoomUid())
- .flatMap(result -> {
- KtvMusicManager.INSTANCE.setData(result.getData());
- List musicInfoList = result.getData().getUserChooseMusicVos();
- count.setValue(musicInfoList.size());
- return Single.just(new ServiceResult>()
- .setCode(result.getCode())
- .setMessage(result.getMessage())
- .setData(musicInfoList));
- }
- );
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvView.java b/app/src/main/java/com/mango/moshen/avroom/ktv/KtvView.java
deleted file mode 100644
index 2643aaf67..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/KtvView.java
+++ /dev/null
@@ -1,541 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.annotation.SuppressLint;
-import android.content.Context;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.constraintlayout.widget.Group;
-import androidx.cardview.widget.CardView;
-import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.SurfaceView;
-import android.view.View;
-import android.widget.FrameLayout;
-import android.widget.ImageButton;
-import android.widget.ImageView;
-import android.widget.SeekBar;
-import android.widget.TextView;
-
-import com.coorchice.library.SuperTextView;
-import com.netease.nim.uikit.common.util.sys.ScreenUtil;
-
-import com.orhanobut.logger.Logger;
-import com.mango.moshen.R;
-import com.mango.moshen.common.widget.dialog.DialogManager;
-import com.mango.moshen.ui.utils.ImageLoadUtils;
-import com.mango.moshen.utils.UserUtils;
-import com.mango.core.bean.RoomQueueInfo;
-import com.mango.core.manager.AvRoomDataManager;
-import com.mango.core.manager.IMNetEaseManager;
-import com.mango.core.manager.AudioEngineManager;
-import com.mango.core.room.ktv.bean.MusicInfo;
-import com.mango.core.room.ktv.event.KtvEvent;
-import com.mango.core.room.ktv.event.RemoteVideoEvent;
-import com.mango.core.statistic.StatisticManager;
-import com.mango.core.statistic.protocol.StatisticsProtocol;
-import com.mango.core.super_admin.SaConstant;
-import com.mango.core.super_admin.util.SuperAdminUtil;
-import com.mango.xchat_android_library.rxbus.RxBus;
-import com.mango.xchat_android_library.utils.SingleToastUtil;
-
-import java.util.concurrent.TimeUnit;
-
-
-import butterknife.BindView;
-import butterknife.ButterKnife;
-import io.agora.ktvkit.VideoPlayerView;
-import io.agora.rtc.RtcEngine;
-import io.agora.rtc.video.VideoCanvas;
-import io.reactivex.Observable;
-import io.reactivex.Observer;
-import io.reactivex.android.schedulers.AndroidSchedulers;
-import io.reactivex.disposables.CompositeDisposable;
-import io.reactivex.disposables.Disposable;
-
-import static com.mango.core.im.custom.bean.CustomAttachment.CUSTOM_MSG_SUB_KTV_CLOSE;
-
-public class KtvView extends CardView {
-
- private Context context;
- public static final int KTV_ROOM_OWNER = 1;//房主
- public static final int KTV_ROOM_MANAGER = 2;//管理员
- public static final int KTV_ROOM_MV_BROADCASTER = 3;//mv主播
- public static final int KTV_ROOM_AUDIENCE = 4;//观众
-
- @Nullable
- private View statusView;
- private CompositeDisposable disposables;
- private FrameLayout playContainer;
- private FrameLayout statusContainer;
- private VideoPlayerView xPlay;
- private boolean isShowNoSong;
- public static boolean isShowPrepare;
- private Disposable tipDisposable;
- private Disposable prepareDisposable;
-
- public KtvView(@NonNull Context context) {
- this(context, null);
- }
-
- public KtvView(@NonNull Context context, @Nullable AttributeSet attrs) {
- super(context, attrs);
- this.context = context;
- init();
- }
-
- private void init() {
- inflate(context, R.layout.layout_ktv_view, this);
- setRadius(ScreenUtil.dip2px(10));
- disposables = new CompositeDisposable();
- playContainer = findViewById(R.id.play_container);
- statusContainer = findViewById(R.id.status_container);
- this.setOnClickListener(listener);
- playContainer.setOnClickListener(listener);
- statusContainer.setOnClickListener(listener);
- showXPlay(AudioEngineManager.get().isPush());
- if (!AudioEngineManager.get().isLive() || KtvMusicManager.INSTANCE.getMusicList().size() == 0) {
- statusView = showNoSong();
- } else if (!AudioEngineManager.get().isPush()) {
- setupRemoteVideo(AudioEngineManager.get().getRemoteUid());
- }
- subscribeEvent();
- }
-
- private Runnable runnable = this::resetStatusView;
- private OnClickListener listener = new OnClickListener() {
- @Override
- public void onClick(View v) {
- if (statusView != null) {
- resetStatusView();
- return;
- }
- statusView = getUserType() == KTV_ROOM_AUDIENCE ? showChooseSong() : showCommand();
- }
- };
-
- private void subscribeEvent() {
- Disposable disposable1 = RxBus.get().toFlowable(RemoteVideoEvent.class)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(remoteVideoEvent -> setupRemoteVideo(remoteVideoEvent.getUid()));
- Disposable disposable2 = RxBus.get().toFlowable(KtvEvent.class)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(this::handleKtvEvent);
- disposables.addAll(disposable1, disposable2);
- }
-
-
- //处理KTV相关的各种事件
- private void handleKtvEvent(KtvEvent ktvEvent) {
- MusicInfo musicInfo = ktvEvent.getMusicInfo();
- switch (ktvEvent.getType()) {
- case KtvEvent.SWITCH_MUSIC:
- if (musicInfo != null) {
- statusView = showPrepare(musicInfo);
- }
- break;
- case KtvEvent.STOP:
- if (AudioEngineManager.get().isPush() && AudioEngineManager.get().isPlaying()) {
- AudioEngineManager.get().playOrPause();
- }
- break;
- case KtvEvent.CONTINUE:
- if (AudioEngineManager.get().isPush() && !AudioEngineManager.get().isPlaying()) {
- AudioEngineManager.get().playOrPause();
- }
- break;
- case KtvEvent.NO_MUSIC:
- statusView = showNoSong();
- break;
- case KtvEvent.MUSIC_UPDATE:
- if (KtvMusicManager.INSTANCE.getMusicList().size() > 0 && isShowNoSong) {
- resetStatusView();
- }
- if (KtvMusicManager.INSTANCE.getMusicList().size() == 0 && !isShowNoSong) {
- statusView = showNoSong();
- }
- break;
- case KtvEvent.ROOM_USER_MANAGER_STATUS:
- if (btnCloseNoSong != null) {
- initCloseBtn(btnCloseNoSong);
- }
- break;
- default:
- break;
- }
- }
-
-
- public synchronized void setupRemoteVideo(int uid) {
- if (UserUtils.getUserUid() == uid || AudioEngineManager.get().isPush()) return;
- if (!isShowPrepare) resetStatusView();
- playContainer.removeAllViews();
- SurfaceView surfaceView = RtcEngine.CreateRendererView(context.getApplicationContext());
- playContainer.addView(surfaceView);
- AudioEngineManager.get().setupRemoteVideo(new VideoCanvas(surfaceView, VideoCanvas.RENDER_MODE_ADAPTIVE, uid), uid);
- }
-
-
- static class NoSongViewHolder {
- @BindView(R.id.tv_no_user)
- TextView tvNoUser;
- @BindView(R.id.tv_tips)
- TextView tvTips;
- @BindView(R.id.tv_choose_song)
- SuperTextView tvChooseSong;
- @BindView(R.id.ib_close)
- ImageButton ibClose;
-
- NoSongViewHolder(View view) {
- ButterKnife.bind(this, view);
- }
- }
-
- private String[] tips = new String[]{
- "点击“我要点歌”按钮可进行点歌哦~",
- "建议唱歌的用户上麦点歌,以免有声音延迟",
- "演唱时,佩戴耳机效果更佳哦~",
- "耳机离嘴唇一定距离可防止喷麦",
- "演唱时试试由腹部发声,会有意外收获"};
-
- /**
- * 无人唱歌界面的关闭按钮
- */
- private ImageButton btnCloseNoSong;
-
- private View showNoSong() {
- isShowNoSong = true;
- isShowPrepare = false;
- playContainer.removeCallbacks(runnable);
- View view = inflate(context, R.layout.layout_ktv_no_song, null);
- NoSongViewHolder holder = new NoSongViewHolder(view);
- view.setOnClickListener(v -> {
- //吃掉父view点击事件
- });
- Logger.i("显示无人唱歌的ui");
- btnCloseNoSong = holder.ibClose;
- initCloseBtn(holder.ibClose);
- if (tipDisposable != null) tipDisposable.dispose();
- tipDisposable = Observable.interval(0, 5, TimeUnit.SECONDS)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(aLong -> holder.tvTips.setText(tips[(int) (aLong % tips.length)]));
- holder.tvChooseSong.setOnClickListener(v -> KtvSelectSongActivity.start(context, true));
- showStatusView(view);
- return view;
- }
-
-
- static class CommandViewHolder {
- @BindView(R.id.ib_close)
- ImageButton ibClose;
- @BindView(R.id.tv_change_audio)
- SuperTextView tvChangeAudio;
- @BindView(R.id.tv_song_name)
- TextView tvSongName;
- @BindView(R.id.tv_commit_err)
- TextView tvCommitErr;
- @BindView(R.id.iv_play_or_pause)
- ImageView ivPlayOrPause;
-
- @BindView(R.id.iv_switch_song)
- ImageView ivSwitchSong;
- @BindView(R.id.sb_person_voice)
- SeekBar sbPersonVoice;
- @BindView(R.id.sb_accompany_voice)
- SeekBar sbAccompanyVoice;
- @BindView(R.id.sb_song_current_position)
- SeekBar sbSongCurrentPosition;
- @BindView(R.id.group_seek_bar)
- Group group;
- @BindView(R.id.tv_surplus_time)
- TextView tvSurplusTime;
- CommandViewHolder(View view) {
- ButterKnife.bind(this, view);
- }
- }
-
- private View commandView;
-
- private Disposable commandDisposable;
-
- private View showCommand() {
- playContainer.postDelayed(runnable, 3000);
- if (commandView == null) {
- commandView = inflate(context, R.layout.layout_ktv_command, null);
- }
- CommandViewHolder holder = new CommandViewHolder(commandView);
- if (getUserType() != KTV_ROOM_MV_BROADCASTER) {
- holder.group.setVisibility(GONE);
- } else {
- holder.group.setVisibility(VISIBLE);
- }
- holder.tvSongName.setText(KtvMusicManager.INSTANCE.getCurrMusic().getMusicName());
- initPlayBtn(holder);
- initCloseBtn(holder.ibClose);
- initChangeAudioBtn(holder.tvChangeAudio);
- holder.tvChangeAudio.setOnClickListener(v -> {
- AudioEngineManager.get().changeAudioStream();
- initChangeAudioBtn(holder.tvChangeAudio);
- resetStatusView();
- });
- holder.tvCommitErr.setOnClickListener(v ->
- KtvCommitErrorDialog.newInstance(context, KtvMusicManager.INSTANCE.getCurrMusic().getMusicId()).show());
- holder.ivPlayOrPause.setOnClickListener(v -> {
- if (AudioEngineManager.get().isPush()) {
- AudioEngineManager.get().playOrPause();
- }
- /* else { //暂时不需要
- KtvHelper.sendChatRoomMusicMessage(
- AudioEngineManager.get().isPlaying() ? CUSTOM_MSG_SUB_KTV_STOP : CUSTOM_MSG_SUB_KTV_CONTINUE,
- null)
- .subscribe();
- }*/
- initPlayBtn(holder);
- resetStatusView();
- });
- holder.ivSwitchSong.setOnClickListener(v -> {
- KtvMusicManager.INSTANCE.switchSong(true);
- resetStatusView();
- });
- holder.sbAccompanyVoice.setProgress((int) (AudioEngineManager.get().getAccompanyVoice()*100));
- holder.sbAccompanyVoice.setOnSeekBarChangeListener(
- (LambdaOnSeekBarChangeListener) (seekBar, progress, fromUser) ->
- AudioEngineManager.get().setAccompanyVoice(progress/100d));
- holder.sbPersonVoice.setProgress((int) (AudioEngineManager.get().getPersonVoice()*100));
- holder.sbPersonVoice.setOnSeekBarChangeListener(
- (LambdaOnSeekBarChangeListener) (seekBar, progress, fromUser) ->
- AudioEngineManager.get().setPersonVoice(progress/100d));
- releaseCommandDisposable();
- commandDisposable = Observable.interval(0, 1, TimeUnit.SECONDS, AndroidSchedulers.mainThread())
- .subscribe(aLong -> setSeekDuration(holder));
- showStatusView(commandView);
- return commandView;
- }
-
- private void releaseCommandDisposable() {
- if (commandDisposable != null && !commandDisposable.isDisposed()) {
- commandDisposable.dispose();
- commandDisposable = null;
- }
- }
-
- @SuppressLint("ClickableViewAccessibility")
- private void setSeekDuration(CommandViewHolder holder) {
- double pos = AudioEngineManager.get().getPlayPos();
- holder.sbSongCurrentPosition.setProgress((int) (100 * pos));
- //禁止点击
- holder.sbSongCurrentPosition.setClickable(false);
- holder.sbSongCurrentPosition.setOnTouchListener(new OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- return true;
- }
- });
- int duration = AudioEngineManager.get().getPlayDuration() / 1000;//单位秒
- duration = (int) (duration - duration * pos);//剩余的时间
- if (duration < 0) {
- duration = 0;
- }
- int min = duration / 60;
- int sec = duration % 60;
- String secStr = String.valueOf(sec);
- if (sec < 10) {
- secStr = "0" + secStr;
- }
- holder.tvSurplusTime.setText("-" + min + ":" + secStr);
- }
-
- private void initPlayBtn(CommandViewHolder holder) {
- if (AudioEngineManager.get().isPlaying()) {
- holder.ivPlayOrPause.setImageResource(R.drawable.icon_ktv_pause);
- } else {
- holder.ivPlayOrPause.setImageResource(R.drawable.icon_ktv_play);
- }
- }
-
- private void initChangeAudioBtn(SuperTextView textView) {
- if (!AudioEngineManager.get().isAccompany()) {
- textView.setTextColor(getResources().getColor(R.color.color_CCFF5B69));
- textView.setText("原唱");
- } else {
- textView.setTextColor(getResources().getColor(R.color.white_transparent_60));
- textView.setText("伴奏");
- }
- }
-
- static class PrepareViewHolder {
- @BindView(R.id.ib_close)
- ImageButton ibClose;
- @BindView(R.id.iv_avatar)
- ImageView ivAvatar;
- @BindView(R.id.tv_no_user)
- TextView tvNoUser;
- @BindView(R.id.tv_song_name)
- TextView tvSongName;
- @BindView(R.id.tv_tips)
- SuperTextView tvTips;
- @BindView(R.id.iv_singer_avatar_bg)
- ImageView ivSingerAvatarBg;
-
- PrepareViewHolder(View view) {
- ButterKnife.bind(this, view);
- }
- }
-
- private View showPrepare(MusicInfo musicInfo) {
- isShowPrepare = true;
- isShowNoSong = false;
- View view = inflate(context, R.layout.layout_ktv_prepare, null);
- view.setOnClickListener(v -> {
- //吃掉父view点击事件
- });
- PrepareViewHolder holder = new PrepareViewHolder(view);
- RoomQueueInfo roomQueueInfo = AvRoomDataManager.get().getRoomQueueMemberInfoByAccount(String.valueOf(musicInfo.getUid()));
- if (roomQueueInfo != null && roomQueueInfo.mChatRoomMember != null) {
- ImageLoadUtils.loadAvatar(context, roomQueueInfo.mChatRoomMember.getAvatar(), holder.ivAvatar);
- ImageLoadUtils.loadImageWithBlur(context,
- roomQueueInfo.mChatRoomMember.getAvatar(), holder.ivSingerAvatarBg, 24, 10);
- }
- holder.tvNoUser.setText(musicInfo.getUserNick() + " 请准备");
- initCloseBtn(holder.ibClose);
- if (prepareDisposable != null) prepareDisposable.dispose();
-
- boolean isPushUser = UserUtils.getUserUid() == musicInfo.getUid();
- showXPlay(isPushUser);
- Observable.intervalRange(0, 4, 0, 1, TimeUnit.SECONDS)
- .observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
- @Override
- public void onNext(Long aLong) {
- holder.tvSongName.setText((3 - aLong) + "秒后开始演唱: " + musicInfo.getMusicName());
- }
-
- @Override
- public void onComplete() {
- //准备中下麦处理
- if (isShowPrepare) {
- resetStatusView();
- }
-
- }
-
- @Override
- public void onSubscribe(Disposable d) {
- prepareDisposable = d;
- }
-
- @Override
- public void onError(Throwable e) {
- e.printStackTrace();
- }
- });
- showStatusView(view);
- return view;
- }
-
- static class ChooseSongViewHolder {
- @BindView(R.id.tv_tips)
- TextView tvTips;
- @BindView(R.id.tv_choose_song)
- SuperTextView tvChooseSong;
-
- ChooseSongViewHolder(View view) {
- ButterKnife.bind(this, view);
- }
- }
-
- private View showChooseSong() {
- playContainer.postDelayed(runnable, 3000);
- View view = inflate(context, R.layout.layout_ktv_choose_song, null);
- ChooseSongViewHolder holder = new ChooseSongViewHolder(view);
- holder.tvTips.setText(KtvMusicManager.INSTANCE.getCurrMusic().getMusicName());
- holder.tvChooseSong.setOnClickListener(v -> KtvSelectSongActivity.start(context, true));
- showStatusView(view);
- return view;
- }
-
- private void showStatusView(View view) {
- statusContainer.setVisibility(VISIBLE);
- statusContainer.removeAllViews();
- statusContainer.addView(view);
- }
-
- private void resetStatusView() {
- if (statusView != null) {
- isShowNoSong = false;
- isShowPrepare = false;
- playContainer.removeCallbacks(runnable);
- statusContainer.setVisibility(GONE);
- statusView = null;
- }
- btnCloseNoSong = null;
- releaseCommandDisposable();
- }
-
- private int getUserType() {
- MusicInfo currMusic = KtvMusicManager.INSTANCE.getCurrMusic();
- if (currMusic.getUid() == UserUtils.getUserUid()) {
- return KTV_ROOM_MV_BROADCASTER;
- }
- if (AvRoomDataManager.get().isRoomOwner()) {
- return KTV_ROOM_OWNER;
- }
- if (AvRoomDataManager.get().isRoomAdmin()) {
- return KTV_ROOM_MANAGER;
- }
- return KTV_ROOM_AUDIENCE;
- }
-
- /**
- * 如果是房主或管理员,显示关闭ktv的按钮
- *
- * @param button 关闭ktv的按钮
- */
-
- private void initCloseBtn(ImageButton button) {
- if (AvRoomDataManager.get().isManager()) {
- button.setVisibility(VISIBLE);
- button.setOnClickListener(v -> {
- if (SuperAdminUtil.isSuperAdmin()) {
- SingleToastUtil.showToast(SaConstant.TOAST_ERROR_TIPS);
- return;
- }
- if (AvRoomDataManager.get().isCpRoom()) {
- StatisticManager.Instance().onEvent(StatisticsProtocol.roomcp_ktv_close_click, "关闭KTV");
- }
- new DialogManager(context).showOkCancelWithTitleDialog("关闭KTV后,所有歌曲将被删除!",
- () -> {
- RxBus.get().post(new KtvEvent(KtvEvent.CLOSE_KTV_MODEL));
- KtvHelper.sendChatRoomMusicMessage(CUSTOM_MSG_SUB_KTV_CLOSE, new MusicInfo())
- .subscribe(chatRoomMessage -> IMNetEaseManager.get().addMessages(chatRoomMessage));
- });
- });
-
- } else {
- button.setVisibility(INVISIBLE);
- }
- }
-
- @Override
- protected void onDetachedFromWindow() {
- super.onDetachedFromWindow();
- if (disposables != null) disposables.dispose();
- if (tipDisposable != null) tipDisposable.dispose();
- if (prepareDisposable != null) prepareDisposable.dispose();
- }
-
- private void showXPlay(boolean isShow) {
- /*if (isShow && AudioEngineManager.get().getKtvKit()!=null) {
- playContainer.removeAllViews();
- xPlay = new VideoPlayerView(context, AudioEngineManager.get().getKtvKit());
- xPlay.setZOrderMediaOverlay(true);
- playContainer.addView(xPlay);
- }*/
-
- }
-
- public void updateCloseBtnNoSong() {
- if (btnCloseNoSong != null) {
- initCloseBtn(btnCloseNoSong);
- }
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/avroom/ktv/LambdaOnSeekBarChangeListener.java b/app/src/main/java/com/mango/moshen/avroom/ktv/LambdaOnSeekBarChangeListener.java
deleted file mode 100644
index c77233b37..000000000
--- a/app/src/main/java/com/mango/moshen/avroom/ktv/LambdaOnSeekBarChangeListener.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mango.moshen.avroom.ktv;
-
-import android.widget.SeekBar;
-
-public interface LambdaOnSeekBarChangeListener extends SeekBar.OnSeekBarChangeListener {
- @Override
- default void onStartTrackingTouch(SeekBar seekBar) {
- }
-
- @Override
- default void onStopTrackingTouch(SeekBar seekBar) {
- }
-}
diff --git a/app/src/main/java/com/mango/moshen/ui/widget/UserInfoDialog.java b/app/src/main/java/com/mango/moshen/ui/widget/UserInfoDialog.java
index 95db33a8d..c4d9737d6 100644
--- a/app/src/main/java/com/mango/moshen/ui/widget/UserInfoDialog.java
+++ b/app/src/main/java/com/mango/moshen/ui/widget/UserInfoDialog.java
@@ -70,7 +70,6 @@ import com.mango.moshen.avroom.ButtonItemFactory;
import com.mango.moshen.avroom.activity.AVRoomActivity;
import com.mango.moshen.avroom.adapter.UpMicAdapter;
import com.mango.moshen.avroom.giftvalue.GiftValueDialogUiHelper;
-import com.mango.moshen.avroom.ktv.KtvMusicManager;
import com.mango.moshen.avroom.widget.ViewItem;
import com.mango.moshen.common.widget.dialog.DialogManager;
import com.mango.moshen.ui.user.UserInfoActivity;
@@ -1108,14 +1107,7 @@ public class UserInfoDialog extends AppCompatDialog implements View.OnClickListe
return;
}
- if (AvRoomDataManager.get().mCurrentRoomInfo.isOpenKTV()) {
- new DialogManager(context).showOkCancelDialog("KTV模式下下麦会移除您已点的所有歌曲,确定进行此操作?", false,
- () -> {
- handleDownMicro();
- KtvMusicManager.INSTANCE.deleteUserAllChooseMusic().subscribe();
- }
- );
- } else if (AvRoomDataManager.get().haveStartDragon) {
+ if (AvRoomDataManager.get().haveStartDragon) {
new DialogManager(context).showOkCancelDialog("你正在交友匹配中,此操作代表你放弃本局匹配展示,确定进行此操作?", false, new DialogManager.OkCancelDialogListener() {
@Override
public void onCancel() {
diff --git a/app/src/main/res/layout/activity_ktv_room_list.xml b/app/src/main/res/layout/activity_ktv_room_list.xml
deleted file mode 100644
index e8ac23e5f..000000000
--- a/app/src/main/res/layout/activity_ktv_room_list.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/activity_ktv_search_song.xml b/app/src/main/res/layout/activity_ktv_search_song.xml
deleted file mode 100644
index 75f0d2848..000000000
--- a/app/src/main/res/layout/activity_ktv_search_song.xml
+++ /dev/null
@@ -1,179 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/activity_ktv_select_song.xml b/app/src/main/res/layout/activity_ktv_select_song.xml
deleted file mode 100644
index 35f8ffecb..000000000
--- a/app/src/main/res/layout/activity_ktv_select_song.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_ktv_song_list.xml b/app/src/main/res/layout/activity_ktv_song_list.xml
deleted file mode 100644
index 83b018986..000000000
--- a/app/src/main/res/layout/activity_ktv_song_list.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_ktv_commit_error.xml b/app/src/main/res/layout/dialog_ktv_commit_error.xml
deleted file mode 100644
index bcd0e68c2..000000000
--- a/app/src/main/res/layout/dialog_ktv_commit_error.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_ktv_select_song.xml b/app/src/main/res/layout/dialog_ktv_select_song.xml
deleted file mode 100644
index 083f6e4fc..000000000
--- a/app/src/main/res/layout/dialog_ktv_select_song.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_ktv_boss_micro.xml b/app/src/main/res/layout/item_ktv_boss_micro.xml
deleted file mode 100644
index 3d8bfc058..000000000
--- a/app/src/main/res/layout/item_ktv_boss_micro.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_ktv_err.xml b/app/src/main/res/layout/item_ktv_err.xml
deleted file mode 100644
index 5301e1f42..000000000
--- a/app/src/main/res/layout/item_ktv_err.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_ktv_search_history.xml b/app/src/main/res/layout/item_ktv_search_history.xml
deleted file mode 100644
index 14b0aaa6d..000000000
--- a/app/src/main/res/layout/item_ktv_search_history.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
diff --git a/app/src/main/res/layout/item_ktv_type_room.xml b/app/src/main/res/layout/item_ktv_type_room.xml
deleted file mode 100644
index fbbd8be33..000000000
--- a/app/src/main/res/layout/item_ktv_type_room.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_ktv_choose_song.xml b/app/src/main/res/layout/layout_ktv_choose_song.xml
deleted file mode 100644
index bd8ed3d14..000000000
--- a/app/src/main/res/layout/layout_ktv_choose_song.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/layout_ktv_command.xml b/app/src/main/res/layout/layout_ktv_command.xml
deleted file mode 100644
index 06ff3cf32..000000000
--- a/app/src/main/res/layout/layout_ktv_command.xml
+++ /dev/null
@@ -1,209 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/layout_ktv_no_song.xml b/app/src/main/res/layout/layout_ktv_no_song.xml
deleted file mode 100644
index de0a2cbc3..000000000
--- a/app/src/main/res/layout/layout_ktv_no_song.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/layout_ktv_prepare.xml b/app/src/main/res/layout/layout_ktv_prepare.xml
deleted file mode 100644
index 87061a8e6..000000000
--- a/app/src/main/res/layout/layout_ktv_prepare.xml
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/layout_ktv_view.xml b/app/src/main/res/layout/layout_ktv_view.xml
deleted file mode 100644
index 6085137fe..000000000
--- a/app/src/main/res/layout/layout_ktv_view.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_ktv_micro.xml b/app/src/main/res/layout/list_item_ktv_micro.xml
deleted file mode 100644
index 874bcac83..000000000
--- a/app/src/main/res/layout/list_item_ktv_micro.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_ktv_room.xml b/app/src/main/res/layout/list_item_ktv_room.xml
deleted file mode 100644
index 3c5dd669a..000000000
--- a/app/src/main/res/layout/list_item_ktv_room.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_ktv_search.xml b/app/src/main/res/layout/list_item_ktv_search.xml
deleted file mode 100644
index 62a2a9a0c..000000000
--- a/app/src/main/res/layout/list_item_ktv_search.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_ktv_select.xml b/app/src/main/res/layout/list_item_ktv_select.xml
deleted file mode 100644
index dea3cad2b..000000000
--- a/app/src/main/res/layout/list_item_ktv_select.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/list_item_ktv_song.xml b/app/src/main/res/layout/list_item_ktv_song.xml
deleted file mode 100644
index fbed81ba2..000000000
--- a/app/src/main/res/layout/list_item_ktv_song.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/core/build.gradle b/core/build.gradle
index fc3eb8347..b20ca0da8 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -98,7 +98,6 @@ dependencies {
api project(':nim_uikit')
api project(':library')
- api project(':agora-ktv-kit-release')
api project(':trtc_release')
}
diff --git a/core/src/diff_src_erban/java/com/mango/core/manager/AudioEngineManager.java b/core/src/diff_src_erban/java/com/mango/core/manager/AudioEngineManager.java
index 113977a04..1ff4f3eb4 100644
--- a/core/src/diff_src_erban/java/com/mango/core/manager/AudioEngineManager.java
+++ b/core/src/diff_src_erban/java/com/mango/core/manager/AudioEngineManager.java
@@ -136,13 +136,6 @@ public class AudioEngineManager {
return this.iAudioEngine.isMute();
}
- public void delayStartPlay(long pushUid) {
- // 针对使用 无界聊天室 SDK + zego SDK 的情况下,
- // zego 进房比无界聊天室快的时候,会导致无法播放麦上用户的流
- // 所以,在 zego 引擎那边已经预先缓存了流的 ID,这里重新播放已经缓存的流
- // 就是为了解决两个 SDK 不一致导致的进房后听不到声音的问题
- this.iAudioEngine.delayStartPlay(pushUid);
- }
/**
* 切换耳返
@@ -173,6 +166,12 @@ public class AudioEngineManager {
}
}
+ public void setRemoteMute(long uid, boolean mute) {
+ if (this.iAudioEngine == null) return;
+ this.iAudioEngine.setRemoteMute(uid, mute);
+ }
+
+
//音乐播放相关---------------begin--------------------------
public void adjustAudioMixingVolume(int volume) {
if (this.iAudioEngine == null) return;
@@ -228,123 +227,5 @@ public class AudioEngineManager {
//音乐播放相关---------------end--------------------------
- public void setRemoteMute(long uid, boolean mute) {
- if (this.iAudioEngine == null) return;
- this.iAudioEngine.setRemoteMute(uid, mute);
- }
-
- public void setChatRoomOnlineStatus(boolean status) {
- if (this.iAudioEngine == null) return;
- this.iAudioEngine.setChatRoomOnlineStatus(status);
- }
-
- //--------------------------asmr--------------------------
-
- public void setASMRMode(boolean enable) {
- if (this.iAudioEngine == null) return;
-
- this.iAudioEngine.setASMRMode(enable);
- }
-
- //ktv相关---------------begin--------------------------
- private boolean isPlaying;
- private boolean isAccompany = true;
- private boolean isPush;
- private boolean isOpenKtv;
- private boolean isLive;
- private int remoteUid;
- private double accompanyVoice = 0.5;
- private double personVoice = 0.5;
-
- public synchronized void openKtvModel() {
-
- }
-
- public synchronized void closeKtvModel() {
-
- }
-
- public void stopPush() {
-
- }
-
- public synchronized void startMv(String url) {
-
- }
-
- public synchronized void setupRemoteVideo(VideoCanvas canvas, int remoteUid) {
-
- }
-
-
- public void playOrPause() {
- isPlaying = !isPlaying;
- }
-
- public void changeAudioStream() {
- isAccompany = !isAccompany;
- }
-
- public void setAccompanyVoice(double progress) {
- if (progress < 0 || progress > 1) {
- return;
- }
- accompanyVoice = progress;
- }
-
- public void setPersonVoice(double progress) {
- if (progress < 0 || progress > 1) {
- return;
- }
- personVoice = progress;
- }
-
- public boolean isPlaying() {
- return isPlaying;
- }
-
- public boolean isPush() {
- return isPush;
- }
-
- public boolean isAccompany() {
- return isAccompany;
- }
-
- public boolean isOpenKtv() {
- return isOpenKtv;
- }
-
- public boolean isLive() {
- return isLive;
- }
-
- public void setLive(boolean live) {
- isLive = live;
- }
-
- public int getRemoteUid() {
- return remoteUid;
- }
-
- public double getAccompanyVoice() {
- return accompanyVoice;
- }
-
- public double getPersonVoice() {
- return personVoice;
- }
-
-
- public double getPlayPos() {
- return 0;
- }
-
- public int getPlayDuration() {
- return 0;
- }
-
- //ktv相关---------------end--------------------------
-
}
diff --git a/core/src/diff_src_erban/java/com/mango/core/manager/IAudioEngine.java b/core/src/diff_src_erban/java/com/mango/core/manager/IAudioEngine.java
index f39c989ca..f8549e898 100644
--- a/core/src/diff_src_erban/java/com/mango/core/manager/IAudioEngine.java
+++ b/core/src/diff_src_erban/java/com/mango/core/manager/IAudioEngine.java
@@ -71,6 +71,4 @@ public interface IAudioEngine {
void setASMRMode(boolean enable);
- default void delayStartPlay(long pushUid) {
- }
}
diff --git a/gradle.properties b/gradle.properties
index 9b23118b6..b43b2ca29 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -21,7 +21,7 @@ MobSDK.spEdition=FP
with_flutter_aar=true
with_jenkins=false
-only_arm64=true
+only_arm64=false
channel_file=channel.txt
diff --git a/settings.gradle b/settings.gradle
index f3f53c728..e3e1ab2ef 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1,4 +1,5 @@
-include ':app', ':agora-ktv-kit-release', ':android_crop_lib'
+include ':app'
+include ':android_crop_lib'
include ':trtc_release'
include ':core'
include ':library'