diff --git a/app/src/main/java/com/chwl/app/avroom/widget/CoinTipsView.kt b/app/src/main/java/com/chwl/app/avroom/widget/CoinTipsView.kt index cac0c39b7..b16e96b34 100644 --- a/app/src/main/java/com/chwl/app/avroom/widget/CoinTipsView.kt +++ b/app/src/main/java/com/chwl/app/avroom/widget/CoinTipsView.kt @@ -30,12 +30,12 @@ class CoinTipsView : FrameLayout { constructor(context: Context, attrs: AttributeSet?) : super(context, attrs){initView(context)} lateinit var mRootViewBinding : ViewCoinTipsBinding - var mCoin : Int?=null + var mCoin : Long?=null private fun initView(context: Context) { mRootViewBinding = ViewCoinTipsBinding.inflate(LayoutInflater.from(context),this,true) - mCoin = (PayModel.get().currentWalletInfo?.diamondNum ?: 0.0).toInt() + mCoin = (PayModel.get().currentWalletInfo?.diamondNum ?: 0.0).toLong() mRootViewBinding.price.text = mCoin?.toString()?:"" } @@ -120,7 +120,7 @@ class CoinTipsView : FrameLayout { * number != null ,表示 接收中奖消息, 这时展示增加 */ private fun setCoinText(number: String?,isAdd: Boolean) : String? { - val newCoin = (PayModel.get().currentWalletInfo?.diamondNum ?: 0.0).toInt() + val newCoin = (PayModel.get().currentWalletInfo?.diamondNum ?: 0.0).toLong() val oldCoin = if (mCoin != null ) mCoin else newCoin val num = newCoin - oldCoin!! diff --git a/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java b/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java index 9e5e357f0..8d4d3ba2c 100644 --- a/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java +++ b/app/src/main/java/com/chwl/app/ui/widget/GiftDialog.java @@ -53,6 +53,7 @@ import com.chwl.app.ui.gift.dialog.PageIndicatorView; import com.chwl.app.ui.pay.ChargeActivity; import com.chwl.app.ui.utils.ImageLoadUtils; import com.chwl.app.ui.webview.DialogWebViewActivity; +import com.chwl.app.ui.widget.adapter.GiftDialogNumberAdapter; import com.chwl.app.ui.widget.dialog.GiftManualQuantityDialog; import com.chwl.app.ui.widget.drawgift.DrawGiftHelper; import com.chwl.app.ui.widget.drawgift.DrawGiftView; @@ -60,6 +61,7 @@ import com.chwl.app.ui.widget.magicindicator.GiftIndicator; import com.chwl.app.ui.widget.magicindicator.buildins.UIUtil; import com.chwl.app.ui.widget.recyclerview.decoration.VerticalDecoration; import com.chwl.app.utils.RegexUtil; +import com.chwl.app.utils.RoomHelperManager; import com.chwl.app.utils.SpannableBuilder; import com.chwl.app.vip.VipCenterActivity; import com.chwl.core.UriProvider; @@ -219,6 +221,8 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene private TextView tvNickLevel; private View llStarWeek; + private GiftDialogNumberAdapter mGiftDialogNumberAdapter; + public GiftDialog(Context context, int giftId) { this(context, 0, true, false, true, giftId); @@ -1233,24 +1237,26 @@ public class GiftDialog extends BottomSheetDialog implements View.OnClickListene private void initEasyPop(boolean isBag) { easyPopup = new EasyPopup(getContext()) - .setContentView(R.layout.dialog_gift_number) + .setContentView(R.layout.dialog_gift_number_new) .setFocusAndOutsideEnable(true) .createPopup(); - easyPopup.getView(R.id.number_1).setOnClickListener(this); - easyPopup.getView(R.id.number_10).setOnClickListener(this); - easyPopup.getView(R.id.number_66).setOnClickListener(this); - easyPopup.getView(R.id.number_99).setOnClickListener(this); - easyPopup.getView(R.id.number_188).setOnClickListener(this); - easyPopup.getView(R.id.number_520).setOnClickListener(this); - easyPopup.getView(R.id.number_1314).setOnClickListener(this); - if (isBag) { - easyPopup.getView(R.id.number_all).setVisibility(View.VISIBLE); - easyPopup.getView(R.id.number_all).setOnClickListener(this); - } else { - easyPopup.getView(R.id.number_all).setVisibility(View.GONE); + RecyclerView rvNumList = easyPopup.getView(R.id.rvNumList); + if (rvNumList == null) return; + if (mGiftDialogNumberAdapter == null) { + mGiftDialogNumberAdapter = new GiftDialogNumberAdapter(); + mGiftDialogNumberAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() { + @Override + public void onItemClick(BaseQuickAdapter baseQuickAdapter, View view, int i) { + OtherExtKt.isVerify(mGiftDialogNumberAdapter.getData(), i, integer -> { + updateNumber(integer); + return null; + }); + } + }); } - easyPopup.getView(R.id.number_manual).setOnClickListener(this); + rvNumList.setAdapter(mGiftDialogNumberAdapter); + mGiftDialogNumberAdapter.setNewData(RoomHelperManager.INSTANCE.getGiftNumbers(isBag)); easyPopup.setOnDismissListener(() -> giftNumberOptions.animate().rotationBy(180).start()); } diff --git a/app/src/main/java/com/chwl/app/ui/widget/adapter/GiftDialogNumberAdapter.kt b/app/src/main/java/com/chwl/app/ui/widget/adapter/GiftDialogNumberAdapter.kt new file mode 100644 index 000000000..d13861d85 --- /dev/null +++ b/app/src/main/java/com/chwl/app/ui/widget/adapter/GiftDialogNumberAdapter.kt @@ -0,0 +1,12 @@ +package com.chwl.app.ui.widget.adapter + +import com.chwl.app.bindadapter.BaseBindingAdapter +import com.chwl.app.databinding.ItemGiftNumberNewBinding + +class GiftDialogNumberAdapter : BaseBindingAdapter() { + + override fun onBindView(viewBinding: ItemGiftNumberNewBinding, data: Int, pos: Int) { + viewBinding.number.text = if (data == -1) "all" else data.toString() + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/utils/RoomHelperManager.kt b/app/src/main/java/com/chwl/app/utils/RoomHelperManager.kt index cb0cfdf3f..7925f80a6 100644 --- a/app/src/main/java/com/chwl/app/utils/RoomHelperManager.kt +++ b/app/src/main/java/com/chwl/app/utils/RoomHelperManager.kt @@ -22,6 +22,7 @@ import com.chwl.library.common.file.FileHelper import com.chwl.library.common.util.doLog import com.chwl.library.common.util.doToast import com.chwl.library.common.util.doToastDeBug +import com.chwl.library.common.util.isVerify import com.chwl.library.net.rxnet.RxNet import com.google.gson.JsonElement import com.hjq.toast.ToastUtils @@ -39,6 +40,7 @@ import java.util.Locale object RoomHelperManager { var mLuckyBagConfig : LuckyBagConfig?= null + var mGiftNumbers : MutableList?=null // // fun getTimeDown(beginTime:Long) : Long { @@ -182,6 +184,18 @@ object RoomHelperManager { .compose(RxHelper.handleSchedulers()) } + + fun getGiftNumbers(isBag: Boolean): MutableList { + var data = mutableListOf(1,7,17) + if (mGiftNumbers.isVerify()) { + data = mGiftNumbers!! + } + if (isBag) { + data.add(-1) + } + return data + } + private val api: Api = RxNet.create(Api::class.java); interface Api { diff --git a/app/src/main/res/layout/dialog_gift_number_new.xml b/app/src/main/res/layout/dialog_gift_number_new.xml new file mode 100644 index 000000000..30bd17b1a --- /dev/null +++ b/app/src/main/res/layout/dialog_gift_number_new.xml @@ -0,0 +1,24 @@ + + + + + + diff --git a/app/src/main/res/layout/item_gift_number_new.xml b/app/src/main/res/layout/item_gift_number_new.xml new file mode 100644 index 000000000..af60804fc --- /dev/null +++ b/app/src/main/res/layout/item_gift_number_new.xml @@ -0,0 +1,23 @@ + + + + + + diff --git a/app/src/module_labour_union/java/com/chwl/app/module_hall/im/msgholder/HallMsgViewHolder.java b/app/src/module_labour_union/java/com/chwl/app/module_hall/im/msgholder/HallMsgViewHolder.java index 01078e962..075d97d9d 100644 --- a/app/src/module_labour_union/java/com/chwl/app/module_hall/im/msgholder/HallMsgViewHolder.java +++ b/app/src/module_labour_union/java/com/chwl/app/module_hall/im/msgholder/HallMsgViewHolder.java @@ -2,13 +2,7 @@ package com.chwl.app.module_hall.im.msgholder; import android.graphics.Color; import android.graphics.Typeface; -import android.text.SpannableStringBuilder; -import android.text.Spanned; -import android.text.TextPaint; import android.text.TextUtils; -import android.text.style.ForegroundColorSpan; -import android.text.style.MetricAffectingSpan; -import android.util.TypedValue; import android.view.View; import android.widget.TextView; @@ -16,13 +10,6 @@ import androidx.appcompat.widget.AppCompatTextView; import androidx.constraintlayout.widget.ConstraintLayout; import com.alibaba.fastjson.JSON; -import com.coorchice.library.SuperTextView; -import com.example.lib_utils.spannable.SpannableTextBuilder; -import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase; -import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; -import com.netease.nim.uikit.common.util.sys.ScreenUtil; -import com.netease.nimlib.sdk.msg.model.IMMessage; -import com.orhanobut.logger.Logger; import com.chwl.app.R; import com.chwl.app.module_hall.im.NimHelper; import com.chwl.app.module_hall.im.dialog.AgreeApplyDialog; @@ -40,6 +27,13 @@ import com.chwl.core.module_hall.im.bean.HallMsgLayout; import com.chwl.core.utils.net.BeanObserver; import com.chwl.library.utils.ResUtil; import com.chwl.library.utils.SingleToastUtil; +import com.coorchice.library.SuperTextView; +import com.example.lib_utils.spannable.SpannableTextBuilder; +import com.netease.nim.uikit.business.session.viewholder.MsgViewHolderBase; +import com.netease.nim.uikit.common.ui.recyclerview.adapter.BaseMultiItemFetchLoadAdapter; +import com.netease.nim.uikit.common.util.sys.ScreenUtil; +import com.netease.nimlib.sdk.msg.model.IMMessage; +import com.orhanobut.logger.Logger; import org.greenrobot.eventbus.EventBus; @@ -52,7 +46,7 @@ import java.util.Objects; * 模厅im消息展示 * Created by lvzebiao on 2019/1/7. */ - +//todo do 更新云信消息扩展字段 示例 public class HallMsgViewHolder extends MsgViewHolderBase { private ConstraintLayout clContainer; diff --git a/core/src/main/java/com/chwl/core/manager/AvRoomDataManager.java b/core/src/main/java/com/chwl/core/manager/AvRoomDataManager.java index 6ebe00fe3..8e1c5395e 100644 --- a/core/src/main/java/com/chwl/core/manager/AvRoomDataManager.java +++ b/core/src/main/java/com/chwl/core/manager/AvRoomDataManager.java @@ -11,6 +11,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.lifecycle.MutableLiveData; +import com.alibaba.fastjson.JSON; import com.chwl.core.DemoCache; import com.chwl.core.R; import com.chwl.core.XConstants; @@ -35,6 +36,7 @@ import com.chwl.core.user.UserModel; import com.chwl.core.utils.CurrentTimeUtils; import com.chwl.core.utils.LogUtils; import com.chwl.core.utils.StringFormatUtils; +import com.chwl.library.common.util.OtherExtKt; import com.chwl.library.utils.ListUtils; import com.chwl.library.utils.ResUtil; import com.netease.nimlib.sdk.NIMChatRoomSDK; @@ -818,6 +820,7 @@ public final class AvRoomDataManager { // 添加麦位信息 public void addRoomQueueInfo(String micPosition, RoomQueueInfo roomQueueInfo) { + OtherExtKt.doLog(" 上麦 addRoomQueueInfo() 添加麦位信息 pos="+micPosition +" roomQueueInfo = "+ JSON.toJSONString(roomQueueInfo) + "/n"); if (roomQueueInfo == null || roomQueueInfo.mChatRoomMember == null) return; Integer position = Integer.valueOf(micPosition); int size = AvRoomDataManager.get().mMicQueueMemberMap.size(); @@ -854,6 +857,7 @@ public final class AvRoomDataManager { } mMicQueueMemberMap.clear(); for (int i = 0; i < queue.size(); i++) { + OtherExtKt.doLog(" 上麦 replaceMicQueue() 添加麦位信息 pos="+i +" key = "+queue.keyAt(i)+" value = "+ JSON.toJSONString(queue.valueAt(i)) + "/n"); mMicQueueMemberMap.put(queue.keyAt(i), queue.valueAt(i)); } } diff --git a/core/src/main/java/com/chwl/core/room/model/AvRoomModel.java b/core/src/main/java/com/chwl/core/room/model/AvRoomModel.java index c75673ab6..76bbb023a 100644 --- a/core/src/main/java/com/chwl/core/room/model/AvRoomModel.java +++ b/core/src/main/java/com/chwl/core/room/model/AvRoomModel.java @@ -681,6 +681,8 @@ public class AvRoomModel extends RoomBaseModel implements IAvRoomModel { // 找出相册消息 if (((CustomAttachment) attachment).getFirst() == CustomAttachment.CUSTOM_MSG_ROOM_ALBUM) { newList.add(message); + }else if (((CustomAttachment) attachment).getFirst() == CustomAttachment.ROOM_PIC_SCREEN_FIRST) { + newList.add(message); } } } else { diff --git a/core/src/main/java/com/chwl/core/room/model/RoomBaseModel.java b/core/src/main/java/com/chwl/core/room/model/RoomBaseModel.java index 78d202da4..aa0946c18 100644 --- a/core/src/main/java/com/chwl/core/room/model/RoomBaseModel.java +++ b/core/src/main/java/com/chwl/core/room/model/RoomBaseModel.java @@ -4,6 +4,7 @@ import android.annotation.SuppressLint; import android.text.TextUtils; import android.util.SparseArray; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.chwl.core.R; import com.chwl.core.auth.AuthModel; @@ -386,9 +387,7 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel { return; } //坑上没人且没锁 - if (roomMicInfo != null && - (!roomMicInfo.isMicLock() || AvRoomDataManager.get().isRoomOwner(uId) || - AvRoomDataManager.get().isRoomAdmin(uId) || isInviteUpMic)) { + if (roomMicInfo != null && (!roomMicInfo.isMicLock() || AvRoomDataManager.get().isRoomOwner(uId) || AvRoomDataManager.get().isRoomAdmin(uId) || isInviteUpMic)) { final UserInfo userInfo = UserModel.get().getCacheLoginUserInfo(); if (userInfo != null) { userInfo.setGroupType(teamId); @@ -405,8 +404,7 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel { }; //先看下这个用户是否在麦上 - if (AvRoomDataManager.get().isOnMic(userInfo.getUid())) { - int position = AvRoomDataManager.get().getMicPosition(userInfo.getUid()); + if (AvRoomDataManager.get().isOnMic(userInfo.getUid())) {int position = AvRoomDataManager.get().getMicPosition(userInfo.getUid()); //下麦 downMicroPhone(position, new CallBack() { @Override @@ -639,6 +637,7 @@ public class RoomBaseModel extends BaseModel implements IRoomBaseModel { //todo do 填充麦位上的用户信息? protected void updateQueueEx(int micPosition, String roomId, final CallBack callBack, UserInfo userInfo, boolean isNoProhibitMic) { + OtherExtKt.doLog(" 上麦 updateQueueEx() 填充麦位上的用户信息 pos="+micPosition +" isNoProhibitMic = "+isNoProhibitMic+" userInfo = "+ JSON.toJSONString(userInfo) + "/n"); JSONObject contentJsonObj = new JSONObject(); contentJsonObj.put("uid", String.valueOf(userInfo.getUid())); contentJsonObj.put("nick", userInfo.getNick());