Merge branch 'yinyou_v5.6.0' into yinyou_develop

# Conflicts:
#	core/src/main/java/com/mango/core/statistic/protocol/StatisticsProtocol.java
This commit is contained in:
huangjian
2022-12-28 15:06:46 +08:00
41 changed files with 554 additions and 410 deletions

View File

@@ -22,6 +22,7 @@ import com.mango.core.manager.AudioEngineManager;
import com.mango.core.manager.AvRoomDataManager;
import com.mango.core.manager.IMNetEaseManager;
import com.mango.core.redpackage.RedPackageModel;
import com.mango.core.room.anotherroompk.ShowPkMatchEvent;
import com.mango.core.room.anotherroompk.SingleRoomPKModel;
import com.mango.core.room.bean.RoomInfo;
import com.mango.core.room.giftvalue.GiftValueModel;
@@ -40,7 +41,6 @@ import com.mango.moshen.avroom.activity.CreatePKActivity;
import com.mango.moshen.avroom.activity.RoomSettingActivity;
import com.mango.moshen.avroom.anotherroompk.RoomPKCreateActivity;
import com.mango.moshen.avroom.giftvalue.GiftValueDialogUiHelper;
import com.mango.moshen.avroom.singleroompk.SingleRoomPKCreateActivity;
import com.mango.moshen.avroom.singleroompk.SingleRoomPkSelectTypeDialog;
import com.mango.moshen.avroom.wishlist.WishListCreateActivity;
import com.mango.moshen.common.widget.dialog.DialogManager;
@@ -266,7 +266,7 @@ public class RoomOperationDialog extends BottomSheetDialog {
final RoomPkBean pkBean = AvRoomDataManager.get().roomPkLiveData.getValue();
if (AvRoomDataManager.get().isRoomOwner() && !AvRoomDataManager.get().isCpRoom()) {
boolean isMatch = AvRoomDataManager.get().getPkMatchStartTime() > 0;
boolean isMatch = false;
boolean isEndPk = false;
String str = AvRoomDataManager.get().isOpenAnotherPKMode() ? "主播PK中" : "主播PK";
if (pkBean != null) {
@@ -277,15 +277,16 @@ public class RoomOperationDialog extends BottomSheetDialog {
str = "结束PK";
isEndPk = true;
}
} else {
isMatch = AvRoomDataManager.get().getPkMatchStartTime() > 0;
if (isMatch) str = "PK匹配中";
}
if (isMatch) {
str = "PK匹配中";
}
int icon = AvRoomDataManager.get().isOpenAnotherPKMode() ?
R.drawable.ic_room_opt_single_pk_open :
R.drawable.ic_room_opt_single_pk_in;
boolean finalIsEndPk = isEndPk;
boolean finalIsMatch = isMatch;
optAdapter.addData(new OptAction(icon, str, () -> {
Map<String, String> arguments = new HashMap<>();
arguments.put("name", "个播PK");
@@ -304,12 +305,19 @@ public class RoomOperationDialog extends BottomSheetDialog {
return;
}
if (isMatch) {
SingleRoomPKModel.INSTANCE
.cancelSingleRoomPkMatch()
.doOnSuccess(s -> SingleRoomPKCreateActivity.start(getContext()))
.doOnError(throwable -> SingleToastUtil.showToast(throwable.getMessage()))
.subscribe();
if (finalIsMatch) {
new DialogManager(context)
.showOkCancelDialog("是否取消PK匹配?", () ->
SingleRoomPKModel.INSTANCE
.cancelSingleRoomPkMatch()
.doOnSuccess(s -> {
EventBus.getDefault().post(new ShowPkMatchEvent(0));
AvRoomDataManager.get().setPkMatchStartTime(0);
SingleRoomPkSelectTypeDialog.newInstance().show(getContext());
})
.doOnError(throwable -> SingleToastUtil.showToast(throwable.getMessage()))
.subscribe()
);
} else {
SingleRoomPkSelectTypeDialog.newInstance().show(getContext());
}

View File

@@ -26,6 +26,7 @@ import com.mango.core.statistic.protocol.StatisticsProtocol
import com.mango.core.user.UserModel
import com.mango.core.user.bean.UserInfo
import com.mango.core.utils.CurrentTimeUtils
import com.mango.core.utils.toast
import com.mango.moshen.R
import com.mango.moshen.avroom.adapter.OnMicroItemClickListener
import com.mango.moshen.avroom.adapter.SingleAnchorMicroViewAdapter
@@ -53,6 +54,7 @@ import io.reactivex.disposables.Disposable
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
import java.util.concurrent.TimeUnit
import kotlin.math.max
/**
* 个播房间
@@ -119,6 +121,18 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
}
initRoomPkOrder(AvRoomDataManager.get().pkMatchStartTime)
gameBinding.llRoomPkOrder.setOnClickListener {
dialogManager.showOkCancelDialog("是否取消PK匹配?") {
SingleRoomPKModel.cancelSingleRoomPkMatch()
.doOnSuccess {
initRoomPkOrder(0L)
AvRoomDataManager.get().pkMatchStartTime = 0
"取消PK匹配成功!".toast()
}
.doOnError { it.message.toast() }
.subscribe()
}
}
gameBinding.tvHourRank.setOnClickListener {
DialogWebViewActivity.start(
@@ -174,6 +188,7 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
gameBinding.flFansTeam.setOnClickListener(clickListener)
}
@SuppressLint("CheckResult")
override fun onReceiveRoomEvent(roomEvent: RoomEvent?) {
super.onReceiveRoomEvent(roomEvent)
if (roomEvent == null) return
@@ -227,7 +242,12 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
dialogManager.showOkCancelDialog("暂未匹配到合适的PK对象是否继续") {
SingleRoomPKModel.initSingleRoomPkMatch()
.compose(bindToLifecycle())
.subscribe()
.subscribe({
AvRoomDataManager.get().pkMatchStartTime = it.toLong()
initRoomPkOrder(it.toLong())
}, {
it.message.toast()
})
}
}
@@ -270,21 +290,25 @@ class SingleRoomFragment : BaseRoomFragment<ISingleRoomView?, SingleRoomPresente
}
private fun initRoomPkOrder(pkMatchStartTime: Long) {
if (pkMatchDisposable?.isDisposed == true) return
val residueSeconds = (pkMatchStartTime - CurrentTimeUtils.getCurrentTime()) / 1000
if (residueSeconds > 0) {
if (!AvRoomDataManager.get().isRoomOwner) return
pkMatchDisposable?.dispose()
if (pkMatchStartTime > 0L) {
val residueSeconds = max((CurrentTimeUtils.getCurrentTime() - pkMatchStartTime) / 1000,0)
gameBinding.llRoomPkOrder.visibility = View.VISIBLE
pkMatchDisposable =
Observable.intervalRange(0, residueSeconds, 1, 1, TimeUnit.SECONDS)
Observable.intervalRange(
residueSeconds,
Int.MAX_VALUE.toLong(),
0,
1,
TimeUnit.SECONDS
)
.observeOn(AndroidSchedulers.mainThread())
.compose(bindUntilEvent(FragmentEvent.DESTROY_VIEW))
.doOnComplete {
gameBinding.llRoomPkOrder.visibility = View.GONE
}
.subscribe { aLong: Long ->
gameBinding.tvRoomPkOrderTime.text = TimeUtils.getFormatTimeString(
(residueSeconds - aLong) * 1000,
"min:sec"
gameBinding.tvRoomPkOrderTime.text = TimeUtils.ms2MS(
aLong * 1000,
true
)
}
} else {

View File

@@ -41,9 +41,6 @@ class SingleRoomPKCreateActivity : BaseViewBindingActivity<ActivitySingleRoomPkC
WindowManager.LayoutParams.WRAP_CONTENT,
)
window.setGravity(Gravity.BOTTOM)
binding.ivHelp.setOnClickListener {
SingleRoomPkRuleDialog.newInstance().show(this)
}
binding.ivAddPkRoom.setOnClickListener {
SingleRoomPKSearchActivity.start(this)

View File

@@ -1,10 +1,9 @@
package com.mango.moshen.avroom.singleroompk
import android.text.method.ScrollingMovementMethod
import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.DialogSingleRoomPkRuleBinding
import com.mango.core.room.anotherroompk.SingleRoomPKModel
import com.mango.core.utils.toast
import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.DialogSingleRoomPkRuleBinding
class SingleRoomPkRuleDialog : BaseDialog<DialogSingleRoomPkRuleBinding>() {
@@ -18,7 +17,6 @@ class SingleRoomPkRuleDialog : BaseDialog<DialogSingleRoomPkRuleBinding>() {
override fun init() {
binding.ivClose.setOnClickListener { dismissAllowingStateLoss() }
binding.tvContent.movementMethod = ScrollingMovementMethod.getInstance()
SingleRoomPKModel.getSingleRoomPkRule()
.compose(bindToLifecycle())
.doOnSuccess {

View File

@@ -27,7 +27,7 @@ class SingleRoomPkSelectTypeDialog : BaseDialog<DialogSingleRoomSelectTypeBindin
@SuppressLint("CheckResult")
override fun init() {
binding.ivHelp.setOnClickListener {
SingleRoomPkTypeRuleDialog.newInstance().show(requireContext())
SingleRoomPkRuleDialog.newInstance().show(requireContext())
}
binding.ivInvite.setOnClickListener {
SingleRoomPKCreateActivity.start(requireContext())

View File

@@ -1,19 +0,0 @@
package com.mango.moshen.avroom.singleroompk
import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.DialogSingleRoomPkTypeRuleBinding
class SingleRoomPkTypeRuleDialog : BaseDialog<DialogSingleRoomPkTypeRuleBinding>() {
companion object {
@JvmStatic
fun newInstance(): SingleRoomPkTypeRuleDialog {
return SingleRoomPkTypeRuleDialog()
}
}
override fun init() {
binding.ivClose.setOnClickListener { dismissAllowingStateLoss() }
}
}

View File

@@ -102,7 +102,7 @@ import com.mango.xchat_android_library.utils.UIUtils;
import com.mango.xchat_android_library.utils.codec.DESUtils;
import com.mango.xchat_android_library.utils.config.BasicConfig;
import com.mango.xchat_android_library.utils.log.MLog;
import com.yizhuan.erban.ui.widget.dialog.AllServiceGiftLevelCeremonyDialog;
import com.mango.moshen.ui.widget.dialog.AllServiceGiftLevelCeremonyDialog;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -111,7 +111,6 @@ import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import io.reactivex.Observable;

View File

@@ -3,7 +3,9 @@ package com.mango.moshen.home.dialog
import android.annotation.SuppressLint
import android.os.Bundle
import android.text.TextUtils
import android.view.View
import android.view.WindowManager
import android.widget.FrameLayout
import com.mango.moshen.avroom.activity.AVRoomActivity
import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.DialogNewUserHelloBinding
@@ -11,6 +13,8 @@ import com.mango.moshen.ui.utils.load
import com.mango.core.channel_page.bean.NewUserHelloInfo
import com.mango.core.statistic.StatisticManager
import com.mango.core.statistic.protocol.StatisticsProtocol
import com.mango.core.user.bean.UserInfo
import com.mango.core.user.bean.UserInfoSkillEntity
import com.mango.core.utils.subAndReplaceDot
import com.mango.moshen.R
import com.mango.moshen.audio.helper.AudioPlayerHelper
@@ -42,9 +46,21 @@ class NewUserHelloDialog : BaseDialog<DialogNewUserHelloBinding>() {
@SuppressLint("CheckResult", "SetTextI18n")
override fun init() {
binding.ivAvatar.load(newUserHelloInfo.sayHelloUserAvatar)
binding.ivAvatar.load(newUserHelloInfo.sayHelloUserAvatar, 19f)
binding.tvNick.text = newUserHelloInfo.sayHelloUserNickname.subAndReplaceDot(8)
binding.tvContent.text = newUserHelloInfo.sayHelloMsg
binding.tvNick.setCompoundDrawablesRelativeWithIntrinsicBounds(
0,
0,
if (newUserHelloInfo.gender == UserInfo.GENDER_MALE) {
R.drawable.ic_gender_male
} else {
R.drawable.ic_gender_female
},
0
)
binding.ivGoRoom.setOnClickListener {
AVRoomActivity.startForFromType(
requireContext(),
@@ -53,14 +69,30 @@ class NewUserHelloDialog : BaseDialog<DialogNewUserHelloBinding>() {
newUserHelloInfo.sayHelloUserNickname,
newUserHelloInfo.sayHelloUserUid.toString()
)
StatisticManager.Instance().onEvent(
StatisticsProtocol.EVENT_SAYHI_POP_FIND_CLICK, "打招呼弹窗去找TA点击",
mapOf("room_uid" to newUserHelloInfo.sayHelloUserUid.toString())
)
dismissAllowingStateLoss()
}
binding.llAudio.setOnClickListener { toggleAudio(newUserHelloInfo.voiceCard?.propVals) }
initVoiceShow(newUserHelloInfo.voiceCard)
StatisticManager.Instance().onEvent(
StatisticsProtocol.EVENT_SAYHI_POP_VOICE_CLICK, "打招呼弹窗播放声音秀点击"
)
}
private fun initVoiceShow(skillEntity: UserInfoSkillEntity?) {
if (skillEntity != null) {
binding.llAudio.visibility = View.VISIBLE
binding.llAudio.setOnClickListener { toggleAudio(skillEntity.propVals) }
} else {
binding.llAudio.visibility = View.GONE
}
}
private fun toggleAudio(list: List<String>?) {
if (list.isNullOrEmpty()) return
val url: String? = list.findLast { it == "http" }
val url: String? = list.findLast { it.contains("http") }
if (TextUtils.isEmpty(url)) return
if (!audioPlaying) {
playAudio(url)
@@ -86,8 +118,10 @@ class NewUserHelloDialog : BaseDialog<DialogNewUserHelloBinding>() {
}
})
StatisticManager.Instance()
.onEvent(StatisticsProtocol.EVENT_PERSONALSHOW_TOP_CARD_VOICE_CLICK, "个播展示卡片播放语音点击")
StatisticManager.Instance().onEvent(
StatisticsProtocol.EVENT_SAYHI_POP_SHOW, "打招呼弹窗曝光",
mapOf("user_id" to newUserHelloInfo.sayHelloUserErbanNo.toString())
)
}
private fun stopAudio() {

View File

@@ -5,6 +5,7 @@ import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.mango.core.manager.IMNetEaseManager;
import com.mango.moshen.ui.im.RouterHandler;
import com.mango.xchat_android_library.utils.JavaUtil;
import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase;
@@ -14,6 +15,10 @@ import com.mango.moshen.R;
import com.mango.moshen.ui.utils.ImageLoadUtils;
import com.mango.moshen.ui.webview.CommonWebViewActivity;
import com.mango.core.im.custom.bean.NoticeAttachment;
import com.netease.nimlib.service.NimService;
import java.util.HashMap;
import java.util.Map;
/**
* Created by chenran on 2017/9/21.
@@ -21,10 +26,13 @@ import com.mango.core.im.custom.bean.NoticeAttachment;
public class MsgViewHolderContent extends MsgViewHolderBase implements View.OnClickListener {
private final static String IS_NEW = "afafgaga";
private ImageView bg;
private TextView title;
private TextView desc;
private LinearLayout container;
private View ivNewTag;
public MsgViewHolderContent(BaseMultiItemFetchLoadAdapter adapter) {
super(adapter);
@@ -41,6 +49,7 @@ public class MsgViewHolderContent extends MsgViewHolderBase implements View.OnCl
title = findViewById(R.id.title);
desc = findViewById(R.id.desc);
container = findViewById(R.id.layout);
ivNewTag = findViewById(R.id.iv_new_tag);
}
@Override
@@ -56,6 +65,24 @@ public class MsgViewHolderContent extends MsgViewHolderBase implements View.OnCl
title.setText(attachment.getTitle());
desc.setText(attachment.getDesc());
container.setOnClickListener(this);
Map<String, Object> localExtension = message.getLocalExtension();
boolean isNew = false;
if (localExtension != null && localExtension.containsKey(IS_NEW)) {
isNew = (boolean) localExtension.get(IS_NEW);
} else {
isNew = true;
}
if (isNew) {
ivNewTag.setVisibility(View.VISIBLE);
if (localExtension == null) localExtension = new HashMap<>();
localExtension.put(IS_NEW, false);
message.setLocalExtension(localExtension);
IMNetEaseManager.get().updateMessageToLocal(message);
} else {
ivNewTag.setVisibility(View.GONE);
}
}
@Override

View File

@@ -218,6 +218,7 @@ class RecentListFragment : BaseViewBindingFragment<FragmentRecentListBinding>()
fun onLoginEvent(event: LoginEvent?) {
//登录成功刷新消息页萌新
setFindNewbieView()
loadAttentionList()
}
override fun onDestroyView() {

View File

@@ -1,5 +1,7 @@
package com.mango.moshen.ui.im.recent.adapter;
import android.graphics.drawable.AnimationDrawable;
import androidx.annotation.NonNull;
import com.chad.library.adapter.base.BaseQuickAdapter;
@@ -8,7 +10,6 @@ import com.mango.core.user.bean.AttentionInfo;
import com.mango.moshen.R;
import com.mango.moshen.common.widget.CircleImageView;
import com.mango.moshen.ui.utils.ImageLoadUtilsV2;
import com.mango.moshen.ui.widget.magicindicator.buildins.UIUtil;
import java.util.ArrayList;
@@ -27,7 +28,9 @@ public class AttentionInRoomAdapter extends BaseQuickAdapter<AttentionInfo, Base
helper.setText(R.id.tv_name_attention_in_room, item.nick);
CircleImageView imageView = helper.getView(R.id.civ_attention_in_room);
ImageLoadUtilsV2.loadImage(imageView, item.avatar);
helper.setImageResource(R.id.iv_gender, item.getGender() == 1 ? R.drawable.ic_gender_male : R.drawable.ic_gender_female);
if (helper.getView(R.id.view_living).getBackground() instanceof AnimationDrawable) {
((AnimationDrawable) helper.getView(R.id.view_living).getBackground()).start();
}
} catch (Exception ex) {
ex.printStackTrace();
}

View File

@@ -65,6 +65,7 @@ import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
/**
@@ -307,6 +308,12 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
SearchKeyInfo keyInfo = commonSearchAdapter.getItem(position);
if (keyInfo != null) {
handleCommonSearch(keyInfo.getId());
HashMap<String, String> arguments = new HashMap<>();
arguments.put("word", keyInfo.getWord());
StatisticManager.Instance().onEvent(
StatisticsProtocol.EVENT_ALLINSEARCH_ENTRY_CLICK, "搜索词条点击",
arguments
);
}
});
@@ -325,8 +332,7 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
private void handleCommonSearch(String id) {
AvRoomModel.get().commonSearch(id)
.compose(bindToLifecycle())
.subscribe(
data -> {
.subscribe(data -> {
if (ListUtils.isListEmpty(data)) {
showCommonSearchEmpty();
} else {
@@ -341,7 +347,7 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
private void showCommonSearchResult(List<SearchRoomInfo> data) {
llCommonSearchDetail.setVisibility(View.VISIBLE);
if (commonSearchResultAdapter == null) {
commonSearchResultAdapter = new SearchAdapter(this, 0, 0);
commonSearchResultAdapter = new SearchAdapter(this, SearchDetailFragment.TYPE_SEARCH_ALLIN, 0);
rvCommonSearchRoom.setLayoutManager(new LinearLayoutManager(this));
rvCommonSearchRoom.setAdapter(commonSearchResultAdapter);
}
@@ -501,7 +507,7 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
AvRoomModel.get().hijackSearch(str)
.compose(bindToLifecycle())
.subscribe(hijackInfo -> {
if (hijackInfo == null || TextUtils.isEmpty(hijackInfo.getRoomUid()) || hijackInfo.getAwardVo() == null) {
if (hijackInfo == null || (TextUtils.isEmpty(hijackInfo.getRoomUid()) && hijackInfo.getAwardVo() == null)) {
starRealSearch(str);
} else {
long roomUid = JavaUtil.str2long(hijackInfo.getRoomUid());
@@ -522,6 +528,13 @@ public class SearchActivity extends BaseMvpActivity<ISearchView, SearchPresenter
if (llSearchDetail.getVisibility() != View.VISIBLE) {
llSearchDetail.setVisibility(View.VISIBLE);
}
HashMap<String, String> arguments = new HashMap<>();
arguments.put("search_key", str);
StatisticManager.Instance().onEvent(
StatisticsProtocol.EVENT_SEARCH_INPUT_CLICK, "搜索框点击",
arguments
);
}
private void clearSearch() {

View File

@@ -20,6 +20,8 @@ import com.mango.core.statistic.StatisticManager;
import com.mango.core.statistic.protocol.StatisticsProtocol;
import com.mango.core.user.UserModel;
import java.util.HashMap;
/**
* @author chenran
* @date 2017/10/3
@@ -57,7 +59,16 @@ public class SearchAdapter extends BaseQuickAdapter<SearchRoomInfo, SearchAdapte
holder.tvOnlineNum.setVisibility(View.VISIBLE);
holder.tvOnlineNum.setText(item.getOnlineNum() + "");
holder.container.setOnClickListener(v -> {
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SEARCH_INTO_RESULT_ROOM_CLICK, "搜索_进入结果房间");
if (searchType == SearchDetailFragment.TYPE_SEARCH_ALLIN) {
HashMap<String, String> arguments = new HashMap<>();
arguments.put("room_name", item.getTitle());
StatisticManager.Instance().onEvent(
StatisticsProtocol.EVENT_ALLINSEARCH_ENTRY_ROOM_CLICK, "词条搜索结果相关房间点击",
arguments
);
} else {
StatisticManager.Instance().onEvent(StatisticsProtocol.EVENT_SEARCH_INTO_RESULT_ROOM_CLICK, "搜索_进入结果房间");
}
AVRoomActivity.start(mContext, item.getUid());
});
}
@@ -85,8 +96,7 @@ public class SearchAdapter extends BaseQuickAdapter<SearchRoomInfo, SearchAdapte
holder.stvOp.setEnabled(cpState != 1 && cpState != 2);
holder.addOnClickListener(R.id.stv_op);
holder.stvOp.setBackground(context.getResources().getDrawable(R.drawable.bg_button_relation_invite));
}
else if (fromType == AbstractSelectFriendAction.TYPE_SEND_DECORATION) {
} else if (fromType == AbstractSelectFriendAction.TYPE_SEND_DECORATION) {
holder.stvOp.setVisibility(View.VISIBLE);
holder.stvOp.setText("赠送");
holder.addOnClickListener(R.id.stv_op);
@@ -116,8 +126,8 @@ public class SearchAdapter extends BaseQuickAdapter<SearchRoomInfo, SearchAdapte
TextView roomTitle;
TextView erbanNo;
TextView tvOnlineNum;
private ImageView ivLive;
RelativeLayout container;
private ImageView ivLive;
private NobleAvatarView mNobleAvatarView;
private ImageView mIvSex;
private SuperTextView stvOp;

View File

@@ -33,6 +33,7 @@ public class SearchDetailFragment extends BaseMvpFragment<ISearchView, SearchPre
public static final int TYPE_SEARCH_ROOM = 1;
public static final int TYPE_SEARCH_USER = 2;
public static final int TYPE_SEARCH_ALLIN= 3;
private RecyclerView recyclerView;
private SearchAdapter searchAdapter;
private long hallId;

View File

@@ -3,6 +3,8 @@ package com.mango.moshen.ui.search
import android.os.Bundle
import android.view.WindowManager
import com.mango.core.room.bean.SearchHijackInfo
import com.mango.core.statistic.StatisticManager
import com.mango.core.statistic.protocol.StatisticsProtocol
import com.mango.moshen.base.BaseDialog
import com.mango.moshen.databinding.DialogRoomPkRuleBinding
import com.mango.moshen.databinding.DialogSearchPrizeBinding
@@ -22,12 +24,24 @@ class SearchPrizeDialog : BaseDialog<DialogSearchPrizeBinding>() {
}
}
override var width = WindowManager.LayoutParams.MATCH_PARENT
override var width = WindowManager.LayoutParams.MATCH_PARENT
private val awardInfo by lazy { requireArguments().getSerializable("awardInfo") as SearchHijackInfo.AwardInfo }
override fun init() {
binding.ivClose.setOnClickListener { dismissAllowingStateLoss() }
binding.tvPrizeName.text = awardInfo.awardName
binding.ivPrizeIcon.load(awardInfo.awardUrl)
StatisticManager.Instance().onEvent(
StatisticsProtocol.EVENT_SEARCH_INTERCEPT_POP_SHOW, "搜索劫持结果弹窗曝光",
mapOf("award_name" to awardInfo.awardName)
)
}
override fun onDestroyView() {
super.onDestroyView()
StatisticManager.Instance().onEvent(
StatisticsProtocol.EVENT_SEARCH_INTERCEPT_POP_CLICK, "搜索劫持结果弹窗关闭"
)
}
}

View File

@@ -1,4 +1,4 @@
package com.yizhuan.erban.ui.widget.dialog;
package com.mango.moshen.ui.widget.dialog;
import android.content.Context;
import android.graphics.Color;

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -3,8 +3,9 @@
android:shape="rectangle">
<gradient
android:angle="180"
android:endColor="#ff5835ff"
android:startColor="#ffff6afd"
android:centerColor="#9277FF"
android:endColor="#1CD7FD"
android:startColor="#FF6BA3"
android:type="linear"
android:useLevel="true" />
<corners

View File

@@ -79,200 +79,215 @@
</LinearLayout>
<LinearLayout
android:id="@+id/ll_common_search_detail"
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="gone">
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="相关房间"
android:textColor="@color/color_161958"
android:textSize="14sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_common_search_room"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:id="@+id/ll_search_common_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="15dp"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
<LinearLayout
android:id="@+id/ll_common_search_empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:layout_marginBottom="150dp"
android:text="暂无开播厅房~"
android:textColor="#BABBCD"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大家都在搜"
android:textColor="@color/color_161958"
android:textSize="14sp" />
<View
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_common_search"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp" />
</LinearLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_search_history_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/label_search_history"
android:textColor="@color/color_161958"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/fl_clear_search_history"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/fl_clear_search_history" />
<TextView
android:id="@+id/fl_clear_search_history"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:drawableStart="@drawable/ic_message_trash"
android:drawablePadding="@dimen/dp_2"
android:gravity="center"
android:paddingEnd="@dimen/dp_15"
android:text="@string/label_clear"
android:textColor="#8A8CAB"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_search_history"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_clear_search_history" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_room_history_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/label_room_history"
android:textColor="@color/color_161958"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/fl_clear_room_history"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/fl_clear_room_history" />
<TextView
android:id="@+id/fl_clear_room_history"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:drawableStart="@drawable/ic_message_trash"
android:drawablePadding="@dimen/dp_2"
android:gravity="center"
android:paddingEnd="@dimen/dp_15"
android:text="@string/label_clear"
android:textColor="#8A8CAB"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_room_history"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_clear_room_history" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_search_detail"
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#e4e4e4" />
android:layout_height="match_parent"
android:background="@color/bg_normal_1c1b22"
android:orientation="vertical"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="15dp"
android:text="为你推荐"
android:textColor="@color/color_161958"
android:textSize="14sp" />
<com.mango.moshen.ui.widget.magicindicator.MagicIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="48dp"
android:paddingLeft="5dp"
android:paddingRight="5dp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_common_search_empty"
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_common_search_detail"
android:layout_width="match_parent"
android:layout_height="match_parent" />
android:layout_height="match_parent"
android:background="@color/bg_normal_1c1b22"
android:orientation="vertical"
android:visibility="gone">
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="相关房间"
android:textColor="@color/color_161958"
android:textSize="14sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_common_search_room"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<LinearLayout
android:id="@+id/ll_search_common_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="15dp"
android:orientation="vertical"
android:visibility="gone"
tools:visibility="visible">
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="大家都在搜"
android:textColor="@color/color_161958"
android:textSize="14sp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_common_search"
<LinearLayout
android:id="@+id/ll_common_search_empty"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp" />
android:layout_height="match_parent"
android:background="@color/bg_normal_1c1b22"
android:orientation="vertical"
android:visibility="gone">
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:layout_marginBottom="150dp"
android:text="暂无开播厅房~"
android:textColor="#BABBCD"
android:textSize="12sp" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:background="#e4e4e4" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_search_history_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="15dp"
android:text="为你推荐"
android:textColor="@color/color_161958"
android:textSize="14sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/label_search_history"
android:textColor="@color/color_161958"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/fl_clear_search_history"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/fl_clear_search_history" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_common_search_empty"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<TextView
android:id="@+id/fl_clear_search_history"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:drawableStart="@drawable/ic_message_trash"
android:drawablePadding="@dimen/dp_2"
android:gravity="center"
android:paddingEnd="@dimen/dp_15"
android:text="@string/label_clear"
android:textColor="#8A8CAB"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</LinearLayout>
</FrameLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_search_history"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_clear_search_history" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_room_history_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:visibility="gone"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/label_room_history"
android:textColor="@color/color_161958"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/fl_clear_room_history"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/fl_clear_room_history" />
<TextView
android:id="@+id/fl_clear_room_history"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:drawableStart="@drawable/ic_message_trash"
android:drawablePadding="@dimen/dp_2"
android:gravity="center"
android:paddingEnd="@dimen/dp_15"
android:text="@string/label_clear"
android:textColor="#8A8CAB"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_room_history"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_clear_room_history" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:id="@+id/ll_search_detail"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:visibility="gone">
<com.mango.moshen.ui.widget.magicindicator.MagicIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="48dp"
android:paddingLeft="5dp"
android:paddingRight="5dp" />
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
</LinearLayout>

View File

@@ -25,16 +25,6 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_help"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_marginTop="18dp"
android:layout_marginEnd="12dp"
android:src="@drawable/ic_room_pk_help"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_pk_object"
android:layout_width="wrap_content"

View File

@@ -85,8 +85,10 @@
android:layout_marginStart="6dp"
android:layout_marginTop="4dp"
android:gravity="center"
android:drawableEnd="@drawable/ic_gender_female"
android:textColor="@color/white"
android:textSize="14sp"
android:drawablePadding="5dp"
tools:text="魔力可可鸭魔力可..." />
<TextView
@@ -96,9 +98,10 @@
android:layout_marginStart="6dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="6dp"
android:maxLines="2"
android:layout_marginBottom="8dp"
android:text="欢迎来到魔力Ta已经等待你很久啦快来一起玩吧~"
android:ellipsize="end"
android:maxLines="2"
android:text="欢迎来到魔力Ta已经等待你很久啦Ta已经等待你很久啦Ta已经等待你很久啦快来一起玩吧~"
android:textColor="@color/white"
android:textSize="12sp" />

View File

@@ -25,8 +25,7 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_content"
<ScrollView
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="15dp"
@@ -34,13 +33,99 @@
android:layout_marginEnd="15dp"
android:layout_marginBottom="23dp"
android:scrollbars="vertical"
android:textColor="@color/color_333333"
android:textSize="14dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:text="@string/room_pk_rule" />
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/color_333333"
android:textSize="12sp"
tools:text="@string/room_pk_rule" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:orientation="vertical">
<View
android:layout_width="88dp"
android:layout_height="8dp"
android:background="@drawable/shape_single_room_pk_rule"
app:layout_constraintBottom_toBottomOf="@id/tv_random_pk"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/tv_random_pk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="23dp"
android:text="随机PK"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_random_pk_rule"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="参与匹配随机与一名主播房主播PK匹配成功后开启PK。PK时长固定"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_random_pk" />
<View
android:layout_width="88dp"
android:layout_height="8dp"
android:background="@drawable/shape_single_room_pk_rule"
app:layout_constraintBottom_toBottomOf="@id/tv_invite_pk"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/tv_invite_pk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="邀请PK"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_random_pk_rule" />
<TextView
android:id="@+id/tv_invite_pk_rule"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="9dp"
android:text="指定一个主播房主播邀请其进行PK对方接受后开启PK"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_invite_pk" />
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</ScrollView>
<ImageView
android:id="@+id/iv_close"

View File

@@ -1,108 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="300dp"
android:layout_height="324dp"
android:layout_gravity="center"
android:background="@drawable/bg_single_room_pk_rule_dialog"
android:orientation="vertical">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="82dp"
android:text="PK规则"
android:textColor="@color/white"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<View
android:layout_width="88dp"
android:layout_height="8dp"
android:background="@drawable/shape_single_room_pk_rule"
app:layout_constraintBottom_toBottomOf="@id/tv_random_pk"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/tv_random_pk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="23dp"
android:text="随机PK"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title" />
<TextView
android:id="@+id/tv_random_pk_rule"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="9dp"
android:layout_marginEnd="15dp"
android:text="参与匹配随机与一名主播房主播PK匹配成功后开启PK。PK时长固定"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_random_pk" />
<View
android:layout_width="88dp"
android:layout_height="8dp"
android:background="@drawable/shape_single_room_pk_rule"
app:layout_constraintBottom_toBottomOf="@id/tv_invite_pk"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView
android:id="@+id/tv_invite_pk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="邀请PK"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_random_pk_rule" />
<TextView
android:id="@+id/tv_invite_pk_rule"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="9dp"
android:layout_marginEnd="15dp"
android:text="指定一个主播房主播邀请其进行PK对方接受后开启PK"
android:textColor="@color/color_333333"
android:textSize="12sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_invite_pk" />
<ImageView
android:id="@+id/iv_close"
android:layout_width="22dp"
android:layout_height="22dp"
android:layout_marginTop="15dp"
android:layout_marginEnd="14dp"
android:src="@drawable/ic_room_pk_force_finish_close"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

View File

@@ -191,30 +191,31 @@
</LinearLayout>
<FrameLayout
<LinearLayout
android:id="@+id/fl_attention_online"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:visibility="gone">
android:layout_marginTop="17dp"
android:orientation="vertical"
android:visibility="visible">
<com.mango.moshen.ui.widget.RecyclerViewNoViewpagerScroll
android:id="@+id/rv_attention_online"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:layout_marginTop="24dp"
android:layout_marginTop="13dp"
android:layout_marginEnd="15dp"
android:background="@drawable/shape_5fcce4_corner_8dp"
android:paddingBottom="12dp" />
<ImageView
android:layout_width="105dp"
android:layout_height="29dp"
android:layout_marginStart="21dp"
android:src="@drawable/ic_msg_party" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:background="#4dd8d8d8" />
</FrameLayout>
</LinearLayout>
<FrameLayout
android:id="@+id/recent_container"

View File

@@ -3,34 +3,54 @@
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/ll_attention_in_room"
android:layout_width="66dp"
android:layout_width="76dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="14dp">
<View
android:layout_width="48dp"
android:layout_height="48dp"
android:background="@drawable/shape_5bc8f8_stroke" />
android:id="@+id/fl_room_history_avatar_container"
android:layout_width="56dp"
android:layout_height="56dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.mango.moshen.common.widget.CircleImageView
android:id="@+id/civ_attention_in_room"
android:layout_width="44dp"
android:layout_height="44dp"
android:layout_marginStart="2dp"
android:layout_marginTop="2dp"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_gravity="center_horizontal"
tools:src="@drawable/default_avatar" />
<ImageView
android:id="@+id/iv_gender"
<View
android:id="@+id/view_avatar_bg"
android:layout_width="56dp"
android:layout_height="56dp"
android:background="@drawable/bg_avatar_concerns" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom" />
android:layout_gravity="center_horizontal|bottom"
android:layout_marginBottom="3dp"
android:gravity="center">
<View
android:id="@+id/view_living"
android:layout_width="8dp"
android:layout_height="7dp"
android:background="@drawable/anim_concerns_living_icon" />
<TextView
android:id="@+id/tv_live"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="3dp"
android:text="直播"
android:textColor="@color/white"
android:textSize="8sp" />
</LinearLayout>
</FrameLayout>

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="240dp"
android:layout_height="wrap_content"
android:orientation="vertical">
@@ -76,4 +76,12 @@
</LinearLayout>
</LinearLayout>
<ImageView
android:id="@+id/iv_new_tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:src="@drawable/ic_me_new"
android:visibility="gone" />
</FrameLayout>

View File

@@ -125,8 +125,8 @@
<LinearLayout
android:id="@+id/ll_room_pk_order"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_below="@id/tv_hour_rank"
android:layout_marginTop="5dp"
android:background="@drawable/bg_room_pk_order"

View File

@@ -129,11 +129,11 @@
<LinearLayout
android:id="@+id/ll_room_pk_order"
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_width="52dp"
android:layout_height="52dp"
android:layout_below="@id/tv_hour_rank"
android:layout_marginTop="5dp"
android:background="@drawable/bg_room_pk_order"
android:background="@drawable/bg_room_pk_match_order"
android:gravity="center"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/fl_fans_team"
@@ -143,7 +143,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="17dp"
android:layout_marginTop="20dp"
android:includeFontPadding="false"
android:text="PK匹配中"
android:textColor="@color/white"

View File

@@ -78,7 +78,7 @@ public class AppUpgradeHelper {
DownloadManager manager = new DownloadManager.Builder(activity)
.apkUrl(newestVersionInfo.getUpdateDownloadLink())
.apkName("magic_v" + newestVersionInfo.getUpdateVersion() + ".apk")
.apkMD5(newestVersionInfo.getUpdateFileMd5())
//.apkMD5(newestVersionInfo.getUpdateFileMd5())
.apkVersionName(newestVersionInfo.getUpdateVersion())
.smallIcon(R.mipmap.app_logo)
.forcedUpgrade(forceUpdate)

View File

@@ -24,6 +24,7 @@ import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.hjq.toast.ToastUtils;
import com.mango.core.im.custom.bean.WishListAttachment;
import com.mango.core.room.anotherroompk.ShowPkMatchEvent;
import com.netease.nim.uikit.business.session.helper.MessageListPanelHelper;
import com.netease.nim.uikit.common.antispam.AntiSpamEvent;
import com.netease.nim.uikit.common.util.AntiSpamUtil;
@@ -1283,6 +1284,10 @@ public final class IMNetEaseManager {
case CUSTOM_MSG_SUB_ROOM_PK_UPDATE:
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_UPDATE:
AvRoomDataManager.get().roomPkLiveData.postValue(roomPkBean);
if (AvRoomDataManager.get().getPkMatchStartTime() != 0) {
AvRoomDataManager.get().setPkMatchStartTime(0);
EventBus.getDefault().post(new ShowPkMatchEvent(0));
}
break;
case CUSTOM_MSG_SUB_ROOM_PK_FINISH:
noticeRoomEvent(msg, RoomEvent.ROOM_PK_FINISH);
@@ -1312,6 +1317,10 @@ public final class IMNetEaseManager {
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_MATCH_TIMEOUT:
if (AvRoomDataManager.get().isRoomOwner()) {
noticeRoomEvent(msg, RoomEvent.ROOM_PK_TIMEOUT);
if (AvRoomDataManager.get().getPkMatchStartTime() != 0) {
AvRoomDataManager.get().setPkMatchStartTime(0);
EventBus.getDefault().post(new ShowPkMatchEvent(0));
}
}
break;
case CUSTOM_MSG_SUB_SINGLE_ROOM_PK_MUTE_MIC:

View File

@@ -271,7 +271,7 @@ public class XChatConstants {
/**
* Referer (RELEASE)
*/
public static final String KEY_REFERER_RELEASE = "https://yinyou.api.shengxuanwangluo.com/";
public static final String KEY_REFERER_RELEASE = "https://api.lecheng163.com/";
public static final String APP_MARK = "yinbao";
/**
* 聊天室文本消息易盾反垃圾业务id

View File

@@ -144,7 +144,7 @@ public class RoomInfo implements Parcelable,Serializable {
private long pkBeginTime;
/**
* 个播匹配结束时间
* 个播匹配开始时间
*/
private long pkMatchStartTime;

View File

@@ -832,7 +832,7 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel {
* @return
*/
@GET("/every/one/search/getRoomList")
Single<ServiceResult<List<SearchRoomInfo>>> commonSearch(@Query("id") String id);
Single<ServiceResult<List<SearchRoomInfo>>> commonSearch(@Query("wordId") String id);
/**
* 获取该Uid 所在的房间信息,如果不在房间 返回的房间实体uid==0,或者roomId == 0

View File

@@ -426,6 +426,15 @@ public interface StatisticsProtocol {
String EVENT_WISHLIST_PANEL_CLICK = "wishlist_panel_click";//礼物心愿面板赠送点击
String EVENT_WISHLIST_PANEL_CLOSE_CLICK = "wishlist_panel_close_click";//礼物心愿面板关闭点击
String EVENT_SAYHI_POP_SHOW = "sayhi_pop_show";//打招呼弹窗曝光 统计弹窗主播的id
String EVENT_SAYHI_POP_FIND_CLICK = "sayhi_pop_find_click";//打招呼弹窗去找TA点击 统计进房房间的id
String EVENT_SAYHI_POP_VOICE_CLICK = "sayhi_pop_voice_click";//打招呼弹窗播放声音秀点击
String EVENT_ALLINSEARCH_ENTRY_CLICK = "allinsearch_entry_click";//词条点击 统计点击时对应词条的名称
String EVENT_ALLINSEARCH_ENTRY_ROOM_CLICK = "allinsearch_entry_room_click";//词条搜索结果相关房间点击 统计点击时对应房间的名称
String EVENT_SEARCH_INPUT_CLICK = "search_input_click";//搜索框点击 统计用户输入搜索框并搜索的内容
String EVENT_SEARCH_INTERCEPT_POP_SHOW = "search_intercept_pop_show";//搜索劫持结果弹窗曝光 统计弹窗奖励内容的名称
String EVENT_SEARCH_INTERCEPT_POP_CLICK = "search_intercept_pop_click";//搜索劫持结果弹窗关闭
String EVENT_GRADE_PROFIT_POP_CLICK = "grade_profit_pop_click";//主播评级入口点击
String EVENT_GRADE_PROFIT_POP_SHOW = "grade_profit_pop_show";//主播评级入口曝光
String EVENT_GRADE_PROFIT_CLOSE_CLICK = "grade_profit_close_click";//主播评级弹窗关闭点击

View File

@@ -11,5 +11,6 @@ data class NewUserHelloInfo(
val sayHelloUserAvatar: String = "",
val sayHelloUserErbanNo: Int = 0,
val sayHelloUserNickname: String = "",
val gender: Int = 0,
val voiceCard: UserInfoSkillEntity? = null
) : Serializable

View File

@@ -25,5 +25,5 @@ only_arm64=false
channel_file=channel.txt
version_name=5.5.3
version_code=553
version_name=5.6.0.3
version_code=560