15 Commit-ok 499c5bfcfa ... 02c2b2085a

Szerző SHA1 Üzenet Dátum
  poppin_leaf 02c2b2085a Merge branch 'master' into feature/dev-zeyu-2026-3-18 1 hónapja
  jlin b79392d5f2 快捷送礼限定 1 hónapja
  jlin f58ccb4491 弹幕区没有持续滚到底部的问题 1 hónapja
  poppin_leaf 5a4e53e184 Merge branch 'feature/dev-zeyu-2026-3-18' into feature/压缩apk 1 hónapja
  poppin_leaf 0f45761f07 Merge branch 'master' into feature/压缩apk 1 hónapja
  poppin_leaf 7e4cf255d5 c-添加大礼物动画 1 hónapja
  jlin 120ccb1898 风格装 1 hónapja
  Gogs fa3c54403d chore: bump gradle wrapper to 6.7.1 1 hónapja
  Gogs cf29bea20c Revert "邀请绑定关系问题修复" 1 hónapja
  Gogs b5ec171951 邀请绑定关系问题修复 1 hónapja
  jlin ef8ddbd1b1 关美颜延后 1 hónapja
  poppin_leaf 1ade667ada Merge branch 'feature/dev-zeyu-2026-3-18' 1 hónapja
  poppin_leaf c79dfaa0aa Merge branch 'master' into feature/压缩apk 1 hónapja
  poppin_leaf 4e73b610df c-减肥 1 hónapja
  linjianpeng 63599dfd4c 权限申请说明 1 hónapja
21 módosított fájl, 107 hozzáadás és 43 törlés
  1. 3 0
      app/build.gradle
  2. 3 0
      baselibrary/src/main/java/com/yc/baselibrary/view/MessageRvExtend.kt
  3. 14 0
      baselibrary/src/main/java/com/yc/baselibrary/view/webview/WebViewActivity.kt
  4. 14 0
      baselibrary/src/main/java/com/yc/baselibrary/view/webview/WebViewJsActivity.kt
  5. 2 0
      baselibrary/src/main/res/values/strings.xml
  6. 1 1
      buildSrc/src/main/java/com/yc/buildsrc/ProjectPluginManager.kt
  7. 1 1
      gradle/wrapper/gradle-wrapper.properties
  8. 1 1
      libBytedance/src/main/java/im/zego/bytedance/beauty/fragment/EffectFragment.java
  9. 6 6
      libBytedance/src/main/java/im/zego/bytedance/beauty/manager/EffectDataManager.java
  10. 1 1
      module_base/src/main/java/com/yc/module_base/manager/GiftManager.kt
  11. 6 0
      module_home/src/main/java/com/mita/module_home/view/HomeFragment.kt
  12. 11 9
      module_live/src/main/java/com/yc/module_live/impl/TopLayerFragmentImpl.kt
  13. 1 1
      module_live/src/main/java/com/yc/module_live/view/RoomActivity.kt
  14. 4 0
      module_live/src/main/java/com/yc/module_live/view/live/LiveFragment.kt
  15. 1 1
      module_live/src/main/java/com/yc/module_live/view/live/impltop/TopLiveLayerFragmentImpl.kt
  16. 4 4
      module_live/src/main/java/com/yc/module_live/view/live/livetop/TopLiveLayerFragment.kt
  17. 7 8
      module_live/src/main/java/com/yc/module_live/view/toplayer/TopLayerVm.kt
  18. 9 0
      module_live/src/main/java/com/yc/module_live/view/voice/VoiceFragment.kt
  19. 1 0
      module_live/src/main/res/layout/module_room_live_diaglog_fragment.xml
  20. 11 10
      module_live/src/main/res/layout/module_room_voice_pre_fragment.xml
  21. 6 0
      module_main/src/main/java/com/mita/module_main/view/main/MainActivity.kt

+ 3 - 0
app/build.gradle

@@ -128,6 +128,9 @@ android {
         exclude 'META-INF/LICENSE'
         exclude 'META-INF/LICENSE.txt'
         exclude 'META-INF/NOTICE.txt'
+        jniLibs.useLegacyPackaging = true
+        exclude 'lib/x86/**'
+        exclude 'lib/x86_64/**'
     }
 
 }

+ 3 - 0
baselibrary/src/main/java/com/yc/baselibrary/view/MessageRvExtend.kt

@@ -1,5 +1,6 @@
 package com.yc.baselibrary.view
 
+import android.util.Log
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 
@@ -17,6 +18,7 @@ fun RecyclerView.isBottom() : Boolean{
 }
 
 fun RecyclerView.isBottom2(): Boolean {
+    Log.v("isBottom", "")
     val layoutManager = layoutManager as? LinearLayoutManager ?: return false
 
     val lastItemPosition = layoutManager.itemCount - 1
@@ -25,6 +27,7 @@ fun RecyclerView.isBottom2(): Boolean {
     val lastVisiblePosition = layoutManager.findLastVisibleItemPosition()
     if (lastVisiblePosition == RecyclerView.NO_POSITION) return false // 确保有可见项
 
+    Log.v("isBottom 1111111", "$lastItemPosition ----- $lastVisiblePosition")
     // 如果最后一个可见项是最后一个数据项或倒数第二个数据项,则判断为已经到底部
     return lastVisiblePosition >= lastItemPosition - 1
 }

+ 14 - 0
baselibrary/src/main/java/com/yc/baselibrary/view/webview/WebViewActivity.kt

@@ -19,8 +19,10 @@ import androidx.core.content.FileProvider
 import androidx.lifecycle.Observer
 import com.tencent.smtt.sdk.ValueCallback
 import com.tencent.smtt.sdk.WebChromeClient
+import com.xueyu.kotlinextlibrary.string
 import com.yc.baselibrary.R
 import com.yc.baselibrary.event.LiveBusEvent
+import com.yc.baselibrary.ext.showTopPopup
 import com.yc.baselibrary.utils.ContentUtil
 import com.yc.baselibrary.utils.ImageUtil
 import com.yc.baselibrary.utils.PermissionUtil
@@ -229,6 +231,10 @@ class WebViewActivity : BaseActivity<WebViewVm>(), OpenFileChooserCallBack {
                             REQUEST_PERMISSIONS_ALBUM,
                             Manifest.permission.READ_EXTERNAL_STORAGE
                         )
+                        showTopPopup(
+                            string(R.string.camera_permission_usage_instructions_str),
+                            string(R.string.camera_permission_usage_instructions_des)
+                        )
                     }
                 } else {
                     try {
@@ -291,6 +297,10 @@ class WebViewActivity : BaseActivity<WebViewVm>(), OpenFileChooserCallBack {
                         Manifest.permission.WRITE_EXTERNAL_STORAGE,
                         Manifest.permission.CAMERA
                     )
+                    showTopPopup(
+                        string(R.string.camera_permission_usage_instructions_str),
+                        string(R.string.camera_permission_usage_instructions_des)
+                    )
                 }
             }
         }.show()
@@ -475,6 +485,10 @@ class WebViewActivity : BaseActivity<WebViewVm>(), OpenFileChooserCallBack {
                     REQUEST_PERMISSIONS_FILE,
                     Manifest.permission.READ_EXTERNAL_STORAGE
                 )
+                showTopPopup(
+                    string(R.string.camera_permission_usage_instructions_str),
+                    string(R.string.camera_permission_usage_instructions_des)
+                )
             }
         }
         return true

+ 14 - 0
baselibrary/src/main/java/com/yc/baselibrary/view/webview/WebViewJsActivity.kt

@@ -21,10 +21,12 @@ import androidx.lifecycle.Observer
 import com.effective.android.webview.jsbridge.DefaultHandler
 import com.smallbuer.jsbridge.core.BridgeHandler
 import com.smallbuer.jsbridge.core.CallBackFunction
+import com.xueyu.kotlinextlibrary.string
 import com.yc.baselibrary.R
 import com.yc.baselibrary.event.GOTO_ROOM
 import com.yc.baselibrary.event.LiveBus
 import com.yc.baselibrary.event.LiveBusEvent
+import com.yc.baselibrary.ext.showTopPopup
 import com.yc.baselibrary.utils.ContentUtil
 import com.yc.baselibrary.utils.ImageUtil
 import com.yc.baselibrary.utils.PermissionUtil
@@ -255,6 +257,10 @@ class WebViewJsActivity : BaseActivity<WebViewVm>(), JsReWebChromeClient.OpenFil
                             REQUEST_PERMISSIONS_ALBUM,
                             Manifest.permission.READ_EXTERNAL_STORAGE
                         )
+                        showTopPopup(
+                            string(R.string.camera_permission_usage_instructions_str),
+                            string(R.string.camera_permission_usage_instructions_des)
+                        )
                     }
                 } else {
                     try {
@@ -317,6 +323,10 @@ class WebViewJsActivity : BaseActivity<WebViewVm>(), JsReWebChromeClient.OpenFil
                         Manifest.permission.WRITE_EXTERNAL_STORAGE,
                         Manifest.permission.CAMERA
                     )
+                    showTopPopup(
+                        string(R.string.camera_permission_usage_instructions_str),
+                        string(R.string.camera_permission_usage_instructions_des)
+                    )
                 }
             }
         }.show()
@@ -507,6 +517,10 @@ class WebViewJsActivity : BaseActivity<WebViewVm>(), JsReWebChromeClient.OpenFil
                     REQUEST_PERMISSIONS_FILE,
                     Manifest.permission.READ_EXTERNAL_STORAGE
                 )
+                showTopPopup(
+                    string(R.string.camera_permission_usage_instructions_str),
+                    string(R.string.camera_permission_usage_instructions_des)
+                )
             }
         }
         return true

+ 2 - 0
baselibrary/src/main/res/values/strings.xml

@@ -6,4 +6,6 @@
 	<string name="appbar_fixed_behavior_base">com.yc.baselibrary.behavior.AppBarLayoutFixedBehavior</string>
 	<string name="appbar_scrolling_view_behavior_base" translatable="false">com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior</string>
 
+	<string name="camera_permission_usage_instructions_str">相机权限和内存写入权限使用说明</string>
+	<string name="camera_permission_usage_instructions_des">相机权限用户拍照,实名认证,视频直播等场景,存储权限用于保存照片,存储文件等场景</string>
 </resources>

+ 1 - 1
buildSrc/src/main/java/com/yc/buildsrc/ProjectPluginManager.kt

@@ -4,7 +4,7 @@ package com.yc.buildsrc
  * 项目级插件
  **/
 object ProjectPluginManager {
-    const val AndroidToolsPlugin = "com.android.tools.build:gradle:4.1.1"
+    const val AndroidToolsPlugin = "com.android.tools.build:gradle:4.2.2"
     const val KotlinPlugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
     const val ARouterRegister = "com.alibaba:arouter-register:1.0.2"
     const val ProtocolBuffer = "com.google.protobuf:protobuf-gradle-plugin:0.8.8"

+ 1 - 1
gradle/wrapper/gradle-wrapper.properties

@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip

+ 1 - 1
libBytedance/src/main/java/im/zego/bytedance/beauty/fragment/EffectFragment.java

@@ -1207,8 +1207,8 @@ public class EffectFragment extends TabBoardFragment implements View.OnClickList
         if (item == null) {
             return;
         }
+        mEffectCallback.onMakeUpItemSelect(item);
         if (item.getPath() != null && item.getPath().startsWith("stickers/")) { // 是贴纸,不需要显示进度条
-            mEffectCallback.onMakeUpItemSelect(item);
             pb.setVisibility(View.GONE);
             isShowBeautyProProcessBarRT(false);
         } else { // 风格装要显示进度,并且显示选项

+ 6 - 6
libBytedance/src/main/java/im/zego/bytedance/beauty/manager/EffectDataManager.java

@@ -2181,12 +2181,12 @@ public class EffectDataManager {
                 R.string.sticker_2d,
                 new EffectButtonItem[]{
                         new EffectButtonItem(TYPE_CLOSE, R.drawable.clear, R.string.close),
-                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_baixi, R.string.style_makeup_baixi, new ComposerNode("style_makeup_local/baixi", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "baixi"),
-                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_weisuyan, R.string.style_makeup_weisuyan, new ComposerNode("style_makeup_local/weisuyan", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "weisuyan"),
-                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_xuejie, R.string.style_makeup_xuejie, new ComposerNode("style_makeup_local/xuejie", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "xuejie"),
-                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_xuemei, R.string.style_makeup_xuemei, new ComposerNode("style_makeup_local/xuemei", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "xuemei"),
-                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_tianmei, R.string.style_makeup_tianmei, new ComposerNode("style_makeup_local/tianmei", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "tianmei"),
-                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_qingtou, R.string.style_makeup_qingtou, new ComposerNode("style_makeup_local/qingtou", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "qingtou"),
+                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_baixi, R.string.style_makeup_baixi, new ComposerNode("style_makeup/baixi", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "baixi"),
+                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_weisuyan, R.string.style_makeup_weisuyan, new ComposerNode("style_makeup/weisuyan", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "weisuyan"),
+                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_xuejie, R.string.style_makeup_xuejie, new ComposerNode("style_makeup/xuejie", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "xuejie"),
+                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_xuemei, R.string.style_makeup_xuemei, new ComposerNode("style_makeup/xuemei", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "xuemei"),
+                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_tianmei, R.string.style_makeup_tianmei, new ComposerNode("style_makeup/tianmei", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "tianmei"),
+                        new EffectButtonItem(TYPE_LOCAL_STYLE_MAKEUP_2D, R.drawable.icon_qingtou, R.string.style_makeup_qingtou, new ComposerNode("style_makeup/qingtou", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "qingtou"),
 //                        new EffectButtonItem(TYPE_STYLE_MAKEUP_2D, R.drawable.icon_yinglang, R.string.style_makeup_yinglang, new ComposerNode("style_makeup_local/yinglang", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "yinglang"),
 //                        new EffectButtonItem(TYPE_STYLE_MAKEUP_2D, R.drawable.icon_shaonian, R.string.style_makeup_shaonian, new ComposerNode("style_makeup_local/shaonian", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "shaonian"),
 //                        new EffectButtonItem(TYPE_STYLE_MAKEUP_2D, R.drawable.icon_danyan, R.string.style_makeup_danyan, new ComposerNode("style_makeup_local/danyan", new String[]{"Filter_ALL", "Makeup_ALL"}, getDefaultIntensity(TYPE_STYLE_MAKEUP, LITE_ASIA)), "danyan"),

+ 1 - 1
module_base/src/main/java/com/yc/module_base/manager/GiftManager.kt

@@ -221,7 +221,7 @@ object GiftManager : MainScopeDelegate {
         for (giftGroup in groups) {
             if (giftGroup.groupGiftList.isNullOrEmpty()) continue
             for (gift in giftGroup.groupGiftList) {
-                if (gift.giftType == GiftType.LUXURY_GIFT.type || gift.giftType == GiftType.BIG_GIFT.type || giftGroup.groupId == 6666L) {
+                if (gift.giftType == GiftType.LUXURY_GIFT.type || gift.giftType == GiftType.BIG_GIFT.type || gift.giftType == GiftType.NORMAL_GIFT.type || giftGroup.groupId == 6666L) {
                     allBigGiftList.add(gift)
                 }
                 allGiftList.add(gift)

+ 6 - 0
module_home/src/main/java/com/mita/module_home/view/HomeFragment.kt

@@ -16,6 +16,7 @@ import com.mita.module_home.view.cell.HomeTopShowLiveListVH
 import com.mita.module_home.view.live.HomeLiveAnchorListFragment
 import com.mita.module_home.view.new.HomeNewAnchorListFragment
 import com.xueyu.kotlinextlibrary.color
+import com.xueyu.kotlinextlibrary.string
 import com.xueyu.kotlinextlibrary.toGone
 import com.xueyu.kotlinextlibrary.toVisible
 import com.yc.baselibrary.adapter.viewHolder.MutableAdapter
@@ -23,6 +24,7 @@ import com.yc.baselibrary.adapter.viewHolder.setFullSpan
 import com.yc.baselibrary.event.LiveBusEvent
 import com.yc.baselibrary.ext.bind
 import com.yc.baselibrary.ext.proxy
+import com.yc.baselibrary.ext.showTopPopup
 import com.yc.baselibrary.ext.toast
 import com.yc.baselibrary.view.base.BaseFragment
 import com.yc.module_base.arouter.HomeRouter
@@ -231,6 +233,10 @@ class HomeFragment : BaseFragment<HomeViewModel>() {
                 PERMISSIONS,
                 PERMISSION_REQ
             )
+            requireContext().showTopPopup(
+                string(R.string.camera_permission_usage_instructions_str),
+                string(R.string.camera_permission_usage_instructions_des)
+            )
         } else {
             gotoLive()
         }

+ 11 - 9
module_live/src/main/java/com/yc/module_live/impl/TopLayerFragmentImpl.kt

@@ -94,17 +94,19 @@ open class TopLayerFragmentImpl<T : BaseRoomVm> : TopPopupFragment<T>(), View.On
 
             }
 
-            if (quickSendGift == null) {
-                if (vsQuickSendGift != null) {
-                    val quickGift = vsQuickSendGift.inflate() as QuickSendGift
-                    quickGift.setGiftListener(this)
-                    quickGift.visibility = View.GONE
-                    quickGift.setCountDownListener(this)
-                    quickSendGift = quickGift
+            if (gift.giftType == 0 || gift.giftType == 1 || gift.giftType == 2) {
+                if (quickSendGift == null) {
+                    if (vsQuickSendGift != null) {
+                        val quickGift = vsQuickSendGift.inflate() as QuickSendGift
+                        quickGift.setGiftListener(this)
+                        quickGift.visibility = View.GONE
+                        quickGift.setCountDownListener(this)
+                        quickSendGift = quickGift
+                    }
                 }
+                val quickSendGift = quickSendGift ?: return
+                quickSendGift.startCountDownTimer(gift)
             }
-            val quickSendGift = quickSendGift ?: return
-            quickSendGift.startCountDownTimer(gift)
         }
     }
 

+ 1 - 1
module_live/src/main/java/com/yc/module_live/view/RoomActivity.kt

@@ -1560,8 +1560,8 @@ class RoomActivity : BaseActivity<RoomVm>(), LiveDialogFragmentListener, VoicePr
                         val buffer = EndLiveRes.parseFrom(msg.content)
                         val leaveInfo = LeaveInfo()
                         leaveInfo.bufferToModel(buffer)
-                        liveFragment?.leaveChannel()
                         showEndFragment(leaveInfo)
+//                        liveFragment?.leaveChannel()
                     }
 
                     NOTIFY_END_LIVE -> {

+ 4 - 0
module_live/src/main/java/com/yc/module_live/view/live/LiveFragment.kt

@@ -170,6 +170,10 @@ class LiveFragment : BaseFragment<LiveVm>() {
     }
 
     fun leaveChannel() {
+        Log.d(
+            LiveFragment::class.java.simpleName,
+            "leaveChannel roomId: $roomId"
+        )
         // 退出房间
         engine?.logoutRoom()
         // 停止本地预览

+ 1 - 1
module_live/src/main/java/com/yc/module_live/view/live/impltop/TopLiveLayerFragmentImpl.kt

@@ -124,7 +124,7 @@ open class TopLiveLayerFragmentImpl<T : BaseRoomVm> : TopLivePopupFragment<T>(),
                     viewModel.sendGift(newGift)
                 }
 
-                if (gift.giftType == 0) {
+                if (gift.giftType == 0 || gift.giftType == 1 || gift.giftType == 2) {
                     if (quickSendGift == null) {
                         if (vsQuickSendGift != null) {
                             val quickGift = vsQuickSendGift.inflate() as QuickLiveSendGift

+ 4 - 4
module_live/src/main/java/com/yc/module_live/view/live/livetop/TopLiveLayerFragment.kt

@@ -922,7 +922,7 @@ class TopLiveLayerFragment : TopLiveLayerClickFragment<TopLayerVm>(),
     fun scrollToBottom(fromUserId: Long?) {
 
         val inBottom = recyclerMessage.isBottom2()
-        Log.v("TTTTTTTTTinBottomIndex", "${inBottom}${recyclerMessage.adapter?.itemCount}")
+        Log.v("isBottom 2222222", "${inBottom}, ${recyclerMessage.adapter?.itemCount}")
 
         if (fromUserId == userId || inBottom) {
             if (recyclerMessage != null && viewModel.publicChatList.size > 1) {
@@ -941,11 +941,11 @@ class TopLiveLayerFragment : TopLiveLayerClickFragment<TopLayerVm>(),
         gift?.let {
             if (it.giftType == GiftType.LUXURY_GIFT.type && LiveSession.getIsOpenSpecial()) {
                 bigGiftView.addGiftList(it)
-            } else if (it.luckyMulti >= 500 && LiveSession.getIsOpenSpecial()) {
+            } else if (it.luckyMulti >= 500 && gift.roomId == viewModel.room?.roomId && LiveSession.getIsOpenSpecial()) {
                 val luckyGift: Gift? = GiftManager.allGiftList.find {
                     it.giftId == gift.giftId
                 }
-                if (luckyGift != null && luckyGift.price > 5000) {
+                if (luckyGift != null) {
                     bigGiftView.addGiftList(it)
                 }
             } else if (it.giftType == GiftType.BIG_GIFT.type && LiveSession.getIsOpenSpecial()) {
@@ -1098,7 +1098,7 @@ class TopLiveLayerFragment : TopLiveLayerClickFragment<TopLayerVm>(),
                     rlGiftContainer.addGift(gift)
                 }
             }
-            insertWinPublicChat(it)//插入公聊
+//            insertWinPublicChat(it)//插入公聊
         }
 
     }

+ 7 - 8
module_live/src/main/java/com/yc/module_live/view/toplayer/TopLayerVm.kt

@@ -164,7 +164,7 @@ class TopLayerVm(
 
     fun insertPublicChatRoomNotice(notice: String?) {
         if (notice.isNullOrEmpty()) return
-        publicChatList.add(PublicChatNoticeWrap(notice))
+//        publicChatList.add(PublicChatNoticeWrap(notice))
     }
 
     fun insertPublicChatOther(content: String?) {
@@ -177,16 +177,15 @@ class TopLayerVm(
     }
 
     fun insertWinLuckyMsg(gift: Gift?) {
-        gift?.let {
-            publicChatList.add(PublicChatWinWrap(gift))
-        }
-
+//        gift?.let {
+//            publicChatList.add(PublicChatWinWrap(gift))
+//        }
     }
 
     fun insertEmojiMsg(emoji: Emoji?) {
-        emoji?.let {
-            publicChatList.add(emoji)
-        }
+//        emoji?.let {
+//            publicChatList.add(emoji)
+//        }
 
     }
 

+ 9 - 0
module_live/src/main/java/com/yc/module_live/view/voice/VoiceFragment.kt

@@ -15,6 +15,7 @@ import com.xueyu.kotlinextlibrary.toGone
 import com.xueyu.kotlinextlibrary.toVisible
 import com.yc.baselibrary.event.LiveBusEvent
 import com.yc.baselibrary.ext.loadImage
+import com.yc.baselibrary.ext.showTopPopup
 import com.yc.baselibrary.ext.toast
 import com.yc.baselibrary.view.base.BaseFragment
 import com.yc.module_base.LiveSession
@@ -325,6 +326,10 @@ class VoiceFragment : BaseFragment<VoiceVm>() {
                 ActivityCompat.requestPermissions(
                     it, PERMISSIONS_CAMERA, PERMISSION_CAMERA_REQ
                 )
+                requireContext().showTopPopup(
+                    string(R.string.camera_permission_usage_instructions_str),
+                    string(R.string.camera_permission_usage_instructions_des)
+                )
             }
         } else {
             startPreview()
@@ -337,6 +342,10 @@ class VoiceFragment : BaseFragment<VoiceVm>() {
                 ActivityCompat.requestPermissions(
                     it, PERMISSIONS_AUDIO, PERMISSION_AUDIO_REQ
                 )
+                requireContext().showTopPopup(
+                    string(com.yc.baselibrary.R.string.camera_permission_usage_instructions_str),
+                    string(com.yc.baselibrary.R.string.camera_permission_usage_instructions_des)
+                )
             }
         } else {
             openAudio()

+ 1 - 0
module_live/src/main/res/layout/module_room_live_diaglog_fragment.xml

@@ -175,6 +175,7 @@
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="@dimen/dp_36"
+                android:visibility="gone"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"

+ 11 - 10
module_live/src/main/res/layout/module_room_voice_pre_fragment.xml

@@ -25,16 +25,16 @@
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toTopOf="parent">
 
-<!--            <ImageView-->
-<!--                android:id="@+id/iv_cover"-->
-<!--                android:layout_width="@dimen/dp_56"-->
-<!--                android:layout_height="@dimen/dp_56"-->
-<!--                android:scaleType="centerInside"-->
-<!--                android:src="@drawable/icon_cover"-->
-<!--                app:layout_constraintBottom_toBottomOf="parent"-->
-<!--                app:layout_constraintDimensionRatio="1:1"-->
-<!--                app:layout_constraintStart_toStartOf="parent"-->
-<!--                app:layout_constraintTop_toTopOf="parent" />-->
+            <!--            <ImageView-->
+            <!--                android:id="@+id/iv_cover"-->
+            <!--                android:layout_width="@dimen/dp_56"-->
+            <!--                android:layout_height="@dimen/dp_56"-->
+            <!--                android:scaleType="centerInside"-->
+            <!--                android:src="@drawable/icon_cover"-->
+            <!--                app:layout_constraintBottom_toBottomOf="parent"-->
+            <!--                app:layout_constraintDimensionRatio="1:1"-->
+            <!--                app:layout_constraintStart_toStartOf="parent"-->
+            <!--                app:layout_constraintTop_toTopOf="parent" />-->
 
             <EditText
                 android:id="@+id/tvRoomTitle"
@@ -319,6 +319,7 @@
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="@dimen/dp_36"
+                android:visibility="gone"
                 app:layout_constraintBottom_toBottomOf="parent"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"

+ 6 - 0
module_main/src/main/java/com/mita/module_main/view/main/MainActivity.kt

@@ -30,11 +30,13 @@ import com.umeng.umlink.MobclickLink
 import com.umeng.umlink.UMLinkListener
 import com.xueyu.kotlinextlibrary.launchActivity
 import com.xueyu.kotlinextlibrary.manifest
+import com.xueyu.kotlinextlibrary.string
 import com.yc.baselibrary.cache.Cache
 import com.yc.baselibrary.event.IS_OPEN_TEENAGERS
 import com.yc.baselibrary.event.LiveBus
 import com.yc.baselibrary.event.LiveBusEvent
 import com.yc.baselibrary.event.USER_LOGIN_STATE_CHANGED
+import com.yc.baselibrary.ext.showTopPopup
 import com.yc.baselibrary.ext.toast
 import com.yc.baselibrary.manager.ActivityManager
 import com.yc.baselibrary.utils.TimeUtils
@@ -350,6 +352,10 @@ class MainActivity : BaseActivity<MainViewModel>() {
                 PERMISSIONS,
                 PERMISSION_REQ
             )
+            showTopPopup(
+                string(R.string.camera_permission_usage_instructions_str),
+                string(R.string.camera_permission_usage_instructions_des)
+            )
         } else {
             gotoLive()
         }