diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d77568b1a..85343531f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -337,6 +337,9 @@
+
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 5c5e72aff..3e8d68173 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
@@ -33,11 +33,13 @@ import com.chwl.app.support.FragmentVisibleStateHelper
import com.chwl.app.ui.im.RouterHandler
import com.chwl.app.ui.relation.AttentionListActivity
import com.chwl.app.ui.relation.FansListActivity
+import com.chwl.app.ui.setting.VipSetActivity
import com.chwl.app.ui.utils.ImageLoadUtils
import com.chwl.app.ui.wallet.WalletActivity
import com.chwl.app.ui.webview.CommonWebViewActivity
import com.chwl.app.view.GenderAgeTextView
import com.chwl.app.vip.VipCenterActivity
+import com.chwl.app.vip.VipSettingActivity
import com.chwl.app.vip.VipViewModel
import com.chwl.core.auth.AuthModel
import com.chwl.core.gift.bean.BoomMsgAwardBean
@@ -373,19 +375,8 @@ class MeFragment : BaseFragment(), View.OnClickListener {
R.id.tv_user_name -> {
//todo do 测试按钮
if (BuildConfig.DEBUG) {
-
- val data1 = arrayListOf()
- for (i in 0 until 10) {
- data1.add(BoomMsgAwardBean().apply {
- awardPic = "http://beta.img.pekolive.com/FpHRJteaNhJrb-ZBvS3cweeZoPV4?imageslim"
- uid = AuthModel.get().currentUid
- })
- }
- RoomBoomRewardDialog(requireContext()).apply {
- list = data1
- }.show()
-
- WLog.writeLog("测试按钮 测试log")
+ VipSetActivity.start(requireActivity());
+// VipSettingActivity.start(requireActivity())
}
}
diff --git a/app/src/main/java/com/chwl/app/ui/im/RouterHandler.java b/app/src/main/java/com/chwl/app/ui/im/RouterHandler.java
index d88687a48..dddf6fbc2 100644
--- a/app/src/main/java/com/chwl/app/ui/im/RouterHandler.java
+++ b/app/src/main/java/com/chwl/app/ui/im/RouterHandler.java
@@ -9,6 +9,7 @@ import com.chwl.app.earn.activity.EarnRecordActivity;
import com.chwl.app.pay.activity.GiveGoldActivity;
import com.chwl.app.ui.feedback.FeedbackActivity;
import com.chwl.app.ui.game_team.record.GameTeamRecordActivity;
+import com.chwl.app.ui.setting.VipSetActivity;
import com.chwl.app.vip.VipCenterActivity;
import com.chwl.core.module_hall.hall.bean.H5FamilyInfo;
import com.chwl.core.module_hall.hall.bean.UserClanInfo;
@@ -288,6 +289,9 @@ public class RouterHandler {
case RouterType.MY_SET:
UIHelper.showSettingAct(context);
break;
+ case RouterType.MY_VIP_SET:
+ VipSetActivity.Companion.start(context);
+ break;
case RouterType.MY_REVENUE:
EarnRecordActivity.start(context);
break;
diff --git a/app/src/main/java/com/chwl/app/ui/setting/VipSetActivity.kt b/app/src/main/java/com/chwl/app/ui/setting/VipSetActivity.kt
new file mode 100644
index 000000000..27d3c5899
--- /dev/null
+++ b/app/src/main/java/com/chwl/app/ui/setting/VipSetActivity.kt
@@ -0,0 +1,172 @@
+package com.chwl.app.ui.setting
+
+import android.content.Context
+import android.content.Intent
+import android.view.View
+import android.widget.ImageView
+import com.chwl.app.R
+import com.chwl.app.avroom.ButtonItemFactory
+import com.chwl.app.base.BaseViewBindingActivity
+import com.chwl.app.databinding.VipSetActivityBinding
+import com.chwl.app.ui.widget.UserInfoDialog
+import com.chwl.core.auth.AuthModel
+import com.chwl.core.bean.response.ServiceResult
+import com.chwl.core.user.UserModel
+import com.chwl.core.user.bean.UserInfo
+import com.chwl.core.utils.net.RxHelper
+import com.chwl.library.common.util.setMargin
+import com.chwl.library.common.util.setViewWH
+import com.chwl.library.net.rxnet.RxNet
+import com.chwl.library.utils.ResUtil
+import com.chwl.library.utils.SingleToastUtil
+import com.example.lib_utils.ktx.getDimension
+import com.example.lib_utils.log.ILog
+import com.google.gson.JsonElement
+import com.netease.nim.uikit.StatusBarUtil
+import io.reactivex.Single
+import retrofit2.http.GET
+import retrofit2.http.Query
+
+class VipSetActivity : BaseViewBindingActivity(), ILog, View.OnClickListener {
+
+ companion object {
+ var index = 0
+ @JvmStatic
+ fun start(context: Context) {
+ val starter = Intent(context, VipSetActivity::class.java)
+ context.startActivity(starter)
+ }
+ }
+
+ override fun init() {
+ binding.click = this
+ initTitleBar(ResUtil.getString(R.string.vipSetTitle))
+
+ initVipIcons(binding.vipSetIcons1
+ , R.drawable.vip_center_identification_vipidentity_lv5
+ , R.drawable.vip_center_identification_vipidentity_lv6
+ , R.drawable.vip_center_identification_vipidentity_lv7
+ , R.drawable.vip_center_identification_vipidentity_lv8
+ , R.drawable.vip_center_identification_vipidentity_lv9
+ )
+ initVipIcons(binding.vipSetIcons2
+ , R.drawable.vip_center_identification_vipidentity_lv6
+ , R.drawable.vip_center_identification_vipidentity_lv7
+ , R.drawable.vip_center_identification_vipidentity_lv8
+ , R.drawable.vip_center_identification_vipidentity_lv9
+ )
+ initVipIcons(binding.vipSetIcons3
+ , R.drawable.vip_center_identification_vipidentity_lv7
+ , R.drawable.vip_center_identification_vipidentity_lv8
+ , R.drawable.vip_center_identification_vipidentity_lv9
+ )
+ initVipIcons(binding.vipSetIcons4
+ , R.drawable.vip_center_identification_vipidentity_lv8
+ , R.drawable.vip_center_identification_vipidentity_lv9
+ )
+
+ UserModel.get().getUserInfo(AuthModel.get().currentUid)
+ .compose(bindToLifecycle())
+ .doOnSuccess {
+ it.userVipInfoVO?.let { vInfo->
+ setSwitchView(binding.vipSetSwitch1,vInfo.enterHide)
+ setSwitchView(binding.vipSetSwitch2,vInfo.enterHide)
+ setSwitchView(binding.vipSetSwitch3,vInfo.enterHide)
+ setSwitchView(binding.vipSetSwitch4,vInfo.enterHide)
+ }
+ }
+ .doOnError {
+
+ }
+ .subscribe()
+ }
+
+ override fun needSteepStateBar(): Boolean {
+ return true
+ }
+
+ override fun setStatusBar() {
+ super.setStatusBar()
+ StatusBarUtil.transparencyBar(this)
+ StatusBarUtil.StatusBarLightMode(this)
+ }
+
+ private fun initVipIcons(layout:android.widget.LinearLayout,vararg ids:Int){
+ ids.forEach {
+ val icon = ImageView(context);
+ layout.addView(icon)
+ icon.setViewWH(R.dimen.dp_43.getDimension().toInt(),R.dimen.dp_20.getDimension().toInt(), isDP = false )
+ icon.setMargin(end = R.dimen.dp_5.getDimension().toInt(), isDP = false)
+ icon.setBackgroundResource(it)
+ }
+ }
+
+ private fun switchClick(view: View) {
+ val value = view.tag
+ if (value is Boolean && view is ImageView) {
+ switchApi(view,!value)
+ .doOnSuccess {
+ view.tag = !value
+ setSwitchView(view,!value)
+ }
+ .doOnError {
+
+ }
+ .compose(bindToLifecycle())
+ .subscribe()
+ }
+ }
+
+ private fun switchApi(view : ImageView,value:Boolean) : Single {
+ when (view) {
+ binding.vipSetSwitch1 -> return api.notFollowed(value).compose(RxHelper.handleIgnoreData()).compose(RxHelper.handleSchedulers())
+ binding.vipSetSwitch2 -> return api.notTrace(value).compose(RxHelper.handleIgnoreData()).compose(RxHelper.handleSchedulers())
+ binding.vipSetSwitch3 -> return api.invisible(value).compose(RxHelper.handleIgnoreData()).compose(RxHelper.handleSchedulers())
+ binding.vipSetSwitch4 -> return api.notKick(value).compose(RxHelper.handleIgnoreData()).compose(RxHelper.handleSchedulers())
+ else -> return api.notFollowed(!value).compose(RxHelper.handleIgnoreData()).compose(RxHelper.handleSchedulers())
+ }
+ }
+
+ private fun setSwitchView(view: ImageView, isSwitch: Boolean) {
+ view.tag = isSwitch
+ view.setImageResource(if (isSwitch) R.drawable.icon_room_set_lock_true else R.drawable.icon_room_set_lock_false)
+ }
+
+ private final val api = RxNet.create(Api::class.java);
+ interface Api{
+ /**
+ * 不被关注
+ */
+ @GET("/vip/changeInvisibleInRoom")
+ fun notFollowed(@Query("open") open: Boolean): Single>
+ /**
+ * 防跟随
+ */
+ @GET("/vip/changeInvisibleInRoom")
+ fun notTrace(@Query("open") open: Boolean): Single>
+ /**
+ * 开关隐身进房状态
+ */
+ @GET("/vip/changeInvisibleInRoom")
+ fun invisible(@Query("open") open: Boolean): Single>
+ /**
+ * 防踢
+ */
+ @GET("/vip/changeInvisibleInRoom")
+ fun notKick(@Query("open") open: Boolean): Single>
+ }
+
+
+ override fun onClick(v: View?) {
+ v?.let {
+ when (it) {
+ binding.vipSetSwitch1,
+ binding.vipSetSwitch2,
+ binding.vipSetSwitch3,
+ binding.vipSetSwitch4 -> switchClick(it)
+ }
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/vip_set_activity.xml b/app/src/main/res/layout/vip_set_activity.xml
new file mode 100644
index 000000000..b16fb22de
--- /dev/null
+++ b/app/src/main/res/layout/vip_set_activity.xml
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 4103ee729..f6b1b53ad 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -5386,6 +5386,15 @@ You cannot join again within 24 hours after leaving
roomAvatar
+ vipSetTitle
+ vipSetTitle2
+
+
+ vipSetItemTitle1
+ vipSetItemTitle2
+ vipSetItemTitle3
+ vipSetItemTitle4
+
diff --git a/core/src/main/java/com/chwl/core/im/custom/bean/RouterType.java b/core/src/main/java/com/chwl/core/im/custom/bean/RouterType.java
index f1b3299c5..90d0d22b2 100644
--- a/core/src/main/java/com/chwl/core/im/custom/bean/RouterType.java
+++ b/core/src/main/java/com/chwl/core/im/custom/bean/RouterType.java
@@ -229,6 +229,11 @@ public class RouterType {
*/
public static final int MY_DRESS_ITEM = 79;
+ /**
+ * - Vip设置
+ */
+ public static final int MY_VIP_SET = 80;
+
/**
* 收益记录(目前只是本地用到,所以用了100000)
diff --git a/library/src/module_common/java/com/chwl/library/common/util/OtherExt.kt b/library/src/module_common/java/com/chwl/library/common/util/OtherExt.kt
index fe401115b..8e5dc8db9 100644
--- a/library/src/module_common/java/com/chwl/library/common/util/OtherExt.kt
+++ b/library/src/module_common/java/com/chwl/library/common/util/OtherExt.kt
@@ -10,23 +10,23 @@ import com.chwl.library.utils.SizeUtils
import com.example.lib_utils.UiUtils.isRtl
-fun View.setMargin(start:Int?=null,top:Int?=null,end:Int?=null,bottom:Int?=null) {
+fun View.setMargin(start:Int?=null,top:Int?=null,end:Int?=null,bottom:Int?=null,isDP:Boolean = true) {
val lp = this.layoutParams as MarginLayoutParams
if (start != null) {
- lp.marginStart = start
+ lp.marginStart = if (isDP)SizeUtils.dp2px(this.context,start.toFloat()) else start
}
if (top != null) {
- lp.topMargin = top
+ lp.topMargin = if (isDP)SizeUtils.dp2px(this.context,top.toFloat()) else top
}
if (end != null) {
- lp.marginEnd = end
+ lp.marginEnd = if (isDP)SizeUtils.dp2px(this.context,end.toFloat()) else end
}
if (bottom != null) {
- lp.bottomMargin = bottom
+ lp.bottomMargin = if (isDP)SizeUtils.dp2px(this.context,bottom.toFloat()) else bottom
}
this.layoutParams = lp
}
diff --git a/libs/lib_utils/src/main/java/com/example/lib_utils/ktx/ResourcesKtx.kt b/libs/lib_utils/src/main/java/com/example/lib_utils/ktx/ResourcesKtx.kt
index ec6fac977..c88564f3e 100644
--- a/libs/lib_utils/src/main/java/com/example/lib_utils/ktx/ResourcesKtx.kt
+++ b/libs/lib_utils/src/main/java/com/example/lib_utils/ktx/ResourcesKtx.kt
@@ -80,6 +80,14 @@ fun Int.getString(vararg : Any): String {
return AppUtils.getApp().getString(this,vararg)
}
+fun Int.getDimension(): Float {
+ return AppUtils.getApp().resources.getDimension(this)
+}
+
+fun Int.dimToPx(): Float {
+ return AppUtils.getApp().resources.getDimension(this).toDP()
+}
+
/**
* 获取资源drawable
* */