diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/enumType/QXRoomSeatViewType.java b/BaseModule/src/main/java/com/xscm/moduleutil/enumType/QXRoomSeatViewType.java index e38cd1b1..9e37079f 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/enumType/QXRoomSeatViewType.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/enumType/QXRoomSeatViewType.java @@ -32,7 +32,10 @@ public enum QXRoomSeatViewType { * 酒吧 */ PUB(11,"酒吧"), - + /** + * 酒吧 + */ + PRIVATE(12,"酒吧交友小屋"), /** * 小黑屋麦位 */ diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/enumType/RoomType.kt b/BaseModule/src/main/java/com/xscm/moduleutil/enumType/RoomType.kt index 877453c4..ee9da4b3 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/enumType/RoomType.kt +++ b/BaseModule/src/main/java/com/xscm/moduleutil/enumType/RoomType.kt @@ -16,6 +16,7 @@ enum class RoomType( BLACK_ROOM("小黑屋", 6), JUKEBOX("点唱", 9), PUB_ROOM("酒吧", 11), + PRIVATE_ROOM("酒吧交友小屋", 12), MUTUAL_ENTERTAINMENT("互娱", 7), SIGN_CONTRACT("签约", 10); diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java index 5bb5351b..de9c7c43 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/http/RetrofitClient.java @@ -2939,10 +2939,18 @@ public class RetrofitClient { public void onResponse(Call> call, Response> response) { if (response.code() == 200) { BaseModel beforeJoinRoomCheckBeanBaseModel = response.body(); - if (beforeJoinRoomCheckBeanBaseModel.getCode() == 202) { - observer.onNext(beforeJoinRoomCheckBeanBaseModel.getData()); - } else { + + if (beforeJoinRoomCheckBeanBaseModel.getCode() == 1) { observer.onNext(new BeforeJoinRoomCheckBean()); + } else if (beforeJoinRoomCheckBeanBaseModel.getCode() == 301) { + setCode301(beforeJoinRoomCheckBeanBaseModel.getMsg()); + joinRoomLoadListener.onJoinRoomLoad(beforeJoinRoomCheckBeanBaseModel.getMsg()); + } else if (beforeJoinRoomCheckBeanBaseModel.getCode() == 0) { + ToastUtils.showLong(beforeJoinRoomCheckBeanBaseModel.getMsg()); + joinRoomLoadListener.onJoinRoomLoad(beforeJoinRoomCheckBeanBaseModel.getMsg()); + } else if (beforeJoinRoomCheckBeanBaseModel.getCode() == 202) { + observer.onNext(beforeJoinRoomCheckBeanBaseModel.getData()); + joinRoomLoadListener.onJoinRoomLoad(beforeJoinRoomCheckBeanBaseModel.getMsg()); } } else { if (joinRoomLoadListener != null) { diff --git a/BaseModule/src/main/java/com/xscm/moduleutil/utils/SPConstants.java b/BaseModule/src/main/java/com/xscm/moduleutil/utils/SPConstants.java index b513b2d5..fc72a018 100644 --- a/BaseModule/src/main/java/com/xscm/moduleutil/utils/SPConstants.java +++ b/BaseModule/src/main/java/com/xscm/moduleutil/utils/SPConstants.java @@ -34,7 +34,7 @@ public class SPConstants { public static final String FLOATING_SCREEN = "floatingScreen";//飘屏开关 - public static final String SHELF = "shelf";//货架 + public static final String SHELF = "shelf";//是否打开趣味玩法 public static final String TASK_SERVICE="taskService";//切换服务器 } diff --git a/MainModule/src/main/java/com/xscm/modulemain/BaseMvpActivity.java b/MainModule/src/main/java/com/xscm/modulemain/BaseMvpActivity.java index 4dffdaf5..e535287f 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/BaseMvpActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/BaseMvpActivity.java @@ -127,12 +127,10 @@ public abstract class BaseMvpActivity

{ - if (mThis instanceof MainActivity) { - ((MainActivity) mThis).isShowLoading(false); - } else if (mThis instanceof MyRoomActivity) { - ((MyRoomActivity) mThis).isShowLoading(false); - } else if (mThis instanceof DailyTasksActivity) { - ((DailyTasksActivity) mThis).isShowLoading(false); - } - }); - } @Override protected void onResume() { super.onResume(); - mThis = this; } @Override diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java b/MainModule/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java index 3967cc09..47f11976 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/main/activity/MainActivity.java @@ -77,6 +77,7 @@ import com.xscm.moduleutil.dialog.NewPeopleDialog; import com.xscm.moduleutil.dialog.RechargeDialogFragment; import com.xscm.moduleutil.event.RoomOutEvent; import com.xscm.moduleutil.event.UnreadCountEvent; +import com.xscm.moduleutil.http.RetrofitClient; import com.xscm.moduleutil.listener.MessageListenerSingleton; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.BackgroundManager; @@ -517,7 +518,9 @@ public class MainActivity extends BaseMvpActivity { + isShowLoading(false); + }); MvpPre.loginIm(); Logger.i("MainActivity", "onResume"); // Beta.checkAppUpgrade(false, false); diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt index df208a2c..5d5ed374 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/activity/RoomActivity.kt @@ -3728,6 +3728,11 @@ class RoomActivity : BaseMvpActivity(), setvisibTop(true) QXRoomSeatViewType.PUB } + RoomType.PRIVATE_ROOM -> { + changeBackgroundColor(mRoomInfoResp?.room_info?.room_background) + setvisibTop(true) + QXRoomSeatViewType.PRIVATE + } null -> { LogUtils.e("@@@", "RoomType is null") QXRoomSeatViewType.NONE diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/contacts/PrivateContacts.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/contacts/PrivateContacts.kt new file mode 100644 index 00000000..dac4ad52 --- /dev/null +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/contacts/PrivateContacts.kt @@ -0,0 +1,26 @@ +package com.xscm.modulemain.activity.room.contacts + +import android.app.Activity +import com.xscm.moduleutil.activity.IPresenter +import com.xscm.moduleutil.activity.IView +import com.xscm.moduleutil.bean.GiftBean +import com.xscm.moduleutil.bean.RoonGiftModel +import com.xscm.moduleutil.bean.WalletBean + +class PrivateContacts { + + interface View : IView{ + + fun wallet(list:List,walletBean: WalletBean?) + + fun getGiftList(list: List) + } + + interface Ipre : IPresenter{ + fun applyPit(roomId:String,pitNumber:String) + + fun getGiftList(roomId: String) + + fun wallet(list:List) + } +} \ No newline at end of file diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java index 02bb1323..f2dfdcc1 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomFragment.java @@ -103,6 +103,7 @@ public class RoomFragment extends BaseMvpFragment(), PrivateContacts.View { + + override fun getLayoutId(): Int { + return R.layout.fragment_room_private + } + + override fun bindPresenter(): PrivatePresenter { + return PrivatePresenter(ActivityUtils.getTopActivity(), this) + } + + // 无参构造函数 + constructor() : this(null) + + companion object { + + fun newInstance(roomInfoResp: RoomInfoResp): RoomPrivateFragment { + return RoomPrivateFragment(roomInfoResp) + } + } + + private var mUserInfo: RoomUserBean? = mRoomInfoResp?.user_info + private var mRoomId: String = mRoomInfoResp?.room_info?.room_id!! + + private var giftList: MutableList = arrayListOf() + + private var giftViewList:MutableList = arrayListOf() + + + override fun initData() { + MvpPre?.getGiftList(mRoomId) + } + + override fun initView() { + giftViewList.clear() + giftViewList.add(mBinding?.ivGift1!!) + giftViewList.add(mBinding?.ivGift2!!) + giftViewList.add(mBinding?.ivGift3!!) + giftViewList.add(mBinding?.ivGift4!!) + giftViewList.add(mBinding?.ivGift5!!) + giftViewList.add(mBinding?.ivGift6!!) + + giftViewList.forEach { it -> + it.setOnClickListener { + val showList = giftList.shuffled().take(1) + for (i in 0 until showList.size) { + val itemImage = it + val price = showList[i].gift_price.toInt() + // 根据价格设置不同的宽高 + val (width, height) = when { + price > 500 -> Pair(64, 64) + price > 100 -> Pair(52, 52) + else -> Pair(40, 40) + } + // 设置布局参数(假设itemImage是ImageView) + val layoutParams = itemImage.layoutParams + layoutParams.width = width.dpToPx() // 需要实现dp转px的扩展函数 + layoutParams.height = height.dpToPx() + itemImage.layoutParams = layoutParams + + // 假设 padding 值(单位:dp) + val paddingDp = 8 + val paddingPx = paddingDp.dpToPx() // 转换为 px + // 设置 padding(左、上、右、下) + itemImage.setPadding(paddingPx, paddingPx, paddingPx, paddingPx) + + Glide.with(it) + .load(showList[i].base_image) + .into(it as ImageView) + + } + } + } + + + mBinding?.tvBack?.setOnClickListener { + //返回到上一个房间 + + } + + } + + fun roomInfoUpdate(roomInfoResp: RoomInfoResp) { + this.mRoomInfoResp = roomInfoResp + mUserInfo = this.mRoomInfoResp?.user_info + mRoomId = this.mRoomInfoResp?.room_info?.room_id!! + } + + fun roomTypeSwitch(mRoomInfoResp: RoomInfoResp) { + this.mRoomInfoResp = mRoomInfoResp + + mUserInfo = this.mRoomInfoResp?.user_info + mRoomId = this.mRoomInfoResp?.room_info?.room_id!! + initView() + } + + + override fun wallet(list: List, walletBean: WalletBean?) { + + } + + override fun getGiftList(list: List) { + if (giftList.isEmpty()) { + giftList = list.toMutableList() + val showList = list.shuffled().take(6) + + for (i in 0 until showList.size) { + val itemImage = giftViewList[i] + val price = showList[i].gift_price.toInt() + // 根据价格设置不同的宽高 + val (width, height) = when { + price > 500 -> Pair(64, 64) + price > 100 -> Pair(52, 52) + else -> Pair(40, 40) + } + // 设置布局参数(假设itemImage是ImageView) + val layoutParams = itemImage.layoutParams + layoutParams.width = width.dpToPx() // 需要实现dp转px的扩展函数 + layoutParams.height = height.dpToPx() + itemImage.layoutParams = layoutParams + + // 假设 padding 值(单位:dp) + val paddingDp = 8 + val paddingPx = paddingDp.dpToPx() // 转换为 px + // 设置 padding(左、上、右、下) + itemImage.setPadding(paddingPx, paddingPx, paddingPx, paddingPx) + val delay = 200L * i + Glide.with(giftViewList[i]) + .load(showList[i].base_image) + .into(giftViewList[i]) + Observable.timer(delay,TimeUnit.MILLISECONDS).observeOn(AndroidSchedulers.mainThread()).subscribe { + startSmallFloatingAnimation(giftViewList[i]) // 延迟后执行动画 + } + } + }else{ + giftList.clear() + giftList = list.toMutableList() + } + } + + + fun startSmallFloatingAnimation(view: View, floatRangeDp: Float = 10f) { + // 1. 计算飘动范围(默认 ±10dp,可调整) + val floatDistance = floatRangeDp.dpToPx() // 转换为像素 + + // 2. 创建 ObjectAnimator(Y 轴从 0 → -floatDistance → 0 → floatDistance → 0) + val animator = ObjectAnimator.ofFloat( + view, + "translationY", + 0f, + floatDistance, + 0f, + -floatDistance, + 0f + ) + + // 3. 设置动画参数 + animator.duration = 2000 // 2秒完成一个周期 + animator.repeatCount = ObjectAnimator.INFINITE // 无限循环 + animator.interpolator = LinearInterpolator() // 匀速运动(可改用 AccelerateDecelerateInterpolator) + + // 4. 开始动画 + animator.start() + } + + // 在项目的任意工具类文件中(如 Extensions.kt) + fun Int.dpToPx(): Int { + return (this * Resources.getSystem().displayMetrics.density).toInt() + } + + + fun Float.dpToPx(): Float { + return (this * Resources.getSystem().displayMetrics.density).toFloat() + } + +} \ No newline at end of file diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPubFragment.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPubFragment.kt index 274c6b36..a5f30793 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPubFragment.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/fragment/RoomPubFragment.kt @@ -77,17 +77,14 @@ class RoomPubFragment(var mRoomInfoResp: RoomInfoResp?) : view.setData(bean) view.iv_custom_gift?.setOnClickListener { - ToastUtils.showShort("礼物") GiftGivingDialog(ActivityUtils.getTopActivity(), mRoomId,view.pitBean.user_id,view.pitBean.nickname,view.pitBean.avatar).show() } view.ivYueT?.setOnClickListener { - ToastUtils.showShort("约她") RoomAboutDialog(ActivityUtils.getTopActivity(),mRoomId,view.pitBean.user_id,view.pitBean.nickname,view.pitBean.avatar).show() } view.ivLiaoT?.setOnClickListener { - ToastUtils.showShort("撩她") if (!SpUtil.getBooleanValue("pub", false)) { FlirtatiousDialog(ActivityUtils.getTopActivity()).show() }else{ diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt new file mode 100644 index 00000000..0256e018 --- /dev/null +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/room/presenter/PrivatePresenter.kt @@ -0,0 +1,63 @@ +package com.xscm.modulemain.activity.room.presenter + +import android.content.Context +import com.xscm.modulemain.activity.room.contacts.MentorShipContacts +import com.xscm.modulemain.activity.room.contacts.PrivateContacts +import com.xscm.modulemain.activity.room.contacts.PubContacts +import com.xscm.moduleutil.bean.RoonGiftModel +import com.xscm.moduleutil.bean.WalletBean +import com.xscm.moduleutil.http.BaseObserver +import com.xscm.moduleutil.http.RetrofitClient +import com.xscm.moduleutil.presenter.BasePresenter +import com.xscm.moduleutil.presenter.RewardGiftContacts +import io.reactivex.disposables.Disposable +import java.lang.ref.WeakReference + + +class PrivatePresenter(context: Context, val view: PrivateContacts.View?) : + BasePresenter(view, context), PrivateContacts.Ipre { + override fun applyPit(roomId: String, pitNumber: String) { + RetrofitClient.getInstance().applyPit(roomId, pitNumber, object : BaseObserver() { + override fun onSubscribe(d: Disposable) { + addDisposable(d) + } + + override fun onNext(s: String) { + + } + }) + } + + override fun getGiftList(roomId: String) { + RetrofitClient.getInstance().getGiftList(5,roomId, object : BaseObserver>() { + override fun onSubscribe(d: Disposable) { + + } + + override fun onNext(t: List) { + if (MvpRef == null) { + MvpRef = WeakReference(view) + } + MvpRef.get()?.getGiftList(t) + } + + }) + } + + + override fun wallet(list:List) { + RetrofitClient.getInstance().wallet(object : BaseObserver() { + override fun onSubscribe(d: Disposable) { + addDisposable(d) + } + + override fun onNext(walletBean: WalletBean) { + if (MvpRef == null) { + MvpRef = WeakReference(view) + } + MvpRef.get()?.wallet(list,walletBean) + } + }) + } + +} \ No newline at end of file diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/DailyTasksActivity.java b/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/DailyTasksActivity.java index 932f190a..2a080780 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/DailyTasksActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/DailyTasksActivity.java @@ -4,6 +4,7 @@ package com.xscm.modulemain.activity.user.activity; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; +import android.os.Bundle; import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; @@ -12,6 +13,7 @@ import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.recyclerview.widget.GridLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; @@ -25,6 +27,7 @@ import com.google.android.material.tabs.TabLayout; import com.google.android.material.tabs.TabLayoutMediator; import com.xscm.modulemain.Application; import com.xscm.modulemain.R; +import com.xscm.modulemain.activity.main.activity.MainActivity; import com.xscm.modulemain.activity.room.activity.RoomActivity; import com.xscm.modulemain.adapter.TaskBoxAdapter; import com.xscm.modulemain.adapter.TaskDataAdapter; @@ -39,6 +42,7 @@ import com.xscm.modulemain.dialog.SignInDialog; import com.xscm.modulemain.manager.RoomManager; import com.xscm.moduleutil.base.CommonAppContext; import com.xscm.moduleutil.bean.RoomMessageEvent; +import com.xscm.moduleutil.http.RetrofitClient; import com.xscm.moduleutil.utils.CustomMsgCode; import com.xscm.moduleutil.base.WebUrlConstants; import com.xscm.moduleutil.bean.GiftBoxBean; @@ -89,6 +93,15 @@ public class DailyTasksActivity extends BaseMvpActivity { + isShowLoading(false); + }); + } + @Override protected void onResume() { super.onResume(); diff --git a/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/MyRoomActivity.java b/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/MyRoomActivity.java index 865d8107..334f4cac 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/MyRoomActivity.java +++ b/MainModule/src/main/java/com/xscm/modulemain/activity/user/activity/MyRoomActivity.java @@ -38,6 +38,7 @@ import com.xscm.moduleutil.bean.MyCpRoom; import com.xscm.moduleutil.bean.MyFootResp; import com.xscm.moduleutil.bean.MyRoomBean; import com.xscm.moduleutil.event.RoomOutEvent; +import com.xscm.moduleutil.http.RetrofitClient; import com.xscm.moduleutil.utils.ARouteConstants; import com.xscm.moduleutil.utils.ImageLoader; import com.xscm.moduleutil.utils.SpUtil; @@ -108,6 +109,9 @@ public class MyRoomActivity extends BaseMvpActivity { + isShowLoading(false); + }); } @Override diff --git a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPrivateWheatView.kt b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPrivateWheatView.kt new file mode 100644 index 00000000..3523b2dd --- /dev/null +++ b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPrivateWheatView.kt @@ -0,0 +1,157 @@ +package com.xscm.modulemain.widget + +import android.content.Context +import android.content.res.ColorStateList +import android.content.res.TypedArray +import android.graphics.Color +import android.text.TextUtils +import android.util.AttributeSet +import android.view.View +import android.widget.ImageView +import android.widget.LinearLayout +import android.widget.TextView +import com.xscm.modulemain.R +import com.xscm.moduleutil.bean.room.RoomPitBean +import com.xscm.moduleutil.utils.ImageUtils +import com.xscm.moduleutil.widget.BaseWheatView + +class RoomPrivateWheatView : BaseWheatView { + constructor(context: Context?) : super(context) + + constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) + + + constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super( + context, + attrs, + defStyleAttr + ) + + + private var iv_tag_type: ImageView? = null + var iv_custom_gift: ImageView? = null + private var hostTv: TextView? = null + private var tv_time: TextView? = null + private var ll_bottom: LinearLayout? = null + + var ivYueT: ImageView? = null + var ivLiaoT: ImageView? = null + var ivHeadBg: ImageView? = null + + override fun initPit(context: Context, attrs: AttributeSet) { + var typedArray: TypedArray? = null + try { + typedArray = context.obtainStyledAttributes( + attrs, + com.xscm.moduleutil.R.styleable.RoomDefaultWheatView + ) + pitNumber = + typedArray.getString(com.xscm.moduleutil.R.styleable.RoomDefaultWheatView_room_wheat_number) + } finally { + typedArray?.recycle() + } + + mCharmView = findViewById(R.id.charm_view) + mIvRipple = findViewById(R.id.iv_ripple) + mIvFrame = findViewById(R.id.iv_frame) + mIvShutup = findViewById(R.id.iv_shutup) + mRiv = findViewById(R.id.riv) + iv_tag_type = findViewById(R.id.iv_tag_type) + ll_bottom = findViewById(R.id.ll_bottom) + iv_custom_gift = findViewById(R.id.iv_custom_gift) + tv_time = findViewById(R.id.tv_time) + + ivYueT = findViewById(R.id.iv_yue_t) + ivLiaoT = findViewById(R.id.iv_liao_t) + ivHeadBg = findViewById(R.id.iv_head_bg) + + tv_time?.visibility = View.GONE + ll_bottom?.visibility = View.GONE + iv_custom_gift?.visibility = View.GONE + iv_tag_type?.visibility = View.GONE + ivHeadBg?.visibility = View.VISIBLE + } + + override fun getLayoutId(): Int { + return R.layout.layout_room_pub_wheat + } + + // 提供一个方法来设置这个属性,便于在代码中动态更改 + fun setRoomWheatNumber(number: String?) { + this.pitNumber = number + } + + fun setHostTv(hostTv: TextView) { + this.hostTv = hostTv + } + + public override fun setPitData(bean: RoomPitBean) { + pitBean = bean // 统一使用参数 bean + stopAndClearAnimation() // 清理之前的动画资源 + when (bean.pit_number) { + "1" -> { + ivHeadBg?.imageTintList = ColorStateList.valueOf(Color.parseColor("#FF7983F6")) + } + + "2" -> { + ivHeadBg?.imageTintList = ColorStateList.valueOf(Color.parseColor("#FFFB85FF")) + } + } + tv_time?.visibility = View.GONE + ll_bottom?.visibility = View.GONE + iv_custom_gift?.visibility = View.GONE + iv_tag_type?.visibility = View.GONE + mCharmView.visibility = View.GONE + + handleOnState(bean) + + } + + fun setSex(value: String?, format: Boolean) { + mCharmView.setSex("", "", value, format) + } + + + private fun handleOnState(bean: RoomPitBean) { + mIvRipple.visibility = VISIBLE + mTvName.text = bean.nickname + ImageUtils.loadHeadCC(bean.avatar, mRiv) + + + if (TextUtils.isEmpty(bean.dress)) { + mIvFrame.stopAll() + mIvFrame.visibility = INVISIBLE + } else { + mIvFrame.visibility = VISIBLE + mIvFrame.setSource(bean.dress, 3) + } + } + + private val pitNumberText: String + get() { + return "虚位以待" + } + + + private fun stopAndClearAnimation() { + if (mIvRipple != null) { + mIvRipple.stopAnimation(true) + } + } + + + override fun onRemoteSoundLevelUpdate(userId: String, soundLevel: Int) { + } + + override fun onLocalSoundLevelUpdate(volume: Int) { + } + + override fun userJoined(userId: Int, elapsd: Int) { + } + + override fun userOffline(userId: Int, reason: Int) { + } + + override fun pkOffSide(userId: Int) { + } +} diff --git a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt index 6812aa0b..0942ae5b 100644 --- a/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt +++ b/MainModule/src/main/java/com/xscm/modulemain/widget/RoomPubWheatView.kt @@ -128,6 +128,7 @@ class RoomPubWheatView : BaseWheatView { tv_time?.visibility = View.VISIBLE ll_bottom?.visibility = View.VISIBLE iv_custom_gift?.visibility = View.VISIBLE + tv_time?.text = "12:34" } if (TextUtils.isEmpty(bean.dress)) { diff --git a/MainModule/src/main/res/layout/fragment_pub_room.xml b/MainModule/src/main/res/layout/fragment_pub_room.xml index 4aa0a520..156af421 100644 --- a/MainModule/src/main/res/layout/fragment_pub_room.xml +++ b/MainModule/src/main/res/layout/fragment_pub_room.xml @@ -65,7 +65,7 @@ android:layout_height="0dp" android:layout_marginTop="@dimen/dp_10" android:layout_marginEnd="@dimen/dp_20" - app:layout_constraintDimensionRatio="1:1.1" + app:layout_constraintDimensionRatio="1:1.11" app:layout_constraintEnd_toEndOf="@id/guide_line_midd" app:layout_constraintTop_toTopOf="parent" /> @@ -75,7 +75,7 @@ android:layout_height="0dp" android:layout_marginStart="@dimen/dp_20" android:layout_marginTop="@dimen/dp_10" - app:layout_constraintDimensionRatio="1:1.1" + app:layout_constraintDimensionRatio="1:1.11" app:layout_constraintStart_toStartOf="@id/guide_line_midd" app:layout_constraintTop_toTopOf="parent" /> diff --git a/MainModule/src/main/res/layout/fragment_room_private.xml b/MainModule/src/main/res/layout/fragment_room_private.xml new file mode 100644 index 00000000..dd879620 --- /dev/null +++ b/MainModule/src/main/res/layout/fragment_room_private.xml @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MainModule/src/main/res/layout/layout_room_pub_wheat.xml b/MainModule/src/main/res/layout/layout_room_pub_wheat.xml index 784ce5f4..00bacb9d 100644 --- a/MainModule/src/main/res/layout/layout_room_pub_wheat.xml +++ b/MainModule/src/main/res/layout/layout_room_pub_wheat.xml @@ -31,7 +31,21 @@ android:clipToPadding="false" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> - + + @@ -124,8 +138,9 @@ android:orientation="horizontal" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@id/riv" + android:background="@color/transparent" android:layout_width="wrap_content" - android:layout_height="1dp"/> + android:layout_height="@dimen/dp_1"/> - - - diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_bg.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_bg.png new file mode 100644 index 00000000..ea09c824 Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_bg.png differ diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_1.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_1.png new file mode 100644 index 00000000..0a26658e Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_1.png differ diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_2.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_2.png new file mode 100644 index 00000000..209b9e78 Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_2.png differ diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_3.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_3.png new file mode 100644 index 00000000..3d4ef47d Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_gift_bg_3.png differ diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_midd_heart_bg.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_midd_heart_bg.png new file mode 100644 index 00000000..d9a2013c Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_midd_heart_bg.png differ diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_money_left_bg.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_money_left_bg.png new file mode 100644 index 00000000..a049165d Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_money_left_bg.png differ diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_select_off.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_select_off.png new file mode 100644 index 00000000..d2c1a639 Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_select_off.png differ diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_select_on.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_select_on.png new file mode 100644 index 00000000..8b8efbef Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_select_on.png differ diff --git a/MainModule/src/main/res/mipmap-hdpi/icon_pri_top_time_bg.png b/MainModule/src/main/res/mipmap-hdpi/icon_pri_top_time_bg.png new file mode 100644 index 00000000..a9e9b09c Binary files /dev/null and b/MainModule/src/main/res/mipmap-hdpi/icon_pri_top_time_bg.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_bg.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_bg.png new file mode 100644 index 00000000..478865d0 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_bg.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_1.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_1.png new file mode 100644 index 00000000..fb340325 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_1.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_2.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_2.png new file mode 100644 index 00000000..75891d4f Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_2.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_3.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_3.png new file mode 100644 index 00000000..5a7302b0 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_gift_bg_3.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_midd_heart_bg.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_midd_heart_bg.png new file mode 100644 index 00000000..dd031ff3 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_midd_heart_bg.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_money_left_bg.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_money_left_bg.png new file mode 100644 index 00000000..04f3d5d6 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_money_left_bg.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_select_off.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_select_off.png new file mode 100644 index 00000000..22dc503d Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_select_off.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_select_on.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_select_on.png new file mode 100644 index 00000000..b5178c01 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_select_on.png differ diff --git a/MainModule/src/main/res/mipmap-xhdpi/icon_pri_top_time_bg.png b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_top_time_bg.png new file mode 100644 index 00000000..224baad5 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xhdpi/icon_pri_top_time_bg.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_bg.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_bg.png new file mode 100644 index 00000000..05edf7cb Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_bg.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_1.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_1.png new file mode 100644 index 00000000..d85b130f Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_1.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_2.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_2.png new file mode 100644 index 00000000..da14e4e6 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_2.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_3.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_3.png new file mode 100644 index 00000000..e91fddd0 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_gift_bg_3.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_midd_heart_bg.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_midd_heart_bg.png new file mode 100644 index 00000000..5d821634 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_midd_heart_bg.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_money_left_bg.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_money_left_bg.png new file mode 100644 index 00000000..de464015 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_money_left_bg.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_select_off.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_select_off.png new file mode 100644 index 00000000..5cf25ce8 Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_select_off.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_select_on.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_select_on.png new file mode 100644 index 00000000..bedf51ec Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_select_on.png differ diff --git a/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_top_time_bg.png b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_top_time_bg.png new file mode 100644 index 00000000..61d1f22f Binary files /dev/null and b/MainModule/src/main/res/mipmap-xxhdpi/icon_pri_top_time_bg.png differ diff --git a/MainModule/src/main/res/values/strings.xml b/MainModule/src/main/res/values/strings.xml index b935636f..1b4e46c4 100644 --- a/MainModule/src/main/res/values/strings.xml +++ b/MainModule/src/main/res/values/strings.xml @@ -3,4 +3,6 @@ 广场 消息 我的 + + Hello blank fragment \ No newline at end of file