瀏覽代碼

swagolite

honghengqiang 2 年之前
父節點
當前提交
f2f45e0335
共有 60 個文件被更改,包括 818 次插入1131 次删除
  1. 4 2
      .idea/misc.xml
  2. 二進制
      app/src/main/ic_launcher-playstore.png
  3. 二進制
      app/src/main/res/drawable/default_logo.png
  4. 二進制
      app/src/main/res/drawable/default_logo.webp
  5. 二進制
      app/src/main/res/mipmap-hdpi/ic_launcher.png
  6. 二進制
      app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
  7. 二進制
      app/src/main/res/mipmap-hdpi/ic_launcher_round.png
  8. 二進制
      app/src/main/res/mipmap-mdpi/ic_launcher.png
  9. 二進制
      app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
  10. 二進制
      app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  11. 二進制
      app/src/main/res/mipmap-xhdpi/ic_launcher.png
  12. 二進制
      app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
  13. 二進制
      app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
  14. 二進制
      app/src/main/res/mipmap-xxhdpi/ic_launcher.png
  15. 二進制
      app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
  16. 二進制
      app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
  17. 二進制
      app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
  18. 二進制
      app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
  19. 二進制
      app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
  20. 1 1
      app/src/main/res/values/strings.xml
  21. 5 0
      baseswago/src/main/res/drawable/shape_white_37.xml
  22. 2 0
      home/src/main/AndroidManifest.xml
  23. 223 32
      home/src/main/java/com/swago/home/HomeActivity.kt
  24. 0 155
      home/src/main/java/com/swago/home/HomeFragment.kt
  25. 22 0
      home/src/main/java/com/swago/home/MessageActivity.kt
  26. 7 1
      home/src/main/java/com/swago/home/MessageFragment.kt
  27. 0 174
      home/src/main/java/com/swago/home/MineFragment.kt
  28. 5 1
      home/src/main/java/com/swago/home/innerhome/ComGridItemDecoration.kt
  29. 0 91
      home/src/main/java/com/swago/home/innerhome/FollowFragment.kt
  30. 0 43
      home/src/main/java/com/swago/home/innerhome/HotFragment.kt
  31. 1 46
      home/src/main/java/com/swago/home/innerhome/NewFragment.kt
  32. 0 5
      home/src/main/res/drawable/selector_home.xml
  33. 0 5
      home/src/main/res/drawable/selector_message.xml
  34. 0 5
      home/src/main/res/drawable/selector_mine.xml
  35. 405 36
      home/src/main/res/layout/activity_home.xml
  36. 12 0
      home/src/main/res/layout/activity_message.xml
  37. 0 61
      home/src/main/res/layout/fragment_home.xml
  38. 2 12
      home/src/main/res/layout/fragment_hot.xml
  39. 10 0
      home/src/main/res/layout/fragment_message.xml
  40. 0 371
      home/src/main/res/layout/fragment_mine.xml
  41. 二進制
      home/src/main/res/mipmap-xxhdpi/home.png
  42. 二進制
      home/src/main/res/mipmap-xxhdpi/home_selected.png
  43. 二進制
      home/src/main/res/mipmap-xxhdpi/icon_menu.png
  44. 二進制
      home/src/main/res/mipmap-xxhdpi/message_selected.png
  45. 二進制
      home/src/main/res/mipmap-xxhdpi/my.png
  46. 二進制
      home/src/main/res/mipmap-xxhdpi/my_selected.png
  47. 26 1
      login/src/main/java/com/swago/login/LoginActivity.kt
  48. 15 18
      login/src/main/res/layout/activity_login.xml
  49. 二進制
      login/src/main/res/mipmap-xxhdpi/icon_swago_lite.webp
  50. 二進制
      login/src/main/res/mipmap-xxhdpi/logo_login.webp
  51. 二進制
      login/src/main/res/raw/login.mp4
  52. 6 6
      room/src/main/java/com/swago/room/base/BaseComFragment.kt
  53. 3 1
      room/src/main/java/com/swago/room/dialog/SendMsgDialog.kt
  54. 3 22
      room/src/main/java/com/swago/room/gift/GiftDialog.kt
  55. 8 0
      room/src/main/java/com/swago/room/gift/GiftFragment.kt
  56. 20 20
      room/src/main/java/com/swago/room/user/UserRoomFragment.kt
  57. 21 21
      room/src/main/res/layout/fragment_base_com.xml
  58. 15 1
      room/src/main/res/layout/fragment_gift.xml
  59. 1 0
      room/src/main/res/layout/layout_anchor_footer_view.xml
  60. 1 0
      room/src/main/res/layout/layout_user_footer_view.xml

+ 4 - 2
.idea/misc.xml

@@ -13,7 +13,7 @@
     <option name="filePathToZoomLevelMap">
       <map>
         <entry key="app/src/main/res/drawable-v24/ic_launcher_foreground.xml" value="0.39375" />
-        <entry key="app/src/main/res/drawable/default_splash.xml" value="0.33" />
+        <entry key="app/src/main/res/drawable/default_splash.xml" value="0.2585308837890625" />
         <entry key="app/src/main/res/drawable/ic_launcher_background.xml" value="0.39375" />
         <entry key="app/src/main/res/drawable/splash.xml" value="0.3932291666666667" />
         <entry key="app/src/main/res/layout/activity_splash.xml" value="0.3259668508287293" />
@@ -58,6 +58,7 @@
         <entry key="baseswago/src/main/res/drawable/shape_touming.xml" value="0.37333333333333335" />
         <entry key="baseswago/src/main/res/drawable/shape_tranparent.xml" value="0.2415" />
         <entry key="baseswago/src/main/res/drawable/shape_white_20.xml" value="0.35794871794871796" />
+        <entry key="baseswago/src/main/res/drawable/shape_white_37.xml" value="0.2305" />
         <entry key="baseswago/src/main/res/drawable/shape_white_5.xml" value="0.39375" />
         <entry key="baseswago/src/main/res/drawable/shape_white_bottom_24.xml" value="0.20572916666666666" />
         <entry key="baseswago/src/main/res/drawable/shape_white_top_20.xml" value="0.39375" />
@@ -94,6 +95,7 @@
         <entry key="home/src/main/res/layout/activity_chat_detail.xml" value="0.3776041666666667" />
         <entry key="home/src/main/res/layout/activity_common_web.xml" value="0.35" />
         <entry key="home/src/main/res/layout/activity_home.xml" value="0.25" />
+        <entry key="home/src/main/res/layout/activity_message.xml" value="0.389945652173913" />
         <entry key="home/src/main/res/layout/activity_official_message.xml" value="0.36302083333333335" />
         <entry key="home/src/main/res/layout/activity_search.xml" value="0.39166666666666666" />
         <entry key="home/src/main/res/layout/dialog_update.xml" value="0.39166666666666666" />
@@ -101,7 +103,7 @@
         <entry key="home/src/main/res/layout/fragment_home.xml" value="0.25" />
         <entry key="home/src/main/res/layout/fragment_hot.xml" value="0.35" />
         <entry key="home/src/main/res/layout/fragment_message.xml" value="0.25" />
-        <entry key="home/src/main/res/layout/fragment_mine.xml" value="0.73017578125" />
+        <entry key="home/src/main/res/layout/fragment_mine.xml" value="0.6205583756345178" />
         <entry key="home/src/main/res/layout/fragment_moment.xml" value="0.25" />
         <entry key="home/src/main/res/layout/fragment_new.xml" value="0.35" />
         <entry key="home/src/main/res/layout/item_home.xml" value="0.3964984552008239" />

二進制
app/src/main/ic_launcher-playstore.png


二進制
app/src/main/res/drawable/default_logo.png


二進制
app/src/main/res/drawable/default_logo.webp


二進制
app/src/main/res/mipmap-hdpi/ic_launcher.png


二進制
app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png


二進制
app/src/main/res/mipmap-hdpi/ic_launcher_round.png


二進制
app/src/main/res/mipmap-mdpi/ic_launcher.png


二進制
app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png


二進制
app/src/main/res/mipmap-mdpi/ic_launcher_round.png


二進制
app/src/main/res/mipmap-xhdpi/ic_launcher.png


二進制
app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png


二進制
app/src/main/res/mipmap-xhdpi/ic_launcher_round.png


二進制
app/src/main/res/mipmap-xxhdpi/ic_launcher.png


二進制
app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png


二進制
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png


二進制
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


二進制
app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png


二進制
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png


+ 1 - 1
app/src/main/res/values/strings.xml

@@ -1,3 +1,3 @@
 <resources>
-    <string name="app_name">Swago</string>
+    <string name="app_name">Swago Lite</string>
 </resources>

+ 5 - 0
baseswago/src/main/res/drawable/shape_white_37.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="#fff"/>
+    <corners android:radius="37dp"/>
+</shape>

+ 2 - 0
home/src/main/AndroidManifest.xml

@@ -11,6 +11,8 @@
             android:screenOrientation="portrait"/>
         <activity android:name=".search.SearchActivity"
             android:screenOrientation="portrait"/>
+        <activity android:name=".MessageActivity"
+            android:screenOrientation="portrait"/>
     </application>
 
 </manifest>

+ 223 - 32
home/src/main/java/com/swago/home/HomeActivity.kt

@@ -1,16 +1,28 @@
 package com.swago.home
 
+import android.content.Context
+import android.content.Intent
+import android.graphics.Color
+import android.graphics.Typeface
+import android.view.View
 import android.widget.Toast
 import androidx.activity.viewModels
+import androidx.fragment.app.viewModels
 import androidx.lifecycle.lifecycleScope
 import androidx.viewpager.widget.ViewPager
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.alibaba.android.arouter.launcher.ARouter
 import com.android.billingclient.api.Purchase
+import com.bumptech.glide.Glide
+import com.google.gson.Gson
+import com.swago.baseswago.GradientIndicator
 import com.swago.baseswago.PayVm
 import com.swago.baseswago.SwagoAdapter
+import com.swago.baseswago.UserVm
 import com.swago.baseswago.activity.BaseXActivity
 import com.swago.baseswago.constant.ARouteConstant
 import com.swago.baseswago.constant.UrlConstant
+import com.swago.baseswago.dialog.BenefitBagDialog
 import com.swago.baseswago.dialog.OrderLostDialog
 import com.swago.baseswago.im.GroupMsgParser
 import com.swago.baseswago.im.IMMessageManager
@@ -20,6 +32,8 @@ import com.swago.baseswago.model.pay.PayModel
 import com.swago.baseswago.util.*
 import com.swago.home.databinding.ActivityHomeBinding
 import com.swago.home.innerhome.HomeVm
+import com.swago.home.innerhome.HotFragment
+import com.swago.home.innerhome.NewFragment
 import com.swago.home.official.OfficialVm
 import com.swago.home.update.UpdateDialog
 import com.tencent.qcloud.tim.uikit.TUIKit
@@ -27,6 +41,13 @@ import com.tencent.qcloud.tim.uikit.base.IUIKitCallBack
 import com.tencent.qcloud.tim.uikit.config.TUIKitConfigs
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
+import net.lucode.hackware.magicindicator.ViewPagerHelper
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator
+import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView
 
 /**
  *@date 2021/8/17 22:39
@@ -38,12 +59,17 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(),  IPayCallback{
     private val officialVm by viewModels<OfficialVm>()
     private val homeVm by viewModels<HomeVm>()
     private val payVm by viewModels<PayVm>()
+    private val userVm by viewModels<UserVm>()
 
-    private val listFragment =
-        arrayListOf(HomeFragment(),MessageFragment(), MineFragment())
+    private val listFragments = arrayListOf(HotFragment(), NewFragment())
+    private val listTitles = arrayListOf(
+        AppContext.getContext().resources.getString(R.string.home_hot),
+        AppContext.getContext().resources.getString(R.string.home_new)
+    )
 
-    override fun loadData() {
 
+    override fun loadData() {
+//        payVm.getBenefit()
     }
 
     override fun initOther() {
@@ -55,21 +81,60 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(),  IPayCallback{
         checkVersionForUpdate()
 
         binding.viewPager.offscreenPageLimit = 3
-        binding.rg.setOnCheckedChangeListener { _, checkedId ->
-            when (checkedId) {
-                R.id.rbHome -> {
-                    binding.viewPager.currentItem = 0
-                }
-                R.id.rbMessage -> {
-                    binding.viewPager.currentItem = 1
-                }
-                R.id.rbMine -> {
-                    binding.viewPager.currentItem = 2
+        val viewPagerAdapter = SwagoAdapter(listFragments, supportFragmentManager, listTitles)
+        binding.viewPager.adapter = viewPagerAdapter
+
+        val commonNavigator = CommonNavigator(this)
+        commonNavigator.adapter = object : CommonNavigatorAdapter() {
+            override fun getCount(): Int {
+                return listTitles.size
+            }
+
+            override fun getTitleView(context: Context, index: Int): IPagerTitleView {
+                val simplePagerTitleView = SimplePagerTitleView(context)
+                simplePagerTitleView.text = listTitles[index]
+                val padding = DpPxUtil.dip2px(15f).toFloat()
+                simplePagerTitleView.textSize = 16f
+                simplePagerTitleView.typeface = Typeface.createFromAsset(AppContext.getContext().assets,"bold.otf")
+                simplePagerTitleView.setPadding(padding.toInt(), 0, padding.toInt(), 0)
+                simplePagerTitleView.normalColor = Color.parseColor("#828C9D")
+                simplePagerTitleView.selectedColor = Color.parseColor("#131B23")
+                simplePagerTitleView.setOnClickListener {
+                    binding.viewPager.currentItem = index
                 }
+                return simplePagerTitleView
+            }
+
+            override fun getIndicator(context: Context?): IPagerIndicator {
+                val indicator = LinePagerIndicator(context)
+                indicator.setColors(Color.parseColor("#131B23"))
+                indicator.mode = GradientIndicator.MODE_WRAP_CONTENT
+                indicator.lineWidth = DpPxUtil.dip2px(12f).toFloat()
+                indicator.xOffset = DpPxUtil.dip2px(5f).toFloat()
+                indicator.yOffset = DpPxUtil.dip2px(14f).toFloat()
+                indicator.lineHeight = DpPxUtil.dip2px(2f).toFloat()
+                return indicator
             }
+
         }
 
-        binding.viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
+        binding.magicIndicator.navigator = commonNavigator
+        ViewPagerHelper.bind(binding.magicIndicator, binding.viewPager)
+
+        binding.ivMsg.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                startActivity(Intent(this@HomeActivity,MessageActivity::class.java))
+            }
+        })
+
+        binding.drawerLayout.setScrimColor(Color.TRANSPARENT)
+        binding.ivMine.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+               binding.drawerLayout.openDrawer(binding.clMine)
+            }
+        })
+
+        binding.viewPager.addOnPageChangeListener(object:ViewPager.OnPageChangeListener{
             override fun onPageScrolled(
                 position: Int,
                 positionOffset: Float,
@@ -78,36 +143,118 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(),  IPayCallback{
             }
 
             override fun onPageSelected(position: Int) {
-                when (position) {
+                when(position){
                     0 -> {
-                        if (binding.rbHome.isChecked) {
-                            return
-                        }
-                        binding.rg.check(R.id.rbHome)
+                        (listFragments[position] as HotFragment).loadData()
                     }
                     1 -> {
-                        if (binding.rbMessage.isChecked) {
-                            return
-                        }
-                        binding.rg.check(R.id.rbMessage)
-                    }
-                    2 -> {
-                        if (binding.rbMine.isChecked) {
-                            return
-                        }
-                        binding.rg.check(R.id.rbMine)
+                        (listFragments[position] as NewFragment).loadData()
                     }
                 }
-
             }
 
             override fun onPageScrollStateChanged(state: Int) {
 
             }
+        })
+
+        setMine()
+    }
+
+    private fun setMine() {
+        if (SwagoInfo.isGooglePackage()){
+            binding.tvXWithdrawal.visibility = View.GONE
+        }else{
+            binding.tvXWithdrawal.visibility = View.VISIBLE
+        }
+
+        binding.llFans.setOnClickListener(object: NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance()
+                    .build(ARouteConstant.User.followFan)
+                    .withInt("type", 1)
+                    .navigation()
+            }
+
+        })
+        binding.llFollow.setOnClickListener(object: NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance()
+                    .build(ARouteConstant.User.followFan)
+                    .withInt("type", 0)
+                    .navigation()
+            }
 
         })
 
-        binding.viewPager.adapter = SwagoAdapter(listFragment, supportFragmentManager)
+        binding.llCoin.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                if (SwagoInfo.isGooglePackage()){
+                    ARouter.getInstance().build(ARouteConstant.User.recharge).navigation()
+                }else{
+                    ARouter.getInstance().build(ARouteConstant.Base.webView)
+                        .withString("url", UrlConstant.TOP_UP)
+                        .navigation()
+                }
+            }
+        })
+
+        binding.tvEdit.setOnClickListener(object: NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance().build(ARouteConstant.User.editInfo).navigation()
+            }
+
+        })
+        binding.tvSetting.setOnClickListener(object: NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance().build(ARouteConstant.User.setting).navigation()
+            }
+
+        })
+
+        binding.tvXLevel.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance().build(ARouteConstant.User.level).navigation()
+            }
+        })
+
+        binding.tvXTopUp.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                if (SwagoInfo.isGooglePackage()){
+                    ARouter.getInstance().build(ARouteConstant.User.recharge).navigation()
+                }else{
+                    ARouter.getInstance().build(ARouteConstant.Base.webView)
+                        .withString("url", UrlConstant.TOP_UP)
+                        .navigation()
+                }
+            }
+        })
+
+        binding.tvXTaskCenter.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance().build(ARouteConstant.User.taskCenter).navigation()
+            }
+        })
+
+        binding.tvCustomService.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance().build(ARouteConstant.User.customService).navigation()
+            }
+        })
+
+        binding.tvXWithdrawal.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance().build(ARouteConstant.Base.webView)
+                    .withString("url", UrlConstant.WITHDRAW)
+                    .navigation()
+            }
+        })
+
+        binding.tvBlackList.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                ARouter.getInstance().build(ARouteConstant.User.blacklist).navigation()
+            }
+        })
     }
 
     /**
@@ -121,10 +268,54 @@ class HomeActivity : BaseXActivity<ActivityHomeBinding>(),  IPayCallback{
         }
     }
 
-    override fun initLiveData() {}
+    override fun initLiveData() {
+        userVm.userInfoLiveData.observe(this) {
+            UserInfo.setUserInfo(it)
+            SpUtil.putString("user_info", Gson().toJson(it))
+
+            Glide.with(this).load(it.user_head_img_url).placeholder(com.swago.baseswago.R.mipmap.default_avatar).error(
+                com.swago.baseswago.R.mipmap.default_avatar).into(binding.ivAvatar)
+            binding.tvName.text = it.user_name
+            binding.tvID.text =
+                AppContext.getContext().resources.getString(com.swago.baseswago.R.string.id_x).format(it.user_account)
+            binding.tvFansNum.text = it.user_fans_num
+            binding.tvFollowNum.text = it.user_follow_num
+            binding.tvCoin.text = it.user_coins
+            binding.tvDiamonds.text = it.user_diamonds
+            binding.tvLevelView.setUserLevel(it.user_wealth_level.toInt())
+
+            if (it.is_benefit == 1){
+                binding.ivVip.visibility = View.VISIBLE
+            }else{
+                binding.ivVip.visibility = View.GONE
+            }
+
+            if (it.is_service == 1){
+                binding.tvAgent.visibility = View.VISIBLE
+            }else{
+                binding.tvAgent.visibility = View.GONE
+            }
+
+            if (it.is_official== 1){
+                binding.tvOfficial.visibility = View.VISIBLE
+            }else{
+                binding.tvOfficial.visibility = View.GONE
+            }
+
+
+
+        }
+
+        payVm.benefitLiveData.observe(this){
+            if (it.is_benefit==0&&it.is_pop_discount_package==0){
+                BenefitBagDialog.newInstance().show(supportFragmentManager, "BenefitBagDialog")
+            }
+        }
+    }
 
     override fun onResume() {
         super.onResume()
+        userVm.getUserInfo()
         PayManager.listener.add(this)
         if (!IMUtil.checkIsLogin()){
             IMUtil.joinGroup(loginFun)

+ 0 - 155
home/src/main/java/com/swago/home/HomeFragment.kt

@@ -1,155 +0,0 @@
-package com.swago.home
-
-import android.Manifest
-import android.content.Context
-import android.content.Intent
-import android.graphics.Color
-import android.graphics.Typeface
-import android.widget.Toast
-import androidx.viewpager.widget.ViewPager
-import com.alibaba.android.arouter.launcher.ARouter
-import com.permissionx.guolindev.PermissionX
-import com.swago.baseswago.GradientIndicator
-import com.swago.baseswago.SwagoAdapter
-import com.swago.baseswago.constant.ARouteConstant
-import com.swago.baseswago.fragment.BaseXFragment
-import com.swago.baseswago.util.AppContext
-import com.swago.baseswago.util.DpPxUtil
-import com.swago.baseswago.util.NoDoubleClickListener
-import com.swago.home.databinding.FragmentHomeBinding
-import com.swago.home.innerhome.FollowFragment
-import com.swago.home.innerhome.HotFragment
-import com.swago.home.innerhome.NewFragment
-import com.swago.home.search.SearchActivity
-import net.lucode.hackware.magicindicator.ViewPagerHelper
-import net.lucode.hackware.magicindicator.buildins.commonnavigator.CommonNavigator
-import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.CommonNavigatorAdapter
-import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerIndicator
-import net.lucode.hackware.magicindicator.buildins.commonnavigator.abs.IPagerTitleView
-import net.lucode.hackware.magicindicator.buildins.commonnavigator.indicators.LinePagerIndicator
-import net.lucode.hackware.magicindicator.buildins.commonnavigator.titles.SimplePagerTitleView
-
-/**
- *@date 2021/11/20 10:31
- *description:
- */
-class HomeFragment : BaseXFragment<FragmentHomeBinding>() {
-
-    private val listFragments = arrayListOf(HotFragment(), NewFragment(), FollowFragment())
-    private val listTitles = arrayListOf(
-        AppContext.getContext().resources.getString(R.string.home_hot),
-        AppContext.getContext().resources.getString(R.string.home_new),
-        AppContext.getContext().resources.getString(R.string.home_follow)
-    )
-
-
-    override fun loadData() {
-    }
-
-    override fun initOther() {
-        binding.viewPager.offscreenPageLimit = 3
-        val viewPagerAdapter = SwagoAdapter(listFragments, childFragmentManager, listTitles)
-        binding.viewPager.adapter = viewPagerAdapter
-
-        val commonNavigator = CommonNavigator(context)
-        commonNavigator.adapter = object : CommonNavigatorAdapter() {
-            override fun getCount(): Int {
-                return listTitles.size
-            }
-
-            override fun getTitleView(context: Context, index: Int): IPagerTitleView {
-                val simplePagerTitleView = SimplePagerTitleView(context)
-                simplePagerTitleView.text = listTitles[index]
-                val padding = DpPxUtil.dip2px(15f).toFloat()
-                simplePagerTitleView.textSize = 16f
-                simplePagerTitleView.typeface = Typeface.createFromAsset(AppContext.getContext().assets,"bold.otf")
-                simplePagerTitleView.setPadding(padding.toInt(), 0, padding.toInt(), 0)
-                simplePagerTitleView.normalColor = Color.parseColor("#828C9D")
-                simplePagerTitleView.selectedColor = Color.parseColor("#131B23")
-                simplePagerTitleView.setOnClickListener {
-                    binding.viewPager.currentItem = index
-                }
-                return simplePagerTitleView
-            }
-
-            override fun getIndicator(context: Context?): IPagerIndicator {
-                val indicator = LinePagerIndicator(context)
-                indicator.setColors(Color.parseColor("#131B23"))
-                indicator.mode = GradientIndicator.MODE_WRAP_CONTENT
-                indicator.lineWidth = DpPxUtil.dip2px(12f).toFloat()
-                indicator.xOffset = DpPxUtil.dip2px(5f).toFloat()
-                indicator.yOffset = DpPxUtil.dip2px(14f).toFloat()
-                indicator.lineHeight = DpPxUtil.dip2px(2f).toFloat()
-                return indicator
-            }
-
-        }
-
-        binding.magicIndicator.navigator = commonNavigator
-        ViewPagerHelper.bind(binding.magicIndicator, binding.viewPager)
-
-        binding.ivSearch.setOnClickListener(object : NoDoubleClickListener() {
-            override fun onClick() {
-                startActivity(Intent(activity,SearchActivity::class.java))
-            }
-        })
-        binding.tvStartLive.setOnClickListener(object : NoDoubleClickListener() {
-            override fun onClick() {
-                binding.tvStartLive.isEnabled = false
-                PermissionX.init(this@HomeFragment)
-                    .permissions(Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO)
-                    .request { allGranted, grantedList, deniedList ->
-                        if (allGranted) {
-                            ARouter.getInstance().build(ARouteConstant.Room.anchor).navigation()
-                        } else {
-                            binding.tvStartLive.isEnabled = true
-                            Toast.makeText(
-                                AppContext.getContext(),
-                                "These permissions are denied: $deniedList",
-                                Toast.LENGTH_LONG
-                            ).show()
-                        }
-                    }
-            }
-        })
-
-        binding.viewPager.addOnPageChangeListener(object:ViewPager.OnPageChangeListener{
-            override fun onPageScrolled(
-                position: Int,
-                positionOffset: Float,
-                positionOffsetPixels: Int
-            ) {
-            }
-
-            override fun onPageSelected(position: Int) {
-                when(position){
-                    0 -> {
-                        (listFragments[position] as HotFragment).loadData()
-                    }
-                    1 -> {
-                        (listFragments[position] as NewFragment).loadData()
-                    }
-                    2 -> {
-                        (listFragments[position] as FollowFragment).loadData()
-                    }
-                }
-            }
-
-            override fun onPageScrollStateChanged(state: Int) {
-
-            }
-
-        })
-    }
-
-    override fun initLiveData() {
-    }
-
-
-
-
-    override fun onResume() {
-        super.onResume()
-        binding.tvStartLive.isEnabled = true
-    }
-}

+ 22 - 0
home/src/main/java/com/swago/home/MessageActivity.kt

@@ -0,0 +1,22 @@
+package com.swago.home
+
+import com.swago.baseswago.activity.BaseXActivity
+import com.swago.home.databinding.ActivityMessageBinding
+
+class MessageActivity : BaseXActivity<ActivityMessageBinding>() {
+
+
+
+    override fun loadData() {
+
+    }
+
+    override fun initOther() {
+        val messageFragment = MessageFragment()
+        supportFragmentManager.beginTransaction().add(R.id.flRoot,messageFragment).commit()
+    }
+
+    override fun initLiveData() {
+
+    }
+}

+ 7 - 1
home/src/main/java/com/swago/home/MessageFragment.kt

@@ -29,7 +29,7 @@ import com.tencent.qcloud.tim.uikit.modules.chat.base.ChatInfo
  */
 class MessageFragment : BaseXFragment<FragmentMessageBinding>() {
 
-    private val officialVm by activityViewModels<OfficialVm>()
+    private val officialVm by viewModels<OfficialVm>()
 
     override fun loadData() {
         officialVm.getMsgSum()
@@ -67,6 +67,12 @@ class MessageFragment : BaseXFragment<FragmentMessageBinding>() {
             }
         })
 
+        binding.ivBack.setOnClickListener(object:NoDoubleClickListener(){
+            override fun onClick() {
+                activity?.finish()
+            }
+        })
+
         binding.clOfficialMsg.setOnClickListener(object : NoDoubleClickListener() {
             override fun onClick() {
                 binding.tvCount.visibility = View.GONE

+ 0 - 174
home/src/main/java/com/swago/home/MineFragment.kt

@@ -1,174 +0,0 @@
-package com.swago.home
-
-import android.view.View
-import androidx.fragment.app.viewModels
-import com.alibaba.android.arouter.launcher.ARouter
-import com.bumptech.glide.Glide
-import com.google.gson.Gson
-import com.swago.baseswago.PayVm
-import com.swago.baseswago.R
-import com.swago.baseswago.UserVm
-import com.swago.baseswago.constant.ARouteConstant
-import com.swago.baseswago.constant.UrlConstant
-import com.swago.baseswago.dialog.BenefitBagDialog
-import com.swago.baseswago.fragment.BaseXFragment
-import com.swago.baseswago.model.ConfigModel
-import com.swago.baseswago.util.*
-import com.swago.home.databinding.FragmentMineBinding
-
-/**
- *@date 2021/11/20 10:32
- *description:
- */
-class MineFragment : BaseXFragment<FragmentMineBinding>() {
-
-    private val userVm by viewModels<UserVm>()
-    private val payVm by viewModels<PayVm>()
-
-    override fun loadData() {}
-
-    override fun initOther() {
-        if (SwagoInfo.isGooglePackage()){
-            binding.tvXWithdrawal.visibility = View.GONE
-        }else{
-            binding.tvXWithdrawal.visibility = View.VISIBLE
-        }
-
-        binding.llFans.setOnClickListener(object: NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance()
-                    .build(ARouteConstant.User.followFan)
-                    .withInt("type", 1)
-                    .navigation()
-            }
-
-        })
-        binding.llFollow.setOnClickListener(object: NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance()
-                    .build(ARouteConstant.User.followFan)
-                    .withInt("type", 0)
-                    .navigation()
-            }
-
-        })
-
-        binding.llCoin.setOnClickListener(object:NoDoubleClickListener(){
-            override fun onClick() {
-                if (SwagoInfo.isGooglePackage()){
-                    ARouter.getInstance().build(ARouteConstant.User.recharge).navigation()
-                }else{
-                    ARouter.getInstance().build(ARouteConstant.Base.webView)
-                        .withString("url", UrlConstant.TOP_UP)
-                        .navigation()
-                }
-            }
-        })
-
-        binding.tvEdit.setOnClickListener(object: NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance().build(ARouteConstant.User.editInfo).navigation()
-            }
-
-        })
-        binding.tvSetting.setOnClickListener(object: NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance().build(ARouteConstant.User.setting).navigation()
-            }
-
-        })
-
-        binding.tvXLevel.setOnClickListener(object:NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance().build(ARouteConstant.User.level).navigation()
-            }
-        })
-
-        binding.tvXTopUp.setOnClickListener(object:NoDoubleClickListener(){
-            override fun onClick() {
-                if (SwagoInfo.isGooglePackage()){
-                    ARouter.getInstance().build(ARouteConstant.User.recharge).navigation()
-                }else{
-                    ARouter.getInstance().build(ARouteConstant.Base.webView)
-                        .withString("url", UrlConstant.TOP_UP)
-                        .navigation()
-                }
-            }
-        })
-
-        binding.tvXTaskCenter.setOnClickListener(object:NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance().build(ARouteConstant.User.taskCenter).navigation()
-            }
-        })
-
-        binding.tvCustomService.setOnClickListener(object:NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance().build(ARouteConstant.User.customService).navigation()
-            }
-        })
-
-        binding.tvXWithdrawal.setOnClickListener(object:NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance().build(ARouteConstant.Base.webView)
-                    .withString("url", UrlConstant.WITHDRAW)
-                    .navigation()
-            }
-        })
-
-        binding.tvBlackList.setOnClickListener(object:NoDoubleClickListener(){
-            override fun onClick() {
-                ARouter.getInstance().build(ARouteConstant.User.blacklist).navigation()
-            }
-        })
-
-        payVm.getBenefit()
-    }
-
-    override fun initLiveData() {
-        userVm.userInfoLiveData.observe(this) {
-            UserInfo.setUserInfo(it)
-            SpUtil.putString("user_info", Gson().toJson(it))
-            Glide.with(this).load(it.user_head_img_url).placeholder(R.mipmap.default_avatar).error(R.mipmap.default_avatar).into(binding.ivAvatar)
-            binding.tvName.text = it.user_name
-            binding.tvID.text =
-                AppContext.getContext().resources.getString(R.string.id_x).format(it.user_account)
-            binding.tvFansNum.text = it.user_fans_num
-            binding.tvFollowNum.text = it.user_follow_num
-            binding.tvCoin.text = it.user_coins
-            binding.tvDiamonds.text = it.user_diamonds
-            binding.tvLevelView.setUserLevel(it.user_wealth_level.toInt())
-
-            if (it.is_benefit == 1){
-                binding.ivVip.visibility = View.VISIBLE
-            }else{
-                binding.ivVip.visibility = View.GONE
-            }
-
-            if (it.is_service == 1){
-                binding.tvAgent.visibility = View.VISIBLE
-            }else{
-                binding.tvAgent.visibility = View.GONE
-            }
-
-            if (it.is_official== 1){
-                binding.tvOfficial.visibility = View.VISIBLE
-            }else{
-                binding.tvOfficial.visibility = View.GONE
-            }
-
-
-        }
-
-        payVm.benefitLiveData.observe(this){
-            if (it.is_benefit==0&&it.is_pop_discount_package==0){
-                BenefitBagDialog.newInstance().show(childFragmentManager, "BenefitBagDialog")
-            }
-        }
-    }
-
-    override fun onResume() {
-        super.onResume()
-        userVm.getUserInfo()
-    }
-}

+ 5 - 1
home/src/main/java/com/swago/home/innerhome/ComGridItemDecoration.kt

@@ -13,7 +13,7 @@ class ComGridItemDecoration  : RecyclerView.ItemDecoration() {
         state: RecyclerView.State
     ) {
         val itemPosition = (view.layoutParams as RecyclerView.LayoutParams).viewLayoutPosition
-        val column = itemPosition % 2
+        val column = itemPosition % 3
         val margin = DpPxUtil.dip2px(6f)
         val middle = DpPxUtil.dip2px(3f)
         when(column){
@@ -22,6 +22,10 @@ class ComGridItemDecoration  : RecyclerView.ItemDecoration() {
             }
 
             1 -> {
+                outRect.set(middle, 0, middle, margin)
+            }
+
+            2 -> {
                 outRect.set(middle, 0, margin, margin)
             }
         }

+ 0 - 91
home/src/main/java/com/swago/home/innerhome/FollowFragment.kt

@@ -1,91 +0,0 @@
-package com.swago.home.innerhome
-
-import android.view.View
-import androidx.fragment.app.viewModels
-import androidx.recyclerview.widget.GridLayoutManager
-import androidx.recyclerview.widget.LinearLayoutManager
-import androidx.recyclerview.widget.RecyclerView
-import com.alibaba.android.arouter.launcher.ARouter
-import com.chad.library.adapter.base.BaseQuickAdapter
-import com.swago.baseswago.PersonDataDFragment
-import com.swago.baseswago.constant.ARouteConstant
-import com.swago.baseswago.cusview.SwagoRecyclerView
-import com.swago.baseswago.fragment.BaseListFragment
-import com.swago.baseswago.fragment.BaseXFragment
-import com.swago.baseswago.model.MomentModel
-import com.swago.baseswago.model.home.HomeModel
-import com.swago.home.databinding.FragmentFollowBinding
-import com.swago.home.databinding.FragmentHotBinding
-
-/**
- *@date 2021/11/23 21:45
- *description:
- */
-class FollowFragment : BaseListFragment<FragmentHotBinding, MomentModel>(){
-
-    private val homeVm  by viewModels<HomeVm>()
-    private var isFirstLoadData = true
-    override val smartRecyclerView: SwagoRecyclerView<MomentModel> by lazy {
-        binding.rv as SwagoRecyclerView<MomentModel>
-    }
-    override val adapter: BaseQuickAdapter<MomentModel, *> by lazy {
-        HomeAdapter()
-    }
-    override val layoutManager: RecyclerView.LayoutManager by lazy {
-        GridLayoutManager(context,2)
-    }
-    override val loadData: (page: Int) -> Unit = {
-        homeVm.getHomeList(3, it+1,0)
-    }
-
-    override fun initViewData() {
-        binding.rvLabel.visibility = View.GONE
-        smartRecyclerView.recyclerView?.addItemDecoration(ComGridItemDecoration())
-        adapter.setOnItemClickListener { _, _, position ->
-            if (adapter.data.size>position){
-                if (adapter.data[position].user_broadcast_status == 1){
-                    ARouter.getInstance()
-                        .build(ARouteConstant.Room.user)
-                        .withInt("position",position)
-                        .withParcelableArrayList("data",adapter.data as ArrayList<MomentModel>)
-                        .navigation()
-                }else{
-                    PersonDataDFragment.newInstance(adapter.data[position].id,
-                        isAnchor = true,
-                        inRoom = false
-                    ).show(childFragmentManager,"PersonDataDFragment")
-                }
-            }
-
-        }
-    }
-
-    override fun initLiveData() {
-        homeVm.homeListLiveData.observe(this){
-            if (it == null){
-                smartRecyclerView.onFetchDataError()
-            }else {
-                smartRecyclerView.onFetchDataFinish(it,true)
-            }
-        }
-    }
-
-    fun loadData(){
-        if (!isFirstLoadData){
-            smartRecyclerView.startRefresh()
-        }
-    }
-
-    override fun loadMoreNeed(): Boolean {
-        return false
-    }
-
-    override fun onResume() {
-        super.onResume()
-        if (!isFirstLoadData){
-            smartRecyclerView.startRefresh()
-        }
-        isFirstLoadData = false
-    }
-
-}

+ 0 - 43
home/src/main/java/com/swago/home/innerhome/HotFragment.kt

@@ -50,9 +50,6 @@ class HotFragment : BaseListFragment<FragmentHotBinding, MomentModel>() {
     }
 
     private var labelValue = 0
-    private var selectedPosition = 0
-    //印尼,马来默认印尼;阿拉伯语默认阿拉伯语;其他语默认打开是展示全球
-    private var matchLanguageId = 0
 
     override val loadData: (page: Int) -> Unit = {
         homeVm.getHotList(1, it + 1,labelValue)
@@ -71,46 +68,6 @@ class HotFragment : BaseListFragment<FragmentHotBinding, MomentModel>() {
 
 
     override fun initViewData() {
-        UrlConstant.getConfigModel()?.let {
-            if (!it.language_lables.isNullOrEmpty()){
-                matchLanguageId = when(SwagoInfo.languageId){
-                    3,4 -> {
-                        3
-                    }
-                    5 -> {
-                        5
-                    }
-                    else -> {
-                        0
-                    }
-                }
-
-                context?.let { context ->
-                    val labelAdapter = LabelAdapter()
-                    binding.rvLabel.layoutManager = LinearLayoutManager(context,RecyclerView.HORIZONTAL,false)
-                    binding.rvLabel.adapter = labelAdapter
-                    it.language_lables?.forEachIndexed { index, label ->
-                        if (matchLanguageId==label.id){
-                            label.isSelected = true
-                            labelValue = label.id
-                            selectedPosition = index
-                        }
-                    }
-                    labelAdapter.setNewData(it.language_lables)
-
-                    labelAdapter.setOnItemClickListener { _, _, position ->
-                        labelAdapter.data[selectedPosition].isSelected = false
-                        labelAdapter.data[position].isSelected = true
-                        labelAdapter.notifyItemChanged(selectedPosition)
-                        labelAdapter.notifyItemChanged(position)
-                        selectedPosition = position
-                        labelValue = labelAdapter.data[position].id
-                        smartRecyclerView.startRefresh()
-                    }
-                }
-            }
-        }
-
         headerView =
             LayoutViewHeaderBinding.inflate(layoutInflater, smartRecyclerView.recyclerView, false)
         adapter.addHeaderView(headerView?.root)

+ 1 - 46
home/src/main/java/com/swago/home/innerhome/NewFragment.kt

@@ -34,61 +34,16 @@ class NewFragment  : BaseListFragment<FragmentHotBinding, MomentModel>(){
         HomeAdapter()
     }
     override val layoutManager: RecyclerView.LayoutManager by lazy {
-        GridLayoutManager(context,2)
+        GridLayoutManager(context,3)
     }
 
-
     private var labelValue = 0
-    private var selectedPosition = 0
-    //印尼,马来默认印尼;阿拉伯语默认阿拉伯语;其他语默认打开是展示全球
-    private var matchLanguageId = 0
 
     override val loadData: (page: Int) -> Unit = {
         homeVm.getHomeList(2, it+1,labelValue)
     }
 
     override fun initViewData() {
-        UrlConstant.getConfigModel()?.let {
-            if (!it.language_lables.isNullOrEmpty()){
-                matchLanguageId = when(SwagoInfo.languageId){
-                    3,4 -> {
-                        3
-                    }
-                    5 -> {
-                        5
-                    }
-                    else -> {
-                        0
-                    }
-                }
-
-                context?.let { context ->
-                    val labelAdapter = LabelAdapter()
-                    binding.rvLabel.layoutManager = LinearLayoutManager(context,RecyclerView.HORIZONTAL,false)
-                    binding.rvLabel.adapter = labelAdapter
-                    it.language_lables?.forEachIndexed { index, label ->
-                        if (matchLanguageId==label.id){
-                            label.isSelected = true
-                            labelValue = label.id
-                            selectedPosition = index
-                        }
-                    }
-                    labelAdapter.setNewData(it.language_lables)
-
-
-                    labelAdapter.setOnItemClickListener { _, _, position ->
-                        labelAdapter.data[selectedPosition].isSelected = false
-                        labelAdapter.data[position].isSelected = true
-                        labelAdapter.notifyItemChanged(selectedPosition)
-                        labelAdapter.notifyItemChanged(position)
-                        selectedPosition = position
-                        labelValue = labelAdapter.data[position].id
-                        smartRecyclerView.startRefresh()
-                    }
-                }
-            }
-        }
-
         smartRecyclerView.recyclerView?.addItemDecoration(ComGridItemDecoration())
         adapter.setOnItemClickListener { _, _, position ->
             ARouter.getInstance()

+ 0 - 5
home/src/main/res/drawable/selector_home.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@mipmap/home_selected"/>
-    <item android:state_checked="false" android:drawable="@mipmap/home"/>
-</selector>

+ 0 - 5
home/src/main/res/drawable/selector_message.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@mipmap/message_selected"/>
-    <item android:state_checked="false" android:drawable="@mipmap/message"/>
-</selector>

+ 0 - 5
home/src/main/res/drawable/selector_mine.xml

@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_checked="true" android:drawable="@mipmap/my_selected"/>
-    <item android:state_checked="false" android:drawable="@mipmap/my"/>
-</selector>

+ 405 - 36
home/src/main/res/layout/activity_home.xml

@@ -1,54 +1,423 @@
 <?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:id="@+id/drawerLayout"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <com.duolingo.open.rtlviewpager.RtlViewPager
-        android:id="@+id/viewPager"
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
-        android:layout_height="0dp"
-        app:layout_constraintBottom_toTopOf="@+id/rg"
-        app:layout_constraintTop_toTopOf="parent" />
+        android:layout_height="match_parent">
+
+        <ImageView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@mipmap/bg_home"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <net.lucode.hackware.magicindicator.MagicIndicator
+            android:id="@+id/magicIndicator"
+            android:layout_width="wrap_content"
+            android:layout_height="56dp"
+            android:layout_marginTop="25dp"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:id="@+id/ivMine"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="12dp"
+            android:src="@mipmap/icon_menu"
+            app:layout_constraintBottom_toBottomOf="@+id/magicIndicator"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/magicIndicator" />
+
+
+        <ImageView
+            android:id="@+id/ivMsg"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="12dp"
+            android:src="@mipmap/message"
+            app:layout_constraintBottom_toBottomOf="@+id/magicIndicator"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/magicIndicator" />
 
 
-    <RadioGroup
-        android:id="@+id/rg"
+        <com.duolingo.open.rtlviewpager.RtlViewPager
+            android:id="@+id/viewPager"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/magicIndicator" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/clMine"
+        android:background="#fff"
+        android:layout_gravity="start"
         android:layout_width="match_parent"
-        android:layout_height="50dp"
-        android:gravity="center_vertical"
-        android:orientation="horizontal"
-        app:layout_constraintBottom_toBottomOf="parent">
+        android:layout_height="match_parent">
+
+        <ImageView
+            android:id="@+id/ivBg"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="@mipmap/bg_mine"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <com.swago.baseswago.cusview.MediumTextView
+            android:id="@+id/tvEdit"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginEnd="16dp"
+            android:background="@drawable/shape_white_20"
+            android:drawableStart="@mipmap/icon_edit"
+            android:drawablePadding="2dp"
+            android:paddingStart="8dp"
+            android:paddingEnd="8dp"
+            android:text="@string/edit"
+            android:textColor="#131B23"
+            android:textSize="14dp"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvID" />
+
+
+        <de.hdodenhof.circleimageview.CircleImageView
+            android:id="@+id/ivAvatar"
+            android:layout_width="50dp"
+            android:layout_height="50dp"
+            android:layout_marginStart="16dp"
+            android:layout_marginTop="66dp"
+            android:src="@mipmap/default_avatar"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <com.swago.baseswago.cusview.BoldTextView
+            android:id="@+id/tvName"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="20dp"
+            android:maxWidth="120dp"
+            android:maxLines="1"
+            android:textColor="#435568"
+            android:textSize="20dp"
+            app:layout_constraintStart_toEndOf="@+id/ivAvatar"
+            app:layout_constraintTop_toTopOf="@+id/ivAvatar"
+            tools:text="NickName" />
+
+        <com.swago.baseswago.cusview.SwagoLevelView
+            android:id="@+id/tvLevelView"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="3dp"
+            app:layout_constraintBottom_toBottomOf="@+id/tvName"
+            app:layout_constraintStart_toEndOf="@+id/tvName"
+            app:layout_constraintTop_toTopOf="@+id/tvName" />
+
+        <ImageView
+            android:id="@+id/ivVip"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:src="@mipmap/vip"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="@+id/tvLevelView"
+            app:layout_constraintStart_toEndOf="@+id/tvLevelView"
+            app:layout_constraintTop_toTopOf="@+id/tvLevelView"
+            tools:visibility="visible" />
+
+        <ImageView
+            android:id="@+id/tvAgent"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:src="@mipmap/icon_agent"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="@+id/tvLevelView"
+            app:layout_constraintEnd_toStartOf="@+id/tvOfficial"
+            app:layout_constraintStart_toEndOf="@+id/ivVip"
+            app:layout_constraintTop_toTopOf="@+id/tvLevelView"
+            tools:visibility="visible" />
+
+        <TextView
+            android:id="@+id/tvOfficial"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="5dp"
+            android:background="@mipmap/icon_official_bg"
+            android:paddingStart="16dp"
+            android:paddingEnd="5dp"
+            android:text="@string/official"
+            android:textColor="#fff"
+            android:textSize="10dp"
+            android:visibility="gone"
+            app:layout_constraintBottom_toBottomOf="@+id/tvLevelView"
+            app:layout_constraintStart_toEndOf="@+id/tvAgent"
+            app:layout_constraintTop_toTopOf="@+id/tvLevelView"
+            tools:visibility="visible" />
+
+        <com.swago.baseswago.cusview.RegularTextView
+            android:id="@+id/tvID"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="20dp"
+            android:maxWidth="120dp"
+            android:maxLines="1"
+            android:textColor="#868686"
+            android:textSize="12dp"
+            app:layout_constraintBottom_toBottomOf="@+id/ivAvatar"
+            app:layout_constraintStart_toEndOf="@+id/ivAvatar"
+            tools:text="ID:12030747" />
+
+
+        <LinearLayout
+            android:id="@+id/llFollow"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="24dp"
+            android:gravity="center"
+            android:orientation="vertical"
+            app:layout_constraintEnd_toStartOf="@+id/llFans"
+            app:layout_constraintHorizontal_chainStyle="spread"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/ivAvatar">
 
-        <RadioButton
-            android:id="@+id/rbHome"
-            android:layout_width="0dp"
+            <com.swago.baseswago.cusview.MediumTextView
+                android:id="@+id/tvFollowNum"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="#435568"
+                android:textSize="24dp"
+                tools:text="24" />
+
+            <com.swago.baseswago.cusview.RegularTextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/follow"
+                android:textColor="#828C9D"
+                android:textSize="12dp" />
+
+        </LinearLayout>
+
+
+        <LinearLayout
+            android:id="@+id/llFans"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:checked="true"
-            android:layout_weight="1"
-            android:button="@null"
-            android:drawableTop="@drawable/selector_home"
-            android:paddingTop="15dp" />
+            android:layout_marginTop="24dp"
+            android:gravity="center"
+            android:orientation="vertical"
+            app:layout_constraintEnd_toStartOf="@+id/llCoin"
+            app:layout_constraintStart_toEndOf="@+id/llFollow"
+            app:layout_constraintTop_toBottomOf="@+id/ivAvatar">
 
+            <com.swago.baseswago.cusview.MediumTextView
+                android:id="@+id/tvFansNum"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="#435568"
+                android:textSize="24dp"
+                tools:text="24" />
 
-        <RadioButton
-            android:id="@+id/rbMessage"
-            android:layout_width="0dp"
+            <com.swago.baseswago.cusview.RegularTextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/fans"
+                android:textColor="#828C9D"
+                android:textSize="12dp" />
+
+        </LinearLayout>
+
+
+        <LinearLayout
+            android:id="@+id/llCoin"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:button="@null"
-            android:drawableTop="@drawable/selector_message"
-            android:paddingTop="15dp" />
+            android:layout_marginTop="24dp"
+            android:gravity="center"
+            android:orientation="vertical"
+            app:layout_constraintEnd_toStartOf="@+id/llDiamonds"
+            app:layout_constraintStart_toEndOf="@+id/llFans"
+            app:layout_constraintTop_toBottomOf="@+id/ivAvatar">
+
+            <com.swago.baseswago.cusview.MediumTextView
+                android:id="@+id/tvCoin"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="#435568"
+                android:textSize="24dp"
+                tools:text="24" />
 
-        <RadioButton
-            android:id="@+id/rbMine"
-            android:layout_width="0dp"
+            <com.swago.baseswago.cusview.RegularTextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/coin"
+                android:textColor="#828C9D"
+                android:textSize="12dp" />
+
+        </LinearLayout>
+
+
+        <LinearLayout
+            android:id="@+id/llDiamonds"
+            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_weight="1"
-            android:button="@null"
-            android:drawableTop="@drawable/selector_mine"
-            android:paddingTop="15dp" />
+            android:layout_marginTop="24dp"
+            android:gravity="center"
+            android:orientation="vertical"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/llCoin"
+            app:layout_constraintTop_toBottomOf="@+id/ivAvatar">
+
+            <com.swago.baseswago.cusview.MediumTextView
+                android:id="@+id/tvDiamonds"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textColor="#435568"
+                android:textSize="24dp"
+                tools:text="24" />
+
+            <com.swago.baseswago.cusview.RegularTextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:text="@string/diamond"
+                android:textColor="#828C9D"
+                android:textSize="12dp" />
+
+        </LinearLayout>
+
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/frameLayout"
+            android:layout_width="match_parent"
+            android:layout_height="80dp"
+            android:layout_marginStart="16dp"
+            android:layout_marginTop="21dp"
+            android:layout_marginEnd="16dp"
+            android:background="@drawable/shape_white_20"
+            app:layout_constraintTop_toBottomOf="@+id/llFollow">
+
+            <com.swago.baseswago.cusview.RegularTextView
+                android:id="@+id/tvXLevel"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:drawableTop="@mipmap/icon_my_level"
+                android:drawablePadding="2dp"
+                android:text="@string/level"
+                android:textColor="#131B23"
+                android:textSize="12dp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toStartOf="@+id/tvXTopUp"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <com.swago.baseswago.cusview.RegularTextView
+                android:id="@+id/tvXTopUp"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:drawableTop="@mipmap/icon_my_topup"
+                android:drawablePadding="2dp"
+                android:text="@string/top_up"
+                android:textColor="#131B23"
+                android:textSize="12dp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toStartOf="@+id/tvXWithdrawal"
+                app:layout_constraintStart_toEndOf="@+id/tvXLevel"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <com.swago.baseswago.cusview.RegularTextView
+                android:id="@+id/tvXWithdrawal"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:drawableTop="@mipmap/icon_my_withdrawal"
+                android:drawablePadding="2dp"
+                android:text="@string/withdrawal"
+                android:textColor="#131B23"
+                android:textSize="12dp"
+                android:visibility="gone"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toStartOf="@+id/tvXTaskCenter"
+                app:layout_constraintStart_toEndOf="@+id/tvXTopUp"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <com.swago.baseswago.cusview.RegularTextView
+                android:id="@+id/tvXTaskCenter"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:drawableTop="@mipmap/icon_my_task"
+                android:drawablePadding="2dp"
+                android:text="@string/task_center"
+                android:textColor="#131B23"
+                android:textSize="12dp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintStart_toEndOf="@+id/tvXWithdrawal"
+                app:layout_constraintTop_toTopOf="parent" />
+
+
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_marginTop="20dp"
+            android:orientation="vertical"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/frameLayout">
+
+            <com.swago.baseswago.cusview.MediumTextView
+                android:id="@+id/tvBlackList"
+                android:layout_width="match_parent"
+                android:layout_height="50dp"
+                android:drawableStart="@mipmap/icon_mine_black"
+                android:drawableEnd="@mipmap/more_small"
+                android:drawablePadding="5dp"
+                android:gravity="center_vertical"
+                android:paddingStart="20dp"
+                android:paddingEnd="20dp"
+                android:text="@string/blacklist"
+                android:textColor="#000"
+                android:textSize="16dp" />
+
+
+            <com.swago.baseswago.cusview.MediumTextView
+                android:id="@+id/tvCustomService"
+                android:layout_width="match_parent"
+                android:layout_height="50dp"
+                android:drawableStart="@mipmap/icon_mine_custom"
+                android:drawableEnd="@mipmap/more_small"
+                android:drawablePadding="5dp"
+                android:gravity="center_vertical"
+                android:paddingStart="20dp"
+                android:paddingEnd="20dp"
+                android:text="@string/contact_service"
+                android:textColor="#000"
+                android:textSize="16dp" />
+
+            <com.swago.baseswago.cusview.MediumTextView
+                android:id="@+id/tvSetting"
+                android:layout_width="match_parent"
+                android:layout_height="50dp"
+                android:drawableStart="@mipmap/icon_mine_setting"
+                android:drawableEnd="@mipmap/more_small"
+                android:drawablePadding="5dp"
+                android:gravity="center_vertical"
+                android:paddingStart="20dp"
+                android:paddingEnd="20dp"
+                android:text="@string/app_settings"
+                android:textColor="#000"
+                android:textSize="16dp" />
+
+
+        </LinearLayout>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
-    </RadioGroup>
 
-</androidx.constraintlayout.widget.ConstraintLayout>
+</androidx.drawerlayout.widget.DrawerLayout>

+ 12 - 0
home/src/main/res/layout/activity_message.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <FrameLayout
+        android:id="@+id/flRoot"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"/>
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 61
home/src/main/res/layout/fragment_home.xml

@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-    <ImageView
-        app:layout_constraintTop_toTopOf="parent"
-        android:background="@mipmap/bg_home"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"/>
-
-    <net.lucode.hackware.magicindicator.MagicIndicator
-        android:id="@+id/magicIndicator"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_marginTop="25dp"
-        android:layout_width="0dp"
-        android:layout_marginEnd="140dp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_height="56dp"/>
-
-
-    <ImageView
-        android:id="@+id/ivSearch"
-        app:layout_constraintTop_toTopOf="@+id/magicIndicator"
-        app:layout_constraintBottom_toBottomOf="@+id/magicIndicator"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="96dp"
-        android:src="@mipmap/search"
-        android:layout_width="26dp"
-        android:layout_height="52dp"/>
-
-    <com.swago.baseswago.cusview.MediumTextView
-        android:id="@+id/tvStartLive"
-        android:gravity="center_vertical"
-        android:drawablePadding="4dp"
-        android:paddingStart="8dp"
-        android:paddingEnd="8dp"
-        android:paddingTop="5dp"
-        android:paddingBottom="5dp"
-        android:textSize="14dp"
-        android:textColor="@color/_000000"
-        android:drawableStart="@mipmap/icon_start_live"
-        app:layout_constraintTop_toTopOf="@+id/magicIndicator"
-        app:layout_constraintBottom_toBottomOf="@+id/magicIndicator"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="10dp"
-        android:background="@drawable/shape_white_20"
-        android:text="@string/live"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
-
-    <com.duolingo.open.rtlviewpager.RtlViewPager
-        android:id="@+id/viewPager"
-        app:layout_constraintTop_toBottomOf="@+id/magicIndicator"
-        app:layout_constraintBottom_toBottomOf="parent"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"/>
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 2 - 12
home/src/main/res/layout/fragment_hot.xml

@@ -1,22 +1,12 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    xmlns:app="http://schemas.android.com/apk/res-auto">
-
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/rvLabel"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_width="match_parent"
-        android:layout_height="40dp"/>
+    android:layout_height="match_parent">
 
     <com.swago.baseswago.cusview.SwagoRecyclerView
         android:id="@+id/rv"
-        app:layout_constraintTop_toBottomOf="@+id/rvLabel"
-        app:layout_constraintBottom_toBottomOf="parent"
         android:layout_width="match_parent"
-        android:layout_height="0dp"/>
+        android:layout_height="match_parent"/>
 
 
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 10 - 0
home/src/main/res/layout/fragment_message.xml

@@ -11,6 +11,16 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"/>
 
+    <ImageView
+        android:id="@+id/ivBack"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="@+id/title"
+        app:layout_constraintBottom_toBottomOf="@+id/title"
+        android:layout_marginStart="12dp"
+        android:src="@mipmap/back"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"/>
+
     <com.swago.baseswago.cusview.BoldTextView
         android:id="@+id/title"
         android:textSize="18dp"

+ 0 - 371
home/src/main/res/layout/fragment_mine.xml

@@ -1,371 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <ImageView
-        android:id="@+id/ivBg"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="@mipmap/bg_mine"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <ImageView
-        android:id="@+id/ivEditBg"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="16dp"
-        android:src="@mipmap/bg_edit"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="@+id/ivAvatar" />
-
-    <com.swago.baseswago.cusview.MediumTextView
-        android:id="@+id/tvEdit"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginEnd="16dp"
-        android:background="@drawable/shape_white_20"
-        android:drawableStart="@mipmap/icon_edit"
-        android:drawablePadding="2dp"
-        android:paddingStart="8dp"
-        android:paddingEnd="8dp"
-        android:text="@string/edit"
-        android:textColor="#131B23"
-        android:textSize="14dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/ivEditBg" />
-
-
-    <de.hdodenhof.circleimageview.CircleImageView
-        android:id="@+id/ivAvatar"
-        android:layout_width="50dp"
-        android:layout_height="50dp"
-        android:layout_marginStart="16dp"
-        android:layout_marginTop="66dp"
-        android:src="@mipmap/default_avatar"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <com.swago.baseswago.cusview.BoldTextView
-        android:id="@+id/tvName"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="20dp"
-        android:maxWidth="120dp"
-        android:maxLines="1"
-        android:textColor="#435568"
-        android:textSize="20dp"
-        app:layout_constraintStart_toEndOf="@+id/ivAvatar"
-        app:layout_constraintTop_toTopOf="@+id/ivAvatar"
-        tools:text="NickName" />
-
-    <com.swago.baseswago.cusview.SwagoLevelView
-        android:id="@+id/tvLevelView"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="3dp"
-        app:layout_constraintBottom_toBottomOf="@+id/tvName"
-        app:layout_constraintStart_toEndOf="@+id/tvName"
-        app:layout_constraintTop_toTopOf="@+id/tvName" />
-
-    <ImageView
-        android:id="@+id/ivVip"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="5dp"
-        android:src="@mipmap/vip"
-        android:visibility="gone"
-        app:layout_constraintTop_toTopOf="@+id/tvLevelView"
-        app:layout_constraintBottom_toBottomOf="@+id/tvLevelView"
-        app:layout_constraintStart_toEndOf="@+id/tvLevelView"
-        tools:visibility="visible" />
-
-    <ImageView
-        android:id="@+id/tvAgent"
-        android:src="@mipmap/icon_agent"
-        android:visibility="gone"
-        tools:visibility="visible"
-        android:layout_marginStart="5dp"
-        app:layout_constraintBottom_toBottomOf="@+id/tvLevelView"
-        app:layout_constraintTop_toTopOf="@+id/tvLevelView"
-        app:layout_constraintStart_toEndOf="@+id/ivVip"
-        app:layout_constraintEnd_toStartOf="@+id/tvOfficial"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
-
-    <TextView
-        android:id="@+id/tvOfficial"
-        android:textSize="10dp"
-        android:text="@string/official"
-        android:textColor="#fff"
-        android:paddingStart="16dp"
-        android:paddingEnd="5dp"
-        android:layout_marginStart="5dp"
-        android:visibility="gone"
-        tools:visibility="visible"
-        android:background="@mipmap/icon_official_bg"
-        app:layout_constraintBottom_toBottomOf="@+id/tvLevelView"
-        app:layout_constraintTop_toTopOf="@+id/tvLevelView"
-        app:layout_constraintStart_toEndOf="@+id/tvAgent"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
-
-    <com.swago.baseswago.cusview.RegularTextView
-        android:id="@+id/tvID"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="20dp"
-        android:maxWidth="120dp"
-        android:maxLines="1"
-        android:textColor="#868686"
-        android:textSize="12dp"
-        app:layout_constraintBottom_toBottomOf="@+id/ivAvatar"
-        app:layout_constraintStart_toEndOf="@+id/ivAvatar"
-        tools:text="ID:12030747" />
-
-
-    <LinearLayout
-        android:id="@+id/llFollow"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="24dp"
-        android:gravity="center"
-        android:orientation="vertical"
-        app:layout_constraintEnd_toStartOf="@+id/llFans"
-        app:layout_constraintHorizontal_chainStyle="spread"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/ivAvatar">
-
-        <com.swago.baseswago.cusview.MediumTextView
-            android:id="@+id/tvFollowNum"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="#435568"
-            android:textSize="24dp"
-            tools:text="24" />
-
-        <com.swago.baseswago.cusview.RegularTextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/follow"
-            android:textColor="#828C9D"
-            android:textSize="12dp" />
-
-    </LinearLayout>
-
-
-    <LinearLayout
-        android:id="@+id/llFans"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="24dp"
-        android:gravity="center"
-        android:orientation="vertical"
-        app:layout_constraintEnd_toStartOf="@+id/llCoin"
-        app:layout_constraintStart_toEndOf="@+id/llFollow"
-        app:layout_constraintTop_toBottomOf="@+id/ivAvatar">
-
-        <com.swago.baseswago.cusview.MediumTextView
-            android:id="@+id/tvFansNum"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="#435568"
-            android:textSize="24dp"
-            tools:text="24" />
-
-        <com.swago.baseswago.cusview.RegularTextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/fans"
-            android:textColor="#828C9D"
-            android:textSize="12dp" />
-
-    </LinearLayout>
-
-
-    <LinearLayout
-        android:id="@+id/llCoin"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="24dp"
-        android:gravity="center"
-        android:orientation="vertical"
-        app:layout_constraintEnd_toStartOf="@+id/llDiamonds"
-        app:layout_constraintStart_toEndOf="@+id/llFans"
-        app:layout_constraintTop_toBottomOf="@+id/ivAvatar">
-
-        <com.swago.baseswago.cusview.MediumTextView
-            android:id="@+id/tvCoin"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="#435568"
-            android:textSize="24dp"
-            tools:text="24" />
-
-        <com.swago.baseswago.cusview.RegularTextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/coin"
-            android:textColor="#828C9D"
-            android:textSize="12dp" />
-
-    </LinearLayout>
-
-
-    <LinearLayout
-        android:id="@+id/llDiamonds"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="24dp"
-        android:gravity="center"
-        android:orientation="vertical"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@+id/llCoin"
-        app:layout_constraintTop_toBottomOf="@+id/ivAvatar">
-
-        <com.swago.baseswago.cusview.MediumTextView
-            android:id="@+id/tvDiamonds"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:textColor="#435568"
-            android:textSize="24dp"
-            tools:text="24" />
-
-        <com.swago.baseswago.cusview.RegularTextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:text="@string/diamond"
-            android:textColor="#828C9D"
-            android:textSize="12dp" />
-
-    </LinearLayout>
-
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/frameLayout"
-        android:layout_width="match_parent"
-        android:layout_height="80dp"
-        android:layout_marginStart="16dp"
-        android:layout_marginTop="21dp"
-        android:layout_marginEnd="16dp"
-        android:background="@drawable/shape_white_20"
-        app:layout_constraintTop_toBottomOf="@+id/llFollow">
-
-        <com.swago.baseswago.cusview.RegularTextView
-            android:id="@+id/tvXLevel"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:drawableTop="@mipmap/icon_my_level"
-            android:drawablePadding="2dp"
-            android:text="@string/level"
-            android:textColor="#131B23"
-            android:textSize="12dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toStartOf="@+id/tvXTopUp"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <com.swago.baseswago.cusview.RegularTextView
-            android:id="@+id/tvXTopUp"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:drawableTop="@mipmap/icon_my_topup"
-            android:drawablePadding="2dp"
-            android:text="@string/top_up"
-            android:textColor="#131B23"
-            android:textSize="12dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toStartOf="@+id/tvXWithdrawal"
-            app:layout_constraintStart_toEndOf="@+id/tvXLevel"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <com.swago.baseswago.cusview.RegularTextView
-            android:id="@+id/tvXWithdrawal"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:drawableTop="@mipmap/icon_my_withdrawal"
-            android:drawablePadding="2dp"
-            android:text="@string/withdrawal"
-            android:textColor="#131B23"
-            android:textSize="12dp"
-            android:visibility="gone"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toStartOf="@+id/tvXTaskCenter"
-            app:layout_constraintStart_toEndOf="@+id/tvXTopUp"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <com.swago.baseswago.cusview.RegularTextView
-            android:id="@+id/tvXTaskCenter"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:drawableTop="@mipmap/icon_my_task"
-            android:drawablePadding="2dp"
-            android:text="@string/task_center"
-            android:textColor="#131B23"
-            android:textSize="12dp"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toEndOf="@+id/tvXWithdrawal"
-            app:layout_constraintTop_toTopOf="parent" />
-
-
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_marginTop="20dp"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/frameLayout">
-
-        <com.swago.baseswago.cusview.MediumTextView
-            android:id="@+id/tvBlackList"
-            android:layout_width="match_parent"
-            android:layout_height="50dp"
-            android:drawableStart="@mipmap/icon_mine_black"
-            android:drawableEnd="@mipmap/more_small"
-            android:drawablePadding="5dp"
-            android:gravity="center_vertical"
-            android:paddingStart="20dp"
-            android:paddingEnd="20dp"
-            android:text="@string/blacklist"
-            android:textColor="#000"
-            android:textSize="16dp" />
-
-
-        <com.swago.baseswago.cusview.MediumTextView
-            android:id="@+id/tvCustomService"
-            android:layout_width="match_parent"
-            android:layout_height="50dp"
-            android:drawableStart="@mipmap/icon_mine_custom"
-            android:drawableEnd="@mipmap/more_small"
-            android:drawablePadding="5dp"
-            android:gravity="center_vertical"
-            android:paddingStart="20dp"
-            android:paddingEnd="20dp"
-            android:text="@string/contact_service"
-            android:textColor="#000"
-            android:textSize="16dp" />
-
-        <com.swago.baseswago.cusview.MediumTextView
-            android:id="@+id/tvSetting"
-            android:layout_width="match_parent"
-            android:layout_height="50dp"
-            android:drawableStart="@mipmap/icon_mine_setting"
-            android:drawableEnd="@mipmap/more_small"
-            android:drawablePadding="5dp"
-            android:gravity="center_vertical"
-            android:paddingStart="20dp"
-            android:paddingEnd="20dp"
-            android:text="@string/app_settings"
-            android:textColor="#000"
-            android:textSize="16dp" />
-
-
-    </LinearLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>

二進制
home/src/main/res/mipmap-xxhdpi/home.png


二進制
home/src/main/res/mipmap-xxhdpi/home_selected.png


二進制
home/src/main/res/mipmap-xxhdpi/icon_menu.png


二進制
home/src/main/res/mipmap-xxhdpi/message_selected.png


二進制
home/src/main/res/mipmap-xxhdpi/my.png


二進制
home/src/main/res/mipmap-xxhdpi/my_selected.png


+ 26 - 1
login/src/main/java/com/swago/login/LoginActivity.kt

@@ -3,6 +3,8 @@ package com.swago.login
 import android.Manifest
 import android.app.Activity
 import android.content.Intent
+import android.graphics.PixelFormat
+import android.net.Uri
 import android.view.View
 import android.widget.Toast
 import androidx.activity.viewModels
@@ -23,6 +25,7 @@ import com.swago.baseswago.util.*
 import com.swago.baseswago.util.SwagoShareUtils.FACEBOOK
 import com.swago.baseswago.util.SwagoShareUtils.GOOGLE
 import com.swago.login.databinding.ActivityLoginBinding
+import java.io.File
 import java.util.concurrent.TimeoutException
 
 /**
@@ -165,9 +168,23 @@ class LoginActivity : BaseXActivity<ActivityLoginBinding>() {
         })
     }
 
-    override fun initLiveData() {
+    private fun playVideo() {
+        try {
+            binding.mp4VideoView.holder.setFormat(PixelFormat.TRANSPARENT)
+            binding.mp4VideoView.visibility = View.VISIBLE
+            binding.mp4VideoView.setVideoURI(Uri.parse("android.resource://" + packageName + File.separator + R.raw.login))
+            binding.mp4VideoView.setOnPreparedListener {
+                it.isLooping = true
+                binding.mp4VideoView.requestFocus()
+                binding.mp4VideoView.start()
+            }
+        }catch (e:Exception){
+            e.printStackTrace()
+        }
     }
 
+    override fun initLiveData() {}
+
     override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
         super.onActivityResult(requestCode, resultCode, data)
 
@@ -214,5 +231,13 @@ class LoginActivity : BaseXActivity<ActivityLoginBinding>() {
     override fun onResume() {
         super.onResume()
         loginVm.getAppConfig()
+        playVideo()
+    }
+
+    override fun onDestroy() {
+        if (binding.mp4VideoView.canPause()) {
+            binding.mp4VideoView.stopPlayback()
+        }
+        super.onDestroy()
     }
 }

+ 15 - 18
login/src/main/res/layout/activity_login.xml

@@ -5,11 +5,10 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <ImageView
-        android:background="@mipmap/bg_home"
-        app:layout_constraintTop_toTopOf="parent"
+    <VideoView
+        android:id="@+id/mp4VideoView"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"/>
+        android:layout_height="match_parent"/>
 
     <ImageView
         android:id="@+id/ivLogo"
@@ -21,14 +20,12 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>
 
-    <com.swago.baseswago.cusview.BoldTextView
-        android:textSize="18dp"
-        android:textColor="#131B23"
+    <ImageView
+        android:layout_marginTop="10dp"
+        android:src="@mipmap/icon_swago_lite"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintTop_toBottomOf="@+id/ivLogo"
-        android:layout_marginTop="14dp"
-        android:text="Swago Live"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"/>
 
@@ -38,7 +35,7 @@
         android:layout_width="wrap_content"
         android:layout_marginBottom="20dp"
         android:textSize="16dp"
-        android:textColor="#131B23"
+        android:textColor="#fff"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintBottom_toTopOf="@+id/tvAgreement"
@@ -50,7 +47,7 @@
         android:layout_marginStart="40dp"
         android:layout_marginEnd="40dp"
         android:visibility="visible"
-        android:background="@drawable/shape_ff56b7_37"
+        android:background="@drawable/shape_white_37"
         app:layout_constraintBottom_toBottomOf="parent"
         android:layout_width="match_parent"
         android:layout_height="56dp">
@@ -71,7 +68,7 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             android:text="Facebook"
-            android:textColor="#fff"
+            android:textColor="#131B23"
             android:textSize="16dp"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"/>
@@ -84,7 +81,7 @@
         android:layout_marginBottom="128dp"
         android:layout_marginStart="40dp"
         android:layout_marginEnd="40dp"
-        android:background="@drawable/shape_ff9f00_37"
+        android:background="@drawable/shape_white_37"
         app:layout_constraintBottom_toBottomOf="parent"
         android:layout_width="match_parent"
         android:layout_height="56dp">
@@ -106,7 +103,7 @@
             app:layout_constraintTop_toTopOf="parent"
             app:layout_constraintBottom_toBottomOf="parent"
             android:text="Google"
-            android:textColor="#fff"
+            android:textColor="#131B23"
             android:textSize="16dp"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"/>
@@ -161,7 +158,7 @@
     <com.swago.baseswago.cusview.MediumTextView
         android:id="@+id/tvAgreement"
         android:textSize="12dp"
-        android:textColor="#FF9300"
+        android:textColor="#fff"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toStartOf="@+id/and"
         app:layout_constraintBottom_toBottomOf="parent"
@@ -175,7 +172,7 @@
         android:id="@+id/and"
         android:text="@string/and"
         android:textSize="12dp"
-        android:textColor="#868686"
+        android:textColor="#fff"
         android:layout_marginStart="10dp"
         android:layout_marginEnd="10dp"
         app:layout_constraintStart_toEndOf="@+id/tvAgreement"
@@ -189,7 +186,7 @@
     <com.swago.baseswago.cusview.MediumTextView
         android:id="@+id/tvPrivacy"
         android:textSize="12dp"
-        android:textColor="#FF9300"
+        android:textColor="#fff"
         app:layout_constraintStart_toEndOf="@+id/and"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintBottom_toBottomOf="parent"
@@ -201,7 +198,7 @@
 
     <com.swago.baseswago.cusview.MediumTextView
         android:textSize="12dp"
-        android:textColor="#868686"
+        android:textColor="#fff"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintEnd_toEndOf="parent"

二進制
login/src/main/res/mipmap-xxhdpi/icon_swago_lite.webp


二進制
login/src/main/res/mipmap-xxhdpi/logo_login.webp


二進制
login/src/main/res/raw/login.mp4


+ 6 - 6
room/src/main/java/com/swago/room/base/BaseComFragment.kt

@@ -244,12 +244,12 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
             this.roomConfig = it
             iFooter.setGameIcon(it.is_show_game==1)
             //轮播图
-            binding.bannerView.setData(it.banners)
-            binding.bannerView.jumpToWebFun = { banner ->
-                ARouter.getInstance().build(ARouteConstant.Base.webView)
-                    .withString("url", banner.rotation_url)
-                    .navigation()
-            }
+//            binding.bannerView.setData(it.banners)
+//            binding.bannerView.jumpToWebFun = { banner ->
+//                ARouter.getInstance().build(ARouteConstant.Base.webView)
+//                    .withString("url", banner.rotation_url)
+//                    .navigation()
+//            }
         }
 
         //红包列表

+ 3 - 1
room/src/main/java/com/swago/room/dialog/SendMsgDialog.kt

@@ -127,7 +127,9 @@ class SendMsgDialog : BaseXDFragment<DialogSendMsgBinding>() {
                                         LogUtil.d("发送成功")
                                     }
 
-                                    override fun onError(code: Int, desc: String?) {}
+                                    override fun onError(code: Int, desc: String?) {
+                                        LogUtil.d("发送失败")
+                                    }
 
                                 },
                                 V2TIMMessage.V2TIM_PRIORITY_NORMAL

+ 3 - 22
room/src/main/java/com/swago/room/gift/GiftDialog.kt

@@ -303,28 +303,9 @@ class GiftDialog : BaseXDFragment<DialogGiftBinding>() {
                         sendGift(gifModel, 0)
                     }
 
-                    3 -> {
-                        //高级
-                        val gifModel =
-                            luxuryData[GiftConfig.giftSelectedPageIndex * 8 + GiftConfig.giftSelectedPageSelectedPosition]
-                        LogUtil.d("礼物id", "${gifModel.gift_name}")
-                        sendGift(gifModel, 0)
-                    }
-
-                    4 -> {
-                        //特殊
-                        val gifModel =
-                            specialData[GiftConfig.giftSelectedPageIndex * 8 + GiftConfig.giftSelectedPageSelectedPosition]
-                        LogUtil.d("礼物id", "${gifModel.gift_name}")
-                        when(gifModel.gift_mode){
-                            1 -> {
-                                openSendRedEnvelopeFun?.invoke()
-                                dismissAllowingStateLoss()
-                            }
-                            else -> {
-                                sendGift(gifModel, 0)
-                            }
-                        }
+                    3,4 -> {
+                        //高级 //特殊
+                        Toast.makeText(AppContext.getContext(), "下载Swago Live解锁更多精彩礼物", Toast.LENGTH_SHORT).show()
                     }
                 }
 

+ 8 - 0
room/src/main/java/com/swago/room/gift/GiftFragment.kt

@@ -1,6 +1,7 @@
 package com.swago.room.gift
 
 import android.os.Bundle
+import android.view.View
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import com.swago.baseswago.fragment.BaseXFragment
@@ -54,6 +55,13 @@ class GiftFragment : BaseXFragment<FragmentGiftBinding>() {
             horizontalPagerSnapHelper.attachToRecyclerView(binding.recyclerView)
             binding.recyclerView.adapter = adapter
 
+            if (type==2||type==4){
+                binding.recyclerView.visibility = View.GONE
+                binding.tvTip.visibility = View.VISIBLE
+            }else{
+                binding.recyclerView.visibility = View.VISIBLE
+                binding.tvTip.visibility = View.GONE
+            }
 
             data?.let {
                 if (it.isEmpty()) return@let

+ 20 - 20
room/src/main/java/com/swago/room/user/UserRoomFragment.kt

@@ -39,21 +39,21 @@ class UserRoomFragment : BaseComFragment<FragmentBaseComBinding>() {
 
     override fun initOther() {
         super.initOther()
-        binding.ivBenefit.setOnClickListener(object : NoDoubleClickListener() {
-            override fun onClick() {
-                val dialog = BenefitBagDialog.newInstance()
-                dialog.benefitIconDismissFun = {
-                    UserInfo.getUserInfo()?.let {
-                        if (it.is_benefit == 0) {
-                            binding.ivBenefit.visibility = View.VISIBLE
-                        } else {
-                            binding.ivBenefit.visibility = View.GONE
-                        }
-                    }
-                }
-                dialog.show(childFragmentManager, "BenefitBagDialog")
-            }
-        })
+//        binding.ivBenefit.setOnClickListener(object : NoDoubleClickListener() {
+//            override fun onClick() {
+//                val dialog = BenefitBagDialog.newInstance()
+//                dialog.benefitIconDismissFun = {
+//                    UserInfo.getUserInfo()?.let {
+//                        if (it.is_benefit == 0) {
+//                            binding.ivBenefit.visibility = View.VISIBLE
+//                        } else {
+//                            binding.ivBenefit.visibility = View.GONE
+//                        }
+//                    }
+//                }
+//                dialog.show(childFragmentManager, "BenefitBagDialog")
+//            }
+//        })
 
         binding.ivReport.visibility = ConstraintLayout.VISIBLE
         binding.ivReport.setOnClickListener(object : NoDoubleClickListener() {
@@ -186,11 +186,11 @@ class UserRoomFragment : BaseComFragment<FragmentBaseComBinding>() {
                 }
             }
 
-            if (it.is_benefit == 0) {
-                binding.ivBenefit.visibility = View.VISIBLE
-            } else {
-                binding.ivBenefit.visibility = View.GONE
-            }
+//            if (it.is_benefit == 0) {
+//                binding.ivBenefit.visibility = View.VISIBLE
+//            } else {
+//                binding.ivBenefit.visibility = View.GONE
+//            }
 
         }
     }

+ 21 - 21
room/src/main/res/layout/fragment_base_com.xml

@@ -65,27 +65,27 @@
         android:layout_height="wrap_content"/>
 
 
-    <ImageView
-        android:id="@+id/ivBenefit"
-        app:layout_constraintTop_toTopOf="parent"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        android:layout_marginEnd="10dp"
-        tools:visibility="visible"
-        android:visibility="gone"
-        android:src="@mipmap/icon_benefit"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
-
-    <com.swago.room.widget.BannerView
-        android:id="@+id/bannerView"
-        android:layout_marginTop="150dp"
-        android:visibility="gone"
-        tools:visibility="visible"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toTopOf="parent"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
+<!--    <ImageView-->
+<!--        android:id="@+id/ivBenefit"-->
+<!--        app:layout_constraintTop_toTopOf="parent"-->
+<!--        app:layout_constraintBottom_toBottomOf="parent"-->
+<!--        app:layout_constraintEnd_toEndOf="parent"-->
+<!--        android:layout_marginEnd="10dp"-->
+<!--        tools:visibility="visible"-->
+<!--        android:visibility="gone"-->
+<!--        android:src="@mipmap/icon_benefit"-->
+<!--        android:layout_width="wrap_content"-->
+<!--        android:layout_height="wrap_content"/>-->
+
+<!--    <com.swago.room.widget.BannerView-->
+<!--        android:id="@+id/bannerView"-->
+<!--        android:layout_marginTop="150dp"-->
+<!--        android:visibility="gone"-->
+<!--        tools:visibility="visible"-->
+<!--        app:layout_constraintEnd_toEndOf="parent"-->
+<!--        app:layout_constraintTop_toTopOf="parent"-->
+<!--        android:layout_width="wrap_content"-->
+<!--        android:layout_height="wrap_content"/>-->
 
 
     <ImageView

+ 15 - 1
room/src/main/res/layout/fragment_gift.xml

@@ -1,11 +1,25 @@
 <?xml version="1.0" encoding="utf-8"?>
 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="match_parent">
+    android:layout_height="match_parent"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
 
     <androidx.recyclerview.widget.RecyclerView
         android:id="@+id/recyclerView"
         android:layout_width="match_parent"
         android:layout_height="match_parent"/>
 
+    <TextView
+        android:id="@+id/tvTip"
+        android:textColor="#fff"
+        android:textSize="16dp"
+        android:visibility="gone"
+        android:text="下载Swago Live解锁更多精彩礼物"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"/>
+
 </androidx.constraintlayout.widget.ConstraintLayout>

+ 1 - 0
room/src/main/res/layout/layout_anchor_footer_view.xml

@@ -65,6 +65,7 @@
     <ImageView
         android:id="@+id/ivMessage"
         android:layout_marginEnd="10dp"
+        android:visibility="gone"
         android:background="@drawable/shape_80000000_20"
         app:layout_constraintTop_toTopOf="parent"
         app:layout_constraintEnd_toEndOf="parent"

+ 1 - 0
room/src/main/res/layout/layout_user_footer_view.xml

@@ -59,6 +59,7 @@
         app:layout_constraintEnd_toEndOf="parent"
         android:layout_marginEnd="10dp"
         android:src="@mipmap/live_message"
+        android:visibility="gone"
         android:layout_width="40dp"
         android:layout_height="40dp"/>