From efe5eb0501ebe96b07a7a52e3ca839b1dd2e9acb Mon Sep 17 00:00:00 2001 From: Nikita Fedrunov <66663241+fedrunov@users.noreply.github.com> Date: Mon, 5 Sep 2022 18:11:25 +0200 Subject: [PATCH] App layout Home screen empty states (#7007) --- changelog.d/6835.feature | 1 + .../src/main/res/values/strings.xml | 10 ++++ .../im/vector/app/core/platform/StateView.kt | 5 +- .../room/list/home/HomeRoomListFragment.kt | 6 ++ .../room/list/home/HomeRoomListViewModel.kt | 55 ++++++++++++++++++ .../home/room/list/home/RoomListEmptyItem.kt | 40 +++++++++++++ .../filter/HomeFilteredRoomsController.kt | 23 +++++++- .../drawable-hdpi/ill_empty_all_chats.webp | Bin 0 -> 3960 bytes .../res/drawable-hdpi/ill_empty_space.webp | Bin 0 -> 2202 bytes .../res/drawable-hdpi/ill_empty_unreads.webp | Bin 0 -> 794 bytes .../drawable-mdpi/ill_empty_all_chats.webp | Bin 0 -> 2604 bytes .../res/drawable-mdpi/ill_empty_space.webp | Bin 0 -> 1440 bytes .../res/drawable-mdpi/ill_empty_unreads.webp | Bin 0 -> 556 bytes .../drawable-xhdpi/ill_empty_all_chats.webp | Bin 0 -> 5346 bytes .../res/drawable-xhdpi/ill_empty_space.webp | Bin 0 -> 2928 bytes .../res/drawable-xhdpi/ill_empty_unreads.webp | Bin 0 -> 1068 bytes .../drawable-xxhdpi/ill_empty_all_chats.webp | Bin 0 -> 8944 bytes .../res/drawable-xxhdpi/ill_empty_space.webp | Bin 0 -> 4562 bytes .../drawable-xxhdpi/ill_empty_unreads.webp | Bin 0 -> 1540 bytes .../drawable-xxxhdpi/ill_empty_all_chats.webp | Bin 0 -> 12010 bytes .../res/drawable-xxxhdpi/ill_empty_space.webp | Bin 0 -> 6368 bytes .../drawable-xxxhdpi/ill_empty_unreads.webp | Bin 0 -> 2034 bytes .../src/main/res/layout/item_state_view.xml | 8 +++ 23 files changed, 145 insertions(+), 3 deletions(-) create mode 100644 changelog.d/6835.feature create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/RoomListEmptyItem.kt create mode 100644 vector/src/main/res/drawable-hdpi/ill_empty_all_chats.webp create mode 100644 vector/src/main/res/drawable-hdpi/ill_empty_space.webp create mode 100644 vector/src/main/res/drawable-hdpi/ill_empty_unreads.webp create mode 100644 vector/src/main/res/drawable-mdpi/ill_empty_all_chats.webp create mode 100644 vector/src/main/res/drawable-mdpi/ill_empty_space.webp create mode 100644 vector/src/main/res/drawable-mdpi/ill_empty_unreads.webp create mode 100644 vector/src/main/res/drawable-xhdpi/ill_empty_all_chats.webp create mode 100644 vector/src/main/res/drawable-xhdpi/ill_empty_space.webp create mode 100644 vector/src/main/res/drawable-xhdpi/ill_empty_unreads.webp create mode 100644 vector/src/main/res/drawable-xxhdpi/ill_empty_all_chats.webp create mode 100644 vector/src/main/res/drawable-xxhdpi/ill_empty_space.webp create mode 100644 vector/src/main/res/drawable-xxhdpi/ill_empty_unreads.webp create mode 100644 vector/src/main/res/drawable-xxxhdpi/ill_empty_all_chats.webp create mode 100644 vector/src/main/res/drawable-xxxhdpi/ill_empty_space.webp create mode 100644 vector/src/main/res/drawable-xxxhdpi/ill_empty_unreads.webp create mode 100644 vector/src/main/res/layout/item_state_view.xml diff --git a/changelog.d/6835.feature b/changelog.d/6835.feature new file mode 100644 index 0000000000..e4e610f7e0 --- /dev/null +++ b/changelog.d/6835.feature @@ -0,0 +1 @@ +[App Layout] New empty states for home screen diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml index 6b44377b79..26f26dc7e5 100644 --- a/library/ui-strings/src/main/res/values/strings.xml +++ b/library/ui-strings/src/main/res/values/strings.xml @@ -3244,4 +3244,14 @@ Consider signing out from old sessions (%1$d days or more) that you don’t use anymore. + + %s\nis looking a little empty. + + Spaces are a new way to group rooms and people. Add an existing room, or create a new one, using the bottom-right button. + + Welcome to ${app_name},\n%s. + The all-in-one secure chat app for teams, friends and organisations. Create a chat, or join an existing room, to get started. + Nothing to report. + This is where your unread messages will show up, when you have some. + diff --git a/vector/src/main/java/im/vector/app/core/platform/StateView.kt b/vector/src/main/java/im/vector/app/core/platform/StateView.kt index 6f36787d0c..2fb99c705a 100755 --- a/vector/src/main/java/im/vector/app/core/platform/StateView.kt +++ b/vector/src/main/java/im/vector/app/core/platform/StateView.kt @@ -21,6 +21,7 @@ import android.graphics.drawable.Drawable import android.util.AttributeSet import android.view.View import android.widget.FrameLayout +import android.widget.ImageView import androidx.core.view.isVisible import im.vector.app.R import im.vector.app.core.extensions.updateConstraintSet @@ -36,7 +37,8 @@ class StateView @JvmOverloads constructor(context: Context, attrs: AttributeSet? val title: CharSequence? = null, val image: Drawable? = null, val isBigImage: Boolean = false, - val message: CharSequence? = null + val message: CharSequence? = null, + val imageScaleType: ImageView.ScaleType? = ImageView.ScaleType.FIT_CENTER, ) : State() data class Error(val message: CharSequence? = null) : State() @@ -79,6 +81,7 @@ class StateView @JvmOverloads constructor(context: Context, attrs: AttributeSet? is State.Content -> Unit is State.Loading -> Unit is State.Empty -> { + views.emptyImageView.scaleType = newState.imageScaleType views.emptyImageView.setImageDrawable(newState.image) views.emptyView.updateConstraintSet { it.constrainPercentHeight(R.id.emptyImageView, if (newState.isBigImage) 0.5f else 0.1f) diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt index 32635e3407..edb619cd90 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListFragment.kt @@ -199,11 +199,17 @@ class HomeRoomListFragment : ).also { controller -> controller.listener = this controller.onFilterChanged = ::onRoomFilterChanged + roomListViewModel.emptyStateFlow.onEach { emptyStateOptional -> + controller.submitEmptyStateData(emptyStateOptional.getOrNull()) + }.launchIn(lifecycleScope) section.filtersData.onEach { controller.submitFiltersData(it.getOrNull()) }.launchIn(lifecycleScope) section.list.observe(viewLifecycleOwner) { list -> controller.submitList(list) + if (list.isEmpty()) { + controller.requestForcedModelBuild() + } } }.adapter } diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListViewModel.kt index 425f309202..021b979b2b 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/HomeRoomListViewModel.kt @@ -16,6 +16,7 @@ package im.vector.app.features.home.room.list.home +import android.widget.ImageView import androidx.lifecycle.map import androidx.paging.PagedList import arrow.core.toOption @@ -23,11 +24,14 @@ import com.airbnb.mvrx.MavericksViewModelFactory import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject +import im.vector.app.R import im.vector.app.SpaceStateHandler import im.vector.app.core.di.MavericksAssistedViewModelFactory import im.vector.app.core.di.hiltMavericksViewModelFactory import im.vector.app.core.platform.StateView import im.vector.app.core.platform.VectorViewModel +import im.vector.app.core.resources.DrawableProvider +import im.vector.app.core.resources.StringProvider import im.vector.app.features.home.room.list.home.filter.HomeRoomFilter import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.MutableSharedFlow @@ -52,6 +56,7 @@ import org.matrix.android.sdk.api.session.room.RoomSortOrder import org.matrix.android.sdk.api.session.room.RoomSummaryQueryParams import org.matrix.android.sdk.api.session.room.UpdatableLivePageResult import org.matrix.android.sdk.api.session.room.model.Membership +import org.matrix.android.sdk.api.session.room.model.RoomSummary import org.matrix.android.sdk.api.session.room.model.tag.RoomTag import org.matrix.android.sdk.api.session.room.roomSummaryQueryParams import org.matrix.android.sdk.api.session.room.state.isPublic @@ -63,6 +68,8 @@ class HomeRoomListViewModel @AssistedInject constructor( private val session: Session, private val spaceStateHandler: SpaceStateHandler, private val preferencesStore: HomeLayoutPreferencesStore, + private val stringProvider: StringProvider, + private val drawableProvider: DrawableProvider, ) : VectorViewModel(initialState) { @AssistedFactory @@ -82,6 +89,10 @@ class HomeRoomListViewModel @AssistedInject constructor( private val _sections = MutableSharedFlow>(replay = 1) val sections = _sections.asSharedFlow() + private var currentFilter: HomeRoomFilter = HomeRoomFilter.ALL + private val _emptyStateFlow = MutableSharedFlow>(replay = 1) + val emptyStateFlow = _emptyStateFlow.asSharedFlow() + private var filteredPagedRoomSummariesLive: UpdatableLivePageResult? = null init { @@ -109,6 +120,7 @@ class HomeRoomListViewModel @AssistedInject constructor( } newSections.add(getFilteredRoomsSection()) + emitEmptyState() _sections.emit(newSections) setState { @@ -171,6 +183,7 @@ class HomeRoomListViewModel @AssistedInject constructor( liveResults.queryParams = liveResults.queryParams.copy( spaceFilter = selectedSpace?.roomId.toActiveSpaceOrNoFilter() ) + emitEmptyState() }.launchIn(viewModelScope) return HomeRoomSection.RoomSummaryData( @@ -179,6 +192,13 @@ class HomeRoomListViewModel @AssistedInject constructor( ) } + private fun emitEmptyState() { + viewModelScope.launch { + val emptyState = getEmptyStateData(currentFilter, spaceStateHandler.getCurrentSpace()) + _emptyStateFlow.emit(Optional.from(emptyState)) + } + } + private fun getFiltersDataFlow(): SharedFlow>> { val flow = MutableSharedFlow>>(replay = 1) @@ -250,6 +270,38 @@ class HomeRoomListViewModel @AssistedInject constructor( } } + private fun getEmptyStateData(filter: HomeRoomFilter, selectedSpace: RoomSummary?): StateView.State.Empty? { + return when (filter) { + HomeRoomFilter.ALL -> + if (selectedSpace != null) { + StateView.State.Empty( + title = stringProvider.getString(R.string.home_empty_space_no_rooms_title, selectedSpace.displayName), + message = stringProvider.getString(R.string.home_empty_space_no_rooms_message), + image = drawableProvider.getDrawable(R.drawable.ill_empty_space), + isBigImage = true + ) + } else { + val userName = session.userService().getUser(session.myUserId)?.displayName ?: "" + StateView.State.Empty( + title = stringProvider.getString(R.string.home_empty_no_rooms_title, userName), + message = stringProvider.getString(R.string.home_empty_no_rooms_message), + image = drawableProvider.getDrawable(R.drawable.ill_empty_all_chats), + isBigImage = true + ) + } + HomeRoomFilter.UNREADS -> + StateView.State.Empty( + title = stringProvider.getString(R.string.home_empty_no_unreads_title), + message = stringProvider.getString(R.string.home_empty_no_unreads_message), + image = drawableProvider.getDrawable(R.drawable.ill_empty_unreads), + isBigImage = true, + imageScaleType = ImageView.ScaleType.CENTER_INSIDE + ) + else -> + null + } + } + override fun handle(action: HomeRoomListAction) { when (action) { is HomeRoomListAction.SelectRoom -> handleSelectRoom(action) @@ -261,9 +313,12 @@ class HomeRoomListViewModel @AssistedInject constructor( } private fun handleChangeRoomFilter(action: HomeRoomListAction.ChangeRoomFilter) { + currentFilter = action.filter filteredPagedRoomSummariesLive?.let { liveResults -> liveResults.queryParams = getFilteredQueryParams(action.filter, liveResults.queryParams) } + + emitEmptyState() } fun isPublicRoom(roomId: String): Boolean { diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/RoomListEmptyItem.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/RoomListEmptyItem.kt new file mode 100644 index 0000000000..f7b3262529 --- /dev/null +++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/RoomListEmptyItem.kt @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2022 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.app.features.home.room.list.home + +import com.airbnb.epoxy.EpoxyAttribute +import com.airbnb.epoxy.EpoxyModelClass +import im.vector.app.R +import im.vector.app.core.epoxy.VectorEpoxyHolder +import im.vector.app.core.epoxy.VectorEpoxyModel +import im.vector.app.core.platform.StateView + +@EpoxyModelClass +abstract class RoomListEmptyItem : VectorEpoxyModel(R.layout.item_state_view) { + + @EpoxyAttribute + lateinit var emptyData: StateView.State.Empty + + override fun bind(holder: Holder) { + super.bind(holder) + holder.stateView.state = emptyData + } + + class Holder : VectorEpoxyHolder() { + val stateView by bind(R.id.stateView) + } +} diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/filter/HomeFilteredRoomsController.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/filter/HomeFilteredRoomsController.kt index 2d673bc089..789c9e9985 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/list/home/filter/HomeFilteredRoomsController.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/filter/HomeFilteredRoomsController.kt @@ -18,11 +18,13 @@ package im.vector.app.features.home.room.list.home.filter import com.airbnb.epoxy.EpoxyModel import com.airbnb.epoxy.paging.PagedListEpoxyController +import im.vector.app.core.platform.StateView import im.vector.app.core.utils.createUIHandler import im.vector.app.features.home.RoomListDisplayMode import im.vector.app.features.home.room.list.RoomListListener import im.vector.app.features.home.room.list.RoomSummaryItemFactory import im.vector.app.features.home.room.list.RoomSummaryItemPlaceHolder_ +import im.vector.app.features.home.room.list.home.roomListEmptyItem import org.matrix.android.sdk.api.session.room.members.ChangeMembershipState import org.matrix.android.sdk.api.session.room.model.RoomSummary @@ -44,6 +46,8 @@ class HomeFilteredRoomsController( var onFilterChanged: ((HomeRoomFilter) -> Unit)? = null private var filtersData: List? = null + private var emptyStateData: StateView.State.Empty? = null + private var currentState: StateView.State = StateView.State.Content override fun addModels(models: List>) { val host = this @@ -54,14 +58,29 @@ class HomeFilteredRoomsController( onFilterChangedListener(host.onFilterChanged) } } - super.addModels(models) + + if (models.isEmpty() && emptyStateData != null) { + emptyStateData?.let { emptyState -> + roomListEmptyItem { + id("state_item") + emptyData(emptyState) + } + currentState = emptyState + } + } else { + currentState = StateView.State.Content + super.addModels(models) + } + } + + fun submitEmptyStateData(state: StateView.State.Empty?) { + this.emptyStateData = state } fun submitFiltersData(data: List?) { this.filtersData = data requestForcedModelBuild() } - override fun buildItemModel(currentPosition: Int, item: RoomSummary?): EpoxyModel<*> { item ?: return RoomSummaryItemPlaceHolder_().apply { id(currentPosition) } return roomSummaryItemFactory.create(item, roomChangeMembershipStates.orEmpty(), emptySet(), RoomListDisplayMode.ROOMS, listener) diff --git a/vector/src/main/res/drawable-hdpi/ill_empty_all_chats.webp b/vector/src/main/res/drawable-hdpi/ill_empty_all_chats.webp new file mode 100644 index 0000000000000000000000000000000000000000..6f5211b17e57fa7003d0fe6cd235906c0eb34d3c GIT binary patch literal 3960 zcmd5<^;Z*)7T-we8Xz%ZBUF%(l8{cN6c|jD5D=s`aU0zTC?zGJj1&~4Q=~?WP)37{ zZbpb8ASLklzVqJu8{R$V-gE9b_x|>Ydmk9+>LQr{081TBQ<&*(D_Q^mzay!<5oy z;;uv|m5zICm+HOMc68yBzp_sLNc4gJ@u%r!NqGr9m15* z5fHFXiAa+3x_10{TfIo|P?+cfKP!jIZqy?j;XMVvWO^v?1v)gJCA;+#nyg0->@ zDNR;S=o>QmF+M)*01;(ANH1$M$JQf?$QWSR>+tczyqc2x?BS7vw<`gOMcI}05L);` zcmq@DV!lJ>z3YmaP}-|%CpDgV={yT`>q*C;v63$nl<|6L+0rWk^L4;mC@G6OLe@+!tX`H;emGgN3*y(_N7XQ!%hrJ0fx}bSRyQmM zK?XUgddes;uc6vn!Kkq}>!%yH+2W#yH@1aG<@h4*RDbiJfI#yKyi2rxG!+PLX|6)2 zW4>W$Yc7Y&{7wo{wX84Y+L4b*Dd_Zf<#a?;y>2HkuNuH+_%(|CBB`1zzriom%zAQB zTw{RKc8uc#U2}`TKowJ1DdiF+=qs8Y z-NIZa@oDpAApxS#kGX|ZQE^$as>&hUt;W1hcA8bv2fj%b4}&*wk&a7+%^PFoAUh!* z;(D1X^_x@%r+lwNS1jGrR=)y4;si?1WKq!^{7GMa+(tE6>n3%@H%TZl9lHvNw_ACp zUM204rL%bc%5<=h(`e5Qi1LU&hd_uEG9!Dqj`6n9k{tftt}Uf@g_p06DAamHlj5?= z#GrQ839VorWgziO@@g+(`lmz37Z;kIuD4xZ=rR&=ByV{8jdaBrk;L-kALzCA&KK6LYLif6ez2lkw?wAqMHP={9K{T3hz3B$0R2wuT{I{n9jWFD`!EJ z@to49a$d+t`{i?cZn`Wa#F@WLFAZsl)Xhs+ar_?BgysIDpjF+Z<3$C1nUc`{lfPcB z>>m>lJZ`->%C0d91%NnB-_1}fYq@OaYnMr^Sr^kqC9L`Yx*@lMU*FRb(WO{OF^;K+OE85=5f zZE7UDRiv3d6bEKD!Ol%VZsitRo-}(v0pWMWKyL+^nJ7>EmEk_6^-g?1ZW}PquAwF= zRvWWpH$YUu5|4^37Cea6^kjSt9|nWrlh@)I%IHZ~KE|(W8?*jJ%ookBYwz7s`rY_q zFxl(R(5{Ly^_?_$LRkC>njXP?Eq%yImzwF?@6MI@cNxPd->~loBOe@~K`65C3E$tU zHwJkkwgG#pVPGUDmkxRmVpkqSX5T{|`m)i-{Znz?7Z35FgEs%7{0wCt#ImEyRZm$& zVQNS`0ApF|a`m{Rn@zCPV^PbZ#=i~BkdFoPy-!p69ZTs7NMieSbW0>lPbOP=zpqTH zv9`^?Lg_)n-!ZmwzbFfzwbjRgVTyPn12d3w)7n-gYx*I2JXPSwYF&nTm~rsS-YwVs z>5*`5_v3ATTZ~~-^e^jmU)R%4X-D6U#vf-&8Pn=40{1eF81Et-R(2T&1NWQ|Sc#-4 z6oz;Mu^d%^l&r-jtw5=7;kK2A2$@`T$K6hxRjK;Y_o&V ziIs6(Q_ob9eL3Ph-Ti+mzD5tf<3;<2^a5~sI|*E)0sscp0a)OTyFgQ*s)u}%o)A

enWY@j%UnAKkfxAW|#O|?p%hPk1fbC=HTts5qPb zRqjlrI2*dp)4Qi}!Cad6OxPyL>)4T9!^wq>_tDP}lB=BZ+@4~JstXOTH}K)lj;3Dh zonvRQ9!H%;{Cgg!F3 z<^s?4ftm&iv?48o6qb8HT7?@zU@Hsr`-Z&a>oqnfZRR)WuH+0okxko%7poJ9b)?{j zabE)%d7czzEV9`(VcoXE=9M9gd zYIm}F(da8jOG9COgP+FjusQHKaqW+AW<^cDXVTvMeSG3O;biJ#sxJj%OHuH%Ym>g{lks%oUw;$6;jWjggLsUfg`}zSIwtXL{vxCBO*uvsqF-&Ip;AlCEl0e>lvC#DVu*#Bat6-K=uOtK~q z<6@arPp5DHBeK?>d+&|CRB>VIIXT+@M*#Ju(>P$-`CcK_XBeR>K-Pzissl~R|~=T+iTH(sdX)3?b&stX<`F* zl@>-!9tx^uo6R^t;?&iwv|*!szcna8m}b+O<^9t~;8oWNvxH`i4l(#ricWYD+D)m= zmVR}1#mS;&Jwf_2700x)(%A*B{oTC#>VBF>w`-uJ;%OUUUbu0fSTYcL`_9bonZs*1@$O%%jt%$v1YkMwHjeJ#GNAk$UWff^RQ`}W z+j?+5Wi0D=0pwlxYR`Zpv&r?*5cox}QS|Yf`eZK0S!zxBdOGW^kPAWOD&2MKb4aip zA>1H3L&y9vn)TpuV#PbF&coSx-k?H`E3l)y4{t{s0Q(KfpXc^6m$V8-&l{5yQ#hvR z=OYXZR(*CpfWq!FY36qGj+jNjHIbKt?dIiw%diVRAQGqf{APRCXxq?yeptECox- zy@q`<-`L?}9?D!4vzmL4(oyz*qKSHx!`^>S>yU9q41aTUv}`WE#Y84zrkO@j#Icx@ z8yLqxr?Zgzqi$K7J&iq#_gJ8%JBu-*C&D8n6RdQ?H8lM_X7s7J&zH=wtrivq>Upxt zDZ^r2Z4q5doRj~o-Qt9}W_}d>yEUYweY4hdNs=gMQZIFH`uWAW3kuxf<(I~KzteC` z&YMMq&1O5y-oFLDCqc80t4h;wnnQf+v2wI(pm%biKAxVx863g5pdNBfIh~p6zinrRrPwuGon9h{t%nG_12+3{kj|PCFn2XUnISQO8@`> literal 0 HcmV?d00001 diff --git a/vector/src/main/res/drawable-hdpi/ill_empty_space.webp b/vector/src/main/res/drawable-hdpi/ill_empty_space.webp new file mode 100644 index 0000000000000000000000000000000000000000..b33fe7937c4dd09c1206cf27d73c62b313ac7f74 GIT binary patch literal 2202 zcmV;L2xa$DNk&GJ2mkY_(hC9wMv6%D)J-;tn2QO^DztkMV{FOXE@Qh}Q81 zjw-<~D0{0c!xad=SP0GI=)__yFi_>d0R$2=+TxT12NXKm;w}qz5PAzEAsF28dq5o6 zMrl+4$kJfAJ(<1zDB@V~BK!%%Lmq&;{0ZAplE(SxV@MlrPYz@&d-AhPT1@ri_Rxt9 zNYC$$Kl121OhFb8)1C=M&YCKshz5H$U&=)_*`wNZi)5JEcz|D;#bH=krLC#Wev9We zdb}JS6VEG*(tHy^wtV8{bd31B>7(*Y8q3}Gc~{d&KFHR`PL{r9=nia=OheOq&ZmKd zI7g>|E$w~XK6a#T1qcBdFWUE^g&)%v{fXFm2hT{r!d5 zN?t6(6#rh~9@fp9^}`hT%>x;~Ms=AZzj>r$(vH+)IHRn|q5+R?>&uC>q;Z`*LUdyp zR(~y_O&!JG<)UuOrIu~xp!UvkY>O#@2laGcivm%3_`aTC3wt(jbHSYt6Vd8vxF#07voyf-@IOtF7Rts%i+_RXrGJh%OmU!mA#k7@q86WkG9m_jU zvJ}1)PSWVp{HTLpr170E#xI5GXYFBQqxPO+WHdxuU9$x_LH6PJ1vW$bYz`flP=xQPhZ3Zfm=dr(BmvIQCx^?&UsDI zD_tT^NePzQpFv77J;eS|-gHuV9;WAAojS^DtXHHWMB805ui|OmJHF?$U9eu6^fK{1 zE*Ux@_9TtkE+hrTe8YEF`9rN2;3-5&{85l>Q*_2_NnuQAzhJvE<(zBjNjF0$q@D<4I zBA`)3E*l|l2aF(N&tef00!7@q5%G4=2;vGNrzedo0PI=;ZwHTnMG=~V33xkzgmHTo zkFcUqM8@dD-VP!Gi=q%JTYD5p0;s?+4IRxv1(Pu7?O+mupgoJjt{qZP34-=49=kR$ zE_MqWFm&HC1sOU8$3W>`6`%q_rElnZBE|WlpcNuk#Aj;&t#D#Ree!nD3K1<5-O*yF ziWZd^F8}u*|ND>s{m0+RXlT)>qQyxMv?#QpMW%ojfgIY7L{zZiL4@|l_zPHfTIn|u zQluwP0b62~{R=4L9PIoe)TV>p!JP>4hkFb1C&1Oy2f72^?Cf0~#A}m}UjTI1pIIb&uV2_BtC^V0Hy>swT4x zKVD*jn9ix_CF4Ig^^0xCA-o19C zJLo=L?xh#kp*v)E+~O)mx_f;*4LGV%EOt=FiIRC zJo|U77bVTn|3Y7>5$PEW0MC7b$*r;wuJnM9?VgZ`fA+;ZYqT(^rTP_DK3h+8pa1@# zQMds|Hq!gwtNd#r6anX>Hr9n^-OXdj@Y9iuYn#@PRbg282rhF?J(u-$Mkn~ zx?iYsd4JWqYh`Ev000000006nY!V6J1M0KGyDE4;j?wPaeaU57OhT%wAS1>+XcUah cuzj12jCjx~8JTeJwoL!%EcDT5T{i##04Rtv8~^|S literal 0 HcmV?d00001 diff --git a/vector/src/main/res/drawable-hdpi/ill_empty_unreads.webp b/vector/src/main/res/drawable-hdpi/ill_empty_unreads.webp new file mode 100644 index 0000000000000000000000000000000000000000..ce94823cc763aed061f9cc92d958c2e47e956497 GIT binary patch literal 794 zcmV+#1LgcuNk&Ez0{{S5MM6+kP&il$0000G00015003G506|PpNVx$300EFy+jiYn z8-gGl2!bF8fglDogNT8}z+uob5CoUOfp8$4`>-8Z+V}Ap5fgwRW3Jn-=I(CVKFcG5 zV|q68o~@?YQZ>I(w=_?9n%}NjrU*~-F*g}5Jk7^lWvmbLp*0UA&4+I?%7^)cwhR$g zpL88SzI|GiyF`6rm3yN4)Ee)I=963OC+gFy^b&P~DxK6R?xD--B-b7vPIGxrjEBiv z&55>mvQu5IiE^=UX?3#Yia1*f7hZI{oQd%pcyX!+%E^99PC5ao ztO|g}ssV7;21HsO@!*wFcvXDy+R%9IP+kh-WpLvEBaD|pc`0^Y4KH3_sJsd?uLmNp z2pBB@ja36sSXBUtRRRFxr1-sZ+71$@bO2+dI4+FxNiafkg2HFRc`!P10fkM))nHsy zE@9!4@n&Pv@U9pSlee(&SkSSusOTAX4vM~_3{*NnbUqbyk2ae{+!%E(jkr~GCKcQ) zI?uP@{yIwy7;&)~Y{8(?#%qFcvyNp8hL$>zm4MOZHHejf871p|RsyC?FTKNR!sMy8 zF4jr{$M`6pP3DNGAR}t?>y*{De@@ z-5I{gG(cd=mpYDo!zXV8kMBt)2wag{X}*Ou9xT_+)sJhu0OVHiJP zy6HlC?WO%-*JO&m>_ z^j&#r5a#Z+w5G}u+7I$n-P`_&z~37Pt?l8}L5ZUz7ObcgoG(NEe@BUNeBNU_WY?)!3;k z!97gjDK^RZ(yvukW4Eq=#v~N>2TZyx3>p`Pu~q*H4z(^E8fUsOG5$NM_80B48pm`c zrf?-syOCHlMs;FP`!CvAH16PNU+MO*;L%7LjTJoN53If;kH)iz7|YaOq1Y5zjib6E zSCD3-@UJ!&jc@IgF_#t9nA42*M{`8Vwx8Z-2BD2#K_#r>|GL1S^?90I=O zaA(?OHIC|<*>XR2&}re5c3F*sx)NLX+8Jkg!Xb1E#+H#Y%^<|Wt zJk^-_oyTt5_+6+aiR_n@ChpcFg@^qn$Sa(3bbySq(&3({K@$A{O6rA~AQM!=M z#>8=QHv*q}Vi~Ky1=yuK!d8OQ-x`Y@J~cLEa|#u2xUx)Egz~kw6s~_ZF)j*Y6-{YW z7l&|KyTAUg*%GDc5BU5Dw?FV_P za-(Dh))f@0?ZVVZ>G6ILN1oi96)W-@rlPW<0FP4@jh4W>0E@1TD!BBsGFNb%H!M;I zA}bPVpRH-Jth)|$HQ#%kIT1nSghrSD9Q9aDWc>eyA_?-q&>M}n>7osqdri_b8x8N^qx;`(2~jvz65m|vkokP>?I17}$S8dG1` zAIt@yf4R`uYH4uJ0R8i2#>B4SQLViGYB>+Az3m3P?EvVHipHS!U-XmofY{cQG%i{J z`YYv#Kd{Dp5&D0_KtzmX>aWmjiu8uCNc~|}3Lk5e_R2;Is+mU5fC->~G6S4p$64nz z^KbeQGoDPJLt&kZE>2#5ag;d(oXg?P^vfz8s$$Fi*ny`7dHq=;GbFKv&#lMsVdeEd zgyO-QG&Z9r0gmHgwB>dSHiKW3jK-YrDVJEbE6dKP%}}IjwXRHc$ck3~r<=-%bqDlY zM@32gPM%Gh;@PulDLC`LqI4mhjfvyrZUjE{#4=WY3$RP=&qj0lTVt`qr^be4K4A%p zH(Xg}R$KYnTME}d1(QG(#wwc9s4foSw04c{yE2z1&Znj?gvi;^<#iZyt+Ye|VNK|E?jgC)?tScx~+qoW%kUMYze!p?xT@aekYnTexNa=ycsfvviiR3Qu zocWyh2-2s=^RQkZQE^cYw!3^X-VNtHzXU14@@t`9HjZ|jRB+SuxgOdeFd z`YED!t`J=OM)dynMSTX{kkE*_?F2L?$bTwhaLuvRb#8RcF)_$zQ1ZZPuH)-nJO&jc zhtXGJh3}u7OkdKB_(5O2s~SzI+1dxl=M%&_t4kNiPGl1JcIwY`CLN37_9D5m>rwj$L0giAEW=Mw|VO!U!Wg@zn~v;eLMwl4$qZU(Ju(5Kewk*d*uCH zLddXJ&;6TY^vi5~NS%!74SfTbP?l}~)8la`wCn+r1k}RRkTHTvSoJT)4bKKlft)Ei zd{x;ps1?$#eb50~KTji;97eUP*#CdaJUo{x;})b+HXmzNvK~~x;v^q#%1dU(e`u{SwgkW*!(-Zf zgHkxt*K;CNV4a_B`+JPXSi67wq_eF?8ti1=ml$b@0D@`}VDnO2tC%ALy)r}&JSydD zcYpu@2w9$g#3TRkKL7A|3`EzF`rFr;SQIbxqyB<$S3iLfTbPYinS9Xz=1q9W6OG+M znpaT(qDztRd(!2=)8{Qq>mXLo&e_Hkt(}dRa2+MBYACYql71lfV<@%1g-KWm2|wve zo9W2mcRxN{z6Cq{2ETULOAJ8(K8(mB3BYP)E~%IA-H;W>+=vb?vt6h?KboQKydKow zyB;B5#Hq>Q5SZ?EfH}AVX(2Oq(uP#5+F-HY<(z_Ov+fhDmYn`kSm0nrbd)wo;;CSr z@^QDaBru>%|2A7T+-1oq0zaE&fVrK^X)K8%z zs0j6l1>paXmOvpeAzfMKEG^0dxTU&LzKJ2rUUXR-pnqnLCB@rq*Vy^k?>zuD&xyWr z^RAAt$U~5+e47$gM@#;1Jpr_}&0?st58LORt%Ty99&M*?#vwn5jT{;9@1F-?hBP}N zSpWQ1Y7hZC6x@?l)GACP5~-|@tKAJs9SE%!XnU#P``Ho#p!9*db*B@@4Efx1$snSR-!67!fQj1u)5l1&9d=O6`VCKlC@5EQeKiqyV4^Y3R0zf_YXkt9i1RY@Q;f-~-+yiwd+Cpz{OR9txP{F1+b8m(zs*X7GuxY)b3+Z9zyiSQm zQZ+wsUaZz{ma9x#SE!bh(>^4L>Rm4)+^?8E_gnAB7q9J6aj{8-Zn?3W&H(GXR3)lm zNQrKjMGIQ&Hq_KemK&1bo>>c^>>m%r!T-+hr`Qn;hIK|Q`1c&q~4Y97F%f|WpVWHiF;F)urO^i(HE7z z-l84JBE4LkV=Ua6)bQ;|KzA7b4SSp?!)rw1s~+*<4_3-`;#@iCW#1^W4!EvT>c)xF z>5#VbMUP`kUY^E8KH2vDT3w?Qs`l9)@J#WIWF#)>p{AQ{gAPuo042H#1x$?V-{89KHJY$J^; zS`#X6kboZ}!eHo~K;{ro`2aau-b^3JW;SWg$u!5IfO znhOL@enm&RqhoLAXarCH{pT-88aj?AI%-Boj_6oi1?M;iZb;5y8=Ct<=(y;?eN_VX zF7B*?isHUihGh2SMhbw!YYpx~=>Ri}j-e%25LSES(aZr>P&gpe0RRB-5&)e6Dxd(Y z06uLrlt!c@A|Wi**kFJSiDz!!v(6g~`r9)37b54NA3y-Fw8hOLPFfY4bOVM*fvR6l z`_B%Y#4YuqrF0Aukc{qjPBu0 zAN&9~7n)EX=1H-&PAUP$k67SFu?Keu(tfHq0h;qdp)C%^pTCdXJc_e{T2`nS&|H!%1?qt&oB8wFfgmdn_sFY2MKjm&EATm! z^dPr01W?Z;1+wqSfH>`~pEp5NqXg`pkwR-OV0kUt-e=2Fn6;67^0KRA*}fJAdK(r% uoW8@pmz5lj{0z`p2@ouJ>w-a!Ys4(kKuqBbv)}*#1Vzpspa5@L)$RatPqr}t literal 0 HcmV?d00001 diff --git a/vector/src/main/res/drawable-mdpi/ill_empty_unreads.webp b/vector/src/main/res/drawable-mdpi/ill_empty_unreads.webp new file mode 100644 index 0000000000000000000000000000000000000000..4209c0591d7785760835d868440f82f5e99583f0 GIT binary patch literal 556 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 literal 0 HcmV?d00001 diff --git a/vector/src/main/res/drawable-xhdpi/ill_empty_space.webp b/vector/src/main/res/drawable-xhdpi/ill_empty_space.webp new file mode 100644 index 0000000000000000000000000000000000000000..c6d83f16c78f681359f12d16409f670a62f81190 GIT binary patch literal 2928 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 literal 0 HcmV?d00001 diff --git a/vector/src/main/res/drawable-xhdpi/ill_empty_unreads.webp b/vector/src/main/res/drawable-xhdpi/ill_empty_unreads.webp new file mode 100644 index 0000000000000000000000000000000000000000..14d2dbdf9a4c6d6fd6cfa8bae07722d73f2f2f9d GIT binary patch literal 1068 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 KjW7K-yZ;L=q&Ox3 literal 0 HcmV?d00001 diff --git a/vector/src/main/res/drawable-xxhdpi/ill_empty_space.webp b/vector/src/main/res/drawable-xxhdpi/ill_empty_space.webp new file mode 100644 index 0000000000000000000000000000000000000000..18b26b82fff025d3c023249332255cd3d98a3514 GIT binary patch literal 4562 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 z⁣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 + + +