From b2af96390d5873aa34560e91b87c8f5c383f5a18 Mon Sep 17 00:00:00 2001 From: huangjian Date: Thu, 13 Jan 2022 18:08:10 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AA=E6=92=ADUI=E4=BF=AE=E6=94=B9,?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=AA=E6=92=AD=E6=88=BF=E4=B8=BB=E9=BA=A6?= =?UTF-8?q?=E4=BD=8D=E5=85=89=E5=9C=88svga?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/svga/single_headware.svga | Bin 0 -> 51314 bytes .../erban/avroom/activity/AVRoomActivity.java | 18 --- .../adapter/SingleAnchorMicroViewAdapter.kt | 9 +- .../erban/avroom/fragment/BaseRoomFragment.kt | 63 ++++++++- .../avroom/fragment/HomePartyFragment.java | 1 + .../fragment/HomePartyRoomFragment.java | 71 +--------- .../avroom/fragment/SingleRoomFragment.kt | 50 ++++--- .../erban/avroom/widget/MicroView.java | 18 ++- app/src/main/res/layout/item_micro_dating.xml | 17 --- .../res/layout/item_micro_single_anchor.xml | 57 +++----- .../layout/item_micro_single_anchor_boss.xml | 132 ++++++++++-------- .../res/layout/fragment_single_room.xml | 85 +++++++---- gradle.properties | 4 +- 13 files changed, 253 insertions(+), 272 deletions(-) create mode 100644 app/src/main/assets/svga/single_headware.svga diff --git a/app/src/main/assets/svga/single_headware.svga b/app/src/main/assets/svga/single_headware.svga new file mode 100644 index 0000000000000000000000000000000000000000..a2034e66dfffb674e5a798603dc72d6bb8964f40 GIT binary patch literal 51314 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.id.svga_head_wear)?.let { it.visibility = View.VISIBLE diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt b/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt index 2e64a3830..0bf293862 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/BaseRoomFragment.kt @@ -17,8 +17,13 @@ import android.view.ViewStub import android.widget.EditText import android.widget.ImageView import android.widget.RelativeLayout +import android.widget.TextView import androidx.annotation.CallSuper import androidx.core.content.ContextCompat +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.BaseViewHolder import com.netease.nim.uikit.common.antispam.AntiSpamEvent import com.netease.nimlib.sdk.StatusCode import com.netease.nimlib.sdk.chatroom.ChatRoomMessageBuilder @@ -38,6 +43,7 @@ import com.yizhuan.erban.avroom.adapter.OnMicroItemClickListener import com.yizhuan.erban.avroom.dialog.AttentionHintDialog import com.yizhuan.erban.avroom.dialog.DatingVipRuleDialog import com.yizhuan.erban.avroom.dialog.RoomOperationDialog +import com.yizhuan.erban.avroom.firstcharge.FirstChargeDialog import com.yizhuan.erban.avroom.presenter.BaseRoomPresenter import com.yizhuan.erban.avroom.redpackage.RedPackageSendDialog import com.yizhuan.erban.avroom.view.IBaseRoomView @@ -50,6 +56,7 @@ import com.yizhuan.erban.event.OpenRoomIntroEvent import com.yizhuan.erban.friend.view.SelectFriendActivity import com.yizhuan.erban.home.adapter.RoomActAdapter import com.yizhuan.erban.home.adapter.RoomActAdapter.RoomActClickListener +import com.yizhuan.erban.treasure_box.widget.GoldBoxHelper import com.yizhuan.erban.ui.webview.DialogWebViewActivity import com.yizhuan.erban.ui.widget.ButtonItem import com.yizhuan.erban.ui.widget.GiftDialog @@ -66,6 +73,7 @@ import com.yizhuan.tutu.music.widget.MusicPlayerView import com.yizhuan.tutu.room_chat.activity.RoomMsgActivity import com.yizhuan.xchat_android_constants.XChatConstants import com.yizhuan.xchat_android_core.Constants +import com.yizhuan.xchat_android_core.DemoCache import com.yizhuan.xchat_android_core.UriProvider import com.yizhuan.xchat_android_core.auth.AuthModel import com.yizhuan.xchat_android_core.bean.RoomMicInfo @@ -96,6 +104,7 @@ import com.yizhuan.xchat_android_core.super_admin.util.SuperAdminUtil import com.yizhuan.xchat_android_core.user.UserModel import com.yizhuan.xchat_android_core.user.bean.BaseInfo import com.yizhuan.xchat_android_core.user.bean.UserInfo +import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils import com.yizhuan.xchat_android_core.utils.net.VipLevelNotEnoughException import com.yizhuan.xchat_android_library.net.rxnet.utils.RxNetWorkUtils import com.yizhuan.xchat_android_library.rxbus.RxBus @@ -137,6 +146,11 @@ open class BaseRoomFragment?> : @JvmField protected var isDatingMode = false + /** + * 快捷发言 + */ + private var lastSendTime: Long = 0 + /** * 是否开启礼物值显示 @@ -631,10 +645,13 @@ open class BaseRoomFragment?> : .onEvent(StatisticsProtocol.Event.EVENT_MP_ROOM_RANKING_LIST_CLICK, "房间榜") } R.id.tv_room_introduction -> showRoomIntroduction(AvRoomDataManager.get().isRoomOwner || AvRoomDataManager.get().isRoomAdmin) + R.id.iv_first_charge_enter -> FirstChargeDialog.start(mContext) + R.id.iv_treasure_box, + R.id.iv_treasure_box_cp -> GoldBoxHelper.handleBoxClick(mContext) } } - fun sendMsg() { + private fun sendMsg() { sendMsg(inputEdit.text.toString()) } @@ -1050,6 +1067,50 @@ open class BaseRoomFragment?> : } } + fun initSpeedyMessage(speedyMessageContainer: View) { + val rvSpeedyMessage = + speedyMessageContainer.findViewById(R.id.rv_speedy_message) + val phrases = AvRoomDataManager.get().phrases + if (ListUtils.isListEmpty(phrases) || !TimeUtils.isTomorrow(DemoCache.readSpeedyMessageGoneTime())) { + speedyMessageContainer.visibility = View.GONE + return + } + val adapter: BaseQuickAdapter = + object : BaseQuickAdapter(R.layout.item_speedy_message) { + override fun convert(helper: BaseViewHolder, item: String) { + (helper.itemView as TextView).text = item + } + } + rvSpeedyMessage.adapter = adapter + rvSpeedyMessage.layoutManager = LinearLayoutManager( + mContext, + LinearLayoutManager.HORIZONTAL, + false + ) + adapter.setNewData(phrases) + adapter.setOnItemClickListener { _: BaseQuickAdapter<*, *>?, _: View?, position: Int -> + if (CurrentTimeUtils.getCurrentTime() - lastSendTime > 10000) { + sendMsg(phrases[position]) + lastSendTime = CurrentTimeUtils.getCurrentTime() + StatisticManager.Instance() + .onEvent(StatisticsProtocol.Event.EVENT_ROOM_QUICKCHAT_CLICK, "语音房_快捷发言") + } else { + val roomInfo = + AvRoomDataManager.get().mCurrentRoomInfo ?: return@setOnItemClickListener + if (roomInfo.isCloseScreen) { + toast("房间公屏已关闭") + return@setOnItemClickListener + } + SingleToastUtil.showToast("你发送的太频繁啦,请稍后再试") + } + } + speedyMessageContainer.findViewById(R.id.iv_close_speedy_message).setOnClickListener { + speedyMessageContainer.visibility = View.GONE + DemoCache.saveSpeedyMessageGoneTime(System.currentTimeMillis()) + } + } + + override fun showMessageHistory(messages: List?) { messageView.addHistoryMessages(messages) } diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyFragment.java b/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyFragment.java index 67389980e..1451a6944 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyFragment.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyFragment.java @@ -287,6 +287,7 @@ public class HomePartyFragment extends BaseFragment implements View.OnClickListe return currentRoomInfo != null && AvRoomDataManager.get().isRoomOwner() && currentRoomInfo.getIsPermitRoom() != 1 && + currentRoomInfo.getType() != RoomInfo.ROOM_TYPE_SINGLE && (currentRoomInfo.getRoomModeType() == RoomModeType.NORMAL_MODE || currentRoomInfo.getRoomModeType() == 2 || currentRoomInfo.getRoomModeType() == 4); diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyRoomFragment.java b/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyRoomFragment.java index 8799c2c36..792b40637 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyRoomFragment.java +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/HomePartyRoomFragment.java @@ -1,18 +1,12 @@ package com.yizhuan.erban.avroom.fragment; -import static com.yizhuan.xchat_android_core.statistic.protocol.StatisticsProtocol.Event.EVENT_ROOM_QUICKCHAT_CLICK; - import android.annotation.SuppressLint; import android.os.Bundle; import android.text.TextUtils; import android.view.View; -import android.widget.TextView; import androidx.databinding.DataBindingUtil; -import androidx.recyclerview.widget.LinearLayoutManager; -import com.chad.library.adapter.base.BaseQuickAdapter; -import com.chad.library.adapter.base.BaseViewHolder; import com.netease.nim.uikit.common.util.log.LogUtil; import com.netease.nim.uikit.support.glide.GlideApp; import com.trello.rxlifecycle3.android.FragmentEvent; @@ -44,7 +38,6 @@ import com.yizhuan.erban.treasure_box.widget.GoldBoxHelper; import com.yizhuan.erban.ui.webview.DatingRuleWebViewActivity; import com.yizhuan.erban.utils.UserUtils; import com.yizhuan.xchat_android_core.Constants; -import com.yizhuan.xchat_android_core.DemoCache; import com.yizhuan.xchat_android_core.UriProvider; import com.yizhuan.xchat_android_core.auth.AuthModel; import com.yizhuan.xchat_android_core.home.bean.BannerInfo; @@ -68,14 +61,10 @@ import com.yizhuan.xchat_android_core.room.pk.model.PkModel; import com.yizhuan.xchat_android_core.room.queuing_mic.bean.RespQueuingMicListInfo; import com.yizhuan.xchat_android_core.room.queuing_mic.event.QueuingMicEmptyEvent; import com.yizhuan.xchat_android_core.room.queuing_mic.event.QueuingMicNotEmptyEvent; -import com.yizhuan.xchat_android_core.statistic.StatisticManager; import com.yizhuan.xchat_android_core.super_admin.util.SuperAdminUtil; import com.yizhuan.xchat_android_core.user.UserModel; -import com.yizhuan.xchat_android_core.utils.CurrentTimeUtils; import com.yizhuan.xchat_android_library.base.factory.CreatePresenter; -import com.yizhuan.xchat_android_library.utils.ListUtils; import com.yizhuan.xchat_android_library.utils.SingleToastUtil; -import com.yizhuan.xchat_android_library.utils.TimeUtils; import com.yizhuan.xchat_android_library.utils.UIUtils; import com.yizhuan.xchat_android_library.utils.config.BasicConfig; @@ -110,11 +99,6 @@ public class HomePartyRoomFragment extends BaseRoomFragment phrases = AvRoomDataManager.get().phrases; - if (ListUtils.isListEmpty(phrases) || !TimeUtils.isTomorrow(DemoCache.readSpeedyMessageGoneTime())) { - gameBinding.flSpeedyMessage.setVisibility(View.GONE); - return; - } - BaseQuickAdapter adapter = new BaseQuickAdapter(R.layout.item_speedy_message) { - @Override - protected void convert(BaseViewHolder helper, String item) { - ((TextView) helper.itemView).setText(item); - } - }; - gameBinding.rvSpeedyMessage.setAdapter(adapter); - gameBinding.rvSpeedyMessage.setLayoutManager(new LinearLayoutManager(mContext, LinearLayoutManager.HORIZONTAL, false)); - adapter.setNewData(phrases); - adapter.setOnItemClickListener((adapter1, view, position) -> { - if (CurrentTimeUtils.getCurrentTime() - lastSendTime > 10000) { - sendMsg(phrases.get(position)); - lastSendTime = CurrentTimeUtils.getCurrentTime(); - StatisticManager.Instance().onEvent(EVENT_ROOM_QUICKCHAT_CLICK, "语音房_快捷发言"); - } else { - RoomInfo roomInfo = AvRoomDataManager.get().mCurrentRoomInfo; - if (roomInfo == null) { - return; - } - if (roomInfo.isCloseScreen()) { - toast("房间公屏已关闭"); - return; - } - SingleToastUtil.showToast("你发送的太频繁啦,请稍后再试"); - } - - }); - gameBinding.ivCloseSpeedyMessage.setOnClickListener(v -> { - gameBinding.flSpeedyMessage.setVisibility(View.GONE); - DemoCache.saveSpeedyMessageGoneTime(System.currentTimeMillis()); - }); - } private void cleanDragonBar() { LogUtil.e("cleanDragonBar"); @@ -623,10 +569,6 @@ public class HomePartyRoomFragment extends BaseRoomFragment faceInfos = DynamicFaceModel.get().getFaceInfos(); diff --git a/app/src/main/java/com/yizhuan/erban/avroom/fragment/SingleRoomFragment.kt b/app/src/main/java/com/yizhuan/erban/avroom/fragment/SingleRoomFragment.kt index 3acdeb1f0..99c06cbc5 100644 --- a/app/src/main/java/com/yizhuan/erban/avroom/fragment/SingleRoomFragment.kt +++ b/app/src/main/java/com/yizhuan/erban/avroom/fragment/SingleRoomFragment.kt @@ -5,41 +5,27 @@ import android.os.Bundle import android.view.View import androidx.core.view.isVisible import androidx.databinding.DataBindingUtil -import com.orhanobut.logger.Logger import com.yizhuan.erban.R import com.yizhuan.erban.avroom.adapter.OnMicroItemClickListener import com.yizhuan.erban.avroom.adapter.SingleAnchorMicroViewAdapter -import com.yizhuan.erban.avroom.anotherroompk.RoomPkFinishDialog -import com.yizhuan.erban.avroom.anotherroompk.RoomPkFinishDialog.Companion.newInstance -import com.yizhuan.erban.avroom.anotherroompk.RoomPkForceFinishDialog -import com.yizhuan.erban.avroom.anotherroompk.RoomPkForceFinishDialog.Companion.newInstance -import com.yizhuan.erban.avroom.anotherroompk.RoomPkReceivedDialog -import com.yizhuan.erban.avroom.anotherroompk.RoomPkReceivedDialog.Companion.newInstance -import com.yizhuan.erban.avroom.dialog.PKScoreBoardDialog import com.yizhuan.erban.avroom.dialog.RequestUpMicDialog import com.yizhuan.erban.avroom.firstcharge.FirstChargePrizeDialog import com.yizhuan.erban.avroom.presenter.SingleRoomPresenter import com.yizhuan.erban.avroom.view.ISingleRoomView import com.yizhuan.erban.databinding.FragmentSingleRoomBinding +import com.yizhuan.erban.treasure_box.widget.GoldBoxHelper +import com.yizhuan.erban.ui.utils.load import com.yizhuan.erban.ui.webview.DialogWebViewActivity import com.yizhuan.xchat_android_core.Constants import com.yizhuan.xchat_android_core.UriProvider import com.yizhuan.xchat_android_core.auth.AuthModel -import com.yizhuan.xchat_android_core.bean.RoomQueueInfo import com.yizhuan.xchat_android_core.home.bean.BannerInfo -import com.yizhuan.xchat_android_core.im.custom.bean.CustomAttachment import com.yizhuan.xchat_android_core.im.custom.bean.RequestUpmicAttachment -import com.yizhuan.xchat_android_core.im.custom.bean.RoomPKAttachment -import com.yizhuan.xchat_android_core.im.custom.bean.RoomPkBean import com.yizhuan.xchat_android_core.manager.AvRoomDataManager import com.yizhuan.xchat_android_core.manager.RoomEvent import com.yizhuan.xchat_android_core.pay.event.FirstChargeEvent -import com.yizhuan.xchat_android_core.room.bean.RoomInfo import com.yizhuan.xchat_android_core.room.giftvalue.helper.GiftValueFormat -import com.yizhuan.xchat_android_core.room.giftvalue.helper.GiftValueMrg -import com.yizhuan.xchat_android_core.room.model.MicQueueModel -import com.yizhuan.xchat_android_core.room.pk.bean.RoomPkData -import com.yizhuan.xchat_android_core.room.pk.model.PkModel +import com.yizhuan.xchat_android_core.user.UserModel import com.yizhuan.xchat_android_core.user.bean.UserInfo import com.yizhuan.xchat_android_library.base.factory.CreatePresenter import org.greenrobot.eventbus.Subscribe @@ -53,7 +39,7 @@ import org.greenrobot.eventbus.ThreadMode */ @CreatePresenter(SingleRoomPresenter::class) class SingleRoomFragment : BaseRoomFragment(), - View.OnClickListener, ISingleRoomView, OnMicroItemClickListener { + ISingleRoomView, OnMicroItemClickListener { companion object { @JvmStatic @@ -86,6 +72,28 @@ class SingleRoomFragment : BaseRoomFragment + gameBinding.ivFirstChargeEnter.isVisible = userInfo.isFirstCharge + } + GoldBoxHelper.isHideBox().subscribe( + { + if (it == false) { + gameBinding.ivTreasureBox.visibility = View.VISIBLE + gameBinding.ivTreasureBox.load( + GoldBoxHelper.getBoxIcon(), + defaultRes = R.drawable.icon_room_treasure_box + ) + } else { + gameBinding.ivTreasureBox.visibility = View.GONE + } + } + ) { + gameBinding.ivTreasureBox.visibility = View.GONE + } + } override fun onReceiveRoomEvent(roomEvent: RoomEvent?) { @@ -155,12 +163,11 @@ class SingleRoomFragment : BaseRoomFragment) { - initRoomAct(gameBinding.activityImg, dialogInfos) + initRoomAct(gameBinding.activityImg, dialogInfos, 10f) } @Subscribe(threadMode = ThreadMode.MAIN) @@ -173,5 +180,4 @@ class SingleRoomFragment : BaseRoomFragment - - + tools:layout_width="90dp"> + app:layout_constraintStart_toStartOf="parent"> @@ -34,8 +35,8 @@ android:id="@+id/lock_image" android:layout_width="40dp" android:layout_height="40dp" - android:layout_margin="@dimen/dp_10" android:layout_gravity="center" + android:layout_margin="@dimen/dp_10" android:scaleType="fitXY" android:src="@drawable/icon_room_single_lock_micro" android:visibility="invisible" @@ -45,24 +46,16 @@ android:id="@+id/avatar" android:layout_width="40dp" android:layout_height="40dp" - android:layout_margin="@dimen/dp_10" android:layout_gravity="center" + android:layout_margin="@dimen/dp_10" android:src="@drawable/default_avatar" android:visibility="gone" tools:visibility="visible" /> - - + app:layout_constraintStart_toStartOf="parent"> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_micro_single_anchor_boss.xml b/app/src/main/res/layout/item_micro_single_anchor_boss.xml index 749390d4a..dddaab481 100644 --- a/app/src/main/res/layout/item_micro_single_anchor_boss.xml +++ b/app/src/main/res/layout/item_micro_single_anchor_boss.xml @@ -4,9 +4,10 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" + android:clipChildren="false" android:visibility="visible" - tools:layout_width="300dp" - tools:background="@color/color_activity_blue_bg"> + tools:background="@color/color_activity_blue_bg" + tools:layout_width="300dp"> - + app:layout_constraintWidth_percent="0.6"> + android:layout_width="0dp" + android:layout_height="0dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHeight_percent="1.14" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintWidth_percent="1.14" /> + app:autoPlay="true" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:loopCount="0" + app:source="svga/single_headware.svga" /> - - + android:visibility="gone" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintHeight_percent="0.76" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" + app:layout_constraintWidth_percent="0.76" /> + android:visibility="gone" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> - - + + app:layout_constraintStart_toStartOf="@id/micro_layout"> @@ -183,12 +194,11 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="5dp" - android:layout_marginBottom="@dimen/dp_10" android:gravity="center" android:orientation="horizontal" + app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="@id/micro_layout" - app:layout_constraintStart_toStartOf="@id/micro_layout" - app:layout_constraintTop_toBottomOf="@id/rl_nick"> + app:layout_constraintStart_toStartOf="@id/micro_layout"> + + - - - - + + + + + + + + + + - - @@ -167,6 +193,7 @@ android:id="@+id/vs_music_player" android:layout_width="match_parent" android:layout_height="match_parent" + android:layout_marginTop="75dp" android:layout="@layout/avroom_music_player_layout" /> diff --git a/gradle.properties b/gradle.properties index af71e1499..48ff38ba0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -23,5 +23,5 @@ only_arm64=false channel_file=channel.txt -version_name=4.1.0 -version_code=410 \ No newline at end of file +version_name=4.2.0 +version_code=420 \ No newline at end of file