mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-16 09:15:30 +01:00
Partly fix call notifications screen
This commit is contained in:
parent
5ddd3f8422
commit
5eeb19538f
@ -22,6 +22,7 @@ package com.nextcloud.talk.controllers
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
|
import android.graphics.Bitmap
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
import android.graphics.drawable.BitmapDrawable
|
import android.graphics.drawable.BitmapDrawable
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
@ -72,8 +73,10 @@ import io.reactivex.Observer
|
|||||||
import io.reactivex.android.schedulers.AndroidSchedulers
|
import io.reactivex.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.disposables.Disposable
|
import io.reactivex.disposables.Disposable
|
||||||
import io.reactivex.schedulers.Schedulers
|
import io.reactivex.schedulers.Schedulers
|
||||||
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.GlobalScope
|
import kotlinx.coroutines.GlobalScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import kotlinx.coroutines.withContext
|
||||||
import org.greenrobot.eventbus.Subscribe
|
import org.greenrobot.eventbus.Subscribe
|
||||||
import org.greenrobot.eventbus.ThreadMode
|
import org.greenrobot.eventbus.ThreadMode
|
||||||
import org.koin.android.ext.android.inject
|
import org.koin.android.ext.android.inject
|
||||||
@ -304,13 +307,13 @@ class CallNotificationController(private val originalBundle: Bundle) : BaseContr
|
|||||||
"/raw/librem_by_feandesign_call"
|
"/raw/librem_by_feandesign_call"
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
try {
|
ringtoneUri = try {
|
||||||
val ringtoneSettings =
|
val ringtoneSettings =
|
||||||
LoganSquare.parse(callRingtonePreferenceString, RingtoneSettings::class.java)
|
LoganSquare.parse(callRingtonePreferenceString, RingtoneSettings::class.java)
|
||||||
ringtoneUri = ringtoneSettings.ringtoneUri
|
ringtoneSettings.ringtoneUri
|
||||||
} catch (e: IOException) {
|
} catch (e: IOException) {
|
||||||
Log.e(TAG, "Failed to parse ringtone settings")
|
Log.e(TAG, "Failed to parse ringtone settings")
|
||||||
ringtoneUri = Uri.parse(
|
Uri.parse(
|
||||||
"android.resource://" + applicationContext!!.packageName +
|
"android.resource://" + applicationContext!!.packageName +
|
||||||
"/raw/librem_by_feandesign_call"
|
"/raw/librem_by_feandesign_call"
|
||||||
)
|
)
|
||||||
@ -400,16 +403,26 @@ class CallNotificationController(private val originalBundle: Bundle) : BaseContr
|
|||||||
transformations(CircleCropTransformation())
|
transformations(CircleCropTransformation())
|
||||||
listener(onSuccess = { data, dataSource ->
|
listener(onSuccess = { data, dataSource ->
|
||||||
GlobalScope.launch {
|
GlobalScope.launch {
|
||||||
|
val bitmapFromImageView: Bitmap
|
||||||
|
|
||||||
|
if (avatarImageView!!.drawable is CrossfadeDrawable) {
|
||||||
|
bitmapFromImageView = ((avatarImageView!!.drawable as CrossfadeDrawable).end as BitmapDrawable).bitmap
|
||||||
|
} else {
|
||||||
|
bitmapFromImageView = ((avatarImageView!!.drawable) as BitmapDrawable).bitmap
|
||||||
|
}
|
||||||
|
|
||||||
if ((AvatarStatusCodeHolder.getInstance().statusCode == 200 || AvatarStatusCodeHolder.getInstance().statusCode == 0)) {
|
if ((AvatarStatusCodeHolder.getInstance().statusCode == 200 || AvatarStatusCodeHolder.getInstance().statusCode == 0)) {
|
||||||
|
|
||||||
if (activity != null) {
|
if (activity != null) {
|
||||||
val newBitmap = BlurTransformation(activity!!, 5f).transform(
|
val newBitmap = BlurTransformation(activity!!, 5f).transform(
|
||||||
BitmapPool(10000000), ((avatarImageView!!.drawable as CrossfadeDrawable).end as BitmapDrawable).bitmap
|
BitmapPool(10000000), bitmapFromImageView
|
||||||
)
|
)
|
||||||
backgroundImageView!!.setImageBitmap(newBitmap)
|
withContext(Dispatchers.Main) {
|
||||||
|
backgroundImageView!!.setImageBitmap(newBitmap)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (AvatarStatusCodeHolder.getInstance().statusCode == 201) {
|
} else if (AvatarStatusCodeHolder.getInstance().statusCode == 201) {
|
||||||
val colorArt = ColorArt(((avatarImageView!!.drawable as CrossfadeDrawable).end as BitmapDrawable).bitmap)
|
val colorArt = ColorArt(bitmapFromImageView)
|
||||||
var color = colorArt.backgroundColor
|
var color = colorArt.backgroundColor
|
||||||
|
|
||||||
val hsv = FloatArray(3)
|
val hsv = FloatArray(3)
|
||||||
@ -417,7 +430,9 @@ class CallNotificationController(private val originalBundle: Bundle) : BaseContr
|
|||||||
hsv[2] *= 0.75f
|
hsv[2] *= 0.75f
|
||||||
color = Color.HSVToColor(hsv)
|
color = Color.HSVToColor(hsv)
|
||||||
|
|
||||||
backgroundImageView!!.setImageDrawable(ColorDrawable(color))
|
withContext(Dispatchers.Main) {
|
||||||
|
backgroundImageView!!.setImageDrawable(ColorDrawable(color))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user