|
|
@@ -7,25 +7,25 @@ import android.content.Context
|
|
|
import android.content.Intent
|
|
|
import android.graphics.Bitmap
|
|
|
import android.os.Build
|
|
|
+import android.view.View
|
|
|
import android.widget.RemoteViews
|
|
|
import androidx.core.app.NotificationCompat
|
|
|
import com.adealink.frame.image.imageService
|
|
|
import com.adealink.frame.image.listener.IImageLoadResultListener
|
|
|
import com.adealink.frame.log.Log
|
|
|
-import com.adealink.frame.router.Router
|
|
|
import com.adealink.frame.util.ImageUtil
|
|
|
import com.adealink.weparty.call.CallActivity
|
|
|
import com.adealink.weparty.call.R
|
|
|
import com.adealink.weparty.call.constant.TAG_CALL_INCOMING_VIEW
|
|
|
-import com.adealink.weparty.call.util.getCallWaitingTips
|
|
|
+import com.adealink.weparty.call.util.getNotificationCallWaitingTips
|
|
|
import com.adealink.weparty.call.view.IInComing
|
|
|
+import com.adealink.weparty.commonui.ext.dp
|
|
|
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
|
|
|
import com.tencent.qcloud.tuikit.tuicallkit.data.User
|
|
|
-import com.tencent.qcloud.tuikit.tuicallkit.extensions.NotificationFeature
|
|
|
import com.tencent.qcloud.tuikit.tuicallkit.state.TUICallState
|
|
|
import com.trtc.tuikit.common.livedata.Observer
|
|
|
import com.adealink.weparty.R as APP_R
|
|
|
@@ -33,7 +33,10 @@ import com.adealink.weparty.R as APP_R
|
|
|
class IncomingNotificationView(context: Context): IInComing {
|
|
|
|
|
|
companion object {
|
|
|
- private const val AVATAR_SIZE = 80
|
|
|
+ private val AVATAR_SIZE = 40.dp()
|
|
|
+
|
|
|
+ private val COUNTRY_WIDTH = 15.5f.dp()
|
|
|
+ private val COUNTRY_HEIGHT = 10.5f.dp()
|
|
|
}
|
|
|
|
|
|
private val notificationId = 9909
|
|
|
@@ -79,7 +82,7 @@ class IncomingNotificationView(context: Context): IInComing {
|
|
|
Log.d(TAG_CALL_INCOMING_VIEW, "showNotification, user: $user")
|
|
|
addObserver(user)
|
|
|
notification = createNotification()
|
|
|
- remoteViews?.setTextViewText(R.id.tv_desc, getCallWaitingTips())
|
|
|
+ remoteViews?.setTextViewText(R.id.tv_desc, getNotificationCallWaitingTips())
|
|
|
|
|
|
val mediaType = TUICallState.instance.mediaType.get()
|
|
|
if (mediaType == MediaType.Video) {
|
|
|
@@ -112,7 +115,7 @@ class IncomingNotificationView(context: Context): IInComing {
|
|
|
val avatarOptUrl = imageService.getResizeUrl(avatarUrl, AVATAR_SIZE, AVATAR_SIZE)
|
|
|
imageService.fetchImage(avatarOptUrl, object : IImageLoadResultListener {
|
|
|
override fun onSuccess(bitmap: Bitmap) {
|
|
|
- val roundBitmap = ImageUtil.getRoundedCornerBitmap(bitmap, AVATAR_SIZE / 2f)
|
|
|
+ val roundBitmap = ImageUtil.getRoundedCornerBitmap(bitmap, bitmap.width / 2f)
|
|
|
if (roundBitmap != null && !roundBitmap.isRecycled) {
|
|
|
remoteViews?.setImageViewBitmap(R.id.img_incoming_avatar, roundBitmap)
|
|
|
bitmap.recycle()
|
|
|
@@ -128,6 +131,27 @@ class IncomingNotificationView(context: Context): IInComing {
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
+
|
|
|
+ val flagUrl = userInfo?.flag
|
|
|
+ if (flagUrl.isNullOrEmpty()) {
|
|
|
+ remoteViews.setViewVisibility(R.id.img_incoming_country, View.GONE)
|
|
|
+ sendNotification()
|
|
|
+ } else {
|
|
|
+ val flagOptUrl = imageService.getResizeUrl(flagUrl, COUNTRY_WIDTH, COUNTRY_HEIGHT)
|
|
|
+ imageService.fetchImage(flagOptUrl, object : IImageLoadResultListener {
|
|
|
+ override fun onSuccess(bitmap: Bitmap) {
|
|
|
+ remoteViews?.setViewVisibility(R.id.img_incoming_country, View.VISIBLE)
|
|
|
+ remoteViews?.setImageViewBitmap(R.id.img_incoming_country, bitmap)
|
|
|
+ sendNotification()
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onFailed() {
|
|
|
+ remoteViews?.setViewVisibility(R.id.img_incoming_country, View.GONE)
|
|
|
+ sendNotification()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
fun sendNotification() {
|