diff --git a/app/src/main/java/com/chwl/app/home/fragment/MeFragment.kt b/app/src/main/java/com/chwl/app/home/fragment/MeFragment.kt index 21364989b..350e16bf2 100644 --- a/app/src/main/java/com/chwl/app/home/fragment/MeFragment.kt +++ b/app/src/main/java/com/chwl/app/home/fragment/MeFragment.kt @@ -6,8 +6,11 @@ import android.content.ClipboardManager import android.content.Context import android.content.Intent import android.text.TextUtils +import android.util.Log import android.view.View import android.view.View.OnLongClickListener +import androidx.core.view.allViews +import androidx.core.view.isVisible import androidx.databinding.DataBindingUtil import androidx.fragment.app.activityViewModels import androidx.fragment.app.viewModels @@ -16,6 +19,7 @@ import com.chwl.app.UIHelper import com.chwl.app.application.IReportConstants import com.chwl.app.application.ReportManager import com.chwl.app.avroom.activity.AVRoomActivity +import com.chwl.app.avroom.fragment.RoomRankDialogUtils import com.chwl.app.base.BaseActivity import com.chwl.app.base.BaseFragment import com.chwl.app.databinding.FragmentMeBinding @@ -31,6 +35,8 @@ import com.chwl.app.ui.pay.ChargeActivity import com.chwl.app.ui.relation.AttentionListActivity import com.chwl.app.ui.relation.FansListActivity import com.chwl.app.ui.utils.ImageLoadUtils +import com.chwl.app.ui.utils.load +import com.chwl.app.ui.utils.loadAvatar import com.chwl.app.ui.webview.CommonWebViewActivity import com.chwl.app.vip.VipMainActivity import com.chwl.app.vip.VipViewModel @@ -51,6 +57,7 @@ import com.chwl.core.user.bean.UserInfo import com.chwl.core.user.event.LoginUserInfoUpdateEvent import com.chwl.core.utils.CoreLogger import com.chwl.core.utils.StarUtils +import com.chwl.core.vip.bean.VipInfo import com.chwl.library.common.util.DeviceUtil import com.chwl.library.utils.FormatUtils import com.example.lib_utils.ktx.singleClick @@ -127,6 +134,10 @@ class MeFragment : BaseFragment(), View.OnClickListener { OpenRoomHelper.openRoom(mContext as BaseActivity, RoomInfo.ROOMTYPE_GAME, it) } } + + vipViewModel.myVipInfoLiveData.observe(viewLifecycleOwner) { + loadVipInfo(it) + } } private fun setCenterData(list: List?) { @@ -228,7 +239,12 @@ class MeFragment : BaseFragment(), View.OnClickListener { if ((clanAndHallInfo?.clan?.elderUid ?: 0L) > 0 || (clanAndHallInfo?.hall?.ownerUid ?: 0L) > 0 ) { - mBinding.ivAssociation.singleClick { + if ((clanAndHallInfo?.clan?.elderUid ?: 0L) > 0) { + mBinding.ivAssociation.loadAvatar(clanAndHallInfo?.clan?.avatar) + } else if ((clanAndHallInfo?.hall?.ownerUid ?: 0L) > 0) { + mBinding.ivAssociation.loadAvatar(clanAndHallInfo?.hall?.ownerAvatar) + } + mBinding.layoutAssociation.singleClick { if ((clanAndHallInfo?.clan?.elderUid ?: 0L) > 0) { ModuleClanActivity.start(context, clanAndHallInfo?.clan?.elderUid ?: 0L) } else if ((clanAndHallInfo?.hall?.ownerUid ?: 0L) > 0) { @@ -239,11 +255,15 @@ class MeFragment : BaseFragment(), View.OnClickListener { ) } } + mBinding.layoutAssociation.setBackgroundResource(R.drawable.me_bg_association) + mBinding.groupAssociation.isVisible = true } else { - mBinding.ivAssociation.singleClick { + mBinding.layoutAssociation.singleClick { //公會周榜 context?.let { it1 -> AssociationActivity.start(it1) } } + mBinding.layoutAssociation.setBackgroundResource(R.drawable.me_bg_association_not) + mBinding.groupAssociation.isVisible = false } } @@ -297,7 +317,7 @@ class MeFragment : BaseFragment(), View.OnClickListener { jumpChargePage() } - R.id.iv_vip -> { + R.id.layout_vip -> { VipMainActivity.start(mContext) //进入贵族中心埋点 val goldWalletInfo = PayModel.get().currentWalletInfo @@ -330,9 +350,26 @@ class MeFragment : BaseFragment(), View.OnClickListener { // ) // }, { // toast(it.message) - ChargeActivity.start(mContext) + ChargeActivity.start(mContext) // }) } + private fun loadVipInfo(data: VipInfo?) { + data?.let { + mBinding.ivVipIcon.load(it.vipIcon) + mBinding.tvVipName.text = it.vipName + mBinding.tvVipTips.text = + "${getString(R.string.me_short)}${RoomRankDialogUtils.getRoomRankValueText(it.levelUpScore - it.currScore)}${ + getString(R.string.me_power_value_escalation) + }" + mBinding.progressVip.max = it.levelUpScore + mBinding.progressVip.progress = it.currScore.coerceAtMost(it.levelUpScore) + mBinding.layoutVip.setBackgroundResource(R.drawable.me_bg_vip) + mBinding.groupVip.isVisible = true + } ?: run { + mBinding.layoutVip.setBackgroundResource(R.drawable.me_bg_vip_not) + mBinding.groupVip.isVisible = false + } + } } \ No newline at end of file diff --git a/app/src/main/res/drawable-xxhdpi/me_bg_association.png b/app/src/main/res/drawable-xxhdpi/me_bg_association.png new file mode 100644 index 000000000..4b0377056 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/me_bg_association.png differ diff --git a/app/src/main/res/drawable-xxhdpi/me_bg_association.webp b/app/src/main/res/drawable-xxhdpi/me_bg_association_not.webp similarity index 100% rename from app/src/main/res/drawable-xxhdpi/me_bg_association.webp rename to app/src/main/res/drawable-xxhdpi/me_bg_association_not.webp diff --git a/app/src/main/res/drawable-xxhdpi/me_bg_vip.png b/app/src/main/res/drawable-xxhdpi/me_bg_vip.png new file mode 100644 index 000000000..649729073 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/me_bg_vip.png differ diff --git a/app/src/main/res/drawable-xxhdpi/me_bg_vip.webp b/app/src/main/res/drawable-xxhdpi/me_bg_vip_not.webp similarity index 100% rename from app/src/main/res/drawable-xxhdpi/me_bg_vip.webp rename to app/src/main/res/drawable-xxhdpi/me_bg_vip_not.webp diff --git a/app/src/main/res/drawable/bg_me_vip_seek_bar.xml b/app/src/main/res/drawable/bg_me_vip_seek_bar.xml index b33584ac7..79fbcc293 100644 --- a/app/src/main/res/drawable/bg_me_vip_seek_bar.xml +++ b/app/src/main/res/drawable/bg_me_vip_seek_bar.xml @@ -3,16 +3,16 @@ - - + + - - + + diff --git a/app/src/main/res/layout/fragment_me.xml b/app/src/main/res/layout/fragment_me.xml index a1c5e4690..6b6684e58 100644 --- a/app/src/main/res/layout/fragment_me.xml +++ b/app/src/main/res/layout/fragment_me.xml @@ -350,29 +350,174 @@ - + app:layout_constraintWidth_percent="0.405" + tools:background="@drawable/me_bg_vip"> - + + + + + + + + + + + + + + + app:layout_constraintStart_toEndOf="@id/layout_vip" + app:layout_constraintTop_toTopOf="@id/layout_vip" + app:layout_constraintWidth_percent="0.405" + tools:background="@drawable/me_bg_association"> + + + + + + + + + + + + + + app:layout_constraintTop_toBottomOf="@id/layout_vip">