Ver código fonte

测试包支持通过切换环境来测试离线Push,移除tui无用资源代码

DoggyZhang 1 ano atrás
pai
commit
3d040410cc
100 arquivos alterados com 189 adições e 3681 exclusões
  1. 11 0
      app/src/debug/assets/timpush-configs.json
  2. 5 0
      app/src/main/java/com/adealink/weparty/notifiation/Constants.kt
  3. 0 0
      app/src/release/assets/timpush-configs.json
  4. 1 0
      module/call/src/main/java/com/adealink/weparty/call/video/comp/VideoRoomComp.kt
  5. 2 1
      module/call/src/main/java/com/adealink/weparty/call/view/floatview/IncomingNotificationView.kt
  6. 5 8
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/extensions/NotificationFeature.kt
  7. 16 16
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/internal/TUICallKitService.kt
  8. 9 9
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/manager/EngineManager.kt
  9. 7 12
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/state/TUICallState.kt
  10. 0 110
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/common/CustomLoadingView.kt
  11. 1 1
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/common/RoundShadowLayout.kt
  12. 0 234
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/common/SlideRecyclerView.kt
  13. 0 53
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/CallTimerView.kt
  14. 0 103
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/CallWaitingHintView.kt
  15. 0 35
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/function/AudioAndVideoCalleeWaitingView.kt
  16. 0 105
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/function/AudioCallerWaitingAndAcceptedView.kt
  17. 0 227
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/function/VideoCallerAndCalleeAcceptedView.kt
  18. 0 122
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/function/VideoCallerWaitingView.kt
  19. 0 62
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/userinfo/single/AudioCallUserInfoView.kt
  20. 0 65
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/userinfo/single/VideoCallUserInfoView.kt
  21. 0 309
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/videolayout/GroupCallFlowLayout.kt
  22. 0 141
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/videolayout/GroupCallVideoLayout.kt
  23. 0 211
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/videolayout/SingleCallVideoLayout.kt
  24. 12 5
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/videolayout/VideoView.kt
  25. 0 195
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/root/SingleCallView.kt
  26. 0 70
      module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/viewmodel/component/videolayout/GroupCallVideoLayoutViewModel.kt
  27. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_chat_title_bar_minimalist_audio_call_icon.webp
  28. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_chat_title_bar_minimalist_video_call_icon.webp
  29. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_check_box_group_selected.webp
  30. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_check_box_group_unselected.webp
  31. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_checkbox_selected.webp
  32. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_group_select_disable.webp
  33. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_audio_call.webp
  34. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_audio_input.webp
  35. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_back.webp
  36. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_blur_background_accept.webp
  37. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_blur_background_waiting_disable.webp
  38. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_blur_background_waiting_enable.webp
  39. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_camera_disable.webp
  40. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_camera_enable.webp
  41. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_delete.webp
  42. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_float_audio_off.webp
  43. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_float_audio_on.webp
  44. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_float_video_off.webp
  45. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_float_video_on.webp
  46. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_handsfree_disable.webp
  47. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_handsfree_enable.webp
  48. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_join_group_call.webp
  49. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_join_group_compress.webp
  50. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_join_group_expand.webp
  51. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_mic_mute.webp
  52. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_mic_unmute.webp
  53. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_more_info.webp
  54. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_network_bad.webp
  55. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_self_mute.webp
  56. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_switch_camera.webp
  57. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_switch_camera_group.webp
  58. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_switch_to_audio_call.webp
  59. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_video_call.webp
  60. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_view_expand.webp
  61. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_profile_minimalist_audio_icon.webp
  62. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_profile_minimalist_video_icon.webp
  63. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_record_ic_audio_call.webp
  64. BIN
      module/call/src/main/res/drawable-xxhdpi/tuicallkit_record_ic_video_call.webp
  65. 0 5
      module/call/src/main/res/drawable/tuicallkit_bg_blur_background.xml
  66. 0 5
      module/call/src/main/res/drawable/tuicallkit_bg_camera.xml
  67. 0 8
      module/call/src/main/res/drawable/tuicallkit_bg_group_call_bottom.xml
  68. 0 5
      module/call/src/main/res/drawable/tuicallkit_bg_handsfree.xml
  69. 0 5
      module/call/src/main/res/drawable/tuicallkit_bg_mute_mic.xml
  70. 0 5
      module/call/src/main/res/drawable/tuicallkit_dialog_cancel.xml
  71. 0 5
      module/call/src/main/res/drawable/tuicallkit_dialog_sure.xml
  72. 0 9
      module/call/src/main/res/drawable/tuicallkit_group_checkbox_selector.xml
  73. 0 5
      module/call/src/main/res/drawable/tuicallkit_join_group_expand_view.xml
  74. 0 16
      module/call/src/main/res/drawable/tuicallkit_tab_item_selector.xml
  75. 0 5
      module/call/src/main/res/drawable/tuicallkit_tab_selector.xml
  76. 1 1
      module/call/src/main/res/layout/call_incoming_notification_view.xml
  77. 0 7
      module/call/src/main/res/layout/call_video_view.xml
  78. 0 59
      module/call/src/main/res/layout/tuicallkit_activity_group_user.xml
  79. 0 97
      module/call/src/main/res/layout/tuicallkit_function_view_audio.xml
  80. 0 67
      module/call/src/main/res/layout/tuicallkit_function_view_invited_waiting.xml
  81. 0 129
      module/call/src/main/res/layout/tuicallkit_function_view_video.xml
  82. 0 120
      module/call/src/main/res/layout/tuicallkit_function_view_video_inviting.xml
  83. 0 17
      module/call/src/main/res/layout/tuicallkit_item_head_view.xml
  84. 0 108
      module/call/src/main/res/layout/tuicallkit_join_group_call_expand_view.xml
  85. 0 66
      module/call/src/main/res/layout/tuicallkit_list_item_group_user.xml
  86. 0 35
      module/call/src/main/res/layout/tuicallkit_record_dialog.xml
  87. 0 26
      module/call/src/main/res/layout/tuicallkit_render_view_single.xml
  88. 0 112
      module/call/src/main/res/layout/tuicallkit_root_view_group.xml
  89. 0 66
      module/call/src/main/res/layout/tuicallkit_root_view_single.xml
  90. 0 37
      module/call/src/main/res/layout/tuicallkit_user_info_audio.xml
  91. 0 31
      module/call/src/main/res/layout/tuicallkit_user_info_group_caller.xml
  92. 0 31
      module/call/src/main/res/layout/tuicallkit_user_info_video.xml
  93. 59 76
      module/call/src/main/res/values-ar/strings.xml
  94. 0 82
      module/call/src/main/res/values-en/strings.xml
  95. 0 82
      module/call/src/main/res/values-ja/strings.xml
  96. 0 83
      module/call/src/main/res/values-zh-rHK/strings.xml
  97. 0 83
      module/call/src/main/res/values-zh-rTW/strings.xml
  98. 60 77
      module/call/src/main/res/values-zh/strings.xml
  99. 0 6
      module/call/src/main/res/values/attrs.xml
  100. 0 16
      module/call/src/main/res/values/colors.xml

+ 11 - 0
app/src/debug/assets/timpush-configs.json

@@ -0,0 +1,11 @@
+{
+  "version": "1.0.1",
+  "com.partyjoy.yoki": {
+    "manifestPlaceholders": {
+      "VIVO_APPKEY": "",
+      "VIVO_APPID": "",
+      "HONOR_APPID": ""
+    },
+    "fcmPushBussinessId": "8218"
+  }
+}

+ 5 - 0
app/src/main/java/com/adealink/weparty/notifiation/Constants.kt

@@ -0,0 +1,5 @@
+package com.adealink.weparty.notifiation
+
+const val ROOM_NOTIFICATION_CHANNEL_ID = "notification.room"
+
+const val CALL_NOTIFICATION_CHANNEL_ID = "notification.call"

+ 0 - 0
app/src/main/assets/timpush-configs.json → app/src/release/assets/timpush-configs.json


+ 1 - 0
module/call/src/main/java/com/adealink/weparty/call/video/comp/VideoRoomComp.kt

@@ -124,6 +124,7 @@ class VideoRoomComp(
             bigVideoUser = viewModel.remoteUser
             smallVideoUser = viewModel.selfUser
         }
+        TUICallState.instance.showLargeViewUserId.set(bigVideoUser?.id)
 
         initBigRenderView()
         initSmallRenderView()

+ 2 - 1
module/call/src/main/java/com/adealink/weparty/call/view/floatview/IncomingNotificationView.kt

@@ -20,6 +20,7 @@ import com.adealink.weparty.call.constant.TAG_CALL_INCOMING_VIEW
 import com.adealink.weparty.call.util.getCallWaitingTips
 import com.adealink.weparty.call.view.IInComing
 import com.adealink.weparty.module.profile.data.UserInfo
+import com.adealink.weparty.notifiation.CALL_NOTIFICATION_CHANNEL_ID
 import com.tencent.cloud.tuikit.engine.call.TUICallDefine
 import com.tencent.cloud.tuikit.engine.call.TUICallDefine.MediaType
 import com.tencent.qcloud.tuikit.tuicallkit.data.Constants
@@ -139,7 +140,7 @@ class IncomingNotificationView(context: Context): IInComing {
     }
 
     private fun createNotification(): Notification {
-        val channelId = NotificationFeature.CALL_CHANNEL_ID
+        val channelId = CALL_NOTIFICATION_CHANNEL_ID
         val builder = NotificationCompat.Builder(context, channelId)
             .setOngoing(true)
             .setWhen(System.currentTimeMillis())

+ 5 - 8
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/extensions/NotificationFeature.kt

@@ -7,20 +7,21 @@ import android.app.NotificationManager
 import android.content.Context
 import android.os.Build
 import com.adealink.weparty.call.R
+import com.adealink.weparty.notifiation.CALL_NOTIFICATION_CHANNEL_ID
 
 class NotificationFeature {
-    private val channelGroupId = "callKitChannelGroupId"
+    private val channelGroupId = "${CALL_NOTIFICATION_CHANNEL_ID}.group"
 
     fun createCallNotificationChannel(context: Context) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
             val nm = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
-            val channelGroupName = context.getString(R.string.tuicallkit_notification_channel_group_id)
+            val channelGroupName = context.getString(R.string.call_1v1)
             val channelGroup = NotificationChannelGroup(channelGroupId, channelGroupName)
             nm.createNotificationChannelGroup(channelGroup)
 
-            val channelName = context.getString(R.string.tuicallkit_notification_channel_id)
+            val channelName = context.getString(R.string.call_1v1)
             val channel =
-                NotificationChannel(CALL_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_HIGH)
+                NotificationChannel(CALL_NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_HIGH)
             channel.group = channelGroupId
             channel.enableLights(true)
             channel.enableVibration(true)
@@ -31,8 +32,4 @@ class NotificationFeature {
             nm.createNotificationChannel(channel)
         }
     }
-
-    companion object {
-        const val CALL_CHANNEL_ID = "CallKitChannelId"
-    }
 }

+ 16 - 16
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/internal/TUICallKitService.kt

@@ -208,15 +208,15 @@ class TUICallKitService private constructor(context: Context) : ITUINotification
         videoListener.mediaType = TUICallDefine.MediaType.Video
         videoListener.userID = userID
         videoListener.groupID = groupID
-        voiceCallExtension.text = appContext.getString(R.string.tuicallkit_audio_call)
-        voiceCallExtension.icon = R.drawable.tuicallkit_ic_audio_call
+        voiceCallExtension.text = appContext.getString(R.string.call_audio_call)
+        voiceCallExtension.icon = R.drawable.call_chat_accept_ic
         voiceCallExtension.extensionListener = voiceListener
         voiceListener.activityResultCaller = getOrDefault<ActivityResultCaller>(
             param,
             TUIConstants.TUIChat.Extension.InputMore.CONTEXT, null
         )
-        videoCallExtension.text = appContext.getString(R.string.tuicallkit_video_call)
-        videoCallExtension.icon = R.drawable.tuicallkit_ic_video_call
+        videoCallExtension.text = appContext.getString(R.string.call_video_call)
+        videoCallExtension.icon = R.drawable.call_video_accept_ic
         videoCallExtension.extensionListener = videoListener
         videoListener.activityResultCaller = getOrDefault<ActivityResultCaller>(
             param,
@@ -266,16 +266,16 @@ class TUICallKitService private constructor(context: Context) : ITUINotification
         videoListener.mediaType = TUICallDefine.MediaType.Video
         videoListener.groupID = groupID
         videoListener.isClassicUI = false
-        voiceCallExtension.text = appContext.getString(R.string.tuicallkit_audio_call)
-        voiceCallExtension.icon = R.drawable.tuicallkit_profile_minimalist_audio_icon
+        voiceCallExtension.text = appContext.getString(R.string.call_audio_call)
+        voiceCallExtension.icon = R.drawable.call_chat_accept_ic
         voiceCallExtension.extensionListener = voiceListener
         voiceListener.activityResultCaller = getOrDefault<ActivityResultCaller?>(
             param,
             TUIConstants.TUIContact.Extension.GroupProfileItem.CONTEXT, null
         )
         voiceListener.isClassicUI = false
-        videoCallExtension.text = appContext.getString(R.string.tuicallkit_video_call)
-        videoCallExtension.icon = R.drawable.tuicallkit_profile_minimalist_video_icon
+        videoCallExtension.text = appContext.getString(R.string.call_video_call)
+        videoCallExtension.icon = R.drawable.call_video_accept_ic
         videoCallExtension.extensionListener = videoListener
         videoListener.isClassicUI = false
         videoListener.activityResultCaller = getOrDefault<ActivityResultCaller?>(
@@ -300,9 +300,9 @@ class TUICallKitService private constructor(context: Context) : ITUINotification
         val videoListener = ResultTUIExtensionEventListener()
         videoListener.mediaType = TUICallDefine.MediaType.Video
         videoListener.userID = userID
-        voiceCallExtension.text = appContext.getString(R.string.tuicallkit_audio_call)
+        voiceCallExtension.text = appContext.getString(R.string.call_audio_call)
         voiceCallExtension.extensionListener = voiceListener
-        videoCallExtension.text = appContext.getString(R.string.tuicallkit_video_call)
+        videoCallExtension.text = appContext.getString(R.string.call_video_call)
         videoCallExtension.extensionListener = videoListener
         val extensionInfoList: MutableList<TUIExtensionInfo> = java.util.ArrayList()
         extensionInfoList.add(videoCallExtension)
@@ -324,11 +324,11 @@ class TUICallKitService private constructor(context: Context) : ITUINotification
         videoListener.mediaType = TUICallDefine.MediaType.Video
         videoListener.userID = userID
         videoListener.isClassicUI = false
-        voiceCallExtension.icon = R.drawable.tuicallkit_profile_minimalist_audio_icon
-        voiceCallExtension.text = appContext.getString(R.string.tuicallkit_audio_call)
+        voiceCallExtension.icon = R.drawable.call_chat_accept_ic
+        voiceCallExtension.text = appContext.getString(R.string.call_audio_call)
         voiceCallExtension.extensionListener = voiceListener
-        videoCallExtension.icon = R.drawable.tuicallkit_profile_minimalist_video_icon
-        videoCallExtension.text = appContext.getString(R.string.tuicallkit_video_call)
+        videoCallExtension.icon = R.drawable.call_video_accept_ic
+        videoCallExtension.text = appContext.getString(R.string.call_video_call)
         videoCallExtension.extensionListener = videoListener
         val extensionInfoList: MutableList<TUIExtensionInfo> = java.util.ArrayList()
         extensionInfoList.add(videoCallExtension)
@@ -359,9 +359,9 @@ class TUICallKitService private constructor(context: Context) : ITUINotification
         )
         val voiceCallExtension = TUIExtensionInfo()
         val videoCallExtension = TUIExtensionInfo()
-        voiceCallExtension.icon = R.drawable.tuicallkit_chat_title_bar_minimalist_audio_call_icon
+        voiceCallExtension.icon = R.drawable.call_chat_accept_ic
         voiceCallExtension.extensionListener = voiceListener
-        videoCallExtension.icon = R.drawable.tuicallkit_chat_title_bar_minimalist_video_call_icon
+        videoCallExtension.icon = R.drawable.call_video_accept_ic
         videoCallExtension.extensionListener = videoListener
         val extensionInfoList: MutableList<TUIExtensionInfo> = java.util.ArrayList()
         extensionInfoList.add(voiceCallExtension)

+ 9 - 9
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/manager/EngineManager.kt

@@ -9,6 +9,7 @@ import com.adealink.weparty.call.CallActivity
 import com.adealink.weparty.call.R
 import com.adealink.weparty.call.constant.TAG_CALL_ENGINE
 import com.adealink.weparty.call.data.CallUserData
+import com.adealink.weparty.commonui.toast.util.showToast
 import com.tencent.cloud.tuikit.engine.call.TUICallDefine
 import com.tencent.cloud.tuikit.engine.call.TUICallDefine.CallParams
 import com.tencent.cloud.tuikit.engine.call.TUICallEngine
@@ -24,7 +25,6 @@ import com.tencent.qcloud.tuicore.permission.PermissionCallback
 import com.tencent.qcloud.tuicore.permission.PermissionRequester
 import com.tencent.qcloud.tuicore.util.ErrorMessageConverter
 import com.tencent.qcloud.tuicore.util.SPUtils
-import com.tencent.qcloud.tuicore.util.ToastUtil
 import com.tencent.qcloud.tuikit.tuicallkit.data.Constants
 import com.tencent.qcloud.tuikit.tuicallkit.data.User
 import com.tencent.qcloud.tuikit.tuicallkit.extensions.CallingBellFeature
@@ -73,7 +73,7 @@ class EngineManager private constructor(context: Context) {
             return
         }
         if (list.size >= Constants.MAX_USER) {
-            ToastUtil.toastLongMessage(context.getString(R.string.tuicallkit_user_exceed_limit))
+            showToast(getCompatString(R.string.call_user_exceed_limit))
             Log.e(TAG_CALL_ENGINE, "calls failed, exceeding max user number: 9")
             callback?.onError(TUICallDefine.ERROR_PARAM_INVALID, getCompatString(R.string.call_fail_for_exceeding_max_user))
             return
@@ -116,7 +116,7 @@ class EngineManager private constructor(context: Context) {
 
                     override fun onError(errCode: Int, errMsg: String) {
                         val errMessage: String = convertErrorMsg(errCode, errMsg)
-                        ToastUtil.toastLongMessage(errMessage)
+                        showToast(errMessage)
                         Log.e(TAG_CALL_ENGINE, "calls errCode:$errCode, errMsg:$errMessage")
                         callback?.onError(errCode, errMessage)
                     }
@@ -371,17 +371,17 @@ class EngineManager private constructor(context: Context) {
         val map = HashMap<Int, String>()
         map[TUICallDefine.ERROR_PACKAGE_NOT_PURCHASED] = context.getString(R.string.tuicallkit_package_not_purchased)
         map[TUICallDefine.ERROR_PACKAGE_NOT_SUPPORTED] = context.getString(R.string.tuicallkit_package_not_support)
-        map[TUICallDefine.ERROR_INIT_FAIL] = context.getString(R.string.tuicallkit_error_invalid_login)
-        map[TUICallDefine.ERROR_PARAM_INVALID] = context.getString(R.string.tuicallkit_error_parameter_invalid)
-        map[TUICallDefine.ERROR_REQUEST_REFUSED] = context.getString(R.string.tuicallkit_error_request_refused)
-        map[TUICallDefine.ERROR_REQUEST_REPEATED] = context.getString(R.string.tuicallkit_error_request_repeated)
-        map[TUICallDefine.ERROR_SCENE_NOT_SUPPORTED] = context.getString(R.string.tuicallkit_error_scene_not_support)
+        map[TUICallDefine.ERROR_INIT_FAIL] = context.getString(R.string.call_error_invalid_login)
+        map[TUICallDefine.ERROR_PARAM_INVALID] = context.getString(R.string.call_error_parameter_invalid)
+        map[TUICallDefine.ERROR_REQUEST_REFUSED] = context.getString(R.string.call_error_request_refused)
+        map[TUICallDefine.ERROR_REQUEST_REPEATED] = context.getString(R.string.call_error_request_repeated)
+        map[TUICallDefine.ERROR_SCENE_NOT_SUPPORTED] = context.getString(R.string.call_error_scene_not_support)
         return map
     }
 
     private fun convertErrorMsg(errorCode: Int, msg: String): String {
         if (errorCode == BaseConstants.ERR_SVR_MSG_IN_PEER_BLACKLIST) {
-            return context.getString(R.string.tuicallkit_error_in_peer_blacklist)
+            return context.getString(R.string.call_error_in_peer_blacklist)
         }
 
         val commonErrorMap = getCommonErrorMap()

+ 7 - 12
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/state/TUICallState.kt

@@ -3,6 +3,7 @@ package com.tencent.qcloud.tuikit.tuicallkit.state
 import android.os.Handler
 import android.os.HandlerThread
 import android.text.TextUtils
+import com.adealink.frame.aab.util.getCompatString
 import com.adealink.frame.data.json.froJsonErrorNull
 import com.adealink.frame.log.Log
 import com.adealink.frame.util.safeToLong
@@ -11,6 +12,7 @@ import com.adealink.weparty.call.constant.TAG_CALL_FLOW
 import com.adealink.weparty.call.data.CallUserData
 import com.adealink.weparty.call.manager.callManager
 import com.adealink.weparty.call.manager.callPingManager
+import com.adealink.weparty.commonui.toast.util.showToast
 import com.tencent.cloud.tuikit.engine.call.TUICallDefine
 import com.tencent.cloud.tuikit.engine.call.TUICallObserver
 import com.tencent.cloud.tuikit.engine.common.TUICommonDefine
@@ -21,7 +23,6 @@ import com.tencent.qcloud.tuicore.TUIConstants
 import com.tencent.qcloud.tuicore.TUICore
 import com.tencent.qcloud.tuicore.TUILogin
 import com.tencent.qcloud.tuicore.util.SPUtils
-import com.tencent.qcloud.tuicore.util.ToastUtil
 import com.tencent.qcloud.tuikit.tuicallkit.data.Constants
 import com.tencent.qcloud.tuikit.tuicallkit.data.User
 import com.tencent.qcloud.tuikit.tuicallkit.extensions.CallingBellFeature
@@ -110,7 +111,7 @@ class TUICallState {
             }
 
             if (calleeIdList.size >= Constants.MAX_USER) {
-                ToastUtil.toastLongMessage(TUILogin.getAppContext().getString(R.string.tuicallkit_user_exceed_limit))
+                showToast(getCompatString(R.string.call_user_exceed_limit))
                 return
             }
 
@@ -223,9 +224,7 @@ class TUICallState {
 
             removeUserOnLeave(userId)
             if (TUICallDefine.Scene.SINGLE_CALL == instance.scene.get()) {
-                ToastUtil.toastShortMessage(
-                    TUIConfig.getAppContext().getString(R.string.tuicallkit_toast_callee_reject)
-                )
+                showToast(getCompatString(R.string.call_callee_reject))
                 instance.selfUser.get().callStatus.set(TUICallDefine.Status.None)
             } else if (remoteUserList.get().isEmpty()) {
                 instance.selfUser.get().callStatus.set(TUICallDefine.Status.None)
@@ -240,9 +239,7 @@ class TUICallState {
 
             removeUserOnLeave(userId)
             if (TUICallDefine.Scene.SINGLE_CALL == instance.scene.get()) {
-                ToastUtil.toastShortMessage(
-                    TUIConfig.getAppContext().getString(R.string.tuicallkit_toast_callee_no_response)
-                )
+                showToast(getCompatString(R.string.call_callee_no_response))
                 instance.selfUser.get().callStatus.set(TUICallDefine.Status.None)
             } else if (remoteUserList.get().isEmpty()) {
                 instance.selfUser.get().callStatus.set(TUICallDefine.Status.None)
@@ -254,7 +251,7 @@ class TUICallState {
             if (userId.isNullOrEmpty()) {
                 return
             }
-            ToastUtil.toastShortMessage(TUIConfig.getAppContext().getString(R.string.tuicallkit_text_line_busy))
+            showToast(R.string.call_line_busy)
             removeUserOnLeave(userId)
             if (TUICallDefine.Scene.SINGLE_CALL == instance.scene.get()) {
                 instance.selfUser.get().callStatus.set(TUICallDefine.Status.None)
@@ -279,9 +276,7 @@ class TUICallState {
 
             removeUserOnLeave(userId)
             if (TUICallDefine.Scene.SINGLE_CALL == instance.scene.get()) {
-                ToastUtil.toastShortMessage(
-                    TUIConfig.getAppContext().getString(R.string.tuicallkit_toast_callee_hangup)
-                )
+                showToast(R.string.call_callee_hangup)
                 instance.selfUser.get().callStatus.set(TUICallDefine.Status.None)
             } else if (remoteUserList.get().isEmpty()) {
                 instance.selfUser.get().callStatus.set(TUICallDefine.Status.None)

+ 0 - 110
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/common/CustomLoadingView.kt

@@ -1,110 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.common
-
-import android.content.Context
-import android.util.AttributeSet
-import android.view.Gravity
-import android.view.View
-import android.view.ViewGroup
-import android.view.animation.AlphaAnimation
-import android.view.animation.Animation
-import android.widget.ImageView
-import android.widget.LinearLayout
-import androidx.constraintlayout.utils.widget.ImageFilterView
-import com.adealink.weparty.call.R
-
-class CustomLoadingView(context: Context, attrs: AttributeSet?) : LinearLayout(context, attrs) {
-    private var leftDot: ImageView
-    private var centerDot: ImageView
-    private var rightDot: ImageView
-
-    private var isLoading = false
-
-    init {
-        this.orientation = HORIZONTAL
-        this.gravity = Gravity.CENTER
-        this.layoutParams = LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT)
-        leftDot = createImageView()
-        centerDot = createImageView()
-        rightDot = createImageView()
-        addView(leftDot)
-        addView(centerDot)
-        addView(rightDot)
-    }
-
-    private fun createImageView(): ImageView {
-        val lp = LayoutParams(24, 24)
-        lp.marginEnd = 24
-        val imageView = ImageFilterView(context)
-        imageView.layoutParams = lp
-        imageView.roundPercent = 1f
-        imageView.setBackgroundColor(resources.getColor(R.color.tuicallkit_color_white))
-        return imageView
-    }
-
-    private fun createAnimation(startAlpha: Float, endAlpha: Float): Animation {
-        val animation = AlphaAnimation(startAlpha, endAlpha)
-        animation.duration = DURATION
-        return animation
-    }
-
-    private fun startAnimation1() {
-        startAnimation(leftDot, 1.0f, 0.2f)
-        centerDot.startAnimation(createAnimation(0.6f, 1.0f))
-        rightDot.startAnimation(createAnimation(0.2f, 0.6f))
-    }
-
-    private fun startAnimation2() {
-        leftDot.startAnimation(createAnimation(0.2f, 0.2f))
-        startAnimation(centerDot, 1.0f, 0.6f)
-        rightDot.startAnimation(createAnimation(0.6f, 1.0f))
-    }
-
-    private fun startAnimation3() {
-        leftDot.startAnimation(createAnimation(0.2f, 0.2f))
-        centerDot.startAnimation(createAnimation(0.6f, 0.6f))
-        startAnimation(rightDot, 1.0f, 0.6f)
-    }
-
-    private fun startAnimation4() {
-        startAnimation(leftDot, 0.2f, 1.0f)
-        centerDot.startAnimation(createAnimation(0.6f, 0.6f))
-        rightDot.startAnimation(createAnimation(0.6f, 0.2f))
-    }
-
-    private fun startAnimation(view: View?, fromAlpha: Float, toAlpha: Float) {
-        val animation = createAnimation(fromAlpha, toAlpha)
-        animation.setAnimationListener(object : Animation.AnimationListener {
-            override fun onAnimationStart(animation: Animation) {}
-            override fun onAnimationEnd(animation: Animation) {
-                if (!isLoading) {
-                    return
-                }
-                when {
-                    view === leftDot && fromAlpha > toAlpha -> startAnimation2()
-                    view === leftDot && fromAlpha < toAlpha -> startAnimation1()
-                    view === centerDot -> startAnimation3()
-                    view === rightDot -> startAnimation4()
-                }
-            }
-
-            override fun onAnimationRepeat(animation: Animation) {}
-        })
-        view!!.startAnimation(animation)
-    }
-
-    fun startLoading() {
-        isLoading = true
-        startAnimation1()
-    }
-
-    fun stopLoading() {
-        isLoading = false
-        leftDot.clearAnimation()
-        centerDot.clearAnimation()
-        rightDot.clearAnimation()
-    }
-
-    companion object {
-        private const val DURATION: Long = 500
-    }
-}

+ 1 - 1
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/common/RoundShadowLayout.kt

@@ -33,7 +33,7 @@ class RoundShadowLayout(context: Context, attrs: AttributeSet?) : FrameLayout(co
     constructor(context: Context) : this(context, null) {}
 
     init {
-        shadowColor = context.resources.getColor(R.color.tuicallkit_color_bg_float_view)
+        shadowColor = context.resources.getColor(com.adealink.weparty.R.color.color_FF3B3B3B)
 
         for (i in radiusArray.indices) {
             radiusArray[i] = roundRadius

+ 0 - 234
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/common/SlideRecyclerView.kt

@@ -1,234 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.common
-
-import android.content.Context
-import android.graphics.Rect
-import android.util.AttributeSet
-import android.view.MotionEvent
-import android.view.VelocityTracker
-import android.view.View
-import android.view.ViewConfiguration
-import android.view.ViewGroup
-import android.widget.Scroller
-import androidx.recyclerview.widget.LinearLayoutManager
-import androidx.recyclerview.widget.RecyclerView
-import kotlin.math.abs
-
-class SlideRecyclerView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) :
-    RecyclerView(context, attrs, defStyle) {
-    private var flingView: ViewGroup? = null
-    private var velocityTracker: VelocityTracker? = null
-    private val scroller: Scroller
-    private var touchFrame: Rect? = null
-    private var lastX: Float = 0f
-    private var firstX: Float = 0f
-    private var firstY: Float = 0f
-    private val touchSlop: Int
-    private var isSlide = false
-    private var position: Int = 0
-    private var menuViewWidth: Int = 0
-    private var disableRecyclerViewSlide: Boolean = false
-
-    init {
-        touchSlop = ViewConfiguration.get(context).scaledTouchSlop
-        scroller = Scroller(context)
-    }
-
-    fun disableRecyclerViewSlide(disable: Boolean) {
-        disableRecyclerViewSlide = disable
-    }
-
-    override fun onInterceptTouchEvent(e: MotionEvent): Boolean {
-        val x = e.x.toInt()
-        val y = e.y.toInt()
-        obtainVelocity(e)
-        when (e.action) {
-            MotionEvent.ACTION_DOWN -> {
-                if (!scroller.isFinished) {
-                    scroller.abortAnimation()
-                }
-                run {
-                    lastX = x.toFloat()
-                    firstX = lastX
-                }
-                firstY = y.toFloat()
-                position = pointToPosition(x, y)
-                if (position != INVALID_POSITION) {
-                    val view: View? = flingView
-                    flingView = getChildAt(
-                        position - (layoutManager as LinearLayoutManager).findFirstVisibleItemPosition()
-                    ) as ViewGroup
-                    if (view != null && flingView !== view && view.scrollX != 0) {
-                        view.scrollTo(0, 0)
-                    }
-                    menuViewWidth = if (flingView?.childCount == 2) {
-                        flingView?.getChildAt(1)?.width ?: INVALID_CHILD_WIDTH
-                    } else {
-                        INVALID_CHILD_WIDTH
-                    }
-                }
-            }
-
-            MotionEvent.ACTION_MOVE -> {
-                velocityTracker?.computeCurrentVelocity(1000)
-                val xVelocity = (if (velocityTracker?.xVelocity != null) velocityTracker?.xVelocity else 0f) as Float
-                val yVelocity = (if (velocityTracker?.yVelocity != null) velocityTracker?.yVelocity else 0f) as Float
-
-                val topView = (layoutManager as LinearLayoutManager?)?.findViewByPosition(0)
-                if (topView === flingView) {
-                    isSlide = false
-                } else if (abs(xVelocity) > SNAP_VELOCITY && abs(xVelocity) > abs(yVelocity)
-                    || abs(x - firstX) >= touchSlop
-                    && abs(x - firstX) > abs(y - firstY)
-                ) {
-                    isSlide = true
-                    return true
-                }
-            }
-
-            MotionEvent.ACTION_UP -> releaseVelocity()
-            else -> {}
-        }
-        return super.onInterceptTouchEvent(e)
-    }
-
-    override fun onTouchEvent(e: MotionEvent): Boolean {
-        if (isSlide && position != INVALID_POSITION) {
-            val x = e.x
-            obtainVelocity(e)
-            when (e.action) {
-                MotionEvent.ACTION_DOWN -> {}
-                MotionEvent.ACTION_MOVE ->
-                    flingView?.let {
-                        if (menuViewWidth != INVALID_CHILD_WIDTH) {
-                            val dx = Math.abs(it.scrollX + (lastX - x))
-                            if (dx <= menuViewWidth && dx > 0) {
-                                if (menuViewWidth != INVALID_CHILD_WIDTH) {
-                                    val scrollX = it.scrollX
-                                    velocityTracker?.computeCurrentVelocity(1000)
-                                    if (isRTL) {
-                                        openRightExtendView(scrollX)
-                                    } else {
-                                        openLeftExtendView(scrollX)
-                                    }
-                                    invalidate()
-                                }
-                                menuViewWidth = INVALID_CHILD_WIDTH
-                                isSlide = false
-                                position = INVALID_POSITION
-                            }
-                            lastX = x
-                        }
-                    }
-                MotionEvent.ACTION_UP -> releaseVelocity()
-                else -> {}
-            }
-            return true
-        } else {
-            closeMenu()
-            releaseVelocity()
-        }
-        return super.onTouchEvent(e)
-    }
-
-    private fun openRightExtendView(scrollX: Int) {
-        velocityTracker?.let {
-            if (it.xVelocity >= SNAP_VELOCITY) {
-                startScroll(scrollX, scrollX - menuViewWidth)
-            } else if (it.xVelocity < -SNAP_VELOCITY) {
-                startScroll(scrollX, -scrollX)
-            } else if (scrollX >= menuViewWidth / 2) {
-                startScroll(scrollX, scrollX - menuViewWidth)
-            } else {
-                startScroll(scrollX, -scrollX)
-            }
-        }
-    }
-
-    private fun openLeftExtendView(scrollX: Int) {
-        velocityTracker?.let {
-            if (it.xVelocity < -SNAP_VELOCITY) {
-                startScroll(scrollX, menuViewWidth - scrollX)
-            } else if (it.xVelocity >= SNAP_VELOCITY) {
-                startScroll(scrollX, -scrollX)
-            } else if (scrollX >= menuViewWidth / 2) {
-                startScroll(scrollX, menuViewWidth - scrollX)
-            } else {
-                startScroll(scrollX, -scrollX)
-            }
-        }
-    }
-
-    private fun startScroll(startX: Int, dx: Int) {
-        scroller.startScroll(startX, 0, dx, 0)
-    }
-
-    private fun releaseVelocity() {
-        if (velocityTracker != null) {
-            velocityTracker?.clear()
-            velocityTracker?.recycle()
-            velocityTracker = null
-        }
-    }
-
-    private fun obtainVelocity(event: MotionEvent) {
-        if (velocityTracker == null) {
-            velocityTracker = VelocityTracker.obtain()
-        }
-        velocityTracker?.addMovement(event)
-    }
-
-    fun pointToPosition(x: Int, y: Int): Int {
-        val firstPosition = (layoutManager as LinearLayoutManager?)?.findFirstVisibleItemPosition()
-        firstPosition?.let {
-            var frame = touchFrame
-            if (frame == null) {
-                touchFrame = Rect()
-                frame = touchFrame
-            }
-            val count = childCount
-            for (i in count - 1 downTo 0) {
-                val child = getChildAt(i)
-                if (child.visibility == View.VISIBLE) {
-                    child.getHitRect(frame)
-                    frame?.let {
-                        if (it.contains(x, y)) {
-                            return firstPosition + i
-                        }
-                    }
-                }
-            }
-        }
-        return INVALID_POSITION
-    }
-
-    override fun computeScroll() {
-        if (scroller.computeScrollOffset()) {
-            if (disableRecyclerViewSlide) {
-                flingView?.scrollTo(0, 0)
-            } else {
-                flingView?.scrollTo(scroller.currX, scroller.currY)
-            }
-            invalidate()
-        }
-    }
-
-    fun closeMenu() {
-        if (flingView != null && flingView?.scrollX != 0) {
-            flingView?.scrollTo(0, 0)
-        }
-    }
-
-    private val isRTL: Boolean
-        private get() {
-            val configuration = context.resources.configuration
-            val layoutDirection = configuration.layoutDirection
-            return layoutDirection == View.LAYOUT_DIRECTION_RTL
-        }
-
-    companion object {
-        private const val TAG = "SlideRecyclerView"
-        private const val INVALID_POSITION = -1
-        private const val INVALID_CHILD_WIDTH = -1
-        private const val SNAP_VELOCITY = 600
-    }
-}

+ 0 - 53
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/CallTimerView.kt

@@ -1,53 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component
-
-import android.content.Context
-import androidx.appcompat.widget.AppCompatTextView
-import com.adealink.weparty.call.R
-import com.tencent.cloud.tuikit.engine.call.TUICallDefine
-import com.tencent.qcloud.tuicore.util.DateTimeUtil
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.trtc.tuikit.common.livedata.Observer
-
-class CallTimerView(context: Context) : AppCompatTextView(context) {
-
-    private var timeCountObserver = Observer<Int> {
-        this.post {
-            if (TUICallState.instance.selfUser.get().callStatus.get() == TUICallDefine.Status.Accept) {
-                if (it > 0) {
-                    text = DateTimeUtil.formatSecondsTo00(it)
-                    visibility = VISIBLE
-                }
-            } else {
-                visibility = GONE
-            }
-        }
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    fun clear() {
-        removeObserver()
-    }
-
-    private fun initView() {
-        setTextColor(context.resources.getColor(R.color.tuicallkit_color_white))
-
-        if (TUICallState.instance.selfUser.get().callStatus.get() == TUICallDefine.Status.Accept) {
-            text = DateTimeUtil.formatSecondsTo00(TUICallState.instance.timeCount.get())
-            visibility = VISIBLE
-        } else {
-            visibility = GONE
-        }
-    }
-
-    private fun addObserver() {
-        TUICallState.instance.timeCount.observe(timeCountObserver)
-    }
-
-    private fun removeObserver() {
-        TUICallState.instance.timeCount.removeObserver(timeCountObserver)
-    }
-}

+ 0 - 103
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/CallWaitingHintView.kt

@@ -1,103 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component
-
-import android.content.Context
-import android.view.Gravity
-import android.view.View
-import com.adealink.weparty.call.R
-import com.tencent.cloud.tuikit.engine.call.TUICallDefine
-import com.tencent.qcloud.tuicore.TUIConfig
-import com.tencent.qcloud.tuikit.tuicallkit.data.Constants
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.trtc.tuikit.common.livedata.Observer
-
-class CallWaitingHintView(context: Context) : androidx.appcompat.widget.AppCompatTextView(context) {
-
-    private var isFirstShowAccept = true
-
-    private var callStatusObserver = Observer<TUICallDefine.Status> {
-        updateStatusText()
-    }
-
-    private var networkQualityObserver = Observer<Constants.NetworkQualityHint> {
-        when (it) {
-            Constants.NetworkQualityHint.Local ->
-                text = TUIConfig.getAppContext().getString(R.string.tuicallkit_self_network_low_quality)
-
-            Constants.NetworkQualityHint.Remote ->
-                text = TUIConfig.getAppContext().getString(R.string.tuicallkit_other_party_network_low_quality)
-
-            else -> updateStatusText()
-        }
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    fun clear() {
-        removeObserver()
-    }
-
-    private fun initView() {
-        setTextColor(context.resources.getColor(R.color.tuicallkit_color_white))
-        gravity = Gravity.CENTER
-
-        text = if (TUICallDefine.Scene.GROUP_CALL == TUICallState.instance.scene.get()) {
-            if (TUICallDefine.Role.Caller == TUICallState.instance.selfUser.get().callRole.get()) {
-                context.getString(R.string.call_wait_response)
-            } else {
-                context.getString(R.string.tuicallkit_wait_accept_group)
-            }
-        } else {
-            updateStatusText()
-        }
-    }
-
-    private fun updateSingleCallWaitingText(): String {
-        return if (TUICallDefine.Role.Caller == TUICallState.instance.selfUser.get().callRole.get()) {
-            context.getString(R.string.tuicallkit_waiting_accept)
-        } else {
-            if (TUICallDefine.MediaType.Video == TUICallState.instance.mediaType.get()) {
-                context.getString(R.string.call_invite_video_call)
-            } else {
-                context.getString(R.string.call_invite_audio_call)
-            }
-        }
-    }
-
-    private fun updateStatusText(): String {
-        if (TUICallDefine.Scene.GROUP_CALL == TUICallState.instance.scene.get()
-            && TUICallDefine.Status.Accept == TUICallState.instance.selfUser.get().callStatus.get()
-        ) {
-            visibility = View.GONE
-            return ""
-        }
-        if (TUICallState.instance.selfUser.get().callStatus.get() == TUICallDefine.Status.Waiting) {
-            text = updateSingleCallWaitingText()
-        } else if (TUICallState.instance.selfUser.get().callStatus.get() == TUICallDefine.Status.Accept) {
-            if (TUICallState.instance.selfUser.get().callRole.get() == TUICallDefine.Role.Caller && isFirstShowAccept) {
-                text = context.getString(R.string.tuicallkit_accept_single)
-                postDelayed({
-                    isFirstShowAccept = false
-                }, 2000)
-            } else {
-                text = ""
-            }
-        } else {
-            text = ""
-        }
-
-        return text.toString()
-    }
-
-    private fun addObserver() {
-        TUICallState.instance.selfUser.get().callStatus.observe(callStatusObserver)
-        TUICallState.instance.networkQualityReminder.observe(networkQualityObserver)
-    }
-
-    private fun removeObserver() {
-        TUICallState.instance.selfUser.get().callStatus.removeObserver(callStatusObserver)
-        TUICallState.instance.networkQualityReminder.removeObserver(networkQualityObserver)
-    }
-}

+ 0 - 35
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/function/AudioAndVideoCalleeWaitingView.kt

@@ -1,35 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.function
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.widget.LinearLayout
-import android.widget.TextView
-import com.adealink.weparty.call.R
-import com.tencent.qcloud.tuikit.tuicallkit.manager.EngineManager
-import com.tencent.qcloud.tuikit.tuicallkit.view.root.BaseCallView
-
-class AudioAndVideoCalleeWaitingView(context: Context) : BaseCallView(context) {
-    private var layoutReject: LinearLayout? = null
-    private var layoutDialing: LinearLayout? = null
-    private var textReject: TextView? = null
-    private var textDialing: TextView? = null
-
-    init {
-        initView()
-    }
-
-    private fun initView() {
-        LayoutInflater.from(context).inflate(R.layout.tuicallkit_function_view_invited_waiting, this)
-        layoutReject = findViewById(R.id.ll_decline)
-        layoutDialing = findViewById(R.id.ll_answer)
-        textReject = findViewById(R.id.tv_reject)
-        textDialing = findViewById(R.id.tv_dialing)
-
-        initViewListener()
-    }
-
-    private fun initViewListener() {
-//        layoutReject!!.setOnClickListener { EngineManager.instance.reject(null) }
-//        layoutDialing!!.setOnClickListener { EngineManager.instance.accept(null) }
-    }
-}

+ 0 - 105
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/function/AudioCallerWaitingAndAcceptedView.kt

@@ -1,105 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.function
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.widget.ImageView
-import android.widget.LinearLayout
-import android.widget.TextView
-import com.adealink.weparty.call.R
-import com.tencent.cloud.tuikit.engine.common.TUICommonDefine
-import com.tencent.qcloud.tuikit.tuicallkit.manager.EngineManager
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.tencent.qcloud.tuikit.tuicallkit.view.root.BaseCallView
-import com.trtc.tuikit.common.livedata.Observer
-
-class AudioCallerWaitingAndAcceptedView(context: Context) : BaseCallView(context) {
-    private var layoutMute: LinearLayout? = null
-    private var layoutHangup: LinearLayout? = null
-    private var layoutHandsFree: LinearLayout? = null
-    private var imageMute: ImageView? = null
-    private var imageHandsFree: ImageView? = null
-    private var textMic: TextView? = null
-    private var textAudioDevice: TextView? = null
-
-    private var isMicMuteObserver = Observer<Boolean> {
-        imageMute?.isActivated = it
-        textMic?.text = getMicText()
-    }
-
-    private var audioPlayoutDeviceObserver = Observer<TUICommonDefine.AudioPlaybackDevice> {
-        if (it == TUICommonDefine.AudioPlaybackDevice.Speakerphone) {
-            imageHandsFree?.isActivated = true
-        } else {
-            imageHandsFree?.isActivated = false
-        }
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    override fun addObserver() {
-        TUICallState.instance.isMicrophoneMute.observe(isMicMuteObserver)
-        TUICallState.instance.audioPlayoutDevice?.observe(audioPlayoutDeviceObserver)
-    }
-
-    override fun removeObserver() {
-        TUICallState.instance.isMicrophoneMute.removeObserver(isMicMuteObserver)
-        TUICallState.instance.audioPlayoutDevice?.removeObserver(audioPlayoutDeviceObserver)
-    }
-
-    private fun initView() {
-        LayoutInflater.from(context).inflate(R.layout.tuicallkit_function_view_audio, this)
-        layoutMute = findViewById(R.id.ll_mute)
-        imageMute = findViewById(R.id.img_mute)
-        layoutHangup = findViewById(R.id.ll_hangup)
-        layoutHandsFree = findViewById(R.id.ll_handsfree)
-        imageHandsFree = findViewById(R.id.img_handsfree)
-        textMic = findViewById(R.id.tv_mic)
-        textAudioDevice = findViewById(R.id.tv_audio_device)
-
-        imageMute?.isActivated = TUICallState.instance.isMicrophoneMute.get() == true
-        imageHandsFree?.isActivated =
-            TUICallState.instance.audioPlayoutDevice.get() == TUICommonDefine.AudioPlaybackDevice.Speakerphone
-        textMic?.text = getMicText()
-        textAudioDevice?.text = getAudioDeviceText()
-
-        initViewListener()
-    }
-
-    private fun initViewListener() {
-        layoutMute?.setOnClickListener {
-            if (TUICallState.instance.isMicrophoneMute.get() == true) {
-                EngineManager.instance.openMicrophone(null)
-            } else {
-                EngineManager.instance.closeMicrophone()
-            }
-        }
-        layoutHangup?.setOnClickListener { EngineManager.instance.hangup(null) }
-        layoutHandsFree?.setOnClickListener {
-            if (TUICallState.instance.audioPlayoutDevice.get() == TUICommonDefine.AudioPlaybackDevice.Speakerphone) {
-                EngineManager.instance.selectAudioPlaybackDevice(TUICommonDefine.AudioPlaybackDevice.Earpiece)
-            } else {
-                EngineManager.instance.selectAudioPlaybackDevice(TUICommonDefine.AudioPlaybackDevice.Speakerphone)
-            }
-            textAudioDevice?.text = getAudioDeviceText()
-        }
-    }
-
-    private fun getMicText(): String {
-        return if (TUICallState.instance.isMicrophoneMute.get() == true) {
-            context.getString(R.string.tuicallkit_toast_enable_mute)
-        } else {
-            context.getString(R.string.tuicallkit_toast_disable_mute)
-        }
-    }
-
-    private fun getAudioDeviceText(): String {
-        return if (TUICallState.instance.audioPlayoutDevice.get() == TUICommonDefine.AudioPlaybackDevice.Speakerphone) {
-            context.getString(R.string.tuicallkit_toast_speaker)
-        } else {
-            context.getString(R.string.tuicallkit_toast_use_earpiece)
-        }
-    }
-}

+ 0 - 227
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/function/VideoCallerAndCalleeAcceptedView.kt

@@ -1,227 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.function
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.widget.ImageView
-import android.widget.TextView
-import androidx.constraintlayout.motion.widget.MotionLayout
-import com.adealink.weparty.call.R
-import com.tencent.cloud.tuikit.engine.call.TUICallDefine
-import com.tencent.cloud.tuikit.engine.common.TUICommonDefine
-import com.tencent.qcloud.tuikit.tuicallkit.manager.EngineManager
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.videolayout.VideoViewFactory
-import com.tencent.qcloud.tuikit.tuicallkit.view.root.BaseCallView
-import com.trtc.tuikit.common.livedata.Observer
-
-class VideoCallerAndCalleeAcceptedView(context: Context) : BaseCallView(context) {
-    private var rootLayout: MotionLayout? = null
-    private var imageOpenCamera: ImageView? = null
-    private var imageMute: ImageView? = null
-    private var imageAudioDevice: ImageView? = null
-    private var imageHangup: ImageView? = null
-    private var imageSwitchCamera: ImageView? = null
-    private var imageExpandView: ImageView? = null
-    private var imageBlurBackground: ImageView? = null
-    private var textMute: TextView? = null
-    private var textAudioDevice: TextView? = null
-    private var textCamera: TextView? = null
-
-    private var isCameraOpenObserver = Observer<Boolean> {
-        imageOpenCamera?.isActivated = it
-        textCamera?.text = if (it) {
-            context.getString(R.string.tuicallkit_toast_enable_camera)
-        } else {
-            context.getString(R.string.tuicallkit_toast_disable_camera)
-        }
-
-        if (it && TUICallState.instance.scene.get() == TUICallDefine.Scene.SINGLE_CALL) {
-            refreshButton(R.id.iv_function_switch_camera, VISIBLE)
-            refreshButton(
-                R.id.img_blur_background, if (TUICallState.instance.showVirtualBackgroundButton) VISIBLE else GONE
-            )
-        } else {
-            refreshButton(R.id.iv_function_switch_camera, GONE)
-            refreshButton(R.id.img_blur_background, GONE)
-        }
-    }
-
-    private fun refreshButton(resId: Int, enable: Int) {
-        rootLayout?.getConstraintSet(R.id.start)?.getConstraint(resId)?.propertySet?.visibility = enable
-        rootLayout?.getConstraintSet(R.id.end)?.getConstraint(resId)?.propertySet?.visibility = enable
-    }
-
-    private var isMicMuteObserver = Observer<Boolean> {
-        imageMute?.isActivated = it
-    }
-
-    private var isSpeakerObserver = Observer<TUICommonDefine.AudioPlaybackDevice> {
-        imageAudioDevice?.isActivated = it == TUICommonDefine.AudioPlaybackDevice.Speakerphone
-    }
-
-    private val isBottomViewExpandedObserver = Observer<Boolean> {
-        updateView(it)
-        enableSwipeFunctionView(true)
-    }
-
-    init {
-        initView()
-
-        addObserver()
-    }
-
-    override fun addObserver() {
-        TUICallState.instance.isCameraOpen.observe(isCameraOpenObserver)
-        TUICallState.instance.isMicrophoneMute.observe(isMicMuteObserver)
-        TUICallState.instance.audioPlayoutDevice.observe(isSpeakerObserver)
-        TUICallState.instance.isBottomViewExpand.observe(isBottomViewExpandedObserver)
-    }
-
-    override fun removeObserver() {
-        TUICallState.instance.isCameraOpen.removeObserver(isCameraOpenObserver)
-        TUICallState.instance.isMicrophoneMute.removeObserver(isMicMuteObserver)
-        TUICallState.instance.audioPlayoutDevice.removeObserver(isSpeakerObserver)
-        TUICallState.instance.isBottomViewExpand.removeObserver(isBottomViewExpandedObserver)
-    }
-
-    private fun initView() {
-        LayoutInflater.from(context).inflate(R.layout.tuicallkit_function_view_video, this)
-        rootLayout = findViewById(R.id.cl_view_video)
-        imageMute = findViewById(R.id.iv_mute)
-        textMute = findViewById(R.id.tv_mic)
-        imageAudioDevice = findViewById(R.id.iv_speaker)
-        textAudioDevice = findViewById(R.id.tv_speaker)
-        imageOpenCamera = findViewById(R.id.iv_camera)
-        imageHangup = findViewById(R.id.iv_hang_up)
-        textCamera = findViewById(R.id.tv_video_camera)
-        imageSwitchCamera = findViewById(R.id.iv_function_switch_camera)
-        imageBlurBackground = findViewById(R.id.img_blur_background)
-        imageExpandView = findViewById(R.id.iv_expanded)
-        imageExpandView?.visibility = INVISIBLE
-
-        imageOpenCamera?.isActivated = TUICallState.instance.isCameraOpen.get() == true
-        imageMute?.isActivated = TUICallState.instance.isMicrophoneMute.get() == true
-        imageAudioDevice?.isActivated =
-            TUICallState.instance.audioPlayoutDevice.get() == TUICommonDefine.AudioPlaybackDevice.Speakerphone
-
-        textCamera?.text = if (TUICallState.instance.isCameraOpen.get()) {
-            context.getString(R.string.tuicallkit_toast_enable_camera)
-        } else {
-            context.getString(R.string.tuicallkit_toast_disable_camera)
-        }
-
-        if (TUICallState.instance.audioPlayoutDevice.get() == TUICommonDefine.AudioPlaybackDevice.Speakerphone) {
-            textAudioDevice?.text = context.getString(R.string.tuicallkit_toast_speaker)
-        } else {
-            textAudioDevice?.text = context.getString(R.string.tuicallkit_toast_use_earpiece)
-        }
-
-        if (TUICallState.instance.scene.get() == TUICallDefine.Scene.SINGLE_CALL
-            && TUICallState.instance.isCameraOpen.get()
-        ) {
-            imageSwitchCamera?.visibility = VISIBLE
-            imageBlurBackground?.visibility = if (TUICallState.instance.showVirtualBackgroundButton) VISIBLE else GONE
-        } else {
-            imageSwitchCamera?.visibility = GONE
-            imageBlurBackground?.visibility = GONE
-        }
-
-//        if (!TUICallState.instance.isBottomViewExpand.get() && TUICallState.instance.showLargeViewUserId.get() != null) {
-//            TUICallState.instance.isBottomViewExpand.set(!TUICallState.instance.isBottomViewExpand.get())
-//        }
-        initViewListener()
-        enableSwipeFunctionView(false)
-    }
-
-    private fun enableSwipeFunctionView(enable: Boolean) {
-        if (TUICallState.instance.scene.get() == TUICallDefine.Scene.SINGLE_CALL) {
-            rootLayout?.enableTransition(R.id.video_function_view_transition, false)
-            return
-        }
-        rootLayout?.enableTransition(R.id.video_function_view_transition, enable)
-    }
-
-    private fun initViewListener() {
-        imageMute?.setOnClickListener {
-            val resId = if (TUICallState.instance.isMicrophoneMute.get() == true) {
-                EngineManager.instance.openMicrophone(null)
-                R.string.tuicallkit_toast_disable_mute
-            } else {
-                EngineManager.instance.closeMicrophone()
-                R.string.tuicallkit_toast_enable_mute
-            }
-            textMute?.text = context.getString(resId)
-        }
-        imageAudioDevice?.setOnClickListener {
-            var resId: Int
-            if (TUICallState.instance.audioPlayoutDevice.get() == TUICommonDefine.AudioPlaybackDevice.Speakerphone) {
-                EngineManager.instance.selectAudioPlaybackDevice(TUICommonDefine.AudioPlaybackDevice.Earpiece)
-                resId = R.string.tuicallkit_toast_use_earpiece
-            } else {
-                EngineManager.instance.selectAudioPlaybackDevice(TUICommonDefine.AudioPlaybackDevice.Speakerphone)
-                resId = R.string.tuicallkit_toast_speaker
-            }
-            textAudioDevice?.text = context.getString(resId)
-        }
-        imageOpenCamera?.setOnClickListener {
-            if (TUICallState.instance.isCameraOpen.get() == true) {
-                EngineManager.instance.closeCamera()
-            } else {
-                var camera: TUICommonDefine.Camera = TUICallState.instance.isFrontCamera.get()
-                val videoView = VideoViewFactory.instance.findVideoView(TUICallState.instance.selfUser.get().id)
-                EngineManager.instance.openCamera(camera, videoView?.getVideoView(), null)
-
-                if (TUICallState.instance.scene.get() == TUICallDefine.Scene.GROUP_CALL) {
-//                    if (TUICallState.instance.showLargeViewUserId.get() != TUICallState.instance.selfUser.get().id) {
-//                        TUICallState.instance.showLargeViewUserId.set(TUICallState.instance.selfUser.get().id)
-//                    }
-                }
-            }
-        }
-
-        imageHangup?.setOnClickListener { EngineManager.instance.hangup(null) }
-
-        imageExpandView?.setOnClickListener() {
-            TUICallState.instance.isBottomViewExpand.set(!TUICallState.instance.isBottomViewExpand.get())
-        }
-
-        imageBlurBackground?.setOnClickListener {
-            EngineManager.instance.setBlurBackground(!TUICallState.instance.enableBlurBackground.get())
-        }
-
-        imageSwitchCamera?.setOnClickListener() {
-            var camera = TUICommonDefine.Camera.Back
-            if (TUICallState.instance.isFrontCamera.get() == TUICommonDefine.Camera.Back) {
-                camera = TUICommonDefine.Camera.Front
-            }
-            EngineManager.instance.switchCamera(camera)
-        }
-
-        rootLayout?.addTransitionListener(object : MotionLayout.TransitionListener {
-            override fun onTransitionStarted(motionLayout: MotionLayout, startId: Int, endId: Int) {
-                rootLayout?.background = context.resources.getDrawable(R.drawable.tuicallkit_bg_group_call_bottom)
-            }
-
-            override fun onTransitionChange(motionLayout: MotionLayout, startId: Int, endId: Int, progress: Float) {}
-
-            override fun onTransitionCompleted(motionLayout: MotionLayout, currentId: Int) {
-                rootLayout?.getConstraintSet(R.id.start)?.getConstraint(R.id.iv_expanded)?.propertySet?.visibility =
-                    VISIBLE
-            }
-
-            override fun onTransitionTrigger(motionLayout: MotionLayout, id: Int, positive: Boolean, progress: Float) {}
-        })
-    }
-
-    private fun updateView(isExpand: Boolean) {
-        if (TUICallState.instance.scene?.get() == TUICallDefine.Scene.SINGLE_CALL) {
-            return
-        }
-        if (isExpand) {
-            rootLayout?.transitionToStart()
-            rootLayout?.getConstraintSet(R.id.start)?.getConstraint(R.id.iv_expanded)?.propertySet?.visibility = VISIBLE
-        } else {
-            rootLayout?.transitionToEnd()
-        }
-    }
-}

+ 0 - 122
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/function/VideoCallerWaitingView.kt

@@ -1,122 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.function
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.widget.ImageView
-import android.widget.LinearLayout
-import android.widget.TextView
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.constraintlayout.widget.ConstraintSet
-import com.adealink.weparty.call.R
-import com.tencent.cloud.tuikit.engine.common.TUICommonDefine
-import com.tencent.qcloud.tuikit.tuicallkit.manager.EngineManager
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.videolayout.VideoViewFactory
-import com.tencent.qcloud.tuikit.tuicallkit.view.root.BaseCallView
-import com.trtc.tuikit.common.livedata.Observer
-
-class VideoCallerWaitingView(context: Context) : BaseCallView(context) {
-    private var layoutCancel: LinearLayout? = null
-    private var imageSwitchCamera: ImageView? = null
-    private var imageViewBlur: ImageView? = null
-    private var imageOpenCamera: ImageView? = null
-    private var layoutBlurBackground: LinearLayout? = null
-    private var textCamera: TextView? = null
-
-    private var enableBlurBackgroundObserver = Observer<Boolean> {
-        imageViewBlur?.isActivated = TUICallState.instance.enableBlurBackground.get()
-    }
-
-    private var isCameraOpenObserver = Observer<Boolean> {
-        imageOpenCamera?.isActivated = TUICallState.instance.isCameraOpen.get()
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    override fun addObserver() {
-        super.addObserver()
-        TUICallState.instance.enableBlurBackground.observe(enableBlurBackgroundObserver)
-        TUICallState.instance.isCameraOpen.observe(isCameraOpenObserver)
-    }
-
-    override fun removeObserver() {
-        super.removeObserver()
-        TUICallState.instance.enableBlurBackground.removeObserver(enableBlurBackgroundObserver)
-        TUICallState.instance.isCameraOpen.removeObserver(isCameraOpenObserver)
-    }
-
-    private fun initView() {
-        LayoutInflater.from(context).inflate(R.layout.tuicallkit_function_view_video_inviting, this)
-        layoutCancel = findViewById(R.id.ll_cancel)
-        imageSwitchCamera = findViewById(R.id.img_switch_camera)
-        imageOpenCamera = findViewById(R.id.img_camera)
-        textCamera = findViewById(R.id.tv_camera)
-        layoutBlurBackground = findViewById(R.id.ll_blur)
-        imageViewBlur = findViewById(R.id.iv_video_blur)
-
-        imageOpenCamera?.isActivated = TUICallState.instance.isCameraOpen.get()
-
-        if (!TUICallState.instance.showVirtualBackgroundButton) {
-            layoutBlurBackground?.visibility = GONE
-            reLayoutView()
-        }
-
-        initViewListener()
-    }
-
-    private fun reLayoutView() {
-        val constraintLayout: ConstraintLayout = findViewById(R.id.constraint_layout)
-        val constraintSet: ConstraintSet = ConstraintSet()
-        constraintSet.clone(constraintLayout)
-
-        constraintSet.connect(R.id.ll_cancel, ConstraintSet.TOP, ConstraintSet.PARENT_ID, ConstraintSet.TOP)
-
-        constraintSet.connect(R.id.ll_switch, ConstraintSet.START, ConstraintSet.PARENT_ID, ConstraintSet.START)
-        constraintSet.connect(R.id.ll_switch, ConstraintSet.END, R.id.ll_cancel, ConstraintSet.START)
-        constraintSet.connect(R.id.ll_switch, ConstraintSet.TOP, R.id.ll_cancel, ConstraintSet.TOP)
-        constraintSet.connect(R.id.ll_switch, ConstraintSet.BOTTOM, R.id.ll_cancel, ConstraintSet.BOTTOM)
-
-        constraintSet.connect(R.id.ll_camera, ConstraintSet.START, R.id.ll_cancel, ConstraintSet.END)
-        constraintSet.connect(R.id.ll_camera, ConstraintSet.END, ConstraintSet.PARENT_ID, ConstraintSet.END)
-        constraintSet.connect(R.id.ll_camera, ConstraintSet.TOP, R.id.ll_cancel, ConstraintSet.TOP)
-        constraintSet.connect(R.id.ll_camera, ConstraintSet.BOTTOM, R.id.ll_cancel, ConstraintSet.BOTTOM)
-
-        constraintSet.applyTo(constraintLayout)
-    }
-
-    private fun initViewListener() {
-        layoutCancel?.setOnClickListener { EngineManager.instance.hangup(null) }
-        imageSwitchCamera!!.setOnClickListener {
-            var camera = TUICommonDefine.Camera.Back
-            if (TUICallState.instance.isFrontCamera.get() == TUICommonDefine.Camera.Back) {
-                camera = TUICommonDefine.Camera.Front
-            }
-            EngineManager.instance.switchCamera(camera)
-        }
-        imageOpenCamera?.setOnClickListener {
-            if (TUICallState.instance.isCameraOpen.get()) {
-                EngineManager.instance.closeCamera()
-
-                imageOpenCamera?.setImageResource(R.drawable.tuicallkit_ic_camera_disable)
-                textCamera?.text = context.resources.getString(R.string.tuicallkit_toast_disable_camera)
-                imageSwitchCamera?.isEnabled = false
-                layoutBlurBackground?.isEnabled = false
-            } else {
-                val camera = TUICallState.instance.isFrontCamera.get()
-                val videoView = VideoViewFactory.instance.findVideoView(TUICallState.instance.selfUser.get().id)
-                EngineManager.instance.openCamera(camera, videoView?.getVideoView(), null)
-
-                imageOpenCamera?.setImageResource(R.drawable.tuicallkit_ic_camera_enable)
-                textCamera?.text = context.resources.getString(R.string.tuicallkit_toast_enable_camera)
-                imageSwitchCamera?.isEnabled = true
-                layoutBlurBackground?.isEnabled = true
-            }
-        }
-        layoutBlurBackground?.setOnClickListener {
-            EngineManager.instance.setBlurBackground(!TUICallState.instance.enableBlurBackground.get())
-        }
-    }
-}

+ 0 - 62
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/userinfo/single/AudioCallUserInfoView.kt

@@ -1,62 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.userinfo.single
-
-import android.content.Context
-import android.text.TextUtils
-import android.view.LayoutInflater
-import android.widget.ImageView
-import android.widget.TextView
-import com.adealink.weparty.call.R
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.tencent.qcloud.tuikit.tuicallkit.view.root.BaseCallView
-import com.trtc.tuikit.common.livedata.Observer
-import com.adealink.weparty.R as APP_R
-
-class AudioCallUserInfoView(context: Context) : BaseCallView(context) {
-    private var imageBackground: ImageView? = null
-    private var imageAvatar: ImageView? = null
-    private var textUserName: TextView? = null
-    private var userModel = TUICallState.instance.remoteUserList.get().first()
-
-    private var avatarObserver = Observer<String> {
-        if (!TextUtils.isEmpty(it)) {
-            //ImageLoader.loadImage(context.applicationContext, imageAvatar, it, APP_R.drawable.common_default_avatar_ic)
-        }
-        setBackground()
-    }
-
-    private var nicknameObserver = Observer<String> {
-        if (!TextUtils.isEmpty(it)) {
-            textUserName?.text = it
-        }
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    private fun initView() {
-        LayoutInflater.from(context).inflate(R.layout.tuicallkit_user_info_audio, this)
-        imageBackground = findViewById(R.id.img_user_background)
-        imageAvatar = findViewById(R.id.img_avatar)
-        textUserName = findViewById(R.id.tv_name)
-//        ImageLoader.loadImage(context, imageAvatar, userModel.avatar.get(), R.drawable.common_default_avatar_ic)
-//        textUserName!!.text = userModel.nickname.get()
-
-        setBackground()
-    }
-
-    private fun setBackground() {
-//        ImageLoader.loadBlurImage(context, imageBackground, userModel.avatar.get())
-    }
-
-    override fun addObserver() {
-//        userModel.avatar.observe(avatarObserver)
-//        userModel.nickname.observe(nicknameObserver)
-    }
-
-    override fun removeObserver() {
-//        userModel.avatar.removeObserver(avatarObserver)
-//        userModel.nickname.removeObserver(nicknameObserver)
-    }
-}

+ 0 - 65
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/userinfo/single/VideoCallUserInfoView.kt

@@ -1,65 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.userinfo.single
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.widget.ImageView
-import android.widget.TextView
-import com.adealink.weparty.call.R
-import com.tencent.cloud.tuikit.engine.call.TUICallDefine
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.tencent.qcloud.tuikit.tuicallkit.view.root.BaseCallView
-import com.trtc.tuikit.common.livedata.Observer
-
-class VideoCallUserInfoView(context: Context) : BaseCallView(context) {
-    private var imageAvatar: ImageView? = null
-    private var textUserName: TextView? = null
-    private var userModel = TUICallState.instance.remoteUserList.get().first()
-
-    private var callStatusObserver = Observer<TUICallDefine.Status> {
-        if (it == TUICallDefine.Status.Accept) {
-            this.visibility = GONE
-        } else if (it == TUICallDefine.Status.Waiting) {
-            this.visibility = VISIBLE
-        }
-    }
-
-    private var mediaTypeObserver = Observer<TUICallDefine.MediaType> {
-        if (it == TUICallDefine.MediaType.Audio) {
-            this.visibility = GONE
-        } else {
-            this.visibility = VISIBLE
-        }
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    private fun initView() {
-        LayoutInflater.from(context).inflate(R.layout.tuicallkit_user_info_video, this)
-        imageAvatar = findViewById(R.id.iv_user_avatar)
-        textUserName = findViewById(R.id.tv_user_name)
-
-//        ImageLoader.loadImage(context, imageAvatar, userModel.avatar.get(), R.drawable.common_default_avatar_ic)
-//        textUserName!!.text = userModel.nickname.get()
-
-        if (TUICallState.instance.selfUser.get().callStatus.get() == TUICallDefine.Status.Accept
-            || TUICallState.instance.mediaType.get() == TUICallDefine.MediaType.Audio
-        ) {
-            this.visibility = GONE
-        } else {
-            this.visibility = VISIBLE
-        }
-    }
-
-    override fun addObserver() {
-        TUICallState.instance.selfUser.get().callStatus.observe(callStatusObserver)
-        TUICallState.instance.mediaType.observe(mediaTypeObserver)
-    }
-
-    override fun removeObserver() {
-        TUICallState.instance.selfUser.get().callStatus.removeObserver(callStatusObserver)
-        TUICallState.instance.mediaType.removeObserver(mediaTypeObserver)
-    }
-}

+ 0 - 309
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/videolayout/GroupCallFlowLayout.kt

@@ -1,309 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.videolayout
-
-import android.content.Context
-import android.content.res.Configuration
-import android.view.View
-import android.widget.RelativeLayout
-import com.tencent.qcloud.tuicore.util.ScreenUtil
-import com.tencent.qcloud.tuikit.tuicallkit.data.Constants
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-
-open class GroupCallFlowLayout(context: Context) : RelativeLayout(context) {
-    companion object {
-        const val TAG = "GroupCallFlowLayout"
-        const val DEFAULT_INDEX: Int = -99
-    }
-
-    public var showLargeViewIndex = DEFAULT_INDEX
-    private var measureWidth: Int = 0
-    private var screenWidth: Int = 0
-    private var screenHeight: Int = 0
-    private val changeList = ArrayList<View>()
-    private var startMargin: Int = 0
-
-    init {
-        setViewWidth()
-    }
-
-    override fun onConfigurationChanged(newConfig: Configuration?) {
-        super.onConfigurationChanged(newConfig)
-        setViewWidth()
-        requestLayout()
-    }
-
-    private fun setViewWidth() {
-        screenWidth = ScreenUtil.getRealScreenWidth(context)
-        screenHeight = ScreenUtil.getRealScreenHeight(context)
-        measureWidth = screenWidth
-        startMargin = 0
-
-        val isLandScape = when (TUICallState.instance.orientation) {
-            Constants.Orientation.Portrait -> false
-            Constants.Orientation.LandScape -> true
-            else -> ScreenUtil.getRealScreenWidth(context) > ScreenUtil.getRealScreenHeight(context)
-        }
-
-        if (isLandScape) {
-            // Set grid's actual width to 0.6 times the minimum value of width and height in landscape mode
-            measureWidth = (screenHeight * 0.6).toInt()
-            startMargin = (screenWidth - measureWidth) / 2
-        }
-    }
-
-    override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
-        val width = MeasureSpec.makeMeasureSpec(screenWidth, MeasureSpec.EXACTLY)
-        var height = MeasureSpec.makeMeasureSpec(measureWidth + measureWidth / 3, MeasureSpec.EXACTLY)
-
-        if (showLargeViewIndex < 0) {
-            height = if (childCount <= 2) {
-                MeasureSpec.makeMeasureSpec(measureWidth / 2 + getTopMargin(childCount), MeasureSpec.EXACTLY)
-            } else {
-                MeasureSpec.makeMeasureSpec(measureWidth, MeasureSpec.EXACTLY)
-            }
-        }
-        setMeasuredDimension(width, height)
-
-        for (i in 0 until childCount) {
-            val child: View = getChildAt(i)
-            val childSize = MeasureSpec.makeMeasureSpec(getMeasureSize(i, childCount), MeasureSpec.EXACTLY)
-            measureChild(child, childSize, childSize)
-        }
-    }
-
-    override fun onLayout(changed: Boolean, l: Int, t: Int, r: Int, b: Int) {
-        val params = getLocation(childCount)
-
-        if (showLargeViewIndex > 0 && childCount <= 4) {
-            for (i in 0 until childCount) {
-                val child = getChildAt(i)
-                if (i != showLargeViewIndex) {
-                    changeList.add(child)
-                } else {
-                    changeList.add(0, child)
-                }
-            }
-
-            for (i in 0 until changeList.size) {
-                val view = changeList[i]
-                val pos = params[i]
-                view.layout(pos.x, pos.y, view.measuredWidth + pos.x, view.measuredHeight + pos.y)
-            }
-            changeList.clear()
-            return
-        }
-
-        val topMargin = getTopMargin(childCount)
-
-        for (i in 0 until childCount) {
-            val child = getChildAt(i)
-            val pos = params[i]
-            child.layout(
-                pos.x, pos.y + topMargin,
-                child.measuredWidth + pos.x, child.measuredHeight + pos.y + topMargin
-            )
-        }
-    }
-
-    public fun setLargeViewIndex(index: Int) {
-        showLargeViewIndex = if (index == showLargeViewIndex) {
-            DEFAULT_INDEX
-        } else {
-            index
-        }
-        requestLayout()
-    }
-
-    private fun getMeasureSize(index: Int, count: Int): Int {
-        return when {
-            count <= 4 && showLargeViewIndex == index -> measureWidth
-            count <= 4 && showLargeViewIndex < 0 -> measureWidth / 2
-            count > 4 && showLargeViewIndex == index -> measureWidth / 3 * 2
-            else -> measureWidth / 3
-        }
-    }
-
-    private fun getTopMargin(count: Int): Int {
-        return if (count <= 2 && showLargeViewIndex < 0 && screenWidth < screenHeight) {
-            measureWidth / 4
-        } else {
-            0
-        }
-    }
-
-    private fun getLocation(count: Int): List<Position> {
-        val width = measureWidth / 3
-        val height = measureWidth / 3
-
-        var currentIndex = 0
-        var lastFrame = 0
-        var segment: SegmentStyle = getSegment(count, currentIndex)
-
-        val list = ArrayList<Position>()
-        while (currentIndex < count) {
-            when (segment) {
-                SegmentStyle.FULL_WIDTH -> {
-                    list.add(fullWidth(startMargin, lastFrame, width, height))
-                    lastFrame += height * 3
-                    currentIndex += 1
-                }
-                SegmentStyle.FIFTY_FIFTY -> {
-                    list.addAll(fiftyFifty(startMargin, lastFrame, width, height))
-                    lastFrame += height * 3
-                    currentIndex += 4
-                }
-                SegmentStyle.THREE_ONE_THIRDS -> {
-                    list.addAll(threeOneThird(startMargin, lastFrame, width, height))
-                    lastFrame += height
-                    currentIndex += 3
-                }
-                SegmentStyle.TWO_THIRDS_ONE_THIRD_CENTER -> {
-                    list.addAll(twoThirdsOneThirdCenter(startMargin, lastFrame, width, height))
-                    lastFrame += height * 2
-                    currentIndex += 3
-                }
-                SegmentStyle.TWO_THIRDS_ONE_THIRD_RIGHT -> {
-                    list.addAll(twoThirdsOneThirdRight(startMargin, lastFrame, width, height))
-                    lastFrame += height * 2
-                    currentIndex += 3
-                }
-                SegmentStyle.ONE_THIRD_TWO_THIRDS -> {
-                    list.addAll(oneThirdTwoThirds(startMargin, lastFrame, width, height))
-                    lastFrame += height * 2
-                    currentIndex += 3
-                }
-                SegmentStyle.ONE_THIRD -> {
-                    list.addAll(oneThird(startMargin, lastFrame, width, height))
-                    lastFrame += height * 3
-                    currentIndex += 3
-                }
-                else -> {}
-            }
-            segment = getSegment(count, currentIndex)
-        }
-        return list
-    }
-
-    private fun oneThirdTwoThirds(x: Int, y: Int, width: Int, height: Int): List<Position> {
-        val list = ArrayList<Position>()
-        list.add(Position(x, y, width * 2, height * 2))
-        list.add(Position(x + width * 2, y, width, height))
-        list.add(Position(x + width * 2, y + height, width, height))
-        return list
-    }
-
-    private fun threeOneThird(x: Int, y: Int, width: Int, height: Int): List<Position> {
-        val list = ArrayList<Position>()
-        list.add(Position(x, y, width, height))
-        list.add(Position(x + width, y, width, height))
-        list.add(Position(x + width * 2, y, width, height))
-        return list
-    }
-
-    private fun fullWidth(x: Int, y: Int, width: Int, height: Int): Position = Position(x, y, width * 3, height * 3)
-
-    private fun twoThirdsOneThirdCenter(x: Int, y: Int, width: Int, height: Int): List<Position> {
-        val list = ArrayList<Position>()
-        list.add(Position(x, y, width, height))
-        list.add(Position(x + width, y, width * 2, height * 2))
-        list.add(Position(x, y + height, width, height))
-        return list
-    }
-
-    private fun twoThirdsOneThirdRight(x: Int, y: Int, width: Int, height: Int): List<Position> {
-        val list = ArrayList<Position>()
-        list.add(Position(x, y, width, height))
-        list.add(Position(x, y + height, width, height))
-        list.add(Position(x + width, y, width * 2, height * 2))
-        return list
-    }
-
-    private fun fiftyFifty(x: Int, y: Int, childWidth: Int, childHeight: Int): List<Position> {
-        val width = childWidth * 3 / 2
-        val height = childHeight * 3 / 2
-
-        val list = ArrayList<Position>()
-        list.add(Position(x, y, width, height))
-        list.add(Position(x + width, y, width, height))
-        list.add(Position(x, y + height, width, height))
-        list.add(Position(x + width, y + height, width, height))
-        return list
-    }
-
-    private fun oneThird(x: Int, y: Int, childWidth: Int, childHeight: Int): List<Position> {
-        val width = childWidth * 3 / 2
-        val height = childHeight * 3 / 2
-
-        val list = ArrayList<Position>()
-        list.add(Position(x, y, width, height))
-        list.add(Position(x + width, y, width, height))
-        list.add(Position(x + width / 2, y + height, width, height))
-        return list
-    }
-
-    private fun getSegment(count: Int, currentIndex: Int): SegmentStyle {
-        var segment = SegmentStyle.THREE_ONE_THIRDS
-        if (currentIndex == 0) {
-            when {
-                count == 1 -> segment = SegmentStyle.FULL_WIDTH
-                count == 2 || count == 4 -> segment =
-                    if (showLargeViewIndex >= 0) SegmentStyle.FULL_WIDTH else SegmentStyle.FIFTY_FIFTY
-                count == 3 -> segment =
-                    if (showLargeViewIndex >= 0) SegmentStyle.FULL_WIDTH else SegmentStyle.ONE_THIRD
-                showLargeViewIndex == 0 -> segment = SegmentStyle.ONE_THIRD_TWO_THIRDS
-                showLargeViewIndex == 1 -> segment = SegmentStyle.TWO_THIRDS_ONE_THIRD_CENTER
-                showLargeViewIndex == 2 -> segment = SegmentStyle.TWO_THIRDS_ONE_THIRD_RIGHT
-            }
-            return segment
-        }
-        when (count - currentIndex) {
-            1 -> segment = when {
-                count == 3 -> SegmentStyle.ONE_THIRD
-                count > 4 && showLargeViewIndex == count - 1 -> SegmentStyle.ONE_THIRD_TWO_THIRDS
-                count == 4 -> SegmentStyle.FIFTY_FIFTY
-                count > 4 && showLargeViewIndex == currentIndex -> SegmentStyle.ONE_THIRD_TWO_THIRDS
-                count > 4 && showLargeViewIndex == currentIndex + 1 -> SegmentStyle.TWO_THIRDS_ONE_THIRD_CENTER
-                count > 4 && showLargeViewIndex == currentIndex + 2 -> SegmentStyle.TWO_THIRDS_ONE_THIRD_RIGHT
-                else -> SegmentStyle.THREE_ONE_THIRDS
-            }
-            2 -> segment = when {
-                count == 4 -> SegmentStyle.FIFTY_FIFTY
-                count > 4 && showLargeViewIndex == currentIndex -> SegmentStyle.ONE_THIRD_TWO_THIRDS
-                count > 4 && showLargeViewIndex == currentIndex + 1 -> SegmentStyle.TWO_THIRDS_ONE_THIRD_CENTER
-                count > 4 && showLargeViewIndex == currentIndex + 2 -> SegmentStyle.TWO_THIRDS_ONE_THIRD_RIGHT
-                else -> SegmentStyle.THREE_ONE_THIRDS
-            }
-            else -> segment =
-                when {
-                    count > 4 && showLargeViewIndex == currentIndex -> SegmentStyle.ONE_THIRD_TWO_THIRDS
-                    count > 4 && showLargeViewIndex == currentIndex + 1 -> SegmentStyle.TWO_THIRDS_ONE_THIRD_CENTER
-                    count > 4 && showLargeViewIndex == currentIndex + 2 -> SegmentStyle.TWO_THIRDS_ONE_THIRD_RIGHT
-                    else -> SegmentStyle.THREE_ONE_THIRDS
-                }
-        }
-        return segment
-    }
-
-    class Position(xx: Int, yy: Int, wWidth: Int, hHeight: Int) {
-        var x = 0
-        var y = 0
-        var width = 0
-        var height = 0
-
-        init {
-            x = xx
-            y = yy
-            width = wWidth
-            height = hHeight
-        }
-    }
-
-    enum class SegmentStyle {
-        FULL_WIDTH,
-        ONE_THIRD,
-        FIFTY_FIFTY,
-        THREE_ONE_THIRDS,
-        ONE_THIRD_TWO_THIRDS,
-        TWO_THIRDS_ONE_THIRD_CENTER,
-        TWO_THIRDS_ONE_THIRD_RIGHT
-    }
-}

+ 0 - 141
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/videolayout/GroupCallVideoLayout.kt

@@ -1,141 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.videolayout
-
-import android.content.Context
-import android.view.GestureDetector
-import android.view.MotionEvent
-import android.view.View.OnTouchListener
-import android.view.ViewGroup
-import android.widget.RelativeLayout
-import androidx.transition.TransitionManager
-import com.tencent.cloud.tuikit.engine.call.TUICallDefine
-import com.tencent.qcloud.tuikit.tuicallkit.data.User
-import com.tencent.qcloud.tuikit.tuicallkit.manager.EngineManager
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.tencent.qcloud.tuikit.tuicallkit.viewmodel.component.videolayout.GroupCallVideoLayoutViewModel
-import com.trtc.tuikit.common.livedata.Observer
-
-class GroupCallVideoLayout(context: Context) : GroupCallFlowLayout(context) {
-    private var viewModel = GroupCallVideoLayoutViewModel()
-    private var changedUserObserver = Observer<User> {
-        updateView(it)
-    }
-    private var showLargeViewUserIdObserver = Observer<String> {
-        var index = DEFAULT_INDEX
-        for (i in 0 until viewModel.userList.get().size) {
-            if (it == viewModel.userList.get()[i].id) {
-                index = i
-                break
-            }
-        }
-        TransitionManager.beginDelayedTransition(this)
-        setLargeViewIndex(index)
-        val isExpand = showLargeViewIndex != index || showLargeViewIndex == DEFAULT_INDEX
-        viewModel.updateBottomViewExpanded(isExpand)
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    fun clear() {
-        removeObserver()
-        viewModel.removeObserver()
-    }
-
-    private fun addObserver() {
-        viewModel.changedUser.observe(changedUserObserver)
-        viewModel.showLargeViewUserId.observe(showLargeViewUserIdObserver)
-    }
-
-    private fun removeObserver() {
-        viewModel.changedUser.removeObserver(changedUserObserver)
-        viewModel.showLargeViewUserId.removeObserver(showLargeViewUserIdObserver)
-    }
-
-    private fun initView() {
-        removeAllViews()
-
-        for ((index, user) in viewModel.userList.get().withIndex()) {
-            val videoView = VideoViewFactory.instance.createVideoView(user, context)
-            if (videoView != null && videoView.parent != null) {
-                if (videoView.parent.parent != null) {
-                    (videoView.parent.parent as ViewGroup).removeAllViews()
-                }
-                (videoView.parent as RelativeLayout).removeView(videoView)
-            }
-
-            addView(videoView)
-            initGestureListener(user)
-
-            if (TUICallDefine.MediaType.Video == viewModel.mediaType.get()) {
-                if (index == 0) {
-                    if (TUICallState.instance.isCameraOpen.get()) {
-                        EngineManager.instance.openCamera(
-                            viewModel.isFrontCamera.get(), videoView?.getVideoView(), null
-                        )
-                        viewModel.updateShowLargeViewUserId(user.id)
-                    }
-                } else {
-                    EngineManager.instance.startRemoteView(user.id, videoView?.getVideoView(), null)
-                }
-            } else if (index != 0 && user.videoAvailable.get() == true) {
-                EngineManager.instance.startRemoteView(user.id, videoView?.getVideoView(), null)
-            }
-        }
-    }
-
-    private fun updateView(user: User) {
-        if (user.callStatus.get() == TUICallDefine.Status.None) {
-            var videoView = VideoViewFactory.instance.findVideoView(user.id)
-            if (videoView != null && videoView.parent != null) {
-                (videoView.parent as RelativeLayout).removeView(videoView)
-                videoView.clear()
-                videoView = null
-            }
-            post {
-                if (viewModel.showLargeViewUserId.get() == user.id) {
-                    TransitionManager.beginDelayedTransition(this)
-                    viewModel.updateShowLargeViewUserId(null)
-                    setLargeViewIndex(DEFAULT_INDEX)
-                    viewModel.updateBottomViewExpanded(true)
-                }
-            }
-            VideoViewFactory.instance.videoEntityList.remove(user.id)
-        } else {
-            val videoView = VideoViewFactory.instance.createVideoView(user, context)
-            if (videoView != null && videoView.parent != null) {
-                (videoView.parent as RelativeLayout).removeView(videoView)
-            }
-            addView(videoView)
-            initGestureListener(user)
-        }
-    }
-
-    private fun initGestureListener(user: User) {
-        val videoView = VideoViewFactory.instance.findVideoView(user.id)
-        videoView?.setOnClickListener() {
-            post {
-                val index: Int = viewModel.userList.get().indexOf(user)
-                val showLargeViewUserId = if (index == showLargeViewIndex) null else user.id
-                viewModel.updateShowLargeViewUserId(showLargeViewUserId)
-            }
-        }
-
-        val detector = GestureDetector(context, object : GestureDetector.SimpleOnGestureListener() {
-            override fun onSingleTapUp(e: MotionEvent): Boolean {
-                videoView?.performClick()
-                return false
-            }
-
-            override fun onDown(e: MotionEvent): Boolean {
-                return true
-            }
-
-            override fun onScroll(e1: MotionEvent?, e2: MotionEvent, distanceX: Float, distanceY: Float): Boolean {
-                return true
-            }
-        })
-        videoView?.setOnTouchListener(OnTouchListener { v, event -> detector.onTouchEvent(event) })
-    }
-}

+ 0 - 211
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/videolayout/SingleCallVideoLayout.kt

@@ -1,211 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.component.videolayout
-
-import android.content.Context
-import android.content.res.Configuration
-import android.os.Handler
-import android.os.Looper
-import android.os.Message
-import android.view.GestureDetector
-import android.view.LayoutInflater
-import android.view.MotionEvent
-import android.view.View
-import android.view.ViewGroup
-import android.widget.RelativeLayout
-import com.adealink.weparty.call.R
-import com.tencent.cloud.tuikit.engine.call.TUICallDefine
-import com.tencent.qcloud.tuicore.util.ScreenUtil
-import com.tencent.qcloud.tuikit.tuicallkit.data.Constants
-import com.tencent.qcloud.tuikit.tuicallkit.manager.EngineManager
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.tencent.qcloud.tuikit.tuicallkit.view.root.BaseCallView
-import com.tencent.qcloud.tuikit.tuicallkit.viewmodel.component.videolayout.SingleCallVideoLayoutViewModel
-import com.trtc.tuikit.common.livedata.Observer
-
-class SingleCallVideoLayout(context: Context) : BaseCallView(context) {
-    private val MESSAGE_VIDEO_AVAIABLE_UPDATE = 2
-    private val UPDATE_INTERVAL: Long = 200
-    private val UPDATE_COUNT = 3
-    private var retryCount = 0
-
-    private var layoutRenderBig: RelativeLayout? = null
-    private var layoutRenderSmall: RelativeLayout? = null
-    private var videoViewSmall: VideoView? = null
-    private var videoViewBig: VideoView? = null
-    private var viewModel: SingleCallVideoLayoutViewModel = SingleCallVideoLayoutViewModel()
-
-    private val mainHandler: Handler = object : Handler(Looper.getMainLooper()) {
-        override fun handleMessage(msg: Message) {
-            super.handleMessage(msg)
-
-            val remoteUserVideoAvailable = viewModel.remoteUser.videoAvailable.get()
-            if (retryCount <= UPDATE_COUNT && !remoteUserVideoAvailable) {
-                sendEmptyMessageDelayed(MESSAGE_VIDEO_AVAIABLE_UPDATE, UPDATE_INTERVAL)
-                retryCount++
-            } else if (remoteUserVideoAvailable) {
-                retryCount = 0
-            } else {
-//                videoViewSmall?.setImageAvatarVisibility(true)
-                retryCount = 0
-            }
-        }
-    }
-
-    private var callStatusObserver = Observer<TUICallDefine.Status> {
-        if (it == TUICallDefine.Status.Accept) {
-            initSmallRenderView()
-//            videoViewSmall?.setImageAvatarVisibility(false)
-            switchRenderLayout()
-
-            mainHandler.sendEmptyMessageDelayed(MESSAGE_VIDEO_AVAIABLE_UPDATE, UPDATE_INTERVAL)
-        }
-    }
-
-    private var blurBackgroundObserver = Observer<Boolean> {
-//        if (it == true && viewModel.isRemoteBigView) {
-//            switchRenderLayout()
-//        }
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    override fun addObserver() {
-        viewModel.remoteUser.callStatus.observe(callStatusObserver)
-        viewModel.enableBlurBackground.observe(blurBackgroundObserver)
-    }
-
-    override fun removeObserver() {
-        viewModel.remoteUser.callStatus.removeObserver(callStatusObserver)
-        viewModel.enableBlurBackground.removeObserver(blurBackgroundObserver)
-    }
-
-    private fun initView() {
-        LayoutInflater.from(context).inflate(R.layout.tuicallkit_render_view_single, this)
-        layoutRenderBig = findViewById(R.id.rl_render_inviter)
-        layoutRenderBig?.setOnClickListener() {
-            viewModel.showFullScreen()
-        }
-        layoutRenderSmall = findViewById(R.id.rl_render_invitee)
-        layoutRenderSmall?.setOnClickListener {
-            switchRenderLayout()
-        }
-        initGestureListener(layoutRenderSmall)
-        initBigRenderView()
-        initSmallRenderView()
-//        if (viewModel.lastReverseRenderView) {
-//            switchRenderLayout()
-//        }
-    }
-
-    private fun switchRenderLayout() {
-        if (viewModel.remoteUser.callStatus.get() == TUICallDefine.Status.Accept) {
-            if (videoViewSmall != null && videoViewSmall?.parent != null) {
-                var parent: RelativeLayout = videoViewSmall?.parent as RelativeLayout
-                parent.removeAllViews()
-                layoutRenderSmall?.removeAllViews()
-            }
-            if (videoViewBig != null && videoViewBig?.parent != null) {
-                var parent: RelativeLayout = videoViewBig?.parent as RelativeLayout
-                parent.removeAllViews()
-                layoutRenderBig?.removeAllViews()
-            }
-            setSmallRenderViewOrientation()
-//            if (viewModel.isRemoteBigView) {
-//                viewModel.reverseRenderLayout(false)
-//                layoutRenderSmall?.addView(videoViewSmall)
-//                layoutRenderBig?.addView(videoViewBig)
-//            } else {
-//                viewModel.reverseRenderLayout(true)
-//                layoutRenderSmall?.addView(videoViewBig)
-//                layoutRenderBig?.addView(videoViewSmall)
-//            }
-        }
-    }
-
-    private fun initSmallRenderView() {
-        if (viewModel.remoteUser.callStatus.get() == TUICallDefine.Status.Accept) {
-            videoViewSmall = VideoViewFactory.instance.createVideoView(viewModel.remoteUser, context)
-            if (videoViewSmall != null && videoViewSmall?.parent != null) {
-                (videoViewSmall?.parent as ViewGroup).removeView(videoViewSmall)
-                layoutRenderSmall?.removeAllViews()
-            }
-            setSmallRenderViewOrientation()
-            layoutRenderSmall?.addView(videoViewSmall)
-            EngineManager.instance.startRemoteView(viewModel.remoteUser.id, videoViewSmall?.getVideoView(), null)
-        }
-    }
-
-    private fun initBigRenderView() {
-        videoViewBig = VideoViewFactory.instance.createVideoView(viewModel.selfUser, context)
-        if (videoViewBig != null && videoViewBig?.parent != null) {
-            (videoViewBig?.parent as ViewGroup).removeView(videoViewBig)
-            layoutRenderBig?.removeAllViews()
-        }
-        layoutRenderBig?.addView(videoViewBig)
-        if (TUICallState.instance.isCameraOpen.get()) {
-            EngineManager.instance.openCamera(viewModel.isFrontCamera.get(), videoViewBig?.getVideoView(), null)
-        }
-    }
-
-    override fun onConfigurationChanged(newConfig: Configuration?) {
-        super.onConfigurationChanged(newConfig)
-        setSmallRenderViewOrientation()
-        layoutRenderSmall?.requestLayout()
-    }
-
-    private fun setSmallRenderViewOrientation() {
-        val isLandScape = when (TUICallState.instance.orientation) {
-            Constants.Orientation.Portrait -> false
-            Constants.Orientation.LandScape -> true
-            else -> ScreenUtil.getRealScreenWidth(context) > ScreenUtil.getRealScreenHeight(context)
-        }
-
-        val wWidth = context.resources.getDimension(R.dimen.call_video_small_view_width).toInt()
-        val hHeight = context.resources.getDimension(R.dimen.call_video_small_view_height).toInt()
-
-        val lp = layoutRenderSmall?.layoutParams
-        lp?.width = if (isLandScape) hHeight else wWidth
-        lp?.height = if (isLandScape) wWidth else hHeight
-        layoutRenderSmall?.layoutParams = lp
-    }
-
-    private fun initGestureListener(view: RelativeLayout?) {
-        val detector = GestureDetector(context, object : GestureDetector.SimpleOnGestureListener() {
-            override fun onSingleTapUp(e: MotionEvent): Boolean {
-                view!!.performClick()
-                return false
-            }
-
-            override fun onDown(e: MotionEvent): Boolean {
-                return true
-            }
-
-            override fun onScroll(e1: MotionEvent?, e2: MotionEvent, distanceX: Float, distanceY: Float): Boolean {
-                val params = view?.layoutParams
-                if (params is LayoutParams) {
-                    val offsetX = if (isRTL) (e2.x - (e1?.x ?: 0f)) else ((e1?.x ?: 0f) - e2.x)
-
-                    val layoutParams = view.layoutParams as LayoutParams
-                    val newX = (layoutParams.marginEnd + offsetX).toInt()
-                    val newY = (layoutParams.topMargin + (e2.y - (e1?.y ?: 0f))).toInt()
-                    if (newX >= 0 && newX <= width - view.width && newY >= 0 && newY <= height - view.height) {
-                        layoutParams.marginEnd = newX
-                        layoutParams.topMargin = newY
-                        view.layoutParams = layoutParams
-                    }
-                }
-                return true
-            }
-        })
-        view!!.setOnTouchListener { v, event -> detector.onTouchEvent(event) }
-    }
-
-    private val isRTL: Boolean
-        private get() {
-            val configuration = context.resources.configuration
-            val layoutDirection = configuration.layoutDirection
-            return layoutDirection == View.LAYOUT_DIRECTION_RTL
-        }
-}

+ 12 - 5
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/component/videolayout/VideoView.kt

@@ -10,6 +10,7 @@ import com.adealink.weparty.call.view.CallBgView
 import com.adealink.weparty.commonui.ext.gone
 import com.adealink.weparty.commonui.ext.show
 import com.adealink.weparty.commonui.imageview.AvatarView
+import com.adealink.weparty.module.profile.data.UserInfo
 import com.tencent.cloud.tuikit.engine.call.TUICallDefine
 import com.tencent.cloud.tuikit.engine.common.TUIVideoView
 import com.tencent.qcloud.tuicore.TUICore
@@ -39,19 +40,23 @@ class VideoView(context: Context) : BaseCallView(context) {
             isShowFloatWindow = subKey == Constants.EVENT_SHOW_FLOAT_VIEW
         }
     }
-    private var videoAvailableObserver = Observer<Boolean> {
+    private val videoAvailableObserver = Observer<Boolean> {
         updateView()
     }
 
-    private var callStatusObserver = Observer<TUICallDefine.Status> {
+    private val callStatusObserver = Observer<TUICallDefine.Status> {
         updateView()
     }
 
-    private var isCameraOpenObserver = Observer<Boolean> {
+    private val userInfoObserver = Observer<UserInfo> {
         updateView()
     }
 
-    private var showLargeViewUserIdObserver = Observer<String> {
+    private val isCameraOpenObserver = Observer<Boolean> {
+        updateView()
+    }
+
+    private val showLargeViewUserIdObserver = Observer<String> {
         updateView()
     }
 
@@ -76,6 +81,7 @@ class VideoView(context: Context) : BaseCallView(context) {
     override fun addObserver() {
         viewModel?.user?.videoAvailable?.observe(videoAvailableObserver)
         viewModel?.user?.callStatus?.observe(callStatusObserver)
+        viewModel?.user?.userInfo?.observe(userInfoObserver)
         if (viewModel?.isSelf() == true) {
             viewModel?.isCameraOpen?.observe(isCameraOpenObserver)
         }
@@ -87,6 +93,7 @@ class VideoView(context: Context) : BaseCallView(context) {
     override fun removeObserver() {
         viewModel?.user?.videoAvailable?.removeObserver(videoAvailableObserver)
         viewModel?.user?.callStatus?.removeObserver(callStatusObserver)
+        viewModel?.user?.userInfo?.removeObserver(userInfoObserver)
         viewModel?.isCameraOpen?.removeObserver(isCameraOpenObserver)
         viewModel?.showLargeViewUserId?.removeObserver(showLargeViewUserIdObserver)
         TUICore.unRegisterEvent(notification)
@@ -187,7 +194,7 @@ class VideoView(context: Context) : BaseCallView(context) {
         }
         val showLargeViewUserId = viewModel?.showLargeViewUserId?.get()
         if (showLargeViewUserId.isNullOrEmpty()) {
-            return true
+            return false
         }
         return showLargeViewUserId == viewModel?.user?.id
     }

+ 0 - 195
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/view/root/SingleCallView.kt

@@ -1,195 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.view.root
-
-import android.content.Context
-import android.view.LayoutInflater
-import android.view.ViewGroup
-import android.widget.FrameLayout
-import android.widget.RelativeLayout
-import com.adealink.weparty.call.R
-import com.tencent.cloud.tuikit.engine.call.TUICallDefine
-import com.tencent.qcloud.tuicore.TUIConstants
-import com.tencent.qcloud.tuicore.TUICore
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.CallTimerView
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.CallWaitingHintView
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.function.AudioAndVideoCalleeWaitingView
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.function.AudioCallerWaitingAndAcceptedView
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.function.VideoCallerAndCalleeAcceptedView
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.function.VideoCallerWaitingView
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.userinfo.single.AudioCallUserInfoView
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.userinfo.single.VideoCallUserInfoView
-import com.tencent.qcloud.tuikit.tuicallkit.view.component.videolayout.SingleCallVideoLayout
-import com.trtc.tuikit.common.livedata.Observer
-
-class SingleCallView(context: Context) : RelativeLayout(context) {
-    private val context: Context = context
-    private var layoutTimer: FrameLayout? = null
-    private var layoutUserInfo: FrameLayout? = null
-    private var layoutFunction: FrameLayout? = null
-    private var layoutRender: FrameLayout? = null
-    private var layoutCallTag: FrameLayout? = null
-
-    private var functionView: BaseCallView? = null
-    private var userInfoView: BaseCallView? = null
-    private var callTimerView: CallTimerView? = null
-    private var hintView: CallWaitingHintView? = null
-    private var singleCallVideoLayout: SingleCallVideoLayout? = null
-
-    private var callStatusObserver = Observer<TUICallDefine.Status> {
-        refreshFunctionView()
-        refreshTimerView()
-        showAntiFraudReminder()
-    }
-
-    private var mediaTypeObserver = Observer<TUICallDefine.MediaType> {
-        if (it != TUICallDefine.MediaType.Unknown) {
-            refreshUserInfoView()
-            refreshFunctionView()
-            refreshRenderView()
-        }
-    }
-
-    private var isShowFullScreenObserver = Observer<Boolean> {
-        if (it) {
-            layoutTimer?.visibility = GONE
-            layoutFunction?.visibility = GONE
-        } else {
-            layoutTimer?.visibility = VISIBLE
-            layoutFunction?.visibility = VISIBLE
-            layoutTimer?.bringToFront()
-            layoutFunction?.bringToFront()
-        }
-    }
-
-    init {
-        initView()
-        addObserver()
-    }
-
-    fun clear() {
-        functionView?.clear()
-        userInfoView?.clear()
-        callTimerView?.clear()
-        singleCallVideoLayout?.clear()
-        removeObserver()
-    }
-
-    private fun initView() {
-        LayoutInflater.from(context).inflate(R.layout.tuicallkit_root_view_single, this)
-        layoutRender = findViewById(R.id.rl_container)
-        layoutUserInfo = findViewById(R.id.rl_user_info_layout)
-        layoutTimer = findViewById(R.id.rl_single_time)
-        layoutFunction = findViewById(R.id.rl_single_function)
-        layoutCallTag = findViewById(R.id.fl_call_tag)
-
-        hintView = CallWaitingHintView(context)
-        if (hintView?.parent != null) {
-            (hintView?.parent as ViewGroup).removeView(hintView)
-        }
-        if (hintView != null) {
-            layoutCallTag?.addView(hintView)
-        }
-
-        refreshUserInfoView()
-        refreshFunctionView()
-        refreshTimerView()
-        refreshRenderView()
-    }
-
-    private fun refreshRenderView() {
-        if (TUICallState.instance.mediaType.get() == TUICallDefine.MediaType.Video) {
-            singleCallVideoLayout = SingleCallVideoLayout(context)
-            layoutRender!!.removeAllViews()
-            layoutRender!!.addView(singleCallVideoLayout)
-        } else {
-            layoutRender!!.removeAllViews()
-            singleCallVideoLayout = null
-        }
-    }
-
-    private fun refreshTimerView() {
-        if (TUICallDefine.Status.Accept == TUICallState.instance.selfUser.get().callStatus.get()) {
-            layoutTimer?.removeAllViews()
-            callTimerView = CallTimerView(context)
-            layoutTimer?.addView(callTimerView)
-        } else {
-            layoutTimer?.removeAllViews()
-            callTimerView = null
-        }
-    }
-
-    private fun addObserver() {
-        TUICallState.instance.selfUser.get().callStatus.observe(callStatusObserver)
-        TUICallState.instance.mediaType.observe(mediaTypeObserver)
-        TUICallState.instance.isShowFullScreen.observe(isShowFullScreenObserver)
-    }
-
-    private fun removeObserver() {
-        TUICallState.instance.selfUser.get().callStatus.removeObserver(callStatusObserver)
-        TUICallState.instance.mediaType.removeObserver(mediaTypeObserver)
-        TUICallState.instance.isShowFullScreen.removeObserver(isShowFullScreenObserver)
-    }
-
-    private fun refreshUserInfoView() {
-        if (TUICallState.instance.mediaType.get() == TUICallDefine.MediaType.Audio) {
-            layoutUserInfo?.visibility = VISIBLE
-            userInfoView = AudioCallUserInfoView(context)
-            layoutUserInfo!!.removeAllViews()
-            if (null != userInfoView) {
-                layoutUserInfo!!.addView(userInfoView)
-            }
-        } else {
-            if (TUICallState.instance.selfUser.get().callStatus.get() == TUICallDefine.Status.Waiting) {
-                layoutUserInfo?.visibility = VISIBLE
-                userInfoView = VideoCallUserInfoView(context)
-                layoutUserInfo!!.removeAllViews()
-                if (null != userInfoView) {
-                    layoutUserInfo!!.addView(userInfoView)
-                }
-            } else {
-                layoutUserInfo?.visibility = GONE
-            }
-        }
-    }
-
-    private fun refreshFunctionView() {
-        if (TUICallDefine.Status.Waiting == TUICallState.instance.selfUser.get().callStatus.get()) {
-
-            if (TUICallState.instance.selfUser.get().callRole.get() == TUICallDefine.Role.Caller) {
-                if (TUICallState.instance.mediaType.get() == TUICallDefine.MediaType.Audio) {
-                    functionView = AudioCallerWaitingAndAcceptedView(context)
-                } else {
-                    functionView = VideoCallerWaitingView(context)
-                }
-            } else {
-                functionView = AudioAndVideoCalleeWaitingView(context)
-            }
-        } else if (TUICallDefine.Status.Accept == TUICallState.instance.selfUser.get().callStatus.get()) {
-            if (TUICallState.instance.mediaType.get() == TUICallDefine.MediaType.Audio) {
-                functionView = AudioCallerWaitingAndAcceptedView(context)
-            } else {
-                functionView = VideoCallerAndCalleeAcceptedView(context)
-            }
-        }
-
-        layoutFunction!!.removeAllViews()
-        if (null != functionView) {
-            layoutFunction!!.addView(functionView)
-        }
-    }
-
-    private fun showAntiFraudReminder() {
-        if (TUICallDefine.Status.Accept != TUICallState.instance.selfUser.get().callStatus.get()) {
-            return
-        }
-
-        if (TUICore.getService(TUIConstants.Service.TUI_PRIVACY) == null) {
-            return
-        }
-        var map = HashMap<String, Any?>()
-        map[TUIConstants.Privacy.PARAM_DIALOG_CONTEXT] = context
-        TUICore.callService(
-            TUIConstants.Service.TUI_PRIVACY, TUIConstants.Privacy.METHOD_ANTO_FRAUD_REMINDER, map, null
-        )
-    }
-}

+ 0 - 70
module/call/src/main/java/com/tencent/qcloud/tuikit/tuicallkit/viewmodel/component/videolayout/GroupCallVideoLayoutViewModel.kt

@@ -1,70 +0,0 @@
-package com.tencent.qcloud.tuikit.tuicallkit.viewmodel.component.videolayout
-
-import com.tencent.cloud.tuikit.engine.call.TUICallDefine
-import com.tencent.cloud.tuikit.engine.common.TUICommonDefine
-import com.tencent.qcloud.tuikit.tuicallkit.data.User
-import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
-import com.trtc.tuikit.common.livedata.LiveData
-import com.trtc.tuikit.common.livedata.Observer
-import java.util.concurrent.CopyOnWriteArrayList
-
-class GroupCallVideoLayoutViewModel {
-    public var userList = LiveData<CopyOnWriteArrayList<User>>()
-    public var isCameraOpen = LiveData<Boolean>()
-    public var isFrontCamera = LiveData<TUICommonDefine.Camera>()
-    public var mediaType = LiveData<TUICallDefine.MediaType>()
-    public var changedUser = LiveData<User>()
-    public var showLargeViewUserId = LiveData<String>()
-
-    private var remoteUserListObserver = Observer<LinkedHashSet<User>> {
-        if (it != null && it.size > 0) {
-            for (user in it) {
-                if (!userList.get().contains(user)) {
-                    userList.get().add(user)
-                    changedUser.set(user)
-                }
-            }
-            for ((index, user) in userList.get().withIndex()) {
-                if (index == 0) {
-                    continue
-                }
-                if (!it.contains(user)) {
-                    user.callStatus.set(TUICallDefine.Status.None)
-                    userList.get().remove(user)
-                    changedUser.set(user)
-                }
-            }
-        }
-    }
-
-    init {
-        isCameraOpen = TUICallState.instance.isCameraOpen
-        isFrontCamera = TUICallState.instance.isFrontCamera
-        mediaType = TUICallState.instance.mediaType
-        changedUser.set(User())
-        userList.set(CopyOnWriteArrayList())
-        userList.get().add(TUICallState.instance.selfUser.get())
-        userList.get().addAll(TUICallState.instance.remoteUserList.get())
-        showLargeViewUserId = TUICallState.instance.showLargeViewUserId
-
-        addObserver()
-    }
-
-    private fun addObserver() {
-        TUICallState.instance.remoteUserList.observe(remoteUserListObserver)
-    }
-
-    public fun removeObserver() {
-        TUICallState.instance.remoteUserList.removeObserver(remoteUserListObserver)
-    }
-
-    fun updateShowLargeViewUserId(userId: String?) {
-        //TUICallState.instance.showLargeViewUserId.set(userId)
-    }
-
-    fun updateBottomViewExpanded(isExpand: Boolean) {
-        if (isExpand != TUICallState.instance.isBottomViewExpand.get()) {
-            TUICallState.instance.isBottomViewExpand.set(!TUICallState.instance.isBottomViewExpand.get())
-        }
-    }
-}

BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_chat_title_bar_minimalist_audio_call_icon.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_chat_title_bar_minimalist_video_call_icon.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_check_box_group_selected.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_check_box_group_unselected.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_checkbox_selected.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_group_select_disable.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_audio_call.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_audio_input.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_back.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_blur_background_accept.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_blur_background_waiting_disable.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_blur_background_waiting_enable.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_camera_disable.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_camera_enable.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_delete.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_float_audio_off.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_float_audio_on.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_float_video_off.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_float_video_on.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_handsfree_disable.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_handsfree_enable.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_join_group_call.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_join_group_compress.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_join_group_expand.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_mic_mute.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_mic_unmute.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_more_info.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_network_bad.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_self_mute.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_switch_camera.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_switch_camera_group.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_switch_to_audio_call.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_video_call.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_ic_view_expand.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_profile_minimalist_audio_icon.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_profile_minimalist_video_icon.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_record_ic_audio_call.webp


BIN
module/call/src/main/res/drawable-xxhdpi/tuicallkit_record_ic_video_call.webp


+ 0 - 5
module/call/src/main/res/drawable/tuicallkit_bg_blur_background.xml

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

+ 0 - 5
module/call/src/main/res/drawable/tuicallkit_bg_camera.xml

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

+ 0 - 8
module/call/src/main/res/drawable/tuicallkit_bg_group_call_bottom.xml

@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<shape xmlns:android="http://schemas.android.com/apk/res/android"
-    android:shape="rectangle">
-    <solid android:color="#FF4F586B" />
-    <corners
-        android:topLeftRadius="15dp"
-        android:topRightRadius="15dp" />
-</shape>

+ 0 - 5
module/call/src/main/res/drawable/tuicallkit_bg_handsfree.xml

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

+ 0 - 5
module/call/src/main/res/drawable/tuicallkit_bg_mute_mic.xml

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

+ 0 - 5
module/call/src/main/res/drawable/tuicallkit_dialog_cancel.xml

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

+ 0 - 5
module/call/src/main/res/drawable/tuicallkit_dialog_sure.xml

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

+ 0 - 9
module/call/src/main/res/drawable/tuicallkit_group_checkbox_selector.xml

@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <item android:drawable="@drawable/tuicallkit_check_box_group_selected" android:state_checked="true" android:state_enabled="true" />
-    <item android:drawable="@drawable/tuicallkit_group_select_disable" android:state_checked="true" android:state_enabled="false" />
-    <item android:drawable="@drawable/tuicallkit_check_box_group_unselected" android:state_checked="false" />
-    <item android:drawable="@drawable/tuicallkit_check_box_group_unselected" />
-
-</selector>

+ 0 - 5
module/call/src/main/res/drawable/tuicallkit_join_group_expand_view.xml

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

+ 0 - 16
module/call/src/main/res/drawable/tuicallkit_tab_item_selector.xml

@@ -1,16 +0,0 @@
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:state_selected="true">
-        <shape android:shape="rectangle">
-            <stroke android:width="2dp" android:color="@color/tuicallkit_color_transparent" />
-            <solid android:color="@color/white" />
-            <corners android:radius="8.91dp" />
-        </shape>
-    </item>
-    <item android:state_selected="false">
-        <shape android:shape="rectangle">
-            <stroke android:width="2dp" android:color="@color/tuicallkit_color_transparent" />
-            <solid android:color="#EFEFF4" />
-            <corners android:radius="8.91dp" />
-        </shape>
-    </item>
-</selector>

+ 0 - 5
module/call/src/main/res/drawable/tuicallkit_tab_selector.xml

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

+ 1 - 1
module/call/src/main/res/layout/call_incoming_notification_view.xml

@@ -3,7 +3,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:background="@color/tuicallkit_color_transparent"
+    android:background="@color/transparent"
     android:orientation="horizontal">
 
     <!--通知栏只能使用基础控件来实现-->

+ 0 - 7
module/call/src/main/res/layout/call_video_view.xml

@@ -23,13 +23,6 @@
     <!--        android:scaleType="fitXY"-->
     <!--        android:src="@drawable/common_default_avatar_ic" />-->
 
-    <!--    <com.tencent.qcloud.tuikit.tuicallkit.view.common.CustomLoadingView-->
-    <!--        android:id="@+id/img_loading"-->
-    <!--        android:layout_width="64dp"-->
-    <!--        android:layout_height="64dp"-->
-    <!--        android:layout_centerInParent="true"-->
-    <!--        android:visibility="gone" />-->
-
     <androidx.appcompat.widget.AppCompatTextView
         android:id="@+id/tv_status"
         android:layout_width="wrap_content"

+ 0 - 59
module/call/src/main/res/layout/tuicallkit_activity_group_user.xml

@@ -1,59 +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"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/tuicallkit_color_white">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:id="@+id/cl_group_user_title"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:background="?attr/core_header_start_color"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <androidx.appcompat.widget.Toolbar
-            android:id="@+id/toolbar_group"
-            android:layout_width="match_parent"
-            android:layout_height="?android:attr/actionBarSize"
-            android:layout_marginTop="28dp"
-            android:layoutDirection="locale"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent"
-            app:navigationIcon="@drawable/tuicallkit_ic_back">
-
-            <TextView
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center"
-                android:singleLine="true"
-                android:text="@string/tuicallkit_group_title_add_user"
-                android:textColor="?attr/core_header_text_color"
-                android:textSize="18sp"
-                android:textStyle="bold" />
-
-            <Button
-                android:id="@+id/btn_group_ok"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="end|center_vertical"
-                android:background="@android:color/transparent"
-                android:text="@string/tuicallkit_group_btn_ok"
-                android:textAllCaps="false"
-                android:textColor="#0365F9"
-                android:textSize="16sp" />
-        </androidx.appcompat.widget.Toolbar>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/rv_user_list"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="4dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/cl_group_user_title" />
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 97
module/call/src/main/res/layout/tuicallkit_function_view_audio.xml

@@ -1,97 +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"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_centerHorizontal="true"
-    android:layout_marginTop="20dp"
-    android:layout_marginBottom="74dp"
-    android:adjustViewBounds="true"
-    android:maxWidth="480dp">
-
-    <LinearLayout
-        android:id="@+id/ll_mute"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@+id/ll_hangup"
-        app:layout_constraintHorizontal_bias="0.5"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:id="@+id/img_mute"
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/tuicallkit_bg_mute_mic" />
-
-        <TextView
-            android:id="@+id/tv_mic"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:gravity="center"
-            android:text="@string/tuicallkit_toast_disable_mute"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="@dimen/call_text_size_hint" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/ll_hangup"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@+id/ll_handsfree"
-        app:layout_constraintHorizontal_bias="0.5"
-        app:layout_constraintStart_toEndOf="@+id/ll_mute"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:id="@+id/img_hangup"
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/call_reject_ic" />
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:gravity="center"
-            android:text="@string/tuicallkit_text_hangup"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="@dimen/call_text_size_hint" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/ll_handsfree"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintHorizontal_bias="0.5"
-        app:layout_constraintStart_toEndOf="@+id/ll_hangup"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:id="@+id/img_handsfree"
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/tuicallkit_bg_handsfree" />
-
-        <TextView
-            android:id="@+id/tv_audio_device"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:gravity="center"
-            android:text="@string/tuicallkit_toast_use_earpiece"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="@dimen/call_text_size_hint" />
-    </LinearLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 67
module/call/src/main/res/layout/tuicallkit_function_view_invited_waiting.xml

@@ -1,67 +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"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_centerHorizontal="true"
-    android:layout_marginTop="20dp"
-    android:layout_marginBottom="74dp"
-    android:adjustViewBounds="true"
-    android:maxWidth="480dp">
-
-    <LinearLayout
-        android:id="@+id/ll_decline"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toStartOf="@+id/ll_answer"
-        app:layout_constraintHorizontal_bias="0.5"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/call_reject_ic" />
-
-        <TextView
-            android:id="@+id/tv_reject"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:gravity="center"
-            android:text="@string/tuicallkit_text_hangup"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="@dimen/call_text_size_hint" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/ll_answer"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintHorizontal_bias="0.5"
-        app:layout_constraintStart_toEndOf="@+id/ll_decline"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/call_chat_accept_ic" />
-
-        <TextView
-            android:id="@+id/tv_dialing"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:gravity="center"
-            android:text="@string/tuicallkit_text_dialing"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="@dimen/call_text_size_hint" />
-    </LinearLayout>
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 129
module/call/src/main/res/layout/tuicallkit_function_view_video.xml

@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.motion.widget.MotionLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:id="@+id/cl_view_video"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_centerHorizontal="true"
-    android:adjustViewBounds="true"
-    android:maxWidth="480dp"
-    app:layoutDescription="@xml/tuicallkit_function_view_video_expanded_scene">
-
-    <View
-        android:id="@+id/slide_reference_view"
-        android:layout_width="1dp"
-        android:layout_height="1dp"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <ImageView
-        android:id="@+id/iv_mute"
-        android:layout_width="60dp"
-        android:layout_height="60dp"
-        android:layout_marginTop="32dp"
-        android:src="@drawable/tuicallkit_bg_mute_mic"
-        app:layout_constraintEnd_toStartOf="@+id/iv_speaker"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <TextView
-        android:id="@+id/tv_mic"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="12dp"
-        android:gravity="center"
-        android:text="@string/tuicallkit_toast_disable_mute"
-        android:textColor="@color/tuicallkit_color_white"
-        android:textSize="12sp"
-        app:layout_constraintEnd_toEndOf="@+id/iv_mute"
-        app:layout_constraintStart_toStartOf="@+id/iv_mute"
-        app:layout_constraintTop_toBottomOf="@+id/iv_mute" />
-
-    <ImageView
-        android:id="@+id/iv_speaker"
-        android:layout_width="60dp"
-        android:layout_height="60dp"
-        android:src="@drawable/tuicallkit_bg_handsfree"
-        app:layout_constraintEnd_toStartOf="@+id/iv_camera"
-        app:layout_constraintStart_toEndOf="@+id/iv_mute"
-        app:layout_constraintTop_toTopOf="@+id/iv_mute" />
-
-    <TextView
-        android:id="@+id/tv_speaker"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="12dp"
-        android:gravity="center"
-        android:text="@string/tuicallkit_toast_speaker"
-        android:textColor="@color/tuicallkit_color_white"
-        android:textSize="12sp"
-        app:layout_constraintEnd_toEndOf="@+id/iv_speaker"
-        app:layout_constraintStart_toStartOf="@+id/iv_speaker"
-        app:layout_constraintTop_toBottomOf="@+id/iv_speaker" />
-
-    <ImageView
-        android:id="@+id/iv_camera"
-        android:layout_width="60dp"
-        android:layout_height="60dp"
-        android:src="@drawable/tuicallkit_bg_camera"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@+id/iv_speaker"
-        app:layout_constraintTop_toTopOf="@+id/iv_mute" />
-
-    <TextView
-        android:id="@+id/tv_video_camera"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="12dp"
-        android:gravity="center"
-        android:text="@string/tuicallkit_toast_enable_camera"
-        android:textColor="@color/tuicallkit_color_white"
-        android:textSize="12sp"
-        app:layout_constraintEnd_toEndOf="@+id/iv_camera"
-        app:layout_constraintStart_toStartOf="@+id/iv_camera"
-        app:layout_constraintTop_toBottomOf="@+id/iv_camera" />
-
-    <ImageView
-        android:id="@+id/iv_hang_up"
-        android:layout_width="60dp"
-        android:layout_height="60dp"
-        android:layout_marginTop="22dp"
-        android:src="@drawable/call_reject_ic"
-        app:layout_constraintBottom_toBottomOf="@+id/iv_expanded"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/tv_speaker" />
-
-    <ImageView
-        android:id="@+id/iv_function_switch_camera"
-        android:layout_width="28dp"
-        android:layout_height="28dp"
-        android:src="@drawable/tuicallkit_ic_switch_camera"
-        android:visibility="gone"
-        app:layout_constraintBottom_toBottomOf="@+id/iv_hang_up"
-        app:layout_constraintStart_toStartOf="@+id/iv_camera"
-        app:layout_constraintTop_toTopOf="@+id/iv_hang_up" />
-
-    <ImageView
-        android:id="@+id/img_blur_background"
-        android:layout_width="28dp"
-        android:layout_height="28dp"
-        android:src="@drawable/tuicallkit_ic_blur_background_accept"
-        android:visibility="gone"
-        app:layout_constraintBottom_toBottomOf="@+id/iv_hang_up"
-        app:layout_constraintEnd_toEndOf="@+id/iv_mute"
-        app:layout_constraintTop_toTopOf="@+id/iv_hang_up" />
-
-    <ImageView
-        android:id="@+id/iv_expanded"
-        android:layout_width="30dp"
-        android:layout_height="30dp"
-        android:layout_marginStart="30dp"
-        android:layout_marginTop="150dp"
-        android:layout_marginBottom="49dp"
-        android:rotation="0"
-        android:src="@drawable/tuicallkit_ic_view_expand"
-        android:visibility="invisible"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-</androidx.constraintlayout.motion.widget.MotionLayout>

+ 0 - 120
module/call/src/main/res/layout/tuicallkit_function_view_video_inviting.xml

@@ -1,120 +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"
-    android:id="@+id/constraint_layout"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_centerHorizontal="true"
-    android:adjustViewBounds="true"
-    android:maxWidth="480dp"
-    android:layout_marginBottom="40dp">
-
-    <LinearLayout
-        android:id="@+id/ll_cancel"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="16dp"
-        android:gravity="center_horizontal"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintHorizontal_bias="0.5"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/ll_switch">
-
-        <ImageView
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/call_reject_ic" />
-
-        <TextView
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:gravity="center"
-            android:text="@string/tuicallkit_btn_cancel"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="@dimen/call_text_size_hint" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/ll_switch"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:orientation="vertical"
-        app:layout_constraintBottom_toTopOf="@+id/ll_cancel"
-        app:layout_constraintEnd_toStartOf="@+id/ll_blur"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:id="@+id/img_switch_camera"
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/tuicallkit_ic_switch_camera_group" />
-
-        <TextView
-            android:id="@+id/tv_switch_camera"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:gravity="center"
-            android:text="@string/tuicallkit_toast_switch_camera"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="12sp" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/ll_blur"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:orientation="vertical"
-        app:layout_constraintEnd_toStartOf="@+id/ll_camera"
-        app:layout_constraintStart_toEndOf="@+id/ll_switch"
-        app:layout_constraintTop_toTopOf="@+id/ll_switch">
-
-        <ImageView
-            android:id="@+id/iv_video_blur"
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/tuicallkit_bg_blur_background" />
-
-        <TextView
-            android:id="@+id/tv_blur"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:text="@string/tuicallkit_blur_background"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="12sp" />
-    </LinearLayout>
-
-    <LinearLayout
-        android:id="@+id/ll_camera"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:orientation="vertical"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toEndOf="@+id/ll_blur"
-        app:layout_constraintTop_toTopOf="@+id/ll_switch">
-
-        <ImageView
-            android:id="@+id/img_camera"
-            android:layout_width="60dp"
-            android:layout_height="60dp"
-            android:src="@drawable/tuicallkit_bg_camera" />
-
-        <TextView
-            android:id="@+id/tv_camera"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="12dp"
-            android:text="@string/tuicallkit_toast_enable_camera"
-            android:textColor="@color/tuicallkit_color_white"
-            android:textSize="12sp" />
-    </LinearLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 17
module/call/src/main/res/layout/tuicallkit_item_head_view.xml

@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:minHeight="60dp"
-    android:orientation="vertical">
-
-    <TextView
-        android:id="@+id/tv_call_title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginStart="24dp"
-        android:layout_marginTop="13dp"
-        android:text="@string/tuicallkit_record_call_title"
-        android:textColor="@color/tuicallkit_color_black"
-        android:textSize="34sp" />
-</RelativeLayout>

+ 0 - 108
module/call/src/main/res/layout/tuicallkit_join_group_call_expand_view.xml

@@ -1,108 +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="wrap_content"
-    android:background="#FFEBF0F6">
-
-    <androidx.constraintlayout.widget.ConstraintLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_margin="8dp"
-        android:background="@drawable/tuicallkit_dialog_cancel"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintTop_toTopOf="parent">
-
-        <ImageView
-            android:id="@+id/img_join_group_call_icon"
-            android:layout_width="20dp"
-            android:layout_height="20dp"
-            android:layout_marginStart="16dp"
-            android:layout_marginTop="8dp"
-            android:layout_marginBottom="8dp"
-            android:src="@drawable/tuicallkit_ic_join_group_call"
-            app:layout_constraintBottom_toTopOf="@+id/cl_expand_view"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toTopOf="parent" />
-
-        <TextView
-            android:id="@+id/tv_user_hint"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="10dp"
-            android:textColor="@color/tuicallkit_color_second"
-            android:textSize="12sp"
-            app:layout_constraintBottom_toBottomOf="@+id/img_join_group_call_icon"
-            app:layout_constraintStart_toEndOf="@+id/img_join_group_call_icon"
-            app:layout_constraintTop_toTopOf="@+id/img_join_group_call_icon"
-            tools:hint="two people is in voice call" />
-
-        <ImageView
-            android:id="@+id/img_ic_expand"
-            android:layout_width="21dp"
-            android:layout_height="21dp"
-            android:layout_marginEnd="16dp"
-            android:padding="10dp"
-            app:layout_constraintBottom_toBottomOf="@+id/img_join_group_call_icon"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintTop_toTopOf="@+id/img_join_group_call_icon" />
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:id="@+id/cl_expand_view"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="16dp"
-            android:layout_marginEnd="16dp"
-            android:layout_marginBottom="16dp"
-            android:background="@drawable/tuicallkit_join_group_expand_view"
-            android:visibility="gone"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/img_join_group_call_icon">
-
-            <HorizontalScrollView
-                android:id="@+id/scroll_view"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginStart="10dp"
-                android:layout_marginEnd="10dp"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent">
-
-                <LinearLayout
-                    android:id="@+id/ll_layout_avatar"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center"
-                    android:layout_marginTop="30dp"
-                    android:layout_marginBottom="30dp"
-                    android:orientation="horizontal" />
-
-            </HorizontalScrollView>
-
-            <View
-                android:id="@+id/view_separate"
-                android:layout_width="match_parent"
-                android:layout_height="1dp"
-                android:background="#22707070"
-                app:layout_constraintTop_toBottomOf="@+id/scroll_view" />
-
-            <Button
-                android:id="@+id/btn_join_call"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:background="@color/tuicallkit_color_transparent"
-                android:textAllCaps="false"
-                android:textColor="@color/tuicallkit_color_black"
-                android:textSize="14sp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/view_separate" />
-        </androidx.constraintlayout.widget.ConstraintLayout>
-    </androidx.constraintlayout.widget.ConstraintLayout>
-
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 66
module/call/src/main/res/layout/tuicallkit_list_item_group_user.xml

@@ -1,66 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="58dp"
-    android:background="@color/tuicallkit_color_white"
-    android:orientation="vertical">
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        android:paddingBottom="5dp">
-
-        <CheckBox
-            android:id="@+id/group_user_check_box"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:layout_marginStart="10dp"
-            android:layout_marginEnd="10dp"
-            android:background="@drawable/tuicallkit_group_checkbox_selector"
-            android:button="@null"
-            android:clickable="false"
-            android:focusable="false"
-            android:gravity="center" />
-
-        <com.tencent.qcloud.tuikit.tuicallkit.view.common.RoundCornerImageView
-            android:id="@+id/group_user_avatar"
-            android:layout_width="38.4dp"
-            android:layout_height="38.4dp"
-            android:layout_gravity="center_vertical"
-            android:layout_marginStart="12dp"
-            android:layout_marginEnd="12dp"
-            android:scaleType="centerCrop"
-            android:src="@drawable/common_default_avatar_ic"
-            app:corner_radius="12dp" />
-
-        <TextView
-            android:id="@+id/group_user_name"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:ellipsize="end"
-            android:gravity="center_vertical"
-            android:lines="1"
-            android:textColor="#ff111111"
-            android:textSize="18sp" />
-
-        <TextView
-            android:id="@+id/group_user_hint"
-            android:layout_width="wrap_content"
-            android:layout_height="match_parent"
-            android:layout_marginStart="4dp"
-            android:gravity="center_vertical"
-            android:text="@string/tuicallkit_group_hint_you"
-            android:textColor="@color/tuicallkit_color_gray"
-            android:textSize="14sp"
-            android:visibility="gone" />
-    </LinearLayout>
-
-    <View
-        android:id="@+id/view_line"
-        android:layout_width="match_parent"
-        android:layout_height="0.55dp"
-        android:background="#D9D9D9" />
-</LinearLayout>

+ 0 - 35
module/call/src/main/res/layout/tuicallkit_record_dialog.xml

@@ -1,35 +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"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <TextView
-        android:id="@+id/tv_clear_call_history"
-        android:layout_width="match_parent"
-        android:layout_height="56dp"
-        android:layout_marginStart="16dp"
-        android:layout_marginEnd="16dp"
-        android:background="@drawable/tuicallkit_dialog_sure"
-        android:gravity="center"
-        android:text="@string/tuicallkit_record_dialog_message"
-        android:textColor="@color/tuicallkit_record_text_red"
-        android:textSize="17sp"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <TextView
-        android:id="@+id/tv_clear_cancel"
-        android:layout_width="match_parent"
-        android:layout_height="56dp"
-        android:layout_marginStart="16dp"
-        android:layout_marginTop="12dp"
-        android:layout_marginEnd="16dp"
-        android:layout_marginBottom="21dp"
-        android:background="@drawable/tuicallkit_dialog_cancel"
-        android:gravity="center"
-        android:text="@string/tuicallkit_record_dialog_cancel"
-        android:textColor="#007AFF"
-        android:textSize="17sp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/tv_clear_call_history" />
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 26
module/call/src/main/res/layout/tuicallkit_render_view_single.xml

@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-    <androidx.constraintlayout.widget.Guideline
-        android:id="@+id/gl_horizontal_top"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        app:layout_constraintGuide_begin="20dp" />
-
-    <RelativeLayout
-        android:id="@+id/rl_render_inviter"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-    <RelativeLayout
-        android:id="@+id/rl_render_invitee"
-        android:layout_width="@dimen/call_video_small_view_width"
-        android:layout_height="@dimen/call_video_small_view_height"
-        android:layout_alignParentEnd="true"
-        android:layout_marginTop="100dp"
-        android:layout_marginEnd="20dp" />
-</RelativeLayout>

+ 0 - 112
module/call/src/main/res/layout/tuicallkit_root_view_group.xml

@@ -1,112 +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"
-    android:id="@+id/cl_root"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="@color/tuicallkit_color_white">
-
-    <androidx.constraintlayout.widget.Guideline
-        android:id="@+id/gl_horizontal_top"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        app:layout_constraintGuide_begin="20dp" />
-
-    <ImageView
-        android:id="@+id/img_group_view_background"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:scaleType="centerCrop" />
-
-    <ScrollView
-        android:id="@+id/rl_layout_render"
-        android:layout_width="match_parent"
-        android:layout_height="0dp"
-        android:layout_marginTop="8dp"
-        app:layout_constraintBottom_toTopOf="@+id/rl_layout_function"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/rl_layout_add_user"
-        app:layout_constraintVertical_bias="0" />
-
-    <FrameLayout
-        android:id="@+id/rl_layout_caller_user_info"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center_horizontal"
-        app:layout_constraintBottom_toBottomOf="@+id/rl_layout_invitee_wait_hint"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@+id/gl_horizontal_top" />
-
-    <FrameLayout
-        android:id="@+id/rl_layout_invitee_wait_hint"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_margin="12dp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/rl_layout_caller_user_info" />
-
-    <LinearLayout
-        android:id="@+id/ll_layout_invitee_avatar"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="10dp"
-        android:gravity="center"
-        android:orientation="horizontal"
-        app:layout_constraintBottom_toTopOf="@+id/rl_layout_function"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/rl_layout_invitee_wait_hint" />
-
-    <FrameLayout
-        android:id="@+id/rl_layout_float_icon"
-        android:layout_width="24dp"
-        android:layout_height="24dp"
-        android:layout_marginStart="20dp"
-        android:background="#00000000"
-        app:layout_constraintBottom_toBottomOf="@+id/rl_layout_add_user"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@+id/rl_layout_add_user" />
-
-    <FrameLayout
-        android:id="@+id/rl_layout_add_user"
-        android:layout_width="24dp"
-        android:layout_height="24dp"
-        android:layout_marginTop="20dp"
-        android:layout_marginEnd="20dp"
-        android:background="#00000000"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/gl_horizontal_top" />
-
-    <FrameLayout
-        android:id="@+id/rl_layout_call_status"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="@+id/rl_layout_float_icon"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@+id/rl_layout_float_icon" />
-
-    <FrameLayout
-        android:id="@+id/rl_layout_call_time"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:gravity="center"
-        android:textSize="12sp"
-        android:visibility="visible"
-        app:layout_constraintBottom_toBottomOf="@+id/rl_layout_float_icon"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@+id/rl_layout_float_icon" />
-
-    <FrameLayout
-        android:id="@+id/rl_layout_function"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent" />
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 66
module/call/src/main/res/layout/tuicallkit_root_view_single.xml

@@ -1,66 +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"
-    android:id="@+id/cl_root"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:background="#FF55534F">
-
-    <androidx.constraintlayout.widget.Guideline
-        android:id="@+id/gl_horizontal_top"
-        android:layout_width="0dp"
-        android:layout_height="wrap_content"
-        android:orientation="horizontal"
-        app:layout_constraintGuide_begin="20dp" />
-
-    <FrameLayout
-        android:id="@+id/rl_container"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent" />
-
-    <FrameLayout
-        android:id="@+id/rl_user_info_layout"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toTopOf="@+id/fl_call_tag"
-        app:layout_constraintTop_toBottomOf="@+id/gl_horizontal_top" />
-
-    <FrameLayout
-        android:id="@+id/rl_layout_float_icon"
-        android:layout_width="24dp"
-        android:layout_height="24dp"
-        android:layout_marginStart="20dp"
-        android:layout_marginTop="32dp"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/gl_horizontal_top" />
-
-    <FrameLayout
-        android:id="@+id/fl_call_tag"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="20dp"
-        android:layout_marginBottom="20dp"
-        app:layout_constraintBottom_toTopOf="@id/rl_single_function"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/rl_user_info_layout" />
-
-    <FrameLayout
-        android:id="@+id/rl_single_time"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_margin="12dp"
-        android:layout_marginTop="64dp"
-        app:layout_constraintBottom_toBottomOf="@+id/rl_layout_float_icon"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="@+id/rl_layout_float_icon" />
-
-    <FrameLayout
-        android:id="@+id/rl_single_function"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent" />
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 37
module/call/src/main/res/layout/tuicallkit_user_info_audio.xml

@@ -1,37 +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"
-    android:id="@+id/cl_user_info_audio"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center_horizontal">
-
-    <ImageView
-        android:id="@+id/img_user_background"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:scaleType="centerCrop" />
-
-    <com.tencent.qcloud.tuikit.tuicallkit.view.common.RoundCornerImageView
-        android:id="@+id/img_avatar"
-        android:layout_width="100dp"
-        android:layout_height="100dp"
-        android:src="@drawable/common_default_avatar_ic"
-        app:corner_radius="6dp"
-        app:layout_constraintBottom_toBottomOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <TextView
-        android:id="@+id/tv_name"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="12dp"
-        android:text="@string/tuicallkit_contact_default_name"
-        android:textColor="@color/tuicallkit_color_white"
-        android:textSize="18sp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/img_avatar" />
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 31
module/call/src/main/res/layout/tuicallkit_user_info_group_caller.xml

@@ -1,31 +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"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center_horizontal">
-
-    <com.tencent.qcloud.tuikit.tuicallkit.view.common.RoundCornerImageView
-        android:id="@+id/img_avatar"
-        android:layout_width="120dp"
-        android:layout_height="120dp"
-        android:src="@drawable/common_default_avatar_ic"
-        app:corner_radius="15dp"
-        app:layout_constraintBottom_toBottomOf="@id/tv_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <TextView
-        android:id="@+id/tv_name"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="12dp"
-        android:text="@string/tuicallkit_contact_default_name"
-        android:textColor="@color/tuicallkit_color_white"
-        android:textSize="24sp"
-        app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/img_avatar" />
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 0 - 31
module/call/src/main/res/layout/tuicallkit_user_info_video.xml

@@ -1,31 +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"
-    android:id="@+id/cl_root"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:layout_gravity="center_horizontal">
-
-    <com.tencent.qcloud.tuikit.tuicallkit.view.common.RoundCornerImageView
-        android:id="@+id/iv_user_avatar"
-        android:layout_width="100dp"
-        android:layout_height="100dp"
-        android:src="@drawable/common_default_avatar_ic"
-        app:corner_radius="6dp"
-        app:layout_constraintBottom_toBottomOf="@id/tv_user_name"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toTopOf="parent" />
-
-    <TextView
-        android:id="@+id/tv_user_name"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginTop="12dp"
-        android:text="@string/tuicallkit_contact_default_name"
-        android:textColor="@color/tuicallkit_color_white"
-        android:textSize="18sp"
-        app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/iv_user_avatar" />
-</androidx.constraintlayout.widget.ConstraintLayout>

+ 59 - 76
module/call/src/main/res/values-ar/strings.xml

@@ -1,81 +1,64 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <string name="tuicallkit_contact_default_name">اختبار 123</string>
-    <string name="tuicallkit_toast_enable_mute">كتم الصوت</string>
-    <string name="tuicallkit_toast_disable_mute">إلغاء الكتم</string>
-    <string name="tuicallkit_toast_speaker">مكبر الصوت</string>
-    <string name="tuicallkit_toast_use_earpiece">سماعة الأذن</string>
-    <string name="tuicallkit_toast_user_end">%s انهى المكالمة</string>
-    <string name="tuicallkit_toast_callee_hangup">أنهى الطرف الآخر المكالمة</string>
-    <string name="tuicallkit_toast_user_reject">%s رفض طلب المكالمة</string>
-    <string name="tuicallkit_toast_callee_reject">الطرف الآخر رفض المكالمة</string>
-    <string name="tuicallkit_toast_callee_no_response">لم يستجب الطرف الآخر</string>
-    <string name="tuicallkit_other_party_network_low_quality">اتصال الطرف الآخر بالشبكة ضعيف</string>
-    <string name="tuicallkit_self_network_low_quality">اتصالك بالشبكة ضعيف</string>
-    <string name="tuicallkit_toast_switch_camera">تبديل الكاميرا</string>
-    <string name="tuicallkit_toast_enable_camera">تشغيل الكاميرا</string>
-    <string name="tuicallkit_toast_disable_camera">إيقاف الكاميرا</string>
-    <string name="tuicallkit_waiting_accept">في انتظار قبول المستخدم...</string>
-    <string name="call_invite_audio_call">دعوتك لمكالمة صوتية...</string>
-    <string name="call_invite_video_call">دعوتك لمكالمة فيديو...</string>
-    <string name="tuicallkit_text_microphone">ميكروفون</string>
-    <string name="tuicallkit_text_hangup">إنهاء المكالمة</string>
-    <string name="tuicallkit_text_reject">رفض</string>
-    <string name="tuicallkit_text_line_busy">الخط مشغول</string>
-    <string name="tuicallkit_text_speaker">مكبر الصوت</string>
-    <string name="tuicallkit_text_dialing">الرد</string>
-    <string name="tuicallkit_text_camera">الكاميرا</string>
-    <string name="tuicallkit_switch_audio_call">التحول إلى المكالمة الصوتية</string>
-    <string name="tuicallkit_btn_cancel">إلغاء</string>
-    <string name="tuicallkit_video_call">مكالمة فيديو</string>
-    <string name="tuicallkit_audio_call">مكالمة صوتية</string>
-    <string name="tuicallkit_user_exceed_limit">يدعم TUICallKit حاليًا المكالمة مع ما يصل إلى 9 أشخاص. لمؤتمرات الاتصال الأكبر ، جرب استخدام TUIRoomKit</string>
-    <string name="call_wait_response">انتظار</string>
-    <string name="tuicallkit_wait_accept_group">أدعوك للانضمام إلى مكالمة جماعية</string>
-    <string name="tuicallkit_accept_single">" تم توصيل الهاتف"</string>
-    <string name="tuicallkit_invitee_user_list">هناك آخرون يشاركون في المكالمة</string>
-    <string name="tuicallkit_permission_camera">الكاميرا</string>
-    <string name="tuicallkit_permission_microphone">الميكروفون</string>
-    <string name="tuicallkit_permission_bluetooth">البلوتوث</string>
-    <string name="tuicallkit_permission_separator">،</string>
-    <string name="tuicallkit_permission_tips">يرجى تشغيل إذن %s أولاً</string>
-    <string name="tuicallkit_permission_title">%s يتقدم بطلب الوصول إلى %s</string>
-    <string name="tuicallkit_permission_mic_reason">يحتاج إلى الوصول إلى ميكروفونك ، ويمكن استخدامه لوظائف مثل المكالمة الصوتية / الفيديو ، المكالمة الصوتية / الفيديو الجماعية وما إلى ذلك.</string>
-    <string name="tuicallkit_permission_camera_reason">يحتاج إلى الوصول إلى كاميراك ، ويمكن استخدامه لوظائف مثل المكالمة الفيديو ، المكالمة الفيديو الجماعية وما إلى ذلك. لتعمل مرشحات الجمال ، سنجمع معلومات الوجه التي يتم التقاطها بكاميراك في الوقت الحقيقي لكشف ملامح وجهك.</string>
-    <string name="tuicallkit_permission_bluetooth_reason">يحتاج إلى الوصول إلى بلوتوثك ، ويمكن استخدامه لسماعة البلوتوث.</string>
-    <string name="tuicallkit_package_not_purchased">ليس لديك حزمة TUICallKit ، يرجى فتح التجربة المجانية في لوحة التحكم أو شراء الحزمة الرسمية</string>
-    <string name="tuicallkit_package_not_support">الحزمة التي اشتريتها لا تدعم هذه القدرة</string>
-    <string name="tuicallkit_group_id_is_empty">معرف المجموعة فارغ</string>
-    <string name="call_have_a_new_call">لديك مكالمة جديدة</string>
-    <string name="tuicallkit_record_call_title">المكالمات الأخيرة</string>
-    <string name="tuicallkit_record_call_delete">حذف</string>
-    <string name="tuicallkit_record_dialog_message">مسح كل سجل المكالمات</string>
-    <string name="tuicallkit_record_dialog_cancel">إلغاء</string>
-    <string name="tuicallkit_record_tab_title_all">الكل</string>
-    <string name="tuicallkit_record_tab_title_miss">المفقودة</string>
-    <string name="tuicallkit_record_done">تم</string>
-    <string name="tuicallkit_record_clear">مسح</string>
-    <string name="tuicallkit_group_recall_unsupport">لا يدعم سجل المكالمات المتعددة إعادة الاتصال</string>
-    <string name="tuicallkit_record_result_unknown">غير معروف</string>
-    <string name="tuicallkit_record_result_missed">فائت</string>
-    <string name="tuicallkit_record_result_incoming">وارد</string>
-    <string name="tuicallkit_record_result_outgoing">صادر</string>
-    <string name="tuicallkit_group_title_add_user">إضافة مستخدم</string>
-    <string name="tuicallkit_group_hint_you">(أنت)</string>
-    <string name="tuicallkit_group_btn_ok">تأكيد</string>
-    <string name="tuicallkit_error_in_peer_blacklist">فشلت المكالمة ، المستخدم في القائمة السوداء ، ممنوع الإطلاق.</string>
-    <string name="tuicallkit_error_invalid_login">الرجاء تسجيل الدخول مرة أخرى، تسجيل الدخول غير صحيح</string>
-    <string name="tuicallkit_error_parameter_invalid">خطأ المعلمة</string>
-    <string name="tuicallkit_error_request_refused">الحالة الحالية لا تدعم نداء الدالة</string>
-    <string name="tuicallkit_error_request_repeated">الطريقة الحالية تتم تنفيذها، يرجى عدم استدعاءها مرة أخرى</string>
-    <string name="tuicallkit_error_scene_not_support">مشهد المكالمة الحالي لا يدعم هذه الوظيفة</string>
-    <string name="tuicallkit_join_group_call">انضمام</string>
-    <string name="tuicallkit_join_group_call_users">يرتاد %s أشخاص %s</string>
-    <string name="tuicallkit_blur_background">الخلفية الغائمة</string>
-    <string name="tuicallkit_notification_channel_group_id">إدارة المكالمات</string>
-    <string name="tuicallkit_notification_channel_id">مكالمات الصوت والفيديو</string>
+    <string name="call_1v1">يتصل</string>
+    <string name="call_chat">مكالمات الدردشة</string>
+    <string name="call_video">مكالمات الفيديو</string>
     <string name="call_target_uid_is_invalid">معرف المستخدم المتصل غير صالح</string>
-    <string name="call_media_type_unknown">نوع المكالمة غير معروف</string>
     <string name="call_target_uid_is_self">لا تستطيع أن تسمي نفسك</string>
+    <string name="call_media_type_unknown">نوع المكالمة غير معروف</string>
     <string name="call_answer_using_voice">الرد الصوتي</string>
-</resources>
+    <string name="call_request_permisson_fail">فشل طلب الإذن</string>
+    <string name="call_target_uid_is_empty">معرف المكالمة فارغ</string>
+    <string name="call_fail_for_exceeding_max_user">فشلت المكالمات، وتجاوز الحد الأقصى لعدد المستخدمين</string>
+    <string name="call_start_call_fail_room_id_invalid">فشل بدء المكالمة (معرف الغرفة غير صالح)</string>
+    <string name="call_callee_hangup">أغلق الطرف الآخر الهاتف، وانتهت المكالمة</string>
+    <string name="call_callee_reject">تم رفض المكالمة من قبل الطرف الآخر</string>
+    <string name="call_callee_no_response">ولم يرد الطرف الآخر</string>
+    <string name="call_line_busy">الخط مشغول</string>
+    <string name="call_video_call">مكالمة فيديو</string>
+    <string name="call_audio_call">مكالمة صوتية</string>
+    <string name="call_user_exceed_limit">يدعم TUICallKit حاليًا إجراء مكالمات مع ما يصل إلى 9 أشخاص. لإجراء مكالمات مؤتمرات أكبر، حاول استخدام TUIRoomKit</string>
+    <string name="call_wait_response">منتظر</string>
+    <string name="tuicallkit_permission_camera">آلة تصوير</string>
+    <string name="tuicallkit_permission_microphone">ميكروفون</string>
+    <string name="tuicallkit_permission_bluetooth">بلوتوث</string>
+    <string name="tuicallkit_permission_separator">،</string>
+    <string name="tuicallkit_permission_tips">الرجاء تشغيل إذن %s أولاً</string>
+    <string name="tuicallkit_permission_title">ينطبق %s على الوصول إلى %s</string>
+    <string name="tuicallkit_permission_mic_reason">يحتاج إلى الوصول إلى الميكروفون الخاص بك، ويمكن استخدامه لوظائف مثل مكالمة الصوت/الفيديو، ومكالمة الصوت/الفيديو الجماعية وما إلى ذلك.</string>
+    <string name="tuicallkit_permission_camera_reason">يحتاج إلى الوصول إلى الكاميرا الخاصة بك، ويمكن استخدامه لوظائف مثل مكالمة الفيديو ومكالمة الفيديو الجماعية وما إلى ذلك. لكي تعمل مرشحات التجميل، سنقوم بجمع معلومات الوجه التي تلتقطها الكاميرا في الوقت الفعلي لاكتشاف ملامح وجهك.</string>
+    <string name="tuicallkit_permission_bluetooth_reason">لضمان إمكانية الاتصال بوظيفة البلوتوث للتواصل أثناء مكالمة الصوت/الفيديو، نحتاج إلى طلب الإذن من الأجهزة القريبة.</string>
+    <string name="tuicallkit_package_not_purchased">ليس لديك حزمة TUICallKit، يرجى فتح التجربة المجانية في وحدة التحكم أو شراء الحزمة الرسمية</string>
+    <string name="tuicallkit_package_not_support">الحزمة التي اشتريتها لا تدعم هذه القدرة</string>
+    <string name="call_have_a_new_call">لديك مكالمة جديدة</string>
+    <string name="call_have_a_new_audio_call_cost">دعوة محادثة صوتية، بتكلفة %s عملة/دقيقة بعد الاتصال</string>
+    <string name="call_have_a_new_audio_call_earn">دعوة محادثة صوتية، احصل على %s ماسة/15 ثانية بعد الاتصال</string>
+    <string name="call_have_a_new_video_call_cost">دعوة محادثة صوتية، تكلفة %s عملة/دقيقة بعد الاتصال</string>
+    <string name="call_have_a_new_video_call_earn">دعوة للدردشة الصوتية، احصل على %s ماسة/15 ثانية بعد الاتصال</string>
+    <string name="call_error_in_peer_blacklist">المُعرّف مُدرج في القائمة السوداء. تعذّر إرسال هذه الرسالة!</string>
+    <string name="call_error_invalid_login">تسجيل الدخول غير صالح، يرجى تسجيل الدخول مرة أخرى</string>
+    <string name="call_error_parameter_invalid">خطأ في المعلمة</string>
+    <string name="call_error_request_refused">الحالة الحالية لا يمكن استخدام هذه الوظيفة</string>
+    <string name="call_error_request_repeated">الحالة الحالية هي انتظار/قبول، يرجى عدم الاتصال بها بشكل متكرر</string>
+    <string name="call_error_scene_not_support">المشهد الحالي لا يدعم هذه الوظيفة</string>
+    <string name="call_notification_channel_group_id">مدير المكالمات</string>
+    <string name="call_chat_caller_waiting_tips">نداء</string>
+    <string name="call_chat_called_waiting_tips">لقد تمت دعوتك إلى مكالمة صوتية</string>
+    <string name="call_chat_caller_cost">دعوة محادثة صوتية، التكلفة %s[icon]/دقيقة بعد الاتصال</string>
+    <string name="call_chat_called_earn">دعوة محادثة صوتية، احصل على %s[icon]/15s بعد الاتصال</string>
+    <string name="call_video_caller_cost">دعوة محادثة صوتية، التكلفة %s[icon]/دقيقة بعد الاتصال</string>
+    <string name="call_video_called_earn">دعوة للدردشة الصوتية، احصل على %s[icon]/15s بعد الاتصال</string>
+    <string name="call_video_invitation">دعوة فيديو</string>
+    <string name="call_video_invitation_tips">احصل على %s من الماس [icon]/15 ثانية</string>
+    <string name="call_video_calling">مكالمات الفيديو</string>
+    <string name="call_video_calling_tips">التكلفة %s عملة [icon]/دقيقة</string>
+    <string name="call_chat_invitation">دعوة للدردشة</string>
+    <string name="call_chat_invitation_tips">احصل على %s من الماس [icon]/15 ثانية</string>
+    <string name="call_chat_calling">مكالمات الدردشة</string>
+    <string name="call_chat_calling_tips">التكلفة %s عملة [icon]/دقيقة</string>
+    <string name="call_media_conflict_title">أدخل مكالمة مباشرة؟</string>
+    <string name="call_media_conflict_tips">أنت موجود في %s الآن، وسوف يتم تسجيل خروجك تلقائيًا عند بدء مكالمة مباشرة</string>
+    <string name="call_media_conflict_remind">لا تذكرني مرة أخرى</string>
+    <string name="call_video_camera_off">الكاميرا مغلقة</string>
+    <string name="call_fail_for_calling_now">حاليا في مكالمة</string>
+</resources>

+ 0 - 82
module/call/src/main/res/values-en/strings.xml

@@ -1,82 +0,0 @@
-<resources>
-    <string name="tuicallkit_contact_default_name">test 123</string>
-    <string name="tuicallkit_toast_enable_mute">Muted</string>
-    <string name="tuicallkit_toast_disable_mute">Unmuted</string>
-    <string name="tuicallkit_toast_speaker">Speaker</string>
-    <string name="tuicallkit_toast_use_earpiece">Earpiece</string>
-    <string name="tuicallkit_toast_user_end">%s end the call.</string>
-    <string name="tuicallkit_toast_callee_hangup">Other party hung up, call ended</string>
-    <string name="tuicallkit_toast_user_reject">%s rejected call</string>
-    <string name="tuicallkit_toast_callee_reject">Call rejected by other party</string>
-    <string name="tuicallkit_toast_callee_no_response">The other party did not respond</string>
-    <string name="tuicallkit_other_party_network_low_quality">The other party\'s network connection is poor</string>
-    <string name="tuicallkit_self_network_low_quality">Your network connection is poor</string>
-    <string name="tuicallkit_toast_switch_camera">Switch Camera</string>
-    <string name="tuicallkit_toast_enable_camera">Camera On</string>
-    <string name="tuicallkit_toast_disable_camera">Camera Off</string>
-    <string name="tuicallkit_waiting_accept">Awaiting response</string>
-    <string name="call_invite_audio_call">Invited you to a voice call</string>
-    <string name="call_invite_video_call">Invites you to a video call</string>
-    <string name="tuicallkit_text_microphone">Mic</string>
-    <string name="tuicallkit_text_hangup">Hang Up</string>
-    <string name="tuicallkit_text_reject">Decline</string>
-    <string name="tuicallkit_text_line_busy">Line Busy</string>
-    <string name="tuicallkit_text_speaker">Speaker</string>
-    <string name="tuicallkit_text_dialing">Answer</string>
-    <string name="tuicallkit_text_camera">Camera</string>
-    <string name="tuicallkit_switch_audio_call">Switch to Voice Call</string>
-    <string name="tuicallkit_btn_cancel">Cancel</string>
-    <string name="tuicallkit_video_call">Video Call</string>
-    <string name="tuicallkit_audio_call">Voice Call</string>
-    <string name="tuicallkit_user_exceed_limit">TUICallKit currently supports call with up to 9 people.For larger conference calls,try using TUIRoomKit</string>
-    <string name="call_wait_response">Waiting</string>
-    <string name="tuicallkit_wait_accept_group">invites you to a group call</string>
-    <string name="tuicallkit_accept_single">Connected</string>
-    <string name="tuicallkit_invitee_user_list">Also on the call:</string>
-
-    <string name="tuicallkit_permission_camera">Camera</string>
-    <string name="tuicallkit_permission_microphone">Microphone</string>
-    <string name="tuicallkit_permission_bluetooth">Bluetooth</string>
-    <string name="tuicallkit_permission_separator">,</string>
-    <string name="tuicallkit_permission_tips">Please turn on the %s permission first</string>
-    <string name="tuicallkit_permission_title">%s applies for access to the %s</string>
-    <string name="tuicallkit_permission_mic_reason">Needs access to your microphone, and it can be used for functions such as Audio/Video Call, Group Audio/Video Call etc.</string>
-    <string name="tuicallkit_permission_camera_reason">Needs access to your camera, and it can be used for functions such as Video Call, Group Video Call etc. For beauty filters to work, we will collect the facial information captured by your camera in real time to detect your facial features.</string>
-    <string name="tuicallkit_permission_bluetooth_reason">To ensure that you can connect to Bluetooth function for communication during Audio/Video Call, we need to request permission of nearby devices.</string>
-
-    <string name="tuicallkit_package_not_purchased">You do not have TUICallKit package, please open the free experience in the console or purchase the official package</string>
-    <string name="tuicallkit_package_not_support">The package you purchased does not support this ability</string>
-    <string name="tuicallkit_group_id_is_empty">groupId is empty</string>
-    <string name="call_have_a_new_call">You have a new call</string>
-
-    <string name="tuicallkit_record_call_title">Recent Calls</string>
-    <string name="tuicallkit_record_call_delete">delete</string>
-    <string name="tuicallkit_record_dialog_message">Clear All Call History</string>
-    <string name="tuicallkit_record_dialog_cancel">Cancel</string>
-    <string name="tuicallkit_record_tab_title_all">All</string>
-    <string name="tuicallkit_record_tab_title_miss">Missed</string>
-    <string name="tuicallkit_record_done">Done</string>
-    <string name="tuicallkit_record_clear">Clear</string>
-    <string name="tuicallkit_group_recall_unsupport">Multiple call records do not support recalls</string>
-    <string name="tuicallkit_record_result_unknown">Unknown</string>
-    <string name="tuicallkit_record_result_missed">Missed</string>
-    <string name="tuicallkit_record_result_incoming">Incoming</string>
-    <string name="tuicallkit_record_result_outgoing">Outgoing</string>
-
-    <string name="tuicallkit_group_title_add_user">Add User</string>
-    <string name="tuicallkit_group_hint_you">(you)</string>
-    <string name="tuicallkit_group_btn_ok">Confirm</string>
-
-    <string name="tuicallkit_error_in_peer_blacklist">The identifier is in blacklist. Failed to send this message!</string>
-    <string name="tuicallkit_error_invalid_login">Invalid login, please login again</string>
-    <string name="tuicallkit_error_parameter_invalid">Parameter error</string>
-    <string name="tuicallkit_error_request_refused">The current status can not use this function</string>
-    <string name="tuicallkit_error_request_repeated">The current status is waiting/accept, please do not call it repeatedly</string>
-    <string name="tuicallkit_error_scene_not_support">The current scene does not support this function</string>
-    <string name="tuicallkit_join_group_call">Join</string>
-    <string name="tuicallkit_join_group_call_users">%s member(s) in %s</string>
-
-    <string name="tuicallkit_blur_background">Blur Background</string>
-    <string name="tuicallkit_notification_channel_group_id">Call Manager</string>
-    <string name="tuicallkit_notification_channel_id">TUICallKit</string>
-</resources>

+ 0 - 82
module/call/src/main/res/values-ja/strings.xml

@@ -1,82 +0,0 @@
-<resources>
-    <string name="tuicallkit_contact_default_name">test123</string>
-    <string name="tuicallkit_toast_enable_mute">マイクオフ</string>
-    <string name="tuicallkit_toast_disable_mute">マイクオン</string>
-    <string name="tuicallkit_toast_speaker">スピーカーオン</string>
-    <string name="tuicallkit_toast_use_earpiece">スピーカーオフ</string>
-    <string name="tuicallkit_toast_user_end">%s 通話終了</string>
-    <string name="tuicallkit_toast_callee_hangup">相手が切断、通話終了</string>
-    <string name="tuicallkit_toast_user_reject">%s は通話を拒否しました</string>
-    <string name="tuicallkit_toast_callee_reject">相手による通話拒否</string>
-    <string name="tuicallkit_toast_callee_no_response">呼び出しタイムアウト</string>
-    <string name="tuicallkit_other_party_network_low_quality">相手のネットワーク接続が不安定です</string>
-    <string name="tuicallkit_self_network_low_quality">ネットワーク接続が不安定です</string>
-    <string name="tuicallkit_toast_switch_camera">カメラの切り替え</string>
-    <string name="tuicallkit_toast_enable_camera">カメラオン</string>
-    <string name="tuicallkit_toast_disable_camera">カメラオフ</string>
-    <string name="tuicallkit_waiting_accept">応答を待っています</string>
-    <string name="call_invite_audio_call">音声通話に招待されました</string>
-    <string name="call_invite_video_call">ビデオ通話に招待されました</string>
-    <string name="tuicallkit_text_microphone">マイク</string>
-    <string name="tuicallkit_text_hangup">マイク</string>
-    <string name="tuicallkit_text_reject">拒否</string>
-    <string name="tuicallkit_text_line_busy">回線ビジー</string>
-    <string name="tuicallkit_text_speaker">スピーカー</string>
-    <string name="tuicallkit_text_dialing">応答</string>
-    <string name="tuicallkit_text_camera">カメラ</string>
-    <string name="tuicallkit_switch_audio_call">音声通話に切り替えます</string>
-    <string name="tuicallkit_btn_cancel">キャンセル</string>
-    <string name="tuicallkit_video_call">ビデオ通話</string>
-    <string name="tuicallkit_audio_call">音声通話</string>
-    <string name="tuicallkit_user_exceed_limit">暫して、最大9人までの通话をサポートしています。複数人の会議を希望する場合、TUIRoomKitを使用してください。</string>
-    <string name="call_wait_response">応答を待っています...</string>
-    <string name="tuicallkit_wait_accept_group">グループ通話に招待します</string>
-    <string name="tuicallkit_accept_single">接続済み</string>
-    <string name="tuicallkit_invitee_user_list">通話に参加している他の人もいます</string>
-
-    <string name="tuicallkit_permission_camera">カメラ</string>
-    <string name="tuicallkit_permission_microphone">マイク</string>
-    <string name="tuicallkit_permission_bluetooth">Bluetooth</string>
-    <string name="tuicallkit_permission_separator">、</string>
-    <string name="tuicallkit_permission_tips">最初に%sの権限を有効にする必要があります</string>
-    <string name="tuicallkit_permission_title">%sは%s権限を取得するよう申請します</string>
-    <string name="tuicallkit_permission_camera_reason">カメラへのアクセス許可が必要で、ビデオ通話、グループビデオ通話などの機能に使用できます。美顔機能を使用する場合は、カメラで撮影された映像から顔の特徴点情報をリアルタイムで収集し、より自然な美しさを提供します。</string>
-    <string name="tuicallkit_permission_mic_reason">マイクへのアクセス許可が必要で、音声/ビデオ通話、グループ音声/ビデオ通話などの機能に使用できます。マイクをオンにした場合のみ、録画した動画に音声が保存されます。</string>
-    <string name="tuicallkit_permission_bluetooth_reason">音声/ビデオ通話中にBluetooth接続が正常に行われるには、付近のBluetoothデバイスの検出や接続を許可する必要があります。</string>
-
-    <string name="tuicallkit_package_not_purchased">TUICallKit パッケージを購入していません。コンソールで無料トライアル版をアクティブ化するか、正式版を購入してください。</string>
-    <string name="tuicallkit_package_not_support">購入したTUICallKitパッケージはこの機能をサポートしていません。パッケージタイプをアップグレードすることをお勧めします。</string>
-    <string name="tuicallkit_group_id_is_empty">グループIDが空です</string>
-    <string name="call_have_a_new_call">新しい通話があります</string>
-
-    <string name="tuicallkit_record_call_title">通話履歴</string>
-    <string name="tuicallkit_record_call_delete">削除</string>
-    <string name="tuicallkit_record_dialog_message">すべての履歴を消去</string>
-    <string name="tuicallkit_record_dialog_cancel">キャンセル</string>
-    <string name="tuicallkit_record_tab_title_all">すべて</string>
-    <string name="tuicallkit_record_tab_title_miss">不在着信</string>
-    <string name="tuicallkit_record_done">完了</string>
-    <string name="tuicallkit_record_clear">削除</string>
-    <string name="tuicallkit_group_recall_unsupport">グループ通話記録はリコールをサポートしません</string>
-    <string name="tuicallkit_record_result_unknown">不明</string>
-    <string name="tuicallkit_record_result_missed">不在着信</string>
-    <string name="tuicallkit_record_result_incoming">着信</string>
-    <string name="tuicallkit_record_result_outgoing">発信</string>
-
-    <string name="tuicallkit_group_title_add_user">メンバーを招待</string>
-    <string name="tuicallkit_group_hint_you">(自分)</string>
-    <string name="tuicallkit_group_btn_ok">OK</string>
-
-    <string name="tuicallkit_error_in_peer_blacklist">ユーザーはブラックリストに登録され、通話が開始できませんでした。</string>
-    <string name="tuicallkit_error_invalid_login">ログイン失敗しました。もう一度ログインしてください</string>
-    <string name="tuicallkit_error_parameter_invalid">パラメータエラー</string>
-    <string name="tuicallkit_error_request_refused">現在の状態では、この機能の呼び出しはサポートされていません</string>
-    <string name="tuicallkit_error_request_repeated">現在実行中のメソッドを呼び出すことはできません</string>
-    <string name="tuicallkit_error_scene_not_support">現在の通話シーンでは、この機能はサポートしていません</string>
-    <string name="tuicallkit_join_group_call">参加</string>
-    <string name="tuicallkit_join_group_call_users">%s人が%sをしています</string>
-
-    <string name="tuicallkit_blur_background">背景をぼかす</string>
-    <string name="tuicallkit_notification_channel_group_id">つうわかんり</string>
-    <string name="tuicallkit_notification_channel_id">おんせい・えいぞうつうわ</string>
-</resources>

+ 0 - 83
module/call/src/main/res/values-zh-rHK/strings.xml

@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="tuicallkit_contact_default_name">測試123</string>
-    <string name="tuicallkit_toast_enable_mute">麥克風已關</string>
-    <string name="tuicallkit_toast_disable_mute">麥克風已開</string>
-    <string name="tuicallkit_toast_speaker">揚聲器已開</string>
-    <string name="tuicallkit_toast_use_earpiece">揚聲器已關</string>
-    <string name="tuicallkit_toast_user_end">%s 結束通話</string>
-    <string name="tuicallkit_toast_callee_hangup">對方已掛斷,通話結束</string>
-    <string name="tuicallkit_toast_user_reject">%s 拒絕了通話請求</string>
-    <string name="tuicallkit_toast_callee_reject">對方拒絕了通話請求</string>
-    <string name="tuicallkit_toast_callee_no_response">對方未響應</string>
-    <string name="tuicallkit_other_party_network_low_quality">當前通話對方網絡不佳</string>
-    <string name="tuicallkit_self_network_low_quality">當前通話你的網絡不佳</string>
-    <string name="tuicallkit_toast_switch_camera">翻轉</string>
-    <string name="tuicallkit_toast_enable_camera">攝像頭已開</string>
-    <string name="tuicallkit_toast_disable_camera">攝像頭已關</string>
-    <string name="tuicallkit_waiting_accept">等待對方接受邀請</string>
-    <string name="call_invite_audio_call">邀請你語音通話</string>
-    <string name="call_invite_video_call">邀請你視頻通話</string>
-    <string name="tuicallkit_text_microphone">麥克風</string>
-    <string name="tuicallkit_text_hangup">掛斷</string>
-    <string name="tuicallkit_text_reject">拒接</string>
-    <string name="tuicallkit_text_line_busy">對方忙</string>
-    <string name="tuicallkit_text_speaker">揚聲器</string>
-    <string name="tuicallkit_text_dialing">接聽</string>
-    <string name="tuicallkit_text_camera">攝像頭</string>
-    <string name="tuicallkit_switch_audio_call">切到語音通話</string>
-    <string name="tuicallkit_btn_cancel">取消</string>
-    <string name="tuicallkit_video_call">視頻通話</string>
-    <string name="tuicallkit_audio_call">語音通話</string>
-    <string name="tuicallkit_user_exceed_limit">暫支持最多9人通話。如需多人會議,請使用TUIRoomKit</string>
-    <string name="call_wait_response">等待接聽</string>
-    <string name="tuicallkit_wait_accept_group">邀請你加入多人通話</string>
-    <string name="tuicallkit_accept_single">已接通</string>
-    <string name="tuicallkit_invitee_user_list">參與通話的還有:</string>
-
-    <string name="tuicallkit_permission_camera">攝像頭</string>
-    <string name="tuicallkit_permission_microphone">麥克風</string>
-    <string name="tuicallkit_permission_bluetooth">藍牙</string>
-    <string name="tuicallkit_permission_separator">、</string>
-    <string name="tuicallkit_permission_tips">請先打開%s權限</string>
-    <string name="tuicallkit_permission_title">%s申請獲取%s權限</string>
-    <string name="tuicallkit_permission_camera_reason">需要訪問您的相機權限,開啟後用於視頻通話、多人視頻通話等功能,在您使用美顏功能時,我們會對您實時拍攝的面部的像素信息進行實時智能識別,在識別過程中會實時收集您面部的像素信息,以為您提供更好的美顏效果。</string>
-    <string name="tuicallkit_permission_mic_reason">需要訪問您的麥克風權限,開啟後用於語音通話、多人語音通話、視頻通話、多人視頻通話等功能,並且開啟後錄製的視頻才會有聲音。</string>
-    <string name="tuicallkit_permission_bluetooth_reason">為確保您在音視頻通話中可正常連接藍牙功能進行溝通,我們需要向您申請查找與連接附近設備的權限。</string>
-
-    <string name="tuicallkit_package_not_purchased">您當前未購買音視頻通話能力套餐,請前往 IM 控制台開通免費體驗或加購正式版</string>
-    <string name="tuicallkit_package_not_support">您當前購買的音視頻通話能力套餐不支持該功能,建議您升級套餐類型</string>
-    <string name="tuicallkit_group_id_is_empty">群ID為空</string>
-    <string name="call_have_a_new_call">您有一個新的通話</string>
-
-    <string name="tuicallkit_record_call_title">最近通話</string>
-    <string name="tuicallkit_record_call_delete">刪除</string>
-    <string name="tuicallkit_record_dialog_message">清除所有記錄</string>
-    <string name="tuicallkit_record_dialog_cancel">取消</string>
-    <string name="tuicallkit_record_tab_title_all">所有通話</string>
-    <string name="tuicallkit_record_tab_title_miss">未接來電</string>
-    <string name="tuicallkit_record_done">完成</string>
-    <string name="tuicallkit_record_clear">清除</string>
-    <string name="tuicallkit_group_recall_unsupport">多人通話記錄不支持重呼</string>
-    <string name="tuicallkit_record_result_unknown">未知通話</string>
-    <string name="tuicallkit_record_result_missed">未接</string>
-    <string name="tuicallkit_record_result_incoming">來電</string>
-    <string name="tuicallkit_record_result_outgoing">去電</string>
-
-    <string name="tuicallkit_group_title_add_user">添加成員</string>
-    <string name="tuicallkit_group_hint_you">(你)</string>
-    <string name="tuicallkit_group_btn_ok">確定</string>
-
-    <string name="tuicallkit_error_in_peer_blacklist">發起通話失敗,用戶在黑名單中,禁止發起!</string>
-    <string name="tuicallkit_error_invalid_login">登錄失敗,請重新登錄</string>
-    <string name="tuicallkit_error_parameter_invalid">參數錯誤</string>
-    <string name="tuicallkit_error_request_refused">當前狀態不支持調用</string>
-    <string name="tuicallkit_error_request_repeated">當前方法正在執行中,請勿重複調用</string>
-    <string name="tuicallkit_error_scene_not_support">當前通話場景,不支持該功能</string>
-    <string name="tuicallkit_join_group_call">加入</string>
-    <string name="tuicallkit_join_group_call_users">%s人正在%s</string>
-
-    <string name="tuicallkit_blur_background">模糊背景</string>
-    <string name="tuicallkit_notification_channel_group_id">通話管理</string>
-    <string name="tuicallkit_notification_channel_id">音視頻通話</string>
-</resources>

+ 0 - 83
module/call/src/main/res/values-zh-rTW/strings.xml

@@ -1,83 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <string name="tuicallkit_contact_default_name">測試123</string>
-    <string name="tuicallkit_toast_enable_mute">麥克風已關</string>
-    <string name="tuicallkit_toast_disable_mute">麥克風已開</string>
-    <string name="tuicallkit_toast_speaker">揚聲器已開</string>
-    <string name="tuicallkit_toast_use_earpiece">揚聲器已關</string>
-    <string name="tuicallkit_toast_user_end">%s 結束通話</string>
-    <string name="tuicallkit_toast_callee_hangup">對方已掛斷,通話結束</string>
-    <string name="tuicallkit_toast_user_reject">%s 拒絕了通話請求</string>
-    <string name="tuicallkit_toast_callee_reject">對方拒絕了通話請求</string>
-    <string name="tuicallkit_toast_callee_no_response">對方未響應</string>
-    <string name="tuicallkit_other_party_network_low_quality">當前通話對方網絡不佳</string>
-    <string name="tuicallkit_self_network_low_quality">當前通話你的網絡不佳</string>
-    <string name="tuicallkit_toast_switch_camera">翻轉</string>
-    <string name="tuicallkit_toast_enable_camera">攝像頭已開</string>
-    <string name="tuicallkit_toast_disable_camera">攝像頭已關</string>
-    <string name="tuicallkit_waiting_accept">等待對方接受邀請</string>
-    <string name="call_invite_audio_call">邀請你語音通話</string>
-    <string name="call_invite_video_call">邀請你視頻通話</string>
-    <string name="tuicallkit_text_microphone">麥克風</string>
-    <string name="tuicallkit_text_hangup">掛斷</string>
-    <string name="tuicallkit_text_reject">拒接</string>
-    <string name="tuicallkit_text_line_busy">對方忙</string>
-    <string name="tuicallkit_text_speaker">揚聲器</string>
-    <string name="tuicallkit_text_dialing">接聽</string>
-    <string name="tuicallkit_text_camera">攝像頭</string>
-    <string name="tuicallkit_switch_audio_call">切到語音通話</string>
-    <string name="tuicallkit_btn_cancel">取消</string>
-    <string name="tuicallkit_video_call">視頻通話</string>
-    <string name="tuicallkit_audio_call">語音通話</string>
-    <string name="tuicallkit_user_exceed_limit">暫支持最多9人通話。如需多人會議,請使用TUIRoomKit</string>
-    <string name="call_wait_response">等待接聽</string>
-    <string name="tuicallkit_wait_accept_group">邀請你加入多人通話</string>
-    <string name="tuicallkit_accept_single">已接通</string>
-    <string name="tuicallkit_invitee_user_list">參與通話的還有:</string>
-
-    <string name="tuicallkit_permission_camera">攝像頭</string>
-    <string name="tuicallkit_permission_microphone">麥克風</string>
-    <string name="tuicallkit_permission_bluetooth">藍牙</string>
-    <string name="tuicallkit_permission_separator">、</string>
-    <string name="tuicallkit_permission_tips">請先打開%s權限</string>
-    <string name="tuicallkit_permission_title">%s申請獲取%s權限</string>
-    <string name="tuicallkit_permission_camera_reason">需要訪問您的相機權限,開啟後用於視頻通話、多人視頻通話等功能,在您使用美顏功能時,我們會對您實時拍攝的面部的像素信息進行實時智能識別,在識別過程中會實時收集您面部的像素信息,以為您提供更好的美顏效果。</string>
-    <string name="tuicallkit_permission_mic_reason">需要訪問您的麥克風權限,開啟後用於語音通話、多人語音通話、視頻通話、多人視頻通話等功能,並且開啟後錄製的視頻才會有聲音。</string>
-    <string name="tuicallkit_permission_bluetooth_reason">為確保您在音視頻通話中可正常連接藍牙功能進行溝通,我們需要向您申請查找與連接附近設備的權限。</string>
-
-    <string name="tuicallkit_package_not_purchased">您當前未購買音視頻通話能力套餐,請前往 IM 控制台開通免費體驗或加購正式版</string>
-    <string name="tuicallkit_package_not_support">您當前購買的音視頻通話能力套餐不支持該功能,建議您升級套餐類型</string>
-    <string name="tuicallkit_group_id_is_empty">群ID為空</string>
-    <string name="call_have_a_new_call">您有一個新的通話</string>
-
-    <string name="tuicallkit_record_call_title">最近通話</string>
-    <string name="tuicallkit_record_call_delete">刪除</string>
-    <string name="tuicallkit_record_dialog_message">清除所有記錄</string>
-    <string name="tuicallkit_record_dialog_cancel">取消</string>
-    <string name="tuicallkit_record_tab_title_all">所有通話</string>
-    <string name="tuicallkit_record_tab_title_miss">未接來電</string>
-    <string name="tuicallkit_record_done">完成</string>
-    <string name="tuicallkit_record_clear">清除</string>
-    <string name="tuicallkit_group_recall_unsupport">多人通話記錄不支持重呼</string>
-    <string name="tuicallkit_record_result_unknown">未知通話</string>
-    <string name="tuicallkit_record_result_missed">未接</string>
-    <string name="tuicallkit_record_result_incoming">來電</string>
-    <string name="tuicallkit_record_result_outgoing">去電</string>
-
-    <string name="tuicallkit_group_title_add_user">添加成員</string>
-    <string name="tuicallkit_group_hint_you">(你)</string>
-    <string name="tuicallkit_group_btn_ok">確定</string>
-
-    <string name="tuicallkit_error_in_peer_blacklist">發起通話失敗,用戶在黑名單中,禁止發起!</string>
-    <string name="tuicallkit_error_invalid_login">登錄失敗,請重新登錄</string>
-    <string name="tuicallkit_error_parameter_invalid">參數錯誤</string>
-    <string name="tuicallkit_error_request_refused">當前狀態不支持調用</string>
-    <string name="tuicallkit_error_request_repeated">當前方法正在執行中,請勿重複調用</string>
-    <string name="tuicallkit_error_scene_not_support">當前通話場景,不支持該功能</string>
-    <string name="tuicallkit_join_group_call">加入</string>
-    <string name="tuicallkit_join_group_call_users">%s人正在%s</string>
-
-    <string name="tuicallkit_blur_background">模糊背景</string>
-    <string name="tuicallkit_notification_channel_group_id">通話管理</string>
-    <string name="tuicallkit_notification_channel_id">音視頻通話</string>
-</resources>

+ 60 - 77
module/call/src/main/res/values-zh/strings.xml

@@ -1,81 +1,64 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <string name="tuicallkit_contact_default_name">测试123</string>
-    <string name="tuicallkit_toast_enable_mute">麦克风已关</string>
-    <string name="tuicallkit_toast_disable_mute">麦克风已开</string>
-    <string name="tuicallkit_toast_speaker">扬声器已开</string>
-    <string name="tuicallkit_toast_use_earpiece">扬声器已关</string>
-    <string name="tuicallkit_toast_user_end">%s 结束通话</string>
-    <string name="tuicallkit_toast_callee_hangup">对方已挂断,通话结束</string>
-    <string name="tuicallkit_toast_user_reject">%s 拒绝了通话请求</string>
-    <string name="tuicallkit_toast_callee_reject">对方拒绝了通话请求</string>
-    <string name="tuicallkit_toast_callee_no_response">对方未响应</string>
-    <string name="tuicallkit_other_party_network_low_quality">当前通话对方网络不佳</string>
-    <string name="tuicallkit_self_network_low_quality">当前通话你的网络不佳</string>
-    <string name="tuicallkit_toast_switch_camera">翻转</string>
-    <string name="tuicallkit_toast_enable_camera">摄像头已开</string>
-    <string name="tuicallkit_toast_disable_camera">摄像头已关</string>
-    <string name="tuicallkit_waiting_accept">等待对方接受邀请</string>
-    <string name="call_invite_audio_call">邀请你语音通话</string>
-    <string name="call_invite_video_call">邀请你视频通话</string>
-    <string name="tuicallkit_text_microphone">麦克风</string>
-    <string name="tuicallkit_text_hangup">挂断</string>
-    <string name="tuicallkit_text_reject">拒接</string>
-    <string name="tuicallkit_text_line_busy">对方忙</string>
-    <string name="tuicallkit_text_speaker">扬声器</string>
-    <string name="tuicallkit_text_dialing">接听</string>
-    <string name="tuicallkit_text_camera">摄像头</string>
-    <string name="tuicallkit_switch_audio_call">切到语音通话</string>
-    <string name="tuicallkit_btn_cancel">取消</string>
-    <string name="tuicallkit_video_call">视频通话</string>
-    <string name="tuicallkit_audio_call">语音通话</string>
-    <string name="tuicallkit_user_exceed_limit">暂支持最多9人通话。如需多人会议,请使用TUIRoomKit</string>
-    <string name="call_wait_response">等待接听</string>
-    <string name="tuicallkit_wait_accept_group">邀请你加入多人通话</string>
-    <string name="tuicallkit_accept_single">已接通</string>
-    <string name="tuicallkit_invitee_user_list">参与通话的还有:</string>
-    <string name="tuicallkit_permission_camera">摄像头</string>
-    <string name="tuicallkit_permission_microphone">麦克风</string>
-    <string name="tuicallkit_permission_bluetooth">蓝牙</string>
-    <string name="tuicallkit_permission_separator">、</string>
-    <string name="tuicallkit_permission_tips">请先打开%s权限</string>
-    <string name="tuicallkit_permission_title">%s申请获取%s权限</string>
-    <string name="tuicallkit_permission_camera_reason">需要访问您的相机权限,开启后用于视频通话、多人视频通话等功能,在您使用美颜功能时,我们会对您实时拍摄的面部的像素信息进行实时智能识别,在识别过程中会实时收集您面部的像素信息,以为您提供更好的美颜效果。</string>
-    <string name="tuicallkit_permission_mic_reason">需要访问您的麦克风权限,开启后用于语音通话、多人语音通话、视频通话、多人视频通话等功能,并且开启后录制的视频才会有声音。</string>
-    <string name="tuicallkit_permission_bluetooth_reason">为确保您在音视频通话中可正常连接蓝牙功能进行沟通,我们需要向您申请查找与连接附近设备的权限。</string>
-    <string name="tuicallkit_package_not_purchased">您当前未购买音视频通话能力套餐,请前往 IM 控制台开通免费体验或加购正式版</string>
-    <string name="tuicallkit_package_not_support">您当前购买的音视频通话能力套餐不支持该功能,建议您升级套餐类型</string>
-    <string name="tuicallkit_group_id_is_empty">群ID为空</string>
-    <string name="call_have_a_new_call">您有一个新的通话</string>
-    <string name="tuicallkit_record_call_title">最近通话</string>
-    <string name="tuicallkit_record_call_delete">删除</string>
-    <string name="tuicallkit_record_dialog_message">清除所有记录</string>
-    <string name="tuicallkit_record_dialog_cancel">取消</string>
-    <string name="tuicallkit_record_tab_title_all">所有通话</string>
-    <string name="tuicallkit_record_tab_title_miss">未接来电</string>
-    <string name="tuicallkit_record_done">完成</string>
-    <string name="tuicallkit_record_clear">清除</string>
-    <string name="tuicallkit_group_recall_unsupport">多人通话记录不支持重呼</string>
-    <string name="tuicallkit_record_result_unknown">未知通话</string>
-    <string name="tuicallkit_record_result_missed">未接</string>
-    <string name="tuicallkit_record_result_incoming">来电</string>
-    <string name="tuicallkit_record_result_outgoing">去电</string>
-    <string name="tuicallkit_group_title_add_user">添加成员</string>
-    <string name="tuicallkit_group_hint_you">(你)</string>
-    <string name="tuicallkit_group_btn_ok">确定</string>
-    <string name="tuicallkit_error_in_peer_blacklist">发起通话失败,用户在黑名单中,禁止发起!</string>
-    <string name="tuicallkit_error_invalid_login">登录失败,请重新登录</string>
-    <string name="tuicallkit_error_parameter_invalid">参数错误</string>
-    <string name="tuicallkit_error_request_refused">当前状态不支持调用</string>
-    <string name="tuicallkit_error_request_repeated">当前方法正在执行中,请勿重复调用</string>
-    <string name="tuicallkit_error_scene_not_support">当前通话场景,不支持该功能</string>
-    <string name="tuicallkit_join_group_call">加入</string>
-    <string name="tuicallkit_join_group_call_users">%s人正在%s</string>
-    <string name="tuicallkit_blur_background">模糊背景</string>
-    <string name="tuicallkit_notification_channel_group_id">通话管理</string>
-    <string name="tuicallkit_notification_channel_id">音视频通话</string>
-    <string name="call_target_uid_is_invalid">呼叫用户ID无效</string>
+    <string name="call_1v1">称呼</string>
+    <string name="call_chat">聊天通话</string>
+    <string name="call_video">视频通话</string>
+    <string name="call_target_uid_is_invalid">主叫用户ID无效</string>
+    <string name="call_target_uid_is_self">无法称呼自己</string>
     <string name="call_media_type_unknown">未知呼叫类型</string>
-    <string name="call_target_uid_is_self">不能呼叫自己</string>
     <string name="call_answer_using_voice">语音应答</string>
-</resources>
+    <string name="call_request_permisson_fail">请求权限失败</string>
+    <string name="call_target_uid_is_empty">呼叫uid为空</string>
+    <string name="call_fail_for_exceeding_max_user">呼叫失败,超出最大用户数</string>
+    <string name="call_start_call_fail_room_id_invalid">开始呼叫失败(roomId 无效)</string>
+    <string name="call_callee_hangup">对方挂断电话,通话结束</string>
+    <string name="call_callee_reject">对方拒绝接听电话</string>
+    <string name="call_callee_no_response">对方没有回应</string>
+    <string name="call_line_busy">线路忙</string>
+    <string name="call_video_call">视频电话</string>
+    <string name="call_audio_call">语音通话</string>
+    <string name="call_user_exceed_limit">目前支持最多 9 人通话。对于更大规模的电话会议</string>
+    <string name="call_wait_response">等待</string>
+    <string name="tuicallkit_permission_camera">相机</string>
+    <string name="tuicallkit_permission_microphone">麦克风</string>
+    <string name="tuicallkit_permission_bluetooth">蓝牙</string>
+    <string name="tuicallkit_permission_separator">,</string>
+    <string name="tuicallkit_permission_tips">请先开启%s权限</string>
+    <string name="tuicallkit_permission_title">%s 申请访问 %s</string>
+    <string name="tuicallkit_permission_mic_reason">需要访问您的麦克风,并且可以用于音频/视频通话、群组音频/视频通话等功能。</string>
+    <string name="tuicallkit_permission_camera_reason">需要访问您的相机,并且可以用于视频通话、群组视频通话等功能。为了使美颜滤镜正常工作,我们将实时收集您的相机捕捉到的面部信息来检测您的面部特征。</string>
+    <string name="tuicallkit_permission_bluetooth_reason">为了确保您在音频/视频通话期间可以连接到蓝牙功能进行通信,我们需要请求附近设备的许可。</string>
+    <string name="tuicallkit_package_not_purchased">您没有TUICallKit套餐,请在控制台开启免费体验或者购买官方套餐</string>
+    <string name="tuicallkit_package_not_support">您购买的套餐不支持该功能</string>
+    <string name="call_have_a_new_call">您有新来电</string>
+    <string name="call_have_a_new_audio_call_cost">语音聊天邀请,连接后每分钟花费 %s 币</string>
+    <string name="call_have_a_new_audio_call_earn">语音聊天邀请,连接后15秒获得%s钻石</string>
+    <string name="call_have_a_new_video_call_cost">语音聊天邀请,连接后每分钟花费 %s 币</string>
+    <string name="call_have_a_new_video_call_earn">语音聊天邀请,连接后15秒获得%s钻石</string>
+    <string name="call_error_in_peer_blacklist">该标识符已列入黑名单。无法发送该消息!</string>
+    <string name="call_error_invalid_login">登录无效,请重新登录</string>
+    <string name="call_error_parameter_invalid">参数错误</string>
+    <string name="call_error_request_refused">目前状态无法使用此功能</string>
+    <string name="call_error_request_repeated">当前状态为等待/接受,请不要重复调用</string>
+    <string name="call_error_scene_not_support">当前场景不支持该功能</string>
+    <string name="call_notification_channel_group_id">呼叫管理器</string>
+    <string name="call_chat_caller_waiting_tips">呼唤</string>
+    <string name="call_chat_called_waiting_tips">您受邀参加语音通话</string>
+    <string name="call_chat_caller_cost">语音聊天邀请,连接后花费 %s[icon]/分钟</string>
+    <string name="call_chat_called_earn">语音聊天邀请,连接后 15 秒获取 %s[icon]</string>
+    <string name="call_video_caller_cost">语音聊天邀请,连接后花费 %s[icon]/分钟</string>
+    <string name="call_video_called_earn">语音聊天邀请,连接后15秒获取%s[icon]</string>
+    <string name="call_video_invitation">视频邀请</string>
+    <string name="call_video_invitation_tips">每 15 秒获得 %s 颗钻石 [icon]</string>
+    <string name="call_video_calling">视频通话</string>
+    <string name="call_video_calling_tips">花费%s金币[icon]/分钟</string>
+    <string name="call_chat_invitation">聊天邀请</string>
+    <string name="call_chat_invitation_tips">每 15 秒获得 %s 颗钻石 [icon]</string>
+    <string name="call_chat_calling">聊天通话</string>
+    <string name="call_chat_calling_tips">花费%s金币[icon]/分钟</string>
+    <string name="call_media_conflict_title">进入实时通话?</string>
+    <string name="call_media_conflict_tips">您现在处于 %s,当您发起实时通话时将自动结账</string>
+    <string name="call_media_conflict_remind">不要再提醒我</string>
+    <string name="call_video_camera_off">相机已关闭</string>
+    <string name="call_fail_for_calling_now">正在通话中</string>
+</resources>

+ 0 - 6
module/call/src/main/res/values/attrs.xml

@@ -8,10 +8,4 @@
         <attr name="left_bottom_radius" format="dimension" />
     </declare-styleable>
 
-    <declare-styleable name="SynthesizedImageView">
-        <attr name="image_background" format="color" />
-        <attr name="default_image" format="reference" />
-        <attr name="image_size" format="dimension" />
-        <attr name="image_gap" format="dimension" />
-    </declare-styleable>
 </resources>

+ 0 - 16
module/call/src/main/res/values/colors.xml

@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<resources>
-    <color name="tuicallkit_color_white">#FFFFFFFF</color>
-    <color name="tuicallkit_color_black">#FF000000</color>
-    <color name="tuicallkit_color_second">#666666</color>
-    <color name="tuicallkit_color_audio_background">#FFF1F2F8</color>
-    <color name="tuicallkit_color_video_background">#FF55534F</color>
-    <color name="tuicallkit_color_transparent">#00000000</color>
-    <color name="tuicallkit_color_green">#FF29CC85</color>
-    <color name="tuicallkit_color_bg_float_view">#FFBBBBBB</color>
-    <color name="tuicallkit_color_gray">#696969</color>
-    <color name="tuicallkit_record_text_red">#FF584C</color>
-    <color name="tuicallkit_record_edit">#0365F9</color>
-    <color name="tuicallkit_color_audio_waiting_hint">#8F9AB2</color>
-    <color name="tuicallkit_color_join_group_separate">#707070</color>
-</resources>

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff