Skip to content

Commit 1210fbc

Browse files
PualGeorgeAbySwifter
authored andcommitted
【Android】Version 4.0 Released
1 parent 653a407 commit 1210fbc

314 files changed

Lines changed: 4131 additions & 3491 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

application/app/build.gradle

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ apply plugin: 'kotlin-android'
33

44
android {
55
namespace 'com.tencent.uikit.app'
6-
compileSdk rootProject.compileSdkVersion
6+
compileSdk 34
77

88
defaultConfig {
99
applicationId "com.trtc.uikit.livekit.example"
10-
minSdkVersion rootProject.minSdkVersion
11-
targetSdkVersion rootProject.targetSdkVersion
10+
minSdkVersion 21
11+
targetSdkVersion 34
1212
versionCode 1
1313
versionName "1.0"
1414
}
@@ -30,6 +30,10 @@ android {
3030
sourceCompatibility JavaVersion.VERSION_17
3131
targetCompatibility JavaVersion.VERSION_17
3232
}
33+
34+
kotlinOptions {
35+
jvmTarget = JavaVersion.VERSION_17
36+
}
3337
}
3438

3539
dependencies {

application/app/src/main/java/com/tencent/uikit/app/main/MainFragment.kt

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package com.tencent.uikit.app.main
33
import android.content.Intent
44
import android.os.Bundle
55
import android.text.TextUtils
6-
import android.util.DisplayMetrics
76
import android.util.Log
87
import android.view.LayoutInflater
98
import android.view.View
@@ -14,20 +13,14 @@ import androidx.fragment.app.Fragment
1413
import androidx.navigation.Navigation
1514
import androidx.recyclerview.widget.GridLayoutManager
1615
import androidx.recyclerview.widget.RecyclerView
17-
import com.tencent.imsdk.v2.V2TIMManager
18-
import com.tencent.imsdk.v2.V2TIMValueCallback
1916
import com.tencent.qcloud.tuicore.TUIConstants
2017
import com.tencent.qcloud.tuicore.TUICore
2118
import com.tencent.qcloud.tuicore.TUILogin
2219
import com.tencent.qcloud.tuicore.TUIThemeManager
2320
import com.tencent.qcloud.tuicore.interfaces.ITUINotification
2421
import com.tencent.uikit.app.R
25-
import com.tencent.uikit.app.main.call.GroupCallActivity
26-
import com.tencent.uikit.app.main.live.LiveActivity
27-
import com.trtc.uikit.roomkit.RoomHomeActivity
2822
import io.trtc.tuikit.atomicx.widget.basicwidget.avatar.AtomicAvatar
2923
import io.trtc.tuikit.atomicx.widget.basicwidget.avatar.AtomicAvatar.AvatarContent
30-
import org.json.JSONObject
3124

3225
class MainFragment : Fragment() {
3326
private var userCenter: AtomicAvatar? = null
@@ -71,7 +64,7 @@ class MainFragment : Fragment() {
7164
userCenter?.setOnClickListener { v: View? -> navController.navigate(R.id.mine_fragment) }
7265
val trtcMainData = TRTCMainData()
7366
trtcMainAdapter = TRTCMainAdapter(
74-
isSmallScreenDevice, TUIThemeManager.getInstance().currentLanguage,
67+
TUIThemeManager.getInstance().currentLanguage,
7568
trtcMainData.itemDataList as MutableList<MainItemData>, object : TRTCMainAdapter.OnItemClickListener {
7669
override fun onItemClick(mainItemData: MainItemData?) {
7770
mainItemData?.let { item ->
@@ -80,7 +73,6 @@ class MainFragment : Fragment() {
8073
intent.putExtra("TITLE", getString(item.itemTitle))
8174
intent.putExtra("TYPE", type)
8275
startActivity(intent)
83-
observerTUI(item.itemTargetClass)
8476
}
8577
}
8678
})
@@ -95,36 +87,6 @@ class MainFragment : Fragment() {
9587
userCenter?.setContent(AvatarContent.URL(TUILogin.getFaceUrl(), R.drawable.app_ic_avatar))
9688
}
9789

98-
private fun observerTUI(activity: Class<*>?) {
99-
var type = 0L
100-
if (activity == GroupCallActivity::class.java) {
101-
type = 1303
102-
} else if (activity == LiveActivity::class.java) {
103-
type = 1119
104-
} else if (activity == RoomHomeActivity::class.java) {
105-
type = 1205
106-
}
107-
108-
val param = JSONObject().apply {
109-
put("UIComponentType", type)
110-
}.toString()
111-
V2TIMManager.getInstance()
112-
.callExperimentalAPI("reportTUIFeatureUsage", param, object : V2TIMValueCallback<Any> {
113-
override fun onSuccess(t: Any?) {
114-
}
115-
override fun onError(code: Int, desc: String?) {
116-
Log.e(TAG, "reportFeatureUsage failed: $code $desc")
117-
}
118-
})
119-
}
120-
121-
private val isSmallScreenDevice: Boolean
122-
get() {
123-
val displayMetrics = DisplayMetrics()
124-
requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics)
125-
return displayMetrics.widthPixels <= 720
126-
}
127-
12890
private fun registerEvent() {
12991
TUICore.registerEvent(
13092
TUIConstants.TUILogin.EVENT_LOGIN_STATE_CHANGED,
@@ -165,7 +127,6 @@ class MainFragment : Fragment() {
165127
holder.icon.setImageResource(item.iconRes)
166128
holder.title.text = item.title
167129
holder.subtitle.text = item.subtitle
168-
holder.tag.text = ""
169130
holder.itemView.setOnClickListener { onItemClick() }
170131
}
171132

@@ -174,7 +135,6 @@ class MainFragment : Fragment() {
174135
class SimpleVH(itemView: View) : RecyclerView.ViewHolder(itemView) {
175136
val icon: ImageView = itemView.findViewById(R.id.img_main_icon)
176137
val title: TextView = itemView.findViewById(R.id.tv_main_title)
177-
val tag: TextView = itemView.findViewById(R.id.tv_main_tag)
178138
val subtitle: TextView = itemView.findViewById(R.id.tv_main_subtitle)
179139
}
180140
}

application/app/src/main/java/com/tencent/uikit/app/main/TRTCMainAdapter.kt

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import androidx.recyclerview.widget.RecyclerView
1414
import com.tencent.uikit.app.R
1515

1616
class TRTCMainAdapter(
17-
private val isSmallScreenDevice: Boolean,
1817
private val currentLanguage: String?,
1918
private val itemDataList: MutableList<MainItemData>,
2019
private val onItemClickListener: OnItemClickListener
@@ -24,7 +23,6 @@ class TRTCMainAdapter(
2423
if (position == itemCount - 1) {
2524
return ITEM_TYPE_FOOTER
2625
}
27-
val item: MainItemData = itemDataList.get(position)
2826
return ITEM_TYPE_ITEM
2927
}
3028

@@ -46,7 +44,7 @@ class TRTCMainAdapter(
4644
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
4745
if (holder is ItemViewHolder) {
4846
val item: MainItemData? = itemDataList[position]
49-
holder.bind(isSmallScreenDevice, currentLanguage, item, onItemClickListener)
47+
holder.bind(item, onItemClickListener)
5048
} else if (holder is WebViewHolder) {
5149
val item: MainItemData? = itemDataList[position]
5250
holder.bind(item, currentLanguage, onItemClickListener)
@@ -65,11 +63,10 @@ class TRTCMainAdapter(
6563
private val imageIcon: ImageView = itemView.findViewById(R.id.img_main_icon)
6664
private val textTitle: TextView = itemView.findViewById(R.id.tv_main_title)
6765
private val textSubTitle: TextView = itemView.findViewById(R.id.tv_main_subtitle)
68-
private val textTag: TextView = itemView.findViewById(R.id.tv_main_tag)
6966
private val constraintItem: ConstraintLayout = itemView.findViewById(R.id.cl_main_item)
7067

7168
fun bind(
72-
isSmallScreenDevice: Boolean, currentLanguage: String?, mainItemData: MainItemData?,
69+
mainItemData: MainItemData?,
7370
onItemClickListener: OnItemClickListener
7471
) {
7572
if (mainItemData == null) {
@@ -80,10 +77,7 @@ class TRTCMainAdapter(
8077
mainItemData
8178
)
8279
}
83-
val category: MainItemData.Category? = mainItemData.category
84-
textTag.visibility = if (category === MainItemData.Category.UNDEFINED) View.GONE else View.VISIBLE
85-
textTag.setText(R.string.app_main_item_category_kit)
86-
textTag.setBackgroundResource(R.drawable.app_bg_main_category_kit)
80+
8781
constraintItem.setBackgroundResource(
8882
if (mainItemData.category === MainItemData.Category.KIT)
8983
R.drawable.app_bg_main_kit_item
@@ -93,29 +87,18 @@ class TRTCMainAdapter(
9387
textTitle.setText(mainItemData.itemTitle)
9488
imageIcon.setImageResource(mainItemData.itemResId)
9589
textSubTitle.setText(mainItemData.itemSubTitle)
96-
val layoutParams = if (TextUtils.equals(currentLanguage, ENGLISH_LANGUAGE_CODE)) {
97-
LinearLayout.LayoutParams(
98-
dp2px(ENGLISH_TEXT_WIDTH_DP.toFloat()),
99-
dp2px(ENGLISH_TEXT_HEIGHT_DP.toFloat())
100-
)
101-
} else {
102-
LinearLayout.LayoutParams(
103-
dp2px(DEFAULT_TEXT_WIDTH_DP.toFloat()),
104-
dp2px(DEFAULT_TEXT_HEIGHT_DP.toFloat())
105-
)
106-
}
107-
textTag.setLayoutParams(layoutParams)
108-
if (isSmallScreenDevice) {
109-
textTag.visibility = View.GONE
110-
}
11190
}
11291
}
11392

11493
class WebViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
11594
private val textTitle: TextView = itemView.findViewById(R.id.tv_main_title)
11695
private val textSubTitle: TextView = itemView.findViewById(R.id.tv_main_subtitle)
11796

118-
fun bind(mainItemData: MainItemData?, currentLanguage: String?, onItemClickListener: OnItemClickListener) {
97+
fun bind(
98+
mainItemData: MainItemData?,
99+
currentLanguage: String?,
100+
onItemClickListener: OnItemClickListener
101+
) {
119102
if (mainItemData == null) {
120103
return
121104
}
@@ -131,7 +114,11 @@ class TRTCMainAdapter(
131114
dp2px(DEFAULT_TEXT_HEIGHT_DP.toFloat())
132115
)
133116
}
134-
itemView.setOnClickListener(View.OnClickListener { v: View? -> onItemClickListener.onItemClick(mainItemData) })
117+
itemView.setOnClickListener(View.OnClickListener { v: View? ->
118+
onItemClickListener.onItemClick(
119+
mainItemData
120+
)
121+
})
135122
textTitle.setText(mainItemData.itemTitle)
136123
textSubTitle.setText(mainItemData.itemSubTitle)
137124
}
@@ -148,7 +135,11 @@ class TRTCMainAdapter(
148135
private const val DEFAULT_TEXT_WIDTH_DP = 32
149136
private const val DEFAULT_TEXT_HEIGHT_DP = 18
150137
private fun dp2px(dp: Float): Int {
151-
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, Resources.getSystem().displayMetrics)
138+
return TypedValue.applyDimension(
139+
TypedValue.COMPLEX_UNIT_DIP,
140+
dp,
141+
Resources.getSystem().displayMetrics
142+
)
152143
.toInt()
153144
}
154145
}

application/app/src/main/java/com/tencent/uikit/app/main/call/GroupCallActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,12 @@ import android.view.View
77
import android.widget.EditText
88
import android.widget.RadioGroup
99
import android.widget.RelativeLayout
10+
import com.tencent.qcloud.tuicore.TUILogin
1011
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit
1112
import io.trtc.tuikit.atomicx.widget.basicwidget.toast.AtomicToast
1213
import com.tencent.uikit.app.R
1314
import com.tencent.uikit.app.main.BaseActivity
15+
import com.trtc.tuikit.common.util.ToastUtil
1416
import io.trtc.tuikit.atomicxcore.api.call.CallMediaType
1517
import io.trtc.tuikit.atomicxcore.api.call.CallParams
1618
import java.util.Arrays

application/app/src/main/java/com/tencent/uikit/app/main/call/SettingsActivity.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ class SettingsActivity : BaseActivity() {
144144
SettingsConfig.isIncomingBanner = isChecked
145145
createInstance(application).enableIncomingBanner(isChecked)
146146
}
147+
147148
switchAISubtitle?.setOnCheckedChangeListener{ buttonView: CompoundButton?, isChecked: Boolean ->
148149
createInstance(application).enableAITranscriber(isChecked)
149150
}
-47.5 KB
Loading
-47.5 KB
Loading

application/app/src/main/res/layout/app_activity_live.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
android:singleLine="true"
2020
android:text="@string/app_main_item_live"
2121
android:textColor="@color/black"
22-
android:textSize="18sp"
23-
android:textStyle="bold" />
22+
android:textSize="@dimen/text_size_20"
23+
android:fontFamily="sans-serif-medium" />
2424
</androidx.appcompat.widget.Toolbar>
2525

2626
<LinearLayout

application/app/src/main/res/layout/app_main_item.xml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,20 +34,6 @@
3434
android:textColor="@color/app_color_black"
3535
android:textSize="14sp" />
3636

37-
<TextView
38-
android:id="@+id/tv_main_tag"
39-
android:layout_width="wrap_content"
40-
android:layout_height="18dp"
41-
android:gravity="center"
42-
android:textColor="@color/app_color_white"
43-
android:textSize="10sp" />
44-
45-
<ImageView
46-
android:id="@+id/img_main_arrow"
47-
android:layout_width="16dp"
48-
android:layout_height="match_parent"
49-
android:src="@drawable/app_ic_details" />
50-
5137
</LinearLayout>
5238

5339
<TextView

application/app/src/main/res/values-en/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,5 +102,5 @@
102102
<string name="app_main_item_video_live_sub">Create Interactive Video Live with Live API for a Seamless Streaming Experience.</string>
103103
<string name="app_main_item_voice_room">Voice Room</string>
104104
<string name="app_main_item_voice_room_sub">Enable Interactive Voice Room with Live API for an Enhanced Communication Experience.</string>
105-
105+
<string name="app_toast_error_call_self">You cannot call yourself, please use a different user ID</string>
106106
</resources>

0 commit comments

Comments
 (0)