Merge pull request #4442 from vector-im/feature/adm/broken-room-icons
Fix incorrect cropping of conversation icons
This commit is contained in:
commit
a6f3a468be
1
changelog.d/4424.bugfix
Normal file
1
changelog.d/4424.bugfix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fix incorrect cropping of conversation icons
|
@ -17,7 +17,6 @@
|
|||||||
package im.vector.app.features.notifications
|
package im.vector.app.features.notifications
|
||||||
|
|
||||||
import android.app.Notification
|
import android.app.Notification
|
||||||
import androidx.core.content.pm.ShortcutInfoCompat
|
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
|
||||||
private typealias ProcessedMessageEvents = List<ProcessedEvent<NotifiableMessageEvent>>
|
private typealias ProcessedMessageEvents = List<ProcessedEvent<NotifiableMessageEvent>>
|
||||||
@ -104,7 +103,7 @@ class NotificationFactory @Inject constructor(
|
|||||||
|
|
||||||
sealed interface RoomNotification {
|
sealed interface RoomNotification {
|
||||||
data class Removed(val roomId: String) : RoomNotification
|
data class Removed(val roomId: String) : RoomNotification
|
||||||
data class Message(val notification: Notification, val shortcutInfo: ShortcutInfoCompat?, val meta: Meta) : RoomNotification {
|
data class Message(val notification: Notification, val meta: Meta) : RoomNotification {
|
||||||
data class Meta(
|
data class Meta(
|
||||||
val summaryLine: CharSequence,
|
val summaryLine: CharSequence,
|
||||||
val messageCount: Int,
|
val messageCount: Int,
|
||||||
|
@ -17,7 +17,6 @@ package im.vector.app.features.notifications
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.annotation.WorkerThread
|
import androidx.annotation.WorkerThread
|
||||||
import androidx.core.content.pm.ShortcutManagerCompat
|
|
||||||
import im.vector.app.features.notifications.NotificationDrawerManager.Companion.ROOM_EVENT_NOTIFICATION_ID
|
import im.vector.app.features.notifications.NotificationDrawerManager.Companion.ROOM_EVENT_NOTIFICATION_ID
|
||||||
import im.vector.app.features.notifications.NotificationDrawerManager.Companion.ROOM_INVITATION_NOTIFICATION_ID
|
import im.vector.app.features.notifications.NotificationDrawerManager.Companion.ROOM_INVITATION_NOTIFICATION_ID
|
||||||
import im.vector.app.features.notifications.NotificationDrawerManager.Companion.ROOM_MESSAGES_NOTIFICATION_ID
|
import im.vector.app.features.notifications.NotificationDrawerManager.Companion.ROOM_MESSAGES_NOTIFICATION_ID
|
||||||
@ -63,9 +62,6 @@ class NotificationRenderer @Inject constructor(private val notificationDisplayer
|
|||||||
}
|
}
|
||||||
is RoomNotification.Message -> if (useCompleteNotificationFormat) {
|
is RoomNotification.Message -> if (useCompleteNotificationFormat) {
|
||||||
Timber.d("Updating room messages notification ${wrapper.meta.roomId}")
|
Timber.d("Updating room messages notification ${wrapper.meta.roomId}")
|
||||||
wrapper.shortcutInfo?.let {
|
|
||||||
ShortcutManagerCompat.pushDynamicShortcut(appContext, it)
|
|
||||||
}
|
|
||||||
notificationDisplayer.showNotificationMessage(wrapper.meta.roomId, ROOM_MESSAGES_NOTIFICATION_ID, wrapper.notification)
|
notificationDisplayer.showNotificationMessage(wrapper.meta.roomId, ROOM_MESSAGES_NOTIFICATION_ID, wrapper.notification)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,14 +18,10 @@ package im.vector.app.features.notifications
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.os.Build
|
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import androidx.core.app.Person
|
import androidx.core.app.Person
|
||||||
import androidx.core.content.pm.ShortcutInfoCompat
|
|
||||||
import androidx.core.graphics.drawable.IconCompat
|
|
||||||
import im.vector.app.R
|
import im.vector.app.R
|
||||||
import im.vector.app.core.resources.StringProvider
|
import im.vector.app.core.resources.StringProvider
|
||||||
import im.vector.app.features.home.room.detail.RoomDetailActivity
|
|
||||||
import me.gujun.android.span.Span
|
import me.gujun.android.span.Span
|
||||||
import me.gujun.android.span.span
|
import me.gujun.android.span.span
|
||||||
import timber.log.Timber
|
import timber.log.Timber
|
||||||
@ -61,17 +57,6 @@ class RoomGroupMessageCreator @Inject constructor(
|
|||||||
}
|
}
|
||||||
|
|
||||||
val largeBitmap = getRoomBitmap(events)
|
val largeBitmap = getRoomBitmap(events)
|
||||||
val shortcutInfo = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
|
|
||||||
val openRoomIntent = RoomDetailActivity.shortcutIntent(appContext, roomId)
|
|
||||||
ShortcutInfoCompat.Builder(appContext, roomId)
|
|
||||||
.setLongLived(true)
|
|
||||||
.setIntent(openRoomIntent)
|
|
||||||
.setShortLabel(roomName)
|
|
||||||
.setIcon(largeBitmap?.let { IconCompat.createWithAdaptiveBitmap(it) } ?: iconLoader.getUserIcon(events.last().senderAvatarPath))
|
|
||||||
.build()
|
|
||||||
} else {
|
|
||||||
null
|
|
||||||
}
|
|
||||||
|
|
||||||
val lastMessageTimestamp = events.last().timestamp
|
val lastMessageTimestamp = events.last().timestamp
|
||||||
val smartReplyErrors = events.filter { it.isSmartReplyError() }
|
val smartReplyErrors = events.filter { it.isSmartReplyError() }
|
||||||
@ -96,7 +81,6 @@ class RoomGroupMessageCreator @Inject constructor(
|
|||||||
userDisplayName,
|
userDisplayName,
|
||||||
tickerText
|
tickerText
|
||||||
),
|
),
|
||||||
shortcutInfo,
|
|
||||||
meta
|
meta
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -90,7 +90,6 @@ class NotificationRendererTest {
|
|||||||
fun `given a room message group notification is added when rendering then show the message notification and update summary`() {
|
fun `given a room message group notification is added when rendering then show the message notification and update summary`() {
|
||||||
givenNotifications(roomNotifications = listOf(RoomNotification.Message(
|
givenNotifications(roomNotifications = listOf(RoomNotification.Message(
|
||||||
A_NOTIFICATION,
|
A_NOTIFICATION,
|
||||||
shortcutInfo = null,
|
|
||||||
MESSAGE_META
|
MESSAGE_META
|
||||||
)))
|
)))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user