Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 7 additions & 3 deletions application/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ apply plugin: 'kotlin-android'

android {
namespace 'com.tencent.uikit.app'
compileSdk rootProject.compileSdkVersion
compileSdk 34

defaultConfig {
applicationId "com.trtc.uikit.livekit.example"
minSdkVersion rootProject.minSdkVersion
targetSdkVersion rootProject.targetSdkVersion
minSdkVersion 21
targetSdkVersion 34
versionCode 1
versionName "1.0"
}
Expand All @@ -30,6 +30,10 @@ android {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = JavaVersion.VERSION_17
}
}

dependencies {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package com.tencent.uikit.app.main
import android.content.Intent
import android.os.Bundle
import android.text.TextUtils
import android.util.DisplayMetrics
import android.util.Log
import android.view.LayoutInflater
import android.view.View
Expand All @@ -14,20 +13,14 @@ import androidx.fragment.app.Fragment
import androidx.navigation.Navigation
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.tencent.imsdk.v2.V2TIMManager
import com.tencent.imsdk.v2.V2TIMValueCallback
import com.tencent.qcloud.tuicore.TUIConstants
import com.tencent.qcloud.tuicore.TUICore
import com.tencent.qcloud.tuicore.TUILogin
import com.tencent.qcloud.tuicore.TUIThemeManager
import com.tencent.qcloud.tuicore.interfaces.ITUINotification
import com.tencent.uikit.app.R
import com.tencent.uikit.app.main.call.GroupCallActivity
import com.tencent.uikit.app.main.live.LiveActivity
import com.trtc.uikit.roomkit.RoomHomeActivity
import io.trtc.tuikit.atomicx.widget.basicwidget.avatar.AtomicAvatar
import io.trtc.tuikit.atomicx.widget.basicwidget.avatar.AtomicAvatar.AvatarContent
import org.json.JSONObject

class MainFragment : Fragment() {
private var userCenter: AtomicAvatar? = null
Expand Down Expand Up @@ -71,7 +64,7 @@ class MainFragment : Fragment() {
userCenter?.setOnClickListener { v: View? -> navController.navigate(R.id.mine_fragment) }
val trtcMainData = TRTCMainData()
trtcMainAdapter = TRTCMainAdapter(
isSmallScreenDevice, TUIThemeManager.getInstance().currentLanguage,
TUIThemeManager.getInstance().currentLanguage,
trtcMainData.itemDataList as MutableList<MainItemData>, object : TRTCMainAdapter.OnItemClickListener {
override fun onItemClick(mainItemData: MainItemData?) {
mainItemData?.let { item ->
Expand All @@ -80,7 +73,6 @@ class MainFragment : Fragment() {
intent.putExtra("TITLE", getString(item.itemTitle))
intent.putExtra("TYPE", type)
startActivity(intent)
observerTUI(item.itemTargetClass)
}
}
})
Expand All @@ -95,36 +87,6 @@ class MainFragment : Fragment() {
userCenter?.setContent(AvatarContent.URL(TUILogin.getFaceUrl(), R.drawable.app_ic_avatar))
}

private fun observerTUI(activity: Class<*>?) {
var type = 0L
if (activity == GroupCallActivity::class.java) {
type = 1303
} else if (activity == LiveActivity::class.java) {
type = 1119
} else if (activity == RoomHomeActivity::class.java) {
type = 1205
}

val param = JSONObject().apply {
put("UIComponentType", type)
}.toString()
V2TIMManager.getInstance()
.callExperimentalAPI("reportTUIFeatureUsage", param, object : V2TIMValueCallback<Any> {
override fun onSuccess(t: Any?) {
}
override fun onError(code: Int, desc: String?) {
Log.e(TAG, "reportFeatureUsage failed: $code $desc")
}
})
}

private val isSmallScreenDevice: Boolean
get() {
val displayMetrics = DisplayMetrics()
requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics)
return displayMetrics.widthPixels <= 720
}

private fun registerEvent() {
TUICore.registerEvent(
TUIConstants.TUILogin.EVENT_LOGIN_STATE_CHANGED,
Expand Down Expand Up @@ -165,7 +127,6 @@ class MainFragment : Fragment() {
holder.icon.setImageResource(item.iconRes)
holder.title.text = item.title
holder.subtitle.text = item.subtitle
holder.tag.text = ""
holder.itemView.setOnClickListener { onItemClick() }
}

Expand All @@ -174,7 +135,6 @@ class MainFragment : Fragment() {
class SimpleVH(itemView: View) : RecyclerView.ViewHolder(itemView) {
val icon: ImageView = itemView.findViewById(R.id.img_main_icon)
val title: TextView = itemView.findViewById(R.id.tv_main_title)
val tag: TextView = itemView.findViewById(R.id.tv_main_tag)
val subtitle: TextView = itemView.findViewById(R.id.tv_main_subtitle)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import androidx.recyclerview.widget.RecyclerView
import com.tencent.uikit.app.R

class TRTCMainAdapter(
private val isSmallScreenDevice: Boolean,
private val currentLanguage: String?,
private val itemDataList: MutableList<MainItemData>,
private val onItemClickListener: OnItemClickListener
Expand All @@ -24,7 +23,6 @@ class TRTCMainAdapter(
if (position == itemCount - 1) {
return ITEM_TYPE_FOOTER
}
val item: MainItemData = itemDataList.get(position)
return ITEM_TYPE_ITEM
}

Expand All @@ -46,7 +44,7 @@ class TRTCMainAdapter(
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
if (holder is ItemViewHolder) {
val item: MainItemData? = itemDataList[position]
holder.bind(isSmallScreenDevice, currentLanguage, item, onItemClickListener)
holder.bind(item, onItemClickListener)
} else if (holder is WebViewHolder) {
val item: MainItemData? = itemDataList[position]
holder.bind(item, currentLanguage, onItemClickListener)
Expand All @@ -65,11 +63,10 @@ class TRTCMainAdapter(
private val imageIcon: ImageView = itemView.findViewById(R.id.img_main_icon)
private val textTitle: TextView = itemView.findViewById(R.id.tv_main_title)
private val textSubTitle: TextView = itemView.findViewById(R.id.tv_main_subtitle)
private val textTag: TextView = itemView.findViewById(R.id.tv_main_tag)
private val constraintItem: ConstraintLayout = itemView.findViewById(R.id.cl_main_item)

fun bind(
isSmallScreenDevice: Boolean, currentLanguage: String?, mainItemData: MainItemData?,
mainItemData: MainItemData?,
onItemClickListener: OnItemClickListener
) {
if (mainItemData == null) {
Expand All @@ -80,10 +77,7 @@ class TRTCMainAdapter(
mainItemData
)
}
val category: MainItemData.Category? = mainItemData.category
textTag.visibility = if (category === MainItemData.Category.UNDEFINED) View.GONE else View.VISIBLE
textTag.setText(R.string.app_main_item_category_kit)
textTag.setBackgroundResource(R.drawable.app_bg_main_category_kit)

constraintItem.setBackgroundResource(
if (mainItemData.category === MainItemData.Category.KIT)
R.drawable.app_bg_main_kit_item
Expand All @@ -93,29 +87,18 @@ class TRTCMainAdapter(
textTitle.setText(mainItemData.itemTitle)
imageIcon.setImageResource(mainItemData.itemResId)
textSubTitle.setText(mainItemData.itemSubTitle)
val layoutParams = if (TextUtils.equals(currentLanguage, ENGLISH_LANGUAGE_CODE)) {
LinearLayout.LayoutParams(
dp2px(ENGLISH_TEXT_WIDTH_DP.toFloat()),
dp2px(ENGLISH_TEXT_HEIGHT_DP.toFloat())
)
} else {
LinearLayout.LayoutParams(
dp2px(DEFAULT_TEXT_WIDTH_DP.toFloat()),
dp2px(DEFAULT_TEXT_HEIGHT_DP.toFloat())
)
}
textTag.setLayoutParams(layoutParams)
if (isSmallScreenDevice) {
textTag.visibility = View.GONE
}
}
}

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

fun bind(mainItemData: MainItemData?, currentLanguage: String?, onItemClickListener: OnItemClickListener) {
fun bind(
mainItemData: MainItemData?,
currentLanguage: String?,
onItemClickListener: OnItemClickListener
) {
if (mainItemData == null) {
return
}
Expand All @@ -131,7 +114,11 @@ class TRTCMainAdapter(
dp2px(DEFAULT_TEXT_HEIGHT_DP.toFloat())
)
}
itemView.setOnClickListener(View.OnClickListener { v: View? -> onItemClickListener.onItemClick(mainItemData) })
itemView.setOnClickListener(View.OnClickListener { v: View? ->
onItemClickListener.onItemClick(
mainItemData
)
})
textTitle.setText(mainItemData.itemTitle)
textSubTitle.setText(mainItemData.itemSubTitle)
}
Expand All @@ -148,7 +135,11 @@ class TRTCMainAdapter(
private const val DEFAULT_TEXT_WIDTH_DP = 32
private const val DEFAULT_TEXT_HEIGHT_DP = 18
private fun dp2px(dp: Float): Int {
return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, Resources.getSystem().displayMetrics)
return TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
dp,
Resources.getSystem().displayMetrics
)
.toInt()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@ import android.view.View
import android.widget.EditText
import android.widget.RadioGroup
import android.widget.RelativeLayout
import com.tencent.qcloud.tuicore.TUILogin
import com.tencent.qcloud.tuikit.tuicallkit.TUICallKit
import io.trtc.tuikit.atomicx.widget.basicwidget.toast.AtomicToast
import com.tencent.uikit.app.R
import com.tencent.uikit.app.main.BaseActivity
import com.trtc.tuikit.common.util.ToastUtil
import io.trtc.tuikit.atomicxcore.api.call.CallMediaType
import io.trtc.tuikit.atomicxcore.api.call.CallParams
import java.util.Arrays
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ class SettingsActivity : BaseActivity() {
SettingsConfig.isIncomingBanner = isChecked
createInstance(application).enableIncomingBanner(isChecked)
}

switchAISubtitle?.setOnCheckedChangeListener{ buttonView: CompoundButton?, isChecked: Boolean ->
createInstance(application).enableAITranscriber(isChecked)
}
Expand Down
Binary file modified application/app/src/main/res/drawable/app_avatar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified application/app/src/main/res/drawable/app_ic_avatar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions application/app/src/main/res/layout/app_activity_live.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
android:singleLine="true"
android:text="@string/app_main_item_live"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
android:textSize="@dimen/text_size_20"
android:fontFamily="sans-serif-medium" />
</androidx.appcompat.widget.Toolbar>

<LinearLayout
Expand Down
14 changes: 0 additions & 14 deletions application/app/src/main/res/layout/app_main_item.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,6 @@
android:textColor="@color/app_color_black"
android:textSize="14sp" />

<TextView
android:id="@+id/tv_main_tag"
android:layout_width="wrap_content"
android:layout_height="18dp"
android:gravity="center"
android:textColor="@color/app_color_white"
android:textSize="10sp" />

<ImageView
android:id="@+id/img_main_arrow"
android:layout_width="16dp"
android:layout_height="match_parent"
android:src="@drawable/app_ic_details" />

</LinearLayout>

<TextView
Expand Down
2 changes: 1 addition & 1 deletion application/app/src/main/res/values-en/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -102,5 +102,5 @@
<string name="app_main_item_video_live_sub">Create Interactive Video Live with Live API for a Seamless Streaming Experience.</string>
<string name="app_main_item_voice_room">Voice Room</string>
<string name="app_main_item_voice_room_sub">Enable Interactive Voice Room with Live API for an Enhanced Communication Experience.</string>

<string name="app_toast_error_call_self">You cannot call yourself, please use a different user ID</string>
</resources>
1 change: 1 addition & 0 deletions application/app/src/main/res/values-ja/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -99,5 +99,6 @@
<string name="app_main_item_video_live_sub">ライブAPIを介してインタラクティブなビデオライブストリーミングを構築して、明確でスムーズなライブストリーミングエクスペリエンスを提供します。</string>
<string name="app_main_item_voice_room">言語チャットルーム</string>
<string name="app_main_item_voice_room_sub">Live APIを使用してインタラクティブな音声チャットルームを構築して、低レイテンシと高品質のエクスペリエンスを提供します。</string>
<string name="app_toast_error_call_self">自分自身に電話をかけることはできません。ユーザーIDを変更してください</string>

</resources>
1 change: 1 addition & 0 deletions application/app/src/main/res/values-zh/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -106,4 +106,5 @@
<string name="app_enable_hight_perperformance">开启高性能模式</string>
<string name="app_disable_feature">关闭高级特性</string>
<string name="app_enable_test_env">开启测试环境</string>
<string name="app_toast_error_call_self">您无法向自己发起通话,请您更换新的用户 ID</string>
</resources>
1 change: 1 addition & 0 deletions application/app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,5 @@
<string name="app_enable_hight_perperformance">Enable High Performance</string>
<string name="app_disable_feature">Disable Feature</string>
<string name="app_enable_test_env">Enable Test ENV</string>
<string name="app_toast_error_call_self">You cannot call yourself, please use a different user ID</string>
</resources>
10 changes: 3 additions & 7 deletions application/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ buildscript {
dependencies {
def gradleMajorVersion = gradle.gradleVersion.tokenize('.')[0].toInteger()
if (gradleMajorVersion >= 8) {
classpath 'com.android.tools.build:gradle:8.0.2'
classpath 'com.android.tools.build:gradle:8.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
} else {
classpath 'com.android.tools.build:gradle:4.2.1'
Expand All @@ -20,13 +20,9 @@ task clean(type: Delete) {
}

ext {
compileSdkVersion = 34
buildToolsVersion = "30.0.1"
minSdkVersion = 21
targetSdkVersion = 34
liteavSdk = "com.tencent.liteav:LiteAVSDK_Professional:13.0.0.19676"
roomEngineSdk = buildEngineSource.toBoolean() ? project(":engine_source") : "io.trtc.uikit:rtc_room_engine:3.6.1.76"
atomicxCoreSdk = buildAtomicxCoreSource.toBoolean() ? project(":atomicxcore") : "io.trtc.uikit:atomicx-core:4.0.3.44"
roomEngineSdk = buildEngineSource.toBoolean() ? project(":engine_source") : "io.trtc.uikit:rtc_room_engine:4.0.1.97"
atomicxCoreSdk = buildAtomicxCoreSource.toBoolean() ? project(":atomicxcore") : "io.trtc.uikit:atomicx-core:4.0.1.90"
imSdk = "com.tencent.imsdk:imsdk-plus:8.7.7201"
common = "io.trtc.uikit:common:3.5.0.1332"
}
2 changes: 1 addition & 1 deletion application/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-all.zip
9 changes: 4 additions & 5 deletions atomic_x/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ android {

defaultConfig {
minSdk 21
versionName "1.0"
versionCode 1

}

buildTypes {
Expand Down Expand Up @@ -55,9 +54,9 @@ dependencies {
api 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
api 'com.github.bumptech.glide:glide:4.12.0'

api rootProject.getProperties().containsKey("atomicxCoreSdk") ? rootProject.ext.atomicxCoreSdk : "io.trtc.uikit:atomicx-core:4.0.0.110"
api rootProject.getProperties().containsKey("liteavSdk") ? rootProject.ext.liteavSdk : "com.tencent.liteav:LiteAVSDK_Professional:13.0.0.19676"
api rootProject.getProperties().containsKey("common") ? rootProject.ext.common : "io.trtc.uikit:common:3.3.0.1194"
api rootProject.getProperties().containsKey("roomEngineSdk") ? rootProject.ext.roomEngineSdk : "io.trtc.uikit:rtc_room_engine:4.0.1.71"
api rootProject.getProperties().containsKey("atomicxCoreSdk") ? rootProject.ext.atomicxCoreSdk : "io.trtc.uikit:atomicx-core:4.0.1.71"
api rootProject.getProperties().containsKey("liteavSdk") ? rootProject.ext.liteavSdk : "com.tencent.liteav:LiteAVSDK_Professional:12.8.0.19279"
api rootProject.getChildProjects().containsKey("tuicore") ? project(':tuicore') : "com.tencent.liteav.tuikit:tuicore:8.8.7357"

implementation 'androidx.appcompat:appcompat:1.3.1'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.trtc.tuikit.atomicx.ai
package io.trtc.tuikit.atomicx.AITranscriber

import android.os.Bundle
import android.view.Gravity
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.trtc.tuikit.atomicx.ai
package io.trtc.tuikit.atomicx.AITranscriber

import io.trtc.tuikit.atomicx.R
import io.trtc.tuikit.atomicxcore.api.ai.SourceLanguage
Expand Down
Loading