Merge tag '1.4.6' into develop

v1.4.6
This commit is contained in:
ganfra 2022-03-23 16:24:02 +01:00
commit 8d4830975d
39 changed files with 64 additions and 59 deletions

View file

@ -1,3 +1,57 @@
Changes in Element v1.4.6 (2022-03-23)
======================================
Features ✨
----------
- Thread timeline is now live and much faster especially for large or old threads ([#5230](https://github.com/vector-im/element-android/issues/5230))
- View all threads per room screen is now live when the home server supports threads ([#5232](https://github.com/vector-im/element-android/issues/5232))
- Add a custom view to display a picker for share location options ([#5395](https://github.com/vector-im/element-android/issues/5395))
- Add ability to pin a location on map for sharing ([#5417](https://github.com/vector-im/element-android/issues/5417))
- Poll Integration Tests ([#5522](https://github.com/vector-im/element-android/issues/5522))
- Live location sharing: adding build config field and show permission dialog ([#5536](https://github.com/vector-im/element-android/issues/5536))
- Live location sharing: Adding indicator view when enabled ([#5571](https://github.com/vector-im/element-android/issues/5571))
Bugfixes 🐛
----------
- Poll system notifications on Android are not user friendly ([#4780](https://github.com/vector-im/element-android/issues/4780))
- Add colors for shield vector drawable ([#4860](https://github.com/vector-im/element-android/issues/4860))
- Support both stable and unstable prefixes for Events about Polls and Location ([#5340](https://github.com/vector-im/element-android/issues/5340))
- Fix missing messages when loading messages forwards ([#5448](https://github.com/vector-im/element-android/issues/5448))
- Fix presence indicator being aligned to the center of the room image ([#5489](https://github.com/vector-im/element-android/issues/5489))
- Read receipt in wrong order ([#5514](https://github.com/vector-im/element-android/issues/5514))
- Fix mentions using matrix.to rather than client defined permalink base url ([#5521](https://github.com/vector-im/element-android/issues/5521))
- Fixes crash when tapping the timeline verification surround box instead of the buttons ([#5540](https://github.com/vector-im/element-android/issues/5540))
- [Notification mode] Wrong mode is displayed when the mention only is selected on the web client ([#5547](https://github.com/vector-im/element-android/issues/5547))
- Fix local echos not being shown when re-opening rooms ([#5551](https://github.com/vector-im/element-android/issues/5551))
- Fix crash when closing a room while decrypting timeline events ([#5552](https://github.com/vector-im/element-android/issues/5552))
- Fix sometimes read marker not properly updating ([#5564](https://github.com/vector-im/element-android/issues/5564))
In development 🚧
----------------
- Dynamically showing/hiding onboarding personalisation screens based on the users homeserver capabilities ([#5375](https://github.com/vector-im/element-android/issues/5375))
- Introduces FTUE personalisation complete screen along with confetti celebration ([#5389](https://github.com/vector-im/element-android/issues/5389))
SDK API changes ⚠️
------------------
- Adds support for MSC3440, additional threads homeserver capabilities ([#5271](https://github.com/vector-im/element-android/issues/5271))
Other changes
-------------
- Improve headers UI in Rooms/Messages lists ([#4533](https://github.com/vector-im/element-android/issues/4533))
- Number of unread messages on space badge now include number of unread DMs ([#5260](https://github.com/vector-im/element-android/issues/5260))
- Amend spaces menu to be consistent with iOS version ([#5270](https://github.com/vector-im/element-android/issues/5270))
- Selected space highlight changed in left panel ([#5346](https://github.com/vector-im/element-android/issues/5346))
- [Rooms list] Do not suggest collapse the unique section ([#5347](https://github.com/vector-im/element-android/issues/5347))
- Add analytics support for threads ([#5378](https://github.com/vector-im/element-android/issues/5378))
- Add top margin before our first message ([#5384](https://github.com/vector-im/element-android/issues/5384))
- Improved onboarding registration unit test coverage ([#5408](https://github.com/vector-im/element-android/issues/5408))
- Adds stable room hierarchy endpoint with a fallback to the unstable one ([#5443](https://github.com/vector-im/element-android/issues/5443))
- Use ColorPrimary for attachmentGalleryButton tint ([#5501](https://github.com/vector-im/element-android/issues/5501))
- Added online presence indicator attribute online to match offline styling ([#5513](https://github.com/vector-im/element-android/issues/5513))
- Add a presence sync enabling build config ([#5563](https://github.com/vector-im/element-android/issues/5563))
- Show stickers on click ([#5572](https://github.com/vector-im/element-android/issues/5572))
Changes in Element v1.4.4 (2022-03-09)
======================================

View file

@ -1 +0,0 @@
Improve headers UI in Rooms/Messages lists

View file

@ -1 +0,0 @@
Poll system notifications on Android are not user friendly

View file

@ -1 +0,0 @@
Add colors for shield vector drawable

View file

@ -1 +0,0 @@
Thread timeline is now live and much faster especially for large or old threads

View file

@ -1 +0,0 @@
View all threads per room screen is now live when the home server supports threads

View file

@ -1 +0,0 @@
Number of unread messages on space badge now include number of unread DMs

View file

@ -1 +0,0 @@
Amend spaces menu to be consistent with iOS version

View file

@ -1 +0,0 @@
Adds support for MSC3440, additional threads homeserver capabilities

View file

@ -1 +0,0 @@
Support both stable and unstable prefixes for Events about Polls and Location

View file

@ -1 +0,0 @@
Selected space highlight changed in left panel

View file

@ -1 +0,0 @@
[Rooms list] Do not suggest collapse the unique section

View file

@ -1 +0,0 @@
Dynamically showing/hiding onboarding personalisation screens based on the users homeserver capabilities

View file

@ -1 +0,0 @@
Add analytics support for threads

View file

@ -1 +0,0 @@
Add top margin before our first message

View file

@ -1 +0,0 @@
Introduces FTUE personalisation complete screen along with confetti celebration

View file

@ -1 +0,0 @@
Add a custom view to display a picker for share location options

View file

@ -1 +0,0 @@
Improved onboarding registration unit test coverage

View file

@ -1 +0,0 @@
Add ability to pin a location on map for sharing

View file

@ -1 +0,0 @@
Adds stable room hierarchy endpoint with a fallback to the unstable one

View file

@ -1 +0,0 @@
Fix missing messages when loading messages forwards

View file

@ -1 +0,0 @@
Fix presence indicator being aligned to the center of the room image

View file

@ -1 +0,0 @@
Use ColorPrimary for attachmentGalleryButton tint

View file

@ -1 +0,0 @@
Added online presence indicator attribute online to match offline styling

View file

@ -1 +0,0 @@
Read receipt in wrong order

View file

@ -1 +0,0 @@
Fix mentions using matrix.to rather than client defined permalink base url

View file

@ -1 +0,0 @@
Poll Integration Tests

View file

@ -1 +0,0 @@
Live location sharing: adding build config field and show permission dialog

View file

@ -1 +0,0 @@
Fixes crash when tapping the timeline verification surround box instead of the buttons

View file

@ -1 +0,0 @@
[Notification mode] Wrong mode is displayed when the mention only is selected on the web client

View file

@ -1 +0,0 @@
Fix local echos not being shown when re-opening rooms

View file

@ -1 +0,0 @@
Fix crash when closing a room while decrypting timeline events

View file

@ -1 +0,0 @@
Add a presence sync enabling build config

View file

@ -1 +0,0 @@
Fix sometimes read marker not properly updating

View file

@ -1 +0,0 @@
Live location sharing: Adding indicator view when enabled

View file

@ -1,2 +0,0 @@
Show stickers on click

View file

@ -0,0 +1,2 @@
Main changes in this version: Thread timeline are now live and faster. Various bug fixes and stability improvements.
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.4.6

View file

@ -294,8 +294,7 @@ class RoomListFragment @Inject constructor(
section.notificationCount.observe(viewLifecycleOwner) { counts ->
sectionAdapter.updateSection(sectionAdapter.roomsSectionData.copy(
notificationCount = counts.totalCount,
isHighlighted = counts.isHighlight,
shouldShowExpandedArrow = shouldShowExpendedArrow()
isHighlighted = counts.isHighlight
))
}
section.isExpanded.observe(viewLifecycleOwner) { _ ->
@ -329,17 +328,14 @@ class RoomListFragment @Inject constructor(
controller.setData(list)
sectionAdapter.updateSection(sectionAdapter.roomsSectionData.copy(
isHidden = list.isEmpty(),
isLoading = false,
shouldShowExpandedArrow = shouldShowExpendedArrow()
))
isLoading = false))
checkEmptyState()
}
observeItemCount(section, sectionAdapter)
section.notificationCount.observe(viewLifecycleOwner) { counts ->
sectionAdapter.updateSection(sectionAdapter.roomsSectionData.copy(
notificationCount = counts.totalCount,
isHighlighted = counts.isHighlight,
shouldShowExpandedArrow = shouldShowExpendedArrow()
isHighlighted = counts.isHighlight
))
}
section.isExpanded.observe(viewLifecycleOwner) { _ ->
@ -447,10 +443,6 @@ class RoomListFragment @Inject constructor(
footerController.setData(state)
}
private fun shouldShowExpendedArrow(): Boolean {
return adapterInfosList.filter { !it.sectionHeaderAdapter.roomsSectionData.isHidden }.size >= 2
}
private fun checkEmptyState() {
val shouldShowEmpty = adapterInfosList.all { it.sectionHeaderAdapter.roomsSectionData.isHidden } &&
!adapterInfosList.any { it.sectionHeaderAdapter.roomsSectionData.isLoading }

View file

@ -17,7 +17,6 @@
package im.vector.app.features.home.room.list
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.DrawableCompat
@ -40,8 +39,7 @@ class SectionHeaderAdapter constructor(
val isHighlighted: Boolean = false,
val isHidden: Boolean = true,
// This will be false until real data has been submitted once
val isLoading: Boolean = true,
val shouldShowExpandedArrow: Boolean = false
val isLoading: Boolean = true
)
lateinit var roomsSectionData: RoomsSectionData
@ -84,16 +82,11 @@ class SectionHeaderAdapter constructor(
fun bind(roomsSectionData: RoomsSectionData) {
binding.roomCategoryTitleView.text = roomsSectionData.name
val tintColor = ThemeUtils.getColor(binding.root.context, R.attr.vctr_content_secondary)
if (roomsSectionData.shouldShowExpandedArrow) {
binding.roomCategoryCounterView.visibility = View.VISIBLE
val expandedArrowDrawableRes = if (roomsSectionData.isExpanded) R.drawable.ic_expand_more else R.drawable.ic_expand_less
val expandedArrowDrawable = ContextCompat.getDrawable(binding.root.context, expandedArrowDrawableRes)?.also {
DrawableCompat.setTint(it, tintColor)
}
binding.roomCategoryCounterView.setCompoundDrawablesWithIntrinsicBounds(null, null, expandedArrowDrawable, null)
} else {
binding.roomCategoryCounterView.visibility = View.GONE
val expandedArrowDrawableRes = if (roomsSectionData.isExpanded) R.drawable.ic_expand_more else R.drawable.ic_expand_less
val expandedArrowDrawable = ContextCompat.getDrawable(binding.root.context, expandedArrowDrawableRes)?.also {
DrawableCompat.setTint(it, tintColor)
}
binding.roomCategoryCounterView.setCompoundDrawablesWithIntrinsicBounds(null, null, expandedArrowDrawable, null)
binding.roomCategoryCounterView.text = roomsSectionData.itemCount.takeIf { it > 0 }?.toString().orEmpty()
binding.roomCategoryUnreadCounterBadgeView.render(UnreadCounterBadgeView.State(roomsSectionData.notificationCount, roomsSectionData.isHighlighted))
}