From 50034599628a320ca7ea32ef5f6a4a31ebf515e1 Mon Sep 17 00:00:00 2001
From: NIkita Fedrunov <fedrunov@element.io>
Date: Thu, 1 Sep 2022 14:39:13 +0200
Subject: [PATCH 01/57] empty state for new invites screen

---
 changelog.d/6876.feature                      |  1 +
 .../room/list/home/invites/InvitesFragment.kt | 43 ++++++++++-----
 .../list/home/invites/InvitesViewEvents.kt    |  1 -
 .../list/home/invites/InvitesViewModel.kt     | 53 +++++++++++++++----
 .../list/home/invites/InvitesViewState.kt     | 15 +++++-
 .../main/res/drawable/ic_invites_empty.xml    | 14 +++++
 .../src/main/res/layout/fragment_invites.xml  | 21 +++++---
 vector/src/main/res/values/strings.xml        |  3 ++
 8 files changed, 117 insertions(+), 34 deletions(-)
 create mode 100644 changelog.d/6876.feature
 create mode 100644 vector/src/main/res/drawable/ic_invites_empty.xml

diff --git a/changelog.d/6876.feature b/changelog.d/6876.feature
new file mode 100644
index 0000000000..12a2b78a1e
--- /dev/null
+++ b/changelog.d/6876.feature
@@ -0,0 +1 @@
+[App Layout] - Invites now show empty screen after you reject last invite
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesFragment.kt
index 74b46cec33..7fbc6f5c3f 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesFragment.kt
@@ -20,15 +20,19 @@ import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.lifecycle.lifecycleScope
+import androidx.paging.PagedList
 import com.airbnb.mvrx.fragmentViewModel
-import com.airbnb.mvrx.withState
 import dagger.hilt.android.AndroidEntryPoint
 import im.vector.app.core.extensions.configureWith
+import im.vector.app.core.platform.StateView
 import im.vector.app.core.platform.VectorBaseFragment
 import im.vector.app.databinding.FragmentInvitesBinding
 import im.vector.app.features.analytics.plan.ViewRoom
 import im.vector.app.features.home.room.list.RoomListListener
 import im.vector.app.features.notifications.NotificationDrawerManager
+import kotlinx.coroutines.flow.launchIn
+import kotlinx.coroutines.flow.onEach
 import org.matrix.android.sdk.api.session.room.model.RoomSummary
 import org.matrix.android.sdk.api.session.room.model.SpaceChildInfo
 import javax.inject.Inject
@@ -51,6 +55,8 @@ class InvitesFragment : VectorBaseFragment<FragmentInvitesBinding>(), RoomListLi
         setupToolbar(views.invitesToolbar)
                 .allowBack()
 
+        views.invitesStateView.contentView = views.invitesRecycler
+
         views.invitesRecycler.configureWith(controller)
         controller.listener = this
 
@@ -62,13 +68,32 @@ class InvitesFragment : VectorBaseFragment<FragmentInvitesBinding>(), RoomListLi
             when (it) {
                 is InvitesViewEvents.Failure -> showFailure(it.throwable)
                 is InvitesViewEvents.OpenRoom -> handleOpenRoom(it.roomSummary, it.shouldCloseInviteView)
-                InvitesViewEvents.Close -> handleClose()
             }
         }
-    }
 
-    private fun handleClose() {
-        requireActivity().finish()
+        viewModel.invites.onEach {
+            when (it) {
+                is InvitesContentState.Content -> {
+                    views.invitesStateView.state = StateView.State.Content
+                    Suppress("UNCHECKED_CAST")
+                    controller.submitList(it.content as? PagedList<RoomSummary>)
+                }
+                is InvitesContentState.Empty -> {
+                    views.invitesStateView.state = StateView.State.Empty(
+                            title = it.title,
+                            image = it.image,
+                            message = it.message
+                    )
+                }
+                is InvitesContentState.Error -> {
+                    when (views.invitesStateView.state) {
+                        StateView.State.Content -> showErrorInSnackbar(it.throwable)
+                        else -> views.invitesStateView.state = StateView.State.Error(it.throwable.message)
+                    }
+                }
+                InvitesContentState.Loading -> views.invitesStateView.state = StateView.State.Loading
+            }
+        }.launchIn(viewLifecycleOwner.lifecycleScope)
     }
 
     private fun handleOpenRoom(roomSummary: RoomSummary, shouldCloseInviteView: Boolean) {
@@ -83,14 +108,6 @@ class InvitesFragment : VectorBaseFragment<FragmentInvitesBinding>(), RoomListLi
         }
     }
 
-    override fun invalidate(): Unit = withState(viewModel) { state ->
-        super.invalidate()
-
-        state.pagedList?.observe(viewLifecycleOwner) { list ->
-            controller.submitList(list)
-        }
-    }
-
     override fun onRejectRoomInvitation(room: RoomSummary) {
         notificationDrawerManager.updateEvents { it.clearMemberShipNotificationForRoom(room.roomId) }
         viewModel.handle(InvitesAction.RejectInvitation(room))
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewEvents.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewEvents.kt
index d68577cf95..21310592a4 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewEvents.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewEvents.kt
@@ -22,5 +22,4 @@ import org.matrix.android.sdk.api.session.room.model.RoomSummary
 sealed class InvitesViewEvents : VectorViewEvents {
     data class Failure(val throwable: Throwable) : InvitesViewEvents()
     data class OpenRoom(val roomSummary: RoomSummary, val shouldCloseInviteView: Boolean) : InvitesViewEvents()
-    object Close : InvitesViewEvents()
 }
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewModel.kt
index b0d854be66..1e5880d772 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewModel.kt
@@ -16,14 +16,25 @@
 
 package im.vector.app.features.home.room.list.home.invites
 
+import androidx.lifecycle.asFlow
 import androidx.paging.PagedList
 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.core.di.MavericksAssistedViewModelFactory
 import im.vector.app.core.di.hiltMavericksViewModelFactory
 import im.vector.app.core.platform.VectorViewModel
+import im.vector.app.core.resources.DrawableProvider
+import im.vector.app.core.resources.StringProvider
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.flow.asSharedFlow
+import kotlinx.coroutines.flow.catch
+import kotlinx.coroutines.flow.launchIn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.onEach
+import kotlinx.coroutines.flow.onStart
 import kotlinx.coroutines.launch
 import org.matrix.android.sdk.api.extensions.orFalse
 import org.matrix.android.sdk.api.session.Session
@@ -36,6 +47,8 @@ import timber.log.Timber
 class InvitesViewModel @AssistedInject constructor(
         @Assisted val initialState: InvitesViewState,
         private val session: Session,
+        private val stringProvider: StringProvider,
+        private val drawableProvider: DrawableProvider
 ) : VectorViewModel<InvitesViewState, InvitesAction, InvitesViewEvents>(initialState) {
 
     private val pagedListConfig = PagedList.Config.Builder()
@@ -52,6 +65,11 @@ class InvitesViewModel @AssistedInject constructor(
 
     companion object : MavericksViewModelFactory<InvitesViewModel, InvitesViewState> by hiltMavericksViewModelFactory()
 
+    private val _invites = MutableSharedFlow<InvitesContentState>(replay = 1)
+    val invites = _invites.asSharedFlow()
+
+    var invitesCount = -1
+
     init {
         observeInvites()
     }
@@ -72,8 +90,6 @@ class InvitesViewModel @AssistedInject constructor(
             return@withState
         }
 
-        val shouldCloseInviteView = state.pagedList?.value?.size == 1
-
         viewModelScope.launch {
             try {
                 session.roomService().leaveRoom(roomId)
@@ -81,9 +97,6 @@ class InvitesViewModel @AssistedInject constructor(
                 // Instead, we wait for the room to be rejected
                 // Known bug: if the user is invited again (after rejecting the first invitation), the loading will be displayed instead of the buttons.
                 // If we update the state, the button will be displayed again, so it's not ideal...
-                if (shouldCloseInviteView) {
-                    _viewEvents.post(InvitesViewEvents.Close)
-                }
             } catch (failure: Throwable) {
                 // Notify the user
                 _viewEvents.post(InvitesViewEvents.Failure(failure))
@@ -101,9 +114,7 @@ class InvitesViewModel @AssistedInject constructor(
         }
         // close invites view when navigate to a room from the last one invite
 
-        val shouldCloseInviteView = state.pagedList?.value?.size == 1
-
-        _viewEvents.post(InvitesViewEvents.OpenRoom(action.roomSummary, shouldCloseInviteView))
+        val shouldCloseInviteView = invitesCount == 1
 
         // quick echo
         setState {
@@ -117,6 +128,8 @@ class InvitesViewModel @AssistedInject constructor(
                     }
             )
         }
+
+        _viewEvents.post(InvitesViewEvents.OpenRoom(action.roomSummary, shouldCloseInviteView))
     }
 
     private fun observeInvites() {
@@ -129,8 +142,26 @@ class InvitesViewModel @AssistedInject constructor(
                 sortOrder = RoomSortOrder.ACTIVITY
         )
 
-        setState {
-            copy(pagedList = pagedList)
-        }
+        pagedList.asFlow()
+                .map {
+                    if (it.isEmpty()) {
+                        InvitesContentState.Empty(
+                                title = stringProvider.getString(R.string.invites_empty_title),
+                                image = drawableProvider.getDrawable(R.drawable.ic_invites_empty),
+                                message = stringProvider.getString(R.string.invites_empty_message)
+                        )
+                    } else {
+                        invitesCount = it.loadedCount
+                        InvitesContentState.Content(it)
+                    }
+                }
+                .catch {
+                    emit(InvitesContentState.Error(it))
+                }
+                .onStart {
+                    emit(InvitesContentState.Loading)
+                }.onEach {
+                    _invites.emit(it)
+                }.launchIn(viewModelScope)
     }
 }
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
index 708db29604..397042a96a 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
@@ -16,13 +16,24 @@
 
 package im.vector.app.features.home.room.list.home.invites
 
-import androidx.lifecycle.LiveData
+import android.graphics.drawable.Drawable
 import androidx.paging.PagedList
 import com.airbnb.mvrx.MavericksState
 import org.matrix.android.sdk.api.session.room.members.ChangeMembershipState
 import org.matrix.android.sdk.api.session.room.model.RoomSummary
 
 data class InvitesViewState(
-        val pagedList: LiveData<PagedList<RoomSummary>>? = null,
         val roomMembershipChanges: Map<String, ChangeMembershipState> = emptyMap(),
 ) : MavericksState
+
+sealed class InvitesContentState {
+    object Loading : InvitesContentState()
+    data class Empty(
+            val title: CharSequence,
+            val image: Drawable?,
+            val message: CharSequence
+    ) : InvitesContentState()
+
+    data class Content(val content: PagedList<RoomSummary>) : InvitesContentState()
+    data class Error(val throwable: Throwable) : InvitesContentState()
+}
diff --git a/vector/src/main/res/drawable/ic_invites_empty.xml b/vector/src/main/res/drawable/ic_invites_empty.xml
new file mode 100644
index 0000000000..79908ff380
--- /dev/null
+++ b/vector/src/main/res/drawable/ic_invites_empty.xml
@@ -0,0 +1,14 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="60dp"
+    android:height="60dp"
+    android:viewportWidth="60"
+    android:viewportHeight="60">
+  <path
+      android:pathData="M30,30m-30,0a30,30 0,1 1,60 0a30,30 0,1 1,-60 0"
+      android:fillColor="#E3E8F0"/>
+  <path
+      android:pathData="M25.665,33.544L15.229,23.209L29.236,13.398C29.993,12.868 31.007,12.868 31.764,13.398L45.771,23.209L35.247,33.631L33.851,32.446C31.93,30.816 29.11,30.778 27.145,32.355L25.665,33.544ZM22.439,36.134L14,42.91V27.777L22.439,36.134ZM47,27.777V43.606L38.393,36.301L47,27.777ZM31.177,35.566L43.47,46H16.714L29.733,35.546C30.156,35.208 30.765,35.216 31.177,35.566Z"
+      android:strokeWidth="2"
+      android:fillColor="#737D8C"
+      android:strokeColor="#737D8C"/>
+</vector>
diff --git a/vector/src/main/res/layout/fragment_invites.xml b/vector/src/main/res/layout/fragment_invites.xml
index 74226357c9..070cad5ec8 100644
--- a/vector/src/main/res/layout/fragment_invites.xml
+++ b/vector/src/main/res/layout/fragment_invites.xml
@@ -20,17 +20,24 @@
 
     </com.google.android.material.appbar.AppBarLayout>
 
-    <androidx.recyclerview.widget.RecyclerView
-        android:id="@+id/invites_recycler"
+    <im.vector.app.core.platform.StateView
+        android:id="@+id/invites_state_view"
         android:layout_width="0dp"
         android:layout_height="0dp"
-        android:fastScrollEnabled="true"
-        android:overScrollMode="always"
-        android:scrollbars="vertical"
-        app:layout_behavior="@string/appbar_scrolling_view_behavior"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/appBarLayout" />
+        app:layout_constraintTop_toBottomOf="@id/appBarLayout">
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/invites_recycler"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:fastScrollEnabled="true"
+            android:overScrollMode="always"
+            android:scrollbars="vertical" />
+
+    </im.vector.app.core.platform.StateView>
+
 
 </androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/vector/src/main/res/values/strings.xml b/vector/src/main/res/values/strings.xml
index f8eb4b8de0..178feb2223 100644
--- a/vector/src/main/res/values/strings.xml
+++ b/vector/src/main/res/values/strings.xml
@@ -445,6 +445,9 @@
     <!-- Invites fragment -->
     <string name="invites_title">Invites</string>
 
+    <string name="invites_empty_title">Nothing new.</string>
+    <string name="invites_empty_message">This is where your new requests and invites will be.</string>
+
     <!-- People fragment -->
     <string name="direct_chats_header">Conversations</string>
     <string name="matrix_only_filter">Matrix contacts only</string>

From da7355049310179dc18dc982c429dd2105e68a33 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 1 Sep 2022 23:10:39 +0000
Subject: [PATCH 02/57] Bump android-embedded_fcm_distributor from 2.1.2 to
 2.1.3

Bumps android-embedded_fcm_distributor from 2.1.2 to 2.1.3.

---
updated-dependencies:
- dependency-name: com.github.UnifiedPush:android-embedded_fcm_distributor
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
---
 vector/build.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vector/build.gradle b/vector/build.gradle
index ee549fc4b6..51ee8b561c 100644
--- a/vector/build.gradle
+++ b/vector/build.gradle
@@ -264,7 +264,7 @@ dependencies {
     // UnifiedPush
     implementation 'com.github.UnifiedPush:android-connector:2.0.1'
     // UnifiedPush gplay flavor only
-    gplayImplementation('com.github.UnifiedPush:android-embedded_fcm_distributor:2.1.2') {
+    gplayImplementation('com.github.UnifiedPush:android-embedded_fcm_distributor:2.1.3') {
         exclude group: 'com.google.firebase', module: 'firebase-core'
         exclude group: 'com.google.firebase', module: 'firebase-analytics'
         exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'

From ad360074bf523abd9b9017a2ab8c1c1ee87384ae Mon Sep 17 00:00:00 2001
From: Germain <germain@souquet.com>
Date: Fri, 2 Sep 2022 15:54:08 +0100
Subject: [PATCH 03/57] Remove threads board automation

The threads board has been closed and is now replaced by the Delight board
---
 .github/workflows/triage-labelled.yml | 26 --------------------------
 1 file changed, 26 deletions(-)

diff --git a/.github/workflows/triage-labelled.yml b/.github/workflows/triage-labelled.yml
index f478d2bd7b..174e3c54c0 100644
--- a/.github/workflows/triage-labelled.yml
+++ b/.github/workflows/triage-labelled.yml
@@ -142,32 +142,6 @@ jobs:
         env:
           PROJECT_ID: "PN_kwDOAM0swc2KCw"
           GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
-
-  move_threads_issues:
-    name: A-Threads to Thread board
-    runs-on: ubuntu-latest
-    # Skip in forks
-    if: >
-      github.repository == 'vector-im/element-android' &&
-      contains(github.event.issue.labels.*.name, 'A-Threads')
-    steps:
-      - uses: octokit/graphql-action@v2.x
-        with:
-          headers: '{"GraphQL-Features": "projects_next_graphql"}'
-          query: |
-            mutation add_to_project($projectid:ID!,$contentid:ID!) {
-              addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) {
-                projectNextItem {
-                  id
-                }
-              }
-            }
-          projectid: ${{ env.PROJECT_ID }}
-          contentid: ${{ github.event.issue.node_id }}
-        env:
-          PROJECT_ID: "PN_kwDOAM0swc0rRA"
-          GITHUB_TOKEN: ${{ secrets.ELEMENT_BOT_TOKEN }}
-
   move_message_bubbles_issues:
     name: A-Message-Bubbles to Message bubbles board
     runs-on: ubuntu-latest

From 0f4deb70670a0417d5039a567ed27161f2ab16bb Mon Sep 17 00:00:00 2001
From: bmarty <bmarty@users.noreply.github.com>
Date: Mon, 5 Sep 2022 00:03:36 +0000
Subject: [PATCH 04/57] Sync analytics plan

---
 .../features/analytics/plan/Interaction.kt    | 51 +++++++++++++++++++
 .../features/analytics/plan/MobileScreen.kt   | 15 ++++++
 .../features/analytics/plan/UserProperties.kt | 28 ++++++++++
 .../app/features/analytics/plan/ViewRoom.kt   |  5 ++
 4 files changed, 99 insertions(+)

diff --git a/vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt b/vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt
index 6336faa74c..1df1b35439 100644
--- a/vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt
+++ b/vector/src/main/java/im/vector/app/features/analytics/plan/Interaction.kt
@@ -40,6 +40,46 @@ data class Interaction(
 ) : VectorAnalyticsEvent {
 
     enum class Name {
+        /**
+         * User tapped the All filter in the All Chats filter tab.
+         */
+        MobileAllChatsFilterAll,
+
+        /**
+         * User tapped the Favourites filter in the All Chats filter tab.
+         */
+        MobileAllChatsFilterFavourites,
+
+        /**
+         * User tapped the People filter in the All Chats filter tab.
+         */
+        MobileAllChatsFilterPeople,
+
+        /**
+         * User tapped the Unreads filter in the All Chats filter tab.
+         */
+        MobileAllChatsFilterUnreads,
+
+        /**
+         * User disabled filters from the all chats layout settings.
+         */
+        MobileAllChatsFiltersDisabled,
+
+        /**
+         * User enabled filters from the all chats layout settings.
+         */
+        MobileAllChatsFiltersEnabled,
+
+        /**
+         * User disabled recents from the all chats layout settings.
+         */
+        MobileAllChatsRecentsDisabled,
+
+        /**
+         * User enabled recents from the all chats layout settings.
+         */
+        MobileAllChatsRecentsEnabled,
+
         /**
          * User tapped on Add to Home button on Room Details screen.
          */
@@ -60,6 +100,11 @@ data class Interaction(
          */
         MobileRoomThreadSummaryItem,
 
+        /**
+         * User validated the creation of a new space.
+         */
+        MobileSpaceCreationValidated,
+
         /**
          * User tapped on the filter button on ThreadList screen.
          */
@@ -81,6 +126,12 @@ data class Interaction(
          */
         SpacePanelSwitchSpace,
 
+        /**
+         * User tapped an unselected sub space from the space list -> space
+         * switching should occur.
+         */
+        SpacePanelSwitchSubSpace,
+
         /**
          * User clicked the create room button in the add existing room to space
          * dialog in Element Web/Desktop.
diff --git a/vector/src/main/java/im/vector/app/features/analytics/plan/MobileScreen.kt b/vector/src/main/java/im/vector/app/features/analytics/plan/MobileScreen.kt
index 3ce3dfb578..7ea41e2d78 100644
--- a/vector/src/main/java/im/vector/app/features/analytics/plan/MobileScreen.kt
+++ b/vector/src/main/java/im/vector/app/features/analytics/plan/MobileScreen.kt
@@ -43,6 +43,11 @@ data class MobileScreen(
          */
         CreateRoom,
 
+        /**
+         * The screen shown to create a new space.
+         */
+        CreateSpace,
+
         /**
          * The confirmation screen shown before deactivating an account.
          */
@@ -78,6 +83,11 @@ data class MobileScreen(
          */
         InviteFriends,
 
+        /**
+         * Room accessed via space bottom sheet list.
+         */
+        Invites,
+
         /**
          * The screen that displays the login flow (when the user already has an
          * account).
@@ -261,6 +271,11 @@ data class MobileScreen(
          */
         Sidebar,
 
+        /**
+         * Room accessed via space bottom sheet list.
+         */
+        SpaceBottomSheet,
+
         /**
          * Screen that displays the list of rooms and spaces of a space.
          */
diff --git a/vector/src/main/java/im/vector/app/features/analytics/plan/UserProperties.kt b/vector/src/main/java/im/vector/app/features/analytics/plan/UserProperties.kt
index 77be2456cd..d6fa918b8e 100644
--- a/vector/src/main/java/im/vector/app/features/analytics/plan/UserProperties.kt
+++ b/vector/src/main/java/im/vector/app/features/analytics/plan/UserProperties.kt
@@ -44,6 +44,10 @@ data class UserProperties(
          * Whether the user has the people space enabled.
          */
         val webMetaSpacePeopleEnabled: Boolean? = null,
+        /**
+         * The active filter in the All Chats screen
+         */
+        val allChatsActiveFilter: AllChatsActiveFilter? = null,
         /**
          * The selected messaging use case during the onboarding flow.
          */
@@ -80,6 +84,29 @@ data class UserProperties(
         WorkMessaging,
     }
 
+    enum class AllChatsActiveFilter {
+
+        /**
+         * Filters are activated and All is selected
+         */
+        All,
+
+        /**
+         * Filters are activated and Favourites is selected
+         */
+        Favourites,
+
+        /**
+         * Filters are activated and People is selected
+         */
+        People,
+
+        /**
+         * Filters are activated and Unreads is selected
+         */
+        Unreads,
+    }
+
     fun getProperties(): Map<String, Any>? {
         return mutableMapOf<String, Any>().apply {
             webMetaSpaceFavouritesEnabled?.let { put("WebMetaSpaceFavouritesEnabled", it) }
@@ -87,6 +114,7 @@ data class UserProperties(
             webMetaSpaceHomeEnabled?.let { put("WebMetaSpaceHomeEnabled", it) }
             webMetaSpaceOrphansEnabled?.let { put("WebMetaSpaceOrphansEnabled", it) }
             webMetaSpacePeopleEnabled?.let { put("WebMetaSpacePeopleEnabled", it) }
+            allChatsActiveFilter?.let { put("allChatsActiveFilter", it.name) }
             ftueUseCaseSelection?.let { put("ftueUseCaseSelection", it.name) }
             numFavouriteRooms?.let { put("numFavouriteRooms", it) }
             numSpaces?.let { put("numSpaces", it) }
diff --git a/vector/src/main/java/im/vector/app/features/analytics/plan/ViewRoom.kt b/vector/src/main/java/im/vector/app/features/analytics/plan/ViewRoom.kt
index f6a724304b..366979025a 100644
--- a/vector/src/main/java/im/vector/app/features/analytics/plan/ViewRoom.kt
+++ b/vector/src/main/java/im/vector/app/features/analytics/plan/ViewRoom.kt
@@ -110,6 +110,11 @@ data class ViewRoom(
          */
         MobileSearchContactDetail,
 
+        /**
+         * Room accessed via space bottom sheet list.
+         */
+        MobileSpaceBottomSheet,
+
         /**
          * Room accessed via interacting with direct chat item in the space
          * contact detail screen.

From b37996e4c3a054f6faf6dea37869040873ebf150 Mon Sep 17 00:00:00 2001
From: Nikita Fedrunov <66663241+fedrunov@users.noreply.github.com>
Date: Mon, 5 Sep 2022 16:11:50 +0200
Subject: [PATCH 05/57] space switcher empty spaces (#6988)

---
 changelog.d/6754.bugfix                       |  1 +
 .../src/main/res/values/strings.xml           |  4 ++
 .../app/features/spaces/SpaceListFragment.kt  | 16 ++++++-
 .../main/res/layout/fragment_space_list.xml   | 44 +++++++++++++++++++
 4 files changed, 63 insertions(+), 2 deletions(-)
 create mode 100644 changelog.d/6754.bugfix

diff --git a/changelog.d/6754.bugfix b/changelog.d/6754.bugfix
new file mode 100644
index 0000000000..e9f6960595
--- /dev/null
+++ b/changelog.d/6754.bugfix
@@ -0,0 +1 @@
+[App Layout] - space switcher now has empty state
diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index df0e10627a..6b44377b79 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -442,6 +442,10 @@
     <string name="system_alerts_header">"System Alerts"</string>
     <string name="suggested_header">Suggested Rooms</string>
 
+    <!-- Space List fragment -->
+    <string name="space_list_empty_title">No spaces yet.</string>
+    <string name="space_list_empty_message">Spaces are a new way to group rooms and people. Create a space to get started.</string>
+
     <!-- Invites fragment -->
     <string name="invites_title">Invites</string>
 
diff --git a/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt b/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt
index ca9279cb37..0153d64df7 100644
--- a/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/spaces/SpaceListFragment.kt
@@ -21,6 +21,7 @@ import android.view.HapticFeedbackConstants
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.core.view.isVisible
 import com.airbnb.epoxy.EpoxyTouchHelper
 import com.airbnb.mvrx.Loading
 import com.airbnb.mvrx.Success
@@ -28,6 +29,7 @@ import com.airbnb.mvrx.Uninitialized
 import com.airbnb.mvrx.fragmentViewModel
 import com.airbnb.mvrx.withState
 import dagger.hilt.android.AndroidEntryPoint
+import im.vector.app.core.epoxy.onClick
 import im.vector.app.core.extensions.cleanup
 import im.vector.app.core.extensions.configureWith
 import im.vector.app.core.platform.StateView
@@ -71,6 +73,7 @@ class SpaceListFragment :
         homeActivitySharedActionViewModel = activityViewModelProvider[HomeSharedActionViewModel::class.java]
         roomListSharedActionViewModel = activityViewModelProvider[RoomListSharedActionViewModel::class.java]
         views.stateView.contentView = views.groupListView
+        views.spacesEmptyButton.onClick { onAddSpaceSelected() }
         setupSpaceController()
         observeViewEvents()
     }
@@ -147,13 +150,22 @@ class SpaceListFragment :
     }
 
     override fun invalidate() = withState(viewModel) { state ->
-        when (state.asyncSpaces) {
+        when (val spaces = state.asyncSpaces) {
             Uninitialized,
             is Loading -> {
                 views.stateView.state = StateView.State.Loading
                 return@withState
             }
-            is Success -> views.stateView.state = StateView.State.Content
+            is Success -> {
+                views.stateView.state = StateView.State.Content
+                if (spaces.invoke().isEmpty()) {
+                    views.spacesEmptyGroup.isVisible = true
+                    views.groupListView.isVisible = false
+                } else {
+                    views.spacesEmptyGroup.isVisible = false
+                    views.groupListView.isVisible = true
+                }
+            }
             else -> Unit
         }
 
diff --git a/vector/src/main/res/layout/fragment_space_list.xml b/vector/src/main/res/layout/fragment_space_list.xml
index d54ffa7155..8dfbb4a9c6 100644
--- a/vector/src/main/res/layout/fragment_space_list.xml
+++ b/vector/src/main/res/layout/fragment_space_list.xml
@@ -12,4 +12,48 @@
         android:overScrollMode="always"
         tools:listitem="@layout/item_space" />
 
+
+    <LinearLayout
+        android:id="@+id/spaces_empty_group"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:orientation="vertical"
+        android:padding="@dimen/layout_horizontal_margin"
+        android:visibility="gone"
+        tools:visibility="visible">
+
+        <TextView
+            android:id="@+id/spaces_empty_title"
+            style="@style/Widget.Vector.TextView.Subtitle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal"
+            android:gravity="center"
+            android:text="@string/space_list_empty_title"
+            android:textColor="?vctr_content_primary"
+            android:textStyle="bold" />
+
+        <TextView
+            android:id="@+id/spaces_empty_message"
+            style="@style/Widget.Vector.TextView.Body"
+            android:layout_width="220dp"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="20dp"
+            android:gravity="center"
+            android:text="@string/space_list_empty_message"
+            android:textColor="?vctr_content_secondary" />
+
+        <Button
+            android:id="@+id/spaces_empty_button"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center"
+            android:layout_marginTop="8dp"
+            android:minWidth="190dp"
+            android:text="@string/create_space" />
+
+    </LinearLayout>
+
 </im.vector.app.core.platform.StateView>

From ecd1776085092a96936f56230598a57d62b11281 Mon Sep 17 00:00:00 2001
From: NIkita Fedrunov <fedrunov@element.io>
Date: Mon, 5 Sep 2022 16:51:38 +0200
Subject: [PATCH 06/57] removed obsolete cast

---
 .../features/home/room/list/home/invites/InvitesFragment.kt   | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesFragment.kt
index 7fbc6f5c3f..f557483289 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesFragment.kt
@@ -21,7 +21,6 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import androidx.lifecycle.lifecycleScope
-import androidx.paging.PagedList
 import com.airbnb.mvrx.fragmentViewModel
 import dagger.hilt.android.AndroidEntryPoint
 import im.vector.app.core.extensions.configureWith
@@ -75,8 +74,7 @@ class InvitesFragment : VectorBaseFragment<FragmentInvitesBinding>(), RoomListLi
             when (it) {
                 is InvitesContentState.Content -> {
                     views.invitesStateView.state = StateView.State.Content
-                    Suppress("UNCHECKED_CAST")
-                    controller.submitList(it.content as? PagedList<RoomSummary>)
+                    controller.submitList(it.content)
                 }
                 is InvitesContentState.Empty -> {
                     views.invitesStateView.state = StateView.State.Empty(

From 7879289877d64fcde40787b5c1d6831746b44dcd Mon Sep 17 00:00:00 2001
From: Benoit Marty <benoit@matrix.org>
Date: Mon, 5 Sep 2022 17:35:03 +0200
Subject: [PATCH 07/57] Remove useless field. They are defined in `vector-app`
 now.

---
 vector/build.gradle | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/vector/build.gradle b/vector/build.gradle
index ee549fc4b6..4f8db05e73 100644
--- a/vector/build.gradle
+++ b/vector/build.gradle
@@ -78,17 +78,10 @@ android {
     productFlavors {
         gplay {
             dimension "store"
-            isDefault = true
-
-            buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"G\""
-            buildConfigField "String", "FLAVOR_DESCRIPTION", "\"GooglePlay\""
         }
 
         fdroid {
             dimension "store"
-
-            buildConfigField "String", "SHORT_FLAVOR_DESCRIPTION", "\"F\""
-            buildConfigField "String", "FLAVOR_DESCRIPTION", "\"FDroid\""
         }
     }
 

From bf25ef436979762324bbc9d56c07031f4c68c702 Mon Sep 17 00:00:00 2001
From: Benoit Marty <benoit@matrix.org>
Date: Mon, 5 Sep 2022 17:40:34 +0200
Subject: [PATCH 08/57] There are no views to bind in this module.

---
 vector-app/build.gradle | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/vector-app/build.gradle b/vector-app/build.gradle
index 2368586bfb..a8262fde40 100644
--- a/vector-app/build.gradle
+++ b/vector-app/build.gradle
@@ -340,10 +340,6 @@ android {
                 "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi",
         ]
     }
-
-    buildFeatures {
-        viewBinding true
-    }
 }
 
 dependencies {

From 896895b43e1c57e379deb70a975cee6753732a48 Mon Sep 17 00:00:00 2001
From: ericdecanini <eddecanini@gmail.com>
Date: Mon, 5 Sep 2022 17:46:17 +0200
Subject: [PATCH 09/57] Fixes sync state not visible in new layout

---
 vector/src/main/res/layout/fragment_new_home_detail.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vector/src/main/res/layout/fragment_new_home_detail.xml b/vector/src/main/res/layout/fragment_new_home_detail.xml
index 82bc6bb36e..1be68cc163 100644
--- a/vector/src/main/res/layout/fragment_new_home_detail.xml
+++ b/vector/src/main/res/layout/fragment_new_home_detail.xml
@@ -39,7 +39,7 @@
         android:layout_width="match_parent"
         android:layout_height="0dp"
         app:layout_constraintBottom_toBottomOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/currentCallsView">
+        app:layout_constraintTop_toBottomOf="@id/syncStateView">
 
         <com.google.android.material.appbar.AppBarLayout
             android:id="@+id/appBarLayout"

From 59f55beab1487aaa0f80d049830ad43518f9f052 Mon Sep 17 00:00:00 2001
From: Benoit Marty <benoit@matrix.org>
Date: Mon, 5 Sep 2022 17:49:42 +0200
Subject: [PATCH 10/57] Moving manifest `manifest.application$name` attribute
 to the main manifest, to make it available for both fdroid and gplay variant.
 Fixes #6995.

---
 vector-app/src/gplay/AndroidManifest.xml | 2 +-
 vector-app/src/main/AndroidManifest.xml  | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/vector-app/src/gplay/AndroidManifest.xml b/vector-app/src/gplay/AndroidManifest.xml
index bc74b9bb52..a5f0eae6be 100755
--- a/vector-app/src/gplay/AndroidManifest.xml
+++ b/vector-app/src/gplay/AndroidManifest.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <application android:name="im.vector.app.VectorApplication">
+    <application>
 
         <!-- Firebase components -->
         <meta-data
diff --git a/vector-app/src/main/AndroidManifest.xml b/vector-app/src/main/AndroidManifest.xml
index 774fc43d48..84607cf3d7 100644
--- a/vector-app/src/main/AndroidManifest.xml
+++ b/vector-app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
     package="im.vector.application">
 
     <application
+        android:name="im.vector.app.VectorApplication"
         android:allowBackup="false"
         android:hasFragileUserData="true"
         android:icon="@mipmap/ic_launcher"

From ae653eb672889317276ec4de4db6c6585e5a69a0 Mon Sep 17 00:00:00 2001
From: Jorge Martin Espinosa <jorgem@element.io>
Date: Mon, 5 Sep 2022 17:57:16 +0200
Subject: [PATCH 11/57] Catch race condition while recording voice audio
 (#7009)

---
 changelog.d/6989.bugfix                        |  1 +
 .../room/detail/composer/AudioMessageHelper.kt | 18 +++++++++++-------
 .../composer/MessageComposerViewModel.kt       |  6 +++++-
 3 files changed, 17 insertions(+), 8 deletions(-)
 create mode 100644 changelog.d/6989.bugfix

diff --git a/changelog.d/6989.bugfix b/changelog.d/6989.bugfix
new file mode 100644
index 0000000000..cf740ca741
--- /dev/null
+++ b/changelog.d/6989.bugfix
@@ -0,0 +1 @@
+Catch race condition crash in voice recording
diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/AudioMessageHelper.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/AudioMessageHelper.kt
index 2e150daee6..7d25471e51 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/AudioMessageHelper.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/AudioMessageHelper.kt
@@ -79,18 +79,19 @@ class AudioMessageHelper @Inject constructor(
     }
 
     fun stopRecording(): MultiPickerAudioType? {
-        tryOrNull("Cannot stop media recording amplitude") {
-            stopRecordingAmplitudes()
-        }
         val voiceMessageFile = tryOrNull("Cannot stop media recorder!") {
             voiceRecorder.stopRecord()
             voiceRecorder.getVoiceMessageFile()
         }
 
-        try {
+        tryOrNull("Cannot stop media recording amplitude") {
+            stopRecordingAmplitudes()
+        }
+
+        return try {
             voiceMessageFile?.let {
                 val outputFileUri = FileProvider.getUriForFile(context, buildMeta.applicationId + ".fileProvider", it, "Voice message.${it.extension}")
-                return outputFileUri
+                outputFileUri
                         .toMultiPickerAudioType(context)
                         ?.apply {
                             waveform = if (amplitudeList.size < 50) {
@@ -99,10 +100,13 @@ class AudioMessageHelper @Inject constructor(
                                 amplitudeList.chunked(amplitudeList.size / 50) { items -> items.maxOrNull() ?: 0 }
                             }
                         }
-            } ?: return null
+            }
         } catch (e: FileNotFoundException) {
             Timber.e(e, "Cannot stop voice recording")
-            return null
+            null
+        } catch (e: RuntimeException) {
+            Timber.e(e, "Error while retrieving metadata")
+            null
         }
     }
 
diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerViewModel.kt
index ca86010915..7d67ec8c60 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/MessageComposerViewModel.kt
@@ -883,7 +883,11 @@ class MessageComposerViewModel @AssistedInject constructor(
     }
 
     private fun handlePlayOrPauseRecordingPlayback() {
-        audioMessageHelper.startOrPauseRecordingPlayback()
+        try {
+            audioMessageHelper.startOrPauseRecordingPlayback()
+        } catch (failure: Throwable) {
+            _viewEvents.post(MessageComposerViewEvents.VoicePlaybackOrRecordingFailure(failure))
+        }
     }
 
     fun endAllVoiceActions(deleteRecord: Boolean = true) {

From ad49b4513ce6206f76238919286e02f0b3e0009e Mon Sep 17 00:00:00 2001
From: ericdecanini <eddecanini@gmail.com>
Date: Mon, 5 Sep 2022 18:07:22 +0200
Subject: [PATCH 12/57] Fixes recents background color not matching app bar

---
 .../room/list/home/recent/RecentRoomCarouselController.kt   | 6 ++++++
 vector/src/main/res/layout/item_recent_room.xml             | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomCarouselController.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomCarouselController.kt
index ebec912779..608a2f3484 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomCarouselController.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomCarouselController.kt
@@ -23,6 +23,8 @@ import com.airbnb.epoxy.CarouselModelBuilder
 import com.airbnb.epoxy.EpoxyController
 import com.airbnb.epoxy.EpoxyModel
 import com.airbnb.epoxy.carousel
+import com.google.android.material.color.MaterialColors
+import im.vector.app.R
 import im.vector.app.features.home.AvatarRenderer
 import im.vector.app.features.home.room.list.RoomListListener
 import org.matrix.android.sdk.api.session.room.model.RoomSummary
@@ -66,6 +68,10 @@ class RecentRoomCarouselController @Inject constructor(
                         0,
                         host.itemSpacing)
                 )
+                onBind { _, view, _ ->
+                    val colorSurface = MaterialColors.getColor(view, R.attr.colorSurface)
+                    view.setBackgroundColor(colorSurface)
+                }
                 withModelsFrom(data) { roomSummary ->
                     val onClick = host.listener?.let { it::onRoomClicked }
                     val onLongClick = host.listener?.let { it::onRoomLongClicked }
diff --git a/vector/src/main/res/layout/item_recent_room.xml b/vector/src/main/res/layout/item_recent_room.xml
index 8e17707ff3..56ed3c40c0 100644
--- a/vector/src/main/res/layout/item_recent_room.xml
+++ b/vector/src/main/res/layout/item_recent_room.xml
@@ -5,7 +5,7 @@
     android:id="@+id/recentRoot"
     android:layout_width="60dp"
     android:layout_height="wrap_content"
-    android:background="?android:colorBackground"
+    android:background="?colorSurface"
     android:clickable="true"
     android:focusable="true"
     android:foreground="?attr/selectableItemBackground"

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 13/57] 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 @@
         <item quantity="other">Consider signing out from old sessions (%1$d days or more) that you don’t use anymore.</item>
     </plurals>
 
+    <!-- Note to translators: %s will be replaces with selected space name -->
+    <string name="home_empty_space_no_rooms_title">%s\nis looking a little empty.</string>
+    <!-- Note to translators: for RTL languages, Spaces will be at the bottom left. Please translate "bottom-left" instead of "bottom-right". Thanks!-->
+    <string name="home_empty_space_no_rooms_message">Spaces are a new way to group rooms and people. Add an existing room, or create a new one, using the bottom-right button.</string>
+    <!--  Note to translators: %s will be replaces with current user displayname -->
+    <string name="home_empty_no_rooms_title">Welcome to ${app_name},\n%s.</string>
+    <string name="home_empty_no_rooms_message">The all-in-one secure chat app for teams, friends and organisations. Create a chat, or join an existing room, to get started.</string>
+    <string name="home_empty_no_unreads_title">Nothing to report.</string>
+    <string name="home_empty_no_unreads_message">This is where your unread messages will show up, when you have some.</string>
+
 </resources>
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<HomeRoomListViewState, HomeRoomListAction, HomeRoomListViewEvents>(initialState) {
 
     @AssistedFactory
@@ -82,6 +89,10 @@ class HomeRoomListViewModel @AssistedInject constructor(
     private val _sections = MutableSharedFlow<Set<HomeRoomSection>>(replay = 1)
     val sections = _sections.asSharedFlow()
 
+    private var currentFilter: HomeRoomFilter = HomeRoomFilter.ALL
+    private val _emptyStateFlow = MutableSharedFlow<Optional<StateView.State.Empty>>(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<Optional<List<HomeRoomFilter>>> {
         val flow = MutableSharedFlow<Optional<List<HomeRoomFilter>>>(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<RoomListEmptyItem.Holder>(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<StateView>(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<HomeRoomFilter>? = null
+    private var emptyStateData: StateView.State.Empty? = null
+    private var currentState: StateView.State = StateView.State.Content
 
     override fun addModels(models: List<EpoxyModel<*>>) {
         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<HomeRoomFilter>?) {
         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
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

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
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

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<baFPjmIZ;M-l$>%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`6pP3<?+eXBX*j}HJ=P&gnm0RR9{3ILq}Dq8?s06uLpmPe!`A|WBnIDid_
zX#mh5s;-j$07-vY!BZ|KQe@7q-UT3OQqLgF^yVNAig~I^O@*~7{3hMdv1#+TynE2F
zW!J)<t0s%i0j27YLo@*X_N4#+IG_LK`@jFqJf#2R79Ln9bLS>DNGAR}t?>y*{De@@
z-5I{gG(cd=mpYDo!zXV8kMBt)2wag{X}*Ou9xT_+<BAv~Ho%#3hL=|NpN0?k7H43*
zaP|Q*H@GQMiIO}BX)&b)i?q{}fBR`B%-L$SS+hRrj*hy-S=gjzilXkPcaIK85S%4}
z6*CP93j3hT^rpx^yZtt&Z3|ooAqN(S){aPu9M=3Fp`_IiAfx}rghyBCe)l}GCsj`c
Y&jMKW_{%^4<3uCkrb*-fYocHP0I0=lE&u=k

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-mdpi/ill_empty_all_chats.webp b/vector/src/main/res/drawable-mdpi/ill_empty_all_chats.webp
new file mode 100644
index 0000000000000000000000000000000000000000..41c83c6b50f9b129de8459b88405a95b24f10a18
GIT binary patch
literal 2604
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
OH}_x*B7pz^0001KUj70A

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-mdpi/ill_empty_space.webp b/vector/src/main/res/drawable-mdpi/ill_empty_space.webp
new file mode 100644
index 0000000000000000000000000000000000000000..379bf44b6362eee9ff89dcb448d86cee0c2e088c
GIT binary patch
literal 1440
zcmV;R1z-A7Nk&GP1pok7MM6+kP&il$0000G0001=0065106|PpNS*@#00EFtYf~Lb
zNI(J-A^{0;FgO?-G!7;X(hj;EAR!WvfP~sdmQ+<!|Gsx40)iw-Qk!Z!c2VoH7nlQH
z;3iVMJsJ_US{8>$snSR-!67!fQj1u)5l1&9d=O6`VCKlC@5EQeK<EN`fWVz3+98Z2
zlLx>iqyV4^Y3R0zf_YXkt9i1RY@Q;f-~-<VzNh>+yiwd+Cpz{OR9txP{F<f+*{tk5
zmBy-Jh)1v;7)4jWlGl08uH8J8y!b<0b7jd%*YcSwj$dLtX5BST2%G75blly#`-_jV
z9PuM@6=C#MGMnqpQyNd|^nIxp9dt{nr@r2!aGv4QcAT4jTMAat-8U=IysMffIHyKd
zTuBz5qL?#qBW{=m&weAP#lp|~+A_`0_S%f&t&>1+b8m(zs*X7GuxY)b3+Z9zyiSQm
zQZ+wsUaZz{ma9x#SE!bh(>^4L>Rm4)+^?8E_gnAB7q9J6aj{8-Zn?3W&H(GXR3)lm
zNQrKjMGIQ&Hq_KemK&1bo><f<`1oPjNNTJ<EN|qx7C$g?HP0Ou{JI^TUZ~0|hz0fC
zlX~4(-Puj#DW;Q~3i~KQ?R(I?i1B)rQ`M+4j?aMoru69ffSO_`T0yIgD=M`jagxC+
z)U}KN(t>>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<v+!+%#Tnyc$`D%`^qaTf`3y`N|&7qz<`J$CtE?
z8wv|MI~u#ShJ(o1EEStC+OLnXW8F9u97M(npx5EMEH2&0y$%3|@U(1~BFc-xg@edg
zIhR6g=XS}s^OD4}*}4>`l9)@J#WIWF#)>p{AQ{gAPuo042H#1x$?V-{89KHJY$J^;
zS`<bG;Yd#ZPeH(dVF=E5FpLF6Lq!xn*$ovOMup*M1kh;LQ7galxS@i?C;%LB`LEK?
zv)<q1HB=B8n{7u}z_R*zU<^h>#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{qjPB<h+eFZ0E!oa0okNP{GXxmgXf*gVG1N<TR*noA5Wo|o1
ziK#+FBQ+8s(7xxDGSU}4E(51psrvFdDLU+?R=_pP*MIT1L^yWmOxJ($w(tM|{`>u0
zAN&9~7n)EX=1H-&PAUP$k67SFu?Keu<X5`h^`Z?&V*zdAR-gP`EEg#h!hie(Kx*RH
z!zuIoc*LH_`#;qE9|VeU=KX15Bhp?0TKwEq`=rAEI%X+bEqLCOssI13tGAt;q$vtO
z8+F@oSZpph;M6Q~OJ8M(0G(fEc#i-5HfRP-lln#f{;>(tfHq0h;qd<?@H2El6V*rX
znMuRt_L8x>p)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
zcmV+{0@M9cNk&E_0ssJ4MM6+kP&il$0000G0000x0027x06|PpNE87800DqjZExM?
zgCGckA_#^M1~Y?&LBb$q&@vDNhk+mzf_jfF?eaGwCIFqO)UBDjyXkorLR|V*KdhBw
zh<az0aiTuZ${1E3yzzjqs}HxS7cCxg=|j5*ZQOy)!x|rA^T0+&b`Ra?v&DliA59*<
ze!v#*%I{8|P~Q|!DX%Ptz7S6;Pntymu%{)U=9vM_qaaUAlBvv@>Lt^rnVMxX|94v^
zYnk+v=~6SzC6iDlg62_R&Qk%(!vHjk0)S+ZCuk1COUY4QK{IT4%h!0u?@;4S_;ii7
z;$v#Db{r&&WPAi{ag1@CTa=y9b&atSI!`w4TG5|Rqm(hU*a#I27wx5jkX-ec&V;xm
z^I7f5+ExppGgeSIAnE`B0PqF?odGI506YLbZ7`Haq#~jrE)q!KfDMUh0L@S^2><Ie
z@2ZnfEHe8VO*#G5)(Cr*{+}F-%ve}V4;R4;fB^pQxc~no|NqGc|NoCgNb$L_EiwP0
zLupA?o3ne7q=f#u#7R&zSvSPv*=<qt--&pOG;y&WOx~hyZb<)Io40!uZ-4zGPPsiD
zZa+@hvqRx5KX_+h5+_K)CN1)$AjPQ6v8?JqxC#(N3aZ-99=IQ4kL@n4O)iF!NUp&R
uXc3Vi0g<GE)Bf;DbzD;{I%x1s!nvi*|L%(a|037_$bJ9+kY;<U00006BK$T0

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xhdpi/ill_empty_all_chats.webp b/vector/src/main/res/drawable-xhdpi/ill_empty_all_chats.webp
new file mode 100644
index 0000000000000000000000000000000000000000..c8374d11607dfca546052af7c20804d27792d4a5
GIT binary patch
literal 5346
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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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
a;yEu0`>yT9Fag$?vo^%n@(_^E>EHl18j$w@

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
zcmV+{1k?LcNk&E_1ONb6MM6+kP&il$0000G0001Y004IY06|PpNHGEc00DqiZExP@
zgJ1}PPzZt$1~r43!OEavkTOUZ2tvj{5ClON{Yz}=oLxr51fc)IbzVf({8@KdZ;cCr
z=eDXJtZU<_N)z*wZLJheY2uwqrAYW;-t)pyuz2@-jeymM)H)iA534*9i4VQdFhAyl
z+wT}89-z_yKjtA?>#f{9%zNpI{yb2njxOq<Ds?lN2WwL&R}c8w#nnT;c5wBeucu8O
z_H+_iTy{By)B{&KLp}7p9C!EN?}z<(`0XIF_>7KGPf!l|^%UCyWH}gp_wXd;EA}+`
z8_h$$sGcZ)rkUtR)l=n9_FUux_GJ0pBb((7dA3$w)pWeQl6>R^dBWwXX4IaxjO58O
zG63u;GthEsz?RbnXikdaNf*wFTUPa!)x2f3NLI3ErJ9y!ZE5|ZTUwfxrnO5}^2lnN
zv%1x+8fV2Ns{+kQfi0&EXgM{2b7BCNkpX~Yv^}+q>Ql*xo*?-MUbcMdt77TUD?GAU
z@RqaTcaU6me8{=fPoSA7KITm7XOKJ;UveJ&4J3;NUz6ov^c`9bHykM$C=Mly&*&Jm
z_!^F$qnmMf*<;gk97rQm!kHI~%LwOAaZNb8Mpbcsjj5u?8c{``lSN|_dL@lTFX)#v
zl0QP%a~yL)=gnfUhW<$-5W<i*8_gO<rN>x87?^b&VGLe%3}pmZ_x^+tBtN>cg%K!K
z=|x&Wv{Y9+%cK<q&281AbZv~_3%A=UyS^}0S?0<G{R042P&gpW0RRB74gj42DtG{R
z06uLpmPn)`q9Gxgs(646iD?EX0STu$JOEp-YTdXzjim*>N81K!I#!@4G4=8(z5lh4
z5`={~a87WBgkQV=xLbVCl>uP2Prncw6jp0AtFZc-0^=zU%Pm=iPquXF!iL-O0c@@J
z@148lCN{`UoiM3afB^pdtz&;BkAM7MWSzrjxGtyZzz=>NG95N|KmX>}|NP%~|M|B6
z_2BM^@BfSNZ|MXhzky(c<lq`WYRt}hUb+D4!%a;G7viy(vTn(}h9xh;ul(g{yiXT!
z-tCg&Y0MUicV$$Kyk{F2N<TPUK3WDZwllWEp<*SzbYEmYH`D-4fFcNcAbp8(d_v^J
zi`RkL(MGNX#?1Z!pfRocXI-1`<TLa-79kB&5mTvXDq?=NDM6L(7PEm|Y1#x&f)fDN
z{OSY-mrFAw_#LvJuZLE+$*>2qTFRg2*(ER@0x&o5GT36N3|kp9(~w=IlPO04l{06l
zcZa5<GC*OQ?wCT;OD@0!URkXiZJX*?D4+qdH>Jl3wrBtO#Q*;_{r~=Lz0acwkYWG)
mXjyRf)cWtSmV{%e|I4POxLJT;NMQ53VeWP-<!_0+0001DEd53R

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxhdpi/ill_empty_all_chats.webp b/vector/src/main/res/drawable-xxhdpi/ill_empty_all_chats.webp
new file mode 100644
index 0000000000000000000000000000000000000000..fc19311fafe25fe48dcde39ff97350e50e227425
GIT binary patch
literal 8944
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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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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxhdpi/ill_empty_unreads.webp b/vector/src/main/res/drawable-xxhdpi/ill_empty_unreads.webp
new file mode 100644
index 0000000000000000000000000000000000000000..17127018ba55d38ae695abcdc0ed607103ebd58c
GIT binary patch
literal 1540
zcmV+f2K)I^Nk&He1pok7MM6+kP&il$0000G00029006T906|PpNJ|3%00Dqh+gjf0
zN<ab<A^{1J@Hu!mC=OZ&#6ju+35kPG0usJK{}KXs^ac?z0qCorCFQlKR(o4@D{D>?
zCQ$0;nAJ|*))X8QK4!H>b(M($C%IbVnrAmO7mHoAh#!;-#V)<dfTmlu%WL*y3B@{D
z=5a`|j;f47)H<uuKT+$jO5Z}UPHX6wU#;WWcj~WN*XylE({9~Y-<_Kc@zxi=+aT3<
z<geN=YwU%)+feVW3x2o3s_#IkHe3yt`?Dd(i`{I{w@YOk_WeTH2A;3tb{qQUF5z|?
z{N}E(+wivwWFs&)cQ*=iV>cu5*3_TT7#j*kWN5}K6V*53)TrEC8+Rk~-o&5L85{7G
zkLu4;BXm3MW|XFrypcMcqpWPF+>F+Eg0H+(f81iku7?GqHXNngl!L^`m1C40Jw%LN
zIYRl-1H=fH-;|;9(`*!nUkXR%2X7=#-z_Yq@06wLz7eB2eDma~eBq5~_eq$Fp9)ju
zgEOk#yO}F_w{Vr;DOdH)WMumnVJp5o*~%}<mI81_w*vxSGm!X-z>}{GY<wwTgkxgN
z2gYV$OcG;hVJtrxdltsZ#+WK)m9c97Hde-}GNzPmg|YHv?71+O6JtpjlbNyL8JoZu
zpnPq>!q*dsd?jG!D*%o!2SC|U09e?1zC^a<#j`cNpmL>nyKt4?30Lzw$CZ1B!c@V>
z$dr6?O!-eJJU#Jc;7Pu5l_ka3iKYDA#FGCGg`<KW14r{OC=4ln7KY?EC_jn=g&#Qr
z%8uetVMmTZ;YM+A;3gb}m6?pgedVS4;}CgCICEn~aq7g1KL?4EgtIqB6sP;jNA>3+
z@)6PEgN+B8bQ>4y+JLW2s7I@TiGX$^4-qXV782TCIC!A-g@Fa_Z{yo>LAQ-=cUOSh
z#<n|LbQ#%#>psS{;L2%K3D=Heinw~v@zj9pdmYX0(L?tb%fq3Qv5uog^waAoc8{*6
zF(mZXYyb8M9Zt1xHKNac>DlVh?V!CX0bLjEkqWvm+8Y%NQM4yTFwD91q67@pFM7S2
zCX83sYn9+IW-sL`B|41U&5O2Hvp5hq$*Qerjvhq1kk;)S&2e_1bPAI4S~jiks%lwt
zlG&rL09H^qAc_J201z7hodGJe0JH!;Z8Vrjq#~lBB6Zp5fDMUhZs5VM6brx~q#wv2
zfPMgefPVn;0Q>;`0R8}+?o%&Ge*i7fwQsN)K?SRj5}<oodf?07ct5+}nu)l@Uxe;T
zS}+k{bdl^kV26&RjHS803dLVgM&*P2aO9A-;dL6KE9M}}=PEDIo%Yg&2>wCg;MInD
zPrnx5jv@dhHPPBDb)s{nLS5PZBbc|hCt0!(FjSZe)$F1~2p66Yk_&y1V=d{){}7$i
z!6j|?HL&*p0nx7Wxs@rGm_6aOb_7Xr=Juju^nd{V<GOwfD@ot3i%W{m?_YQMQR+^F
z+=!JLlN!lxks-a&x{v?)ApigJFRuE|R(!w#dw)=~8qjfYvL2y`Ko4^4(ro;I5BC$}
zWwM-!<XO7;XUwRcTzAULrJo~(mie*=v}N3>?x_AvU89E^BAfuB#?v>KLtS5PXuId0
z+_6eu@v-9lXDk;);>swIF(_6JaQa<rv`5eW*O)SXdB5QtZ|G?+Ga{~7w||y^fp5h3
z9kBNqblWIEmVs?{qNR~m@(eloSMl@ycW=fbI=sx+8s6F*!>c`I<Ks_2zM~Knz%=;_
zbe2L_E-JM(uu_&77?)aHI9y;}W_d^t&Y37oAJk_VdjZ1D2LsUviMuKq$m!F%g|L^W
zR2fb`Y9;Ln1jf|FDp$)g=bSIG_@>{`o`+3g<rau5K(iugJ<3K6gJV-V=qqDW8CeGs
zmO0x((i-ry$7~!OUwI4=Py}E93^*UV(*SRIEKvk+s3&+QZ~wy$nwm(lyt_h4svrC?
q+pUY2@Ba)eUYba;trTd4okB6m4K{HBV+wc4cL_-7(i7+a0000Y|L<r3

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxxhdpi/ill_empty_all_chats.webp b/vector/src/main/res/drawable-xxxhdpi/ill_empty_all_chats.webp
new file mode 100644
index 0000000000000000000000000000000000000000..e020c33543458cf3188260a0da4d07eebd5f88a7
GIT binary patch
literal 12010
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%0Ak;eZS5H0odlkcZ=cOVVUxWrvOLD^B|qBdKjZ4
z-~f}V=1fgnveq`<R@m?$tix?vZ<m#rYHD!Wr^!W;bnBOy(H!B@nylht_QF*A%0s;B
zvGzvsX@qy*1!>+HK6-j`v-+~56&H!R2H2VA7=cF|Q`gCiK>Q*-4Rx`-sjoDxo5R(s
zR;$Dx0em|plo|OotyKe0Fg@Y)b2$B{(Ha>TX0cx=Pl}PQZGB3Y*;@;GtL*M#+eFbc
z47HjjyHoC+P1s)vzzWP>4)4N?;-A@Y$e?*(<ZK!=>A3DsI<|pZXAMq0JKlRiq$^fL
zs?LNIfias#e6BlQ!|0F9y%XeDNYRqc?{Jw;lFOR?BQ+%JOUbLyQgK*z`R>h-RI0V4
zrS;gqq43{6AiL+=D3T|i`*`3qCae=mMcx#&=3L=;Mo2T}rU(e|yUZ=u`ye0?>5q{o
z-(Eb6dPT(Ek*D{pRW+c~8ni2Tb-X72xcT9%Brjbsi~_P(maEZxzBCKCRRr=rHX{cf
zsx!Z)9IZ+kf0*ewP&+1#jyDU#Gb4sX;#J+@+^X)w7L}+9tjqI`yzZ#2-y0$I;eagr
zAbne(uaU)nX{vE`*DjZCidetzvAT1%WSS%;C<&J^zJ2&b@W(i=M79eXn_ucAR+QQ9
zY%pYa%k}lyH;1T%lKiVJt~dsn6(_^>g^2Nq?e>6i6gl$LAc1anto4YIQnj;zBY<m&
zIM2HLo(_UI{Pj6<JhEWuE!v#2{R4Bi1H>@~YM~gnpeM(Ro*>a8S0=x#dbh!Ek63qO
zhdH3xZkGC5CyGT^8goBuT9)p&BSlR}Ff_MUsiY+a={FL5X(FuX;Sz6LlKa!L%S0dA
z!_;L-rJkH7-ng3fS;0l@Z1ZS<iWADUikl(lX`?t1*%Hq*;>a)qp-t&tH!%;T>hF(|
z+@09pc@q<UON!BAzPRKvRS1mYfq@1rzMpTld@y%@)F$5-nRKfjeAzTUiV%abq~(pt
zXS$oJA2jV>4K3*yAN~l%b)#*3gR6o5HELKaW69Rv>KNI}uIGrmN>82$iB1S}Klrh4
zrZp-Ez8EMETb^dIFBjYflQr@Pjmbfg_iyA!TS^CfM8y4*SCTIn%4w3W?St6TciDz4
z`F>^U2*EI@rK*oIPg!9@hb!u1L0h@xo{XvsVaq`EZK_X2F;}_+MfWSwTnK$+jHSd1
zyE5n0;Ll;`bq`sdcK)dMmzwguEd*-1UU`NEUmsSbjKqaxxg>(~ZLJyI2N7v~(iqdA
zt5-_r?WI4_xNk~K!>nfL0_xKAhF81Q*3_E(e&O=C;H`lW@K_b8b1EF=Atfd*g6rZ`
zpAp1kz>{rFFC5~11O@p(VL@9+Hq0(>ydT<cA0EEyE+C*>Lu!~?@KAaTPpY#RsOek%
z@Qn(wo`?PZs4|hQoA4!f6zMr#sOrz~7qX_;d-1ipoUII5HV6omS7p!D>ALw{d8)u0
ze7}R#yR2@m`d^wJDn7$UerVLS%k<D$%d(xqqI{$nCeEMw@{5c`ph>jh!f|L`r*SKx
z5fd_<({JCf6(6w$cWs@Bay<b(N8Cr2ARs7GD3HG{cpt!RUfW~yVFmrTR8ML8<WqH@
zmf!CKJ6e}#<_6^0v-P~)1@s`r9Qu$uT|gbhs&sx7-@OSyW$$aI@xjA=5?AuKr_K-%
F{ugME8Jz$C

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxxhdpi/ill_empty_space.webp b/vector/src/main/res/drawable-xxxhdpi/ill_empty_space.webp
new file mode 100644
index 0000000000000000000000000000000000000000..2c11bbafa0734350da0531549ae5471fae475c54
GIT binary patch
literal 6368
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
RH9b$0nHSnIHyQwd{{nb&`M3Z8

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxxhdpi/ill_empty_unreads.webp b/vector/src/main/res/drawable-xxxhdpi/ill_empty_unreads.webp
new file mode 100644
index 0000000000000000000000000000000000000000..278fbfac0baa576537d478b011502b85d4e7761b
GIT binary patch
literal 2034
zcmV<O2MzdANk&HM2LJ$9MM6+kP&il$0000G0002*008d*06|PpNQDFd00E#@+iu-j
z69hpJgg`KaKrn+F1`UInLCPRyU<f%31VIq=qdjdNw)XcNBO)e%`Y9<-Wm&7L`md^6
ztxK85B!ncVsjTXUYb{ga@bNgU>ZjIqP8>DPMg5}NGD^5o+5F;LNpa%5m^abZ%mLzD
z&0D(W;G|;STw79D_-5W{%@UEcdefH_jj?+3w;Tw*sdrIx5cp=^P0bOwnRiul@3MM#
zHTNu4@3IcPlGVGtNSAKr9k*M5(vNpur7wK<0N%MHNj-!*bmQ(}y!AnTJdi3K_+uVQ
zn_9<r59ghmCh7rIX;?B3sgBLMd020ax_e;nE#m5--MBfT9$b~ih<bQcnlh*dSfwF@
zd5CRj#$X;~8yYc~huMZE4CaBhp#fqZY8x&m>cLjIn5c(a<x;F3aOErgc*yI8?jH2}
zWo{n!+eJnXe7b~a<V-HW>Y-OY-`#_MKiwY>|8z33_?etb9l-5WH;3?kqQOB-r(s1w
z`7C#b@qQ9<Ak#S%iR~0OhjKoF7#1eSJsiySu)*O>M=2ilpzMI=V-yiRBs-+@5sHcN
ze%V2t_fu4i_sS0IyqDslJ7ouU+-F0k?vfnZw8sORbq8^9`MZqH{GFm>UnPe(ee=Ml
zd}H_+f0iBK{Mi$s`Vl+A#-C(}Jb&`UX!*o2vJaAjoPH}PmESg$wqL|y=654b`P~Dj
z@@~UP->?JCFA1sfWkzaxsYpFv6e%SlcBq*sVU>s`tR|v@RUxWaJ&6=6C33Jy(2|5!
z8qvx#T2n!*JkVMyT2Hv@hL-BzUjDz|ikANEwN<q06RrnZOF^qlXw4a|F`<<NEg`gs
z6e}fqVpWL>R)uK7Y9dNlB_hU(iAa%BBBCc!^<_e8ei@NUFN_qwkm9t_+k(^bF5@)5
zW1Qq2Z76N@YeA{}mQYH+kzr)?;RB=RCmEys2^&QG2~~ui^l?Tgf5wK7(U%3E<(q_0
z`i2Z0rLSjn@^_4md`C}g7TPgkllGvB%tpJ8$mD%UaZ%cN#wG8?hKkbeGb(vMHcXTb
zoH5BqkRqaVXhtL-LlqCDgA*RZQM975(BWcOm>fql7Bii3Lqh442?;p|6&wnklobW#
zvrs}|pz{_CW;*kRfYPbO;%9O$n&LOn*-P{aot`yz%I71o$f?j3Q{+av<{Y<~u3Dm2
z=(;s#KXhT%h$&x*MB}AG*A|VI3SE7$SeelE2aA*q)WX5yWCOKvuqfF;tsE>yHc&f7
zBcubhR5U&+)K<~xs8DNpi%n%}aEVNzHqUXHsnw&##1gezG$Jb0axU>GOpTu`7B*4)
zMI-Se)Wtatg?c$?3^Y+cxkR8abyc)?KZ&|KThDB!9?PR&t5By0?Nd$E@vQyPOr6i#
z7n>=7S^Hr#Qw+2AL1(5o=B<5oq+q5;+tx$@m8`9@nJKF2VePS!D7JZRiq*^%U(Tzw
z!IsPv=2W(;Z6#5(WqfQ`(UO^h&S_rtT)IvpQ}j7arRs6ImMJkIDQTR`QtPJro2u4z
zDN{~D{R9A3P&gny0{{T<BLJNND)0dC06uLtnMkA}qM;&F321-~iD_=(ZGM0e0N34m
z4>tcP{2={Frexx8w=TeSv)%`R+CZ6Wc7UWG_{=(eQzs6yJnq!5s7yufL0!ZR^Nsw0
zz}viwI6*Pzs-c=tQ_%mE4q7vb)}n{SvZtVTSYCSib7FMt>&BHm1IB#)_MUuZloJru
z5fFkqEKn)v9y3Wdm<|*wwO59w++y|ZQ#6x``CLU`Hk7}*d~oN4D|AyF2;9%vQ_pzH
ziAGfJ$j#R!_{hNYij2wukW@|{!}SvC1q3Fvd~#TvrYxr6079FORM2Nel{8|fv(xzw
z(DqdH4;9lmmq|K{Ci_K|Gf8H1AE|#hGneeC=f>rMXl8*L@i``=WNgKw-YSs!yrh@_
z{{H7JPvJX&;=ie%V?>x$5ET+vb<YPj@(g4%qyPWh`2VLafB)@uB`4?9NJn@8k_7tC
z|BDg-{jOcjBJm}cFbdkj{3nI%c&;2Wei{bWAgWb>H~<J*==-BOvCeW<68Y7eN}gAD
zuTj~f&Hy~aNKnx}01r}=B4uF5{k8hu+Il6=tYa6)XE+xtjduZY0g7J$?2GC6;&M29
zM=cMhrVzGLXHeu8U*D0pGPNl?#&3wWr^zb_NLgFtXxNw+WF^WP?Hc-};_g8Pdpzp>
z#Ij8QM|yqSQ_?_igEHPV$rGfW%Ima*XbW7N+7AhLH>CPz#vI5+-asa;S>=E+SOc$6
z4I^;-xkY)^v-ADpL>IVZGFcvS)mypg%vDDCaNUj~y;sbxVem=MsnsqI?-&CEiBcQ&
zfwn_2dRJf?!j=eRpG~K11|o2q{JI+?O_!B|Ns_;qr_x}BV7&KWr1i7xK`+GImnp)-
z=3Z}8OZ<*l4L~uHtOR(~=yC2`+OdDJWthYl;3vsT4Zb6B_)7FlVEXHZbgpQ0)@iSj
zLqOqd;GAbWOgedMiLAe*1jw=~AXEAMNZyA6_30^uBnbSGPys>sV#1<z6T~Ou*^h=B
z4_dn%Q(WXte~+L4{i*p4+Q)M=5F0y9l5fKlz9RJ-aPfc&tEj=Pn5*(=%5@*BfA~So
Q6^dW@VYWcpYYIRB091$HRsaA1

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/layout/item_state_view.xml b/vector/src/main/res/layout/item_state_view.xml
new file mode 100644
index 0000000000..3cf2e3e6d2
--- /dev/null
+++ b/vector/src/main/res/layout/item_state_view.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<im.vector.app.core.platform.StateView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/stateView"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:background="?android:colorBackground">
+
+</im.vector.app.core.platform.StateView>

From 5e00fe54aeed2fc88fbcee2ab82aadd9c86332be Mon Sep 17 00:00:00 2001
From: ericdecanini <eddecanini@gmail.com>
Date: Mon, 5 Sep 2022 18:39:12 +0200
Subject: [PATCH 14/57] Fixes bg and divider colors and top margin of recents

---
 .../list/home/recent/RecentRoomCarouselController.kt   | 10 ++++++++--
 vector/src/main/res/layout/item_invites_count.xml      |  2 +-
 vector/src/main/res/layout/item_recent_room.xml        |  2 +-
 3 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomCarouselController.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomCarouselController.kt
index 608a2f3484..0c5d9a3533 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomCarouselController.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/recent/RecentRoomCarouselController.kt
@@ -45,6 +45,12 @@ class RecentRoomCarouselController @Inject constructor(
             resources.displayMetrics
     ).toInt()
 
+    private val topPadding = TypedValue.applyDimension(
+            TypedValue.COMPLEX_UNIT_DIP,
+            12f,
+            resources.displayMetrics
+    ).toInt()
+
     private val itemSpacing = TypedValue.applyDimension(
             TypedValue.COMPLEX_UNIT_DIP,
             24f,
@@ -63,13 +69,13 @@ class RecentRoomCarouselController @Inject constructor(
                 id("recents_carousel")
                 padding(Carousel.Padding(
                         host.hPadding,
-                        0,
+                        host.topPadding,
                         host.hPadding,
                         0,
                         host.itemSpacing)
                 )
                 onBind { _, view, _ ->
-                    val colorSurface = MaterialColors.getColor(view, R.attr.colorSurface)
+                    val colorSurface = MaterialColors.getColor(view, R.attr.vctr_toolbar_background)
                     view.setBackgroundColor(colorSurface)
                 }
                 withModelsFrom(data) { roomSummary ->
diff --git a/vector/src/main/res/layout/item_invites_count.xml b/vector/src/main/res/layout/item_invites_count.xml
index 8a5c2b1222..8ec4eb0279 100644
--- a/vector/src/main/res/layout/item_invites_count.xml
+++ b/vector/src/main/res/layout/item_invites_count.xml
@@ -50,7 +50,7 @@
         android:layout_height="1dp"
         android:layout_marginStart="22dp"
         android:layout_marginEnd="16dp"
-        android:background="?vctr_list_separator_system"
+        android:background="?vctr_list_separator"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent" />
diff --git a/vector/src/main/res/layout/item_recent_room.xml b/vector/src/main/res/layout/item_recent_room.xml
index 56ed3c40c0..ef82784f8b 100644
--- a/vector/src/main/res/layout/item_recent_room.xml
+++ b/vector/src/main/res/layout/item_recent_room.xml
@@ -5,7 +5,7 @@
     android:id="@+id/recentRoot"
     android:layout_width="60dp"
     android:layout_height="wrap_content"
-    android:background="?colorSurface"
+    android:background="?vctr_toolbar_background"
     android:clickable="true"
     android:focusable="true"
     android:foreground="?attr/selectableItemBackground"

From 61cf3c3125a82c71e73bb271396fa4ab4084d17f Mon Sep 17 00:00:00 2001
From: NIkita Fedrunov <fedrunov@element.io>
Date: Mon, 5 Sep 2022 18:56:43 +0200
Subject: [PATCH 15/57] review changes

---
 .../features/home/room/list/home/invites/InvitesViewModel.kt    | 2 +-
 .../features/home/room/list/home/invites/InvitesViewState.kt    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewModel.kt
index 1e5880d772..b8034d2364 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewModel.kt
@@ -68,7 +68,7 @@ class InvitesViewModel @AssistedInject constructor(
     private val _invites = MutableSharedFlow<InvitesContentState>(replay = 1)
     val invites = _invites.asSharedFlow()
 
-    var invitesCount = -1
+    private var invitesCount = -1
 
     init {
         observeInvites()
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
index 397042a96a..12ce5cd9e4 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
@@ -26,7 +26,7 @@ data class InvitesViewState(
         val roomMembershipChanges: Map<String, ChangeMembershipState> = emptyMap(),
 ) : MavericksState
 
-sealed class InvitesContentState {
+sealed interface InvitesContentState {
     object Loading : InvitesContentState()
     data class Empty(
             val title: CharSequence,

From 05f7850a0188b3115981a72f2cf0d8dcf3a4f72b Mon Sep 17 00:00:00 2001
From: ericdecanini <eddecanini@gmail.com>
Date: Mon, 5 Sep 2022 20:28:11 +0200
Subject: [PATCH 16/57] Adds space name to expand / collapse chevron content
 description in space bottom sheet

---
 library/ui-strings/src/main/res/values/strings.xml          | 6 ++++--
 .../im/vector/app/features/spaces/NewSpaceSummaryItem.kt    | 5 ++++-
 .../im/vector/app/features/spaces/NewSubSpaceSummaryItem.kt | 5 +++++
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index 26f26dc7e5..1317ec3c65 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -140,8 +140,10 @@
     <string name="start_chat">Start Chat</string>
     <string name="create_room">Create Room</string>
     <string name="explore_rooms">Explore Rooms</string>
-    <string name="a11y_expand_space_children">Expand space children</string>
-    <string name="a11y_collapse_space_children">Collapse space children</string>
+    <!-- Note to translators: %s refers to the space whose children is being expanded -->
+    <string name="a11y_expand_space_children">Expand %s children</string>
+    <!-- Note to translators: %s refers to the space whose children is being collapsed -->
+    <string name="a11y_collapse_space_children">Collapse %s children</string>
 
     <!-- Last seen time -->
 
diff --git a/vector/src/main/java/im/vector/app/features/spaces/NewSpaceSummaryItem.kt b/vector/src/main/java/im/vector/app/features/spaces/NewSpaceSummaryItem.kt
index e6e4aadb9c..d59de6ac99 100644
--- a/vector/src/main/java/im/vector/app/features/spaces/NewSpaceSummaryItem.kt
+++ b/vector/src/main/java/im/vector/app/features/spaces/NewSpaceSummaryItem.kt
@@ -58,7 +58,10 @@ abstract class NewSpaceSummaryItem : VectorEpoxyModel<NewSpaceSummaryItem.Holder
         holder.chevron.setOnClickListener(onToggleExpandListener)
         holder.chevron.isVisible = hasChildren
         holder.chevron.setImageResource(if (expanded) R.drawable.ic_expand_more else R.drawable.ic_arrow_right)
-        holder.chevron.contentDescription = context.getString(if (expanded) R.string.a11y_collapse_space_children else R.string.a11y_expand_space_children)
+        holder.chevron.contentDescription = context.getString(
+                if (expanded) R.string.a11y_collapse_space_children else R.string.a11y_expand_space_children,
+                matrixItem.displayName,
+        )
 
         avatarRenderer.render(matrixItem, holder.avatar)
         holder.unreadCounter.render(countState)
diff --git a/vector/src/main/java/im/vector/app/features/spaces/NewSubSpaceSummaryItem.kt b/vector/src/main/java/im/vector/app/features/spaces/NewSubSpaceSummaryItem.kt
index fae600917c..638cc09474 100644
--- a/vector/src/main/java/im/vector/app/features/spaces/NewSubSpaceSummaryItem.kt
+++ b/vector/src/main/java/im/vector/app/features/spaces/NewSubSpaceSummaryItem.kt
@@ -50,6 +50,7 @@ abstract class NewSubSpaceSummaryItem : VectorEpoxyModel<NewSubSpaceSummaryItem.
 
     override fun bind(holder: Holder) {
         super.bind(holder)
+        val context = holder.root.context
         holder.root.onClick(onSubSpaceSelectedListener)
         holder.name.text = matrixItem.displayName
         holder.root.isChecked = selected
@@ -63,6 +64,10 @@ abstract class NewSubSpaceSummaryItem : VectorEpoxyModel<NewSubSpaceSummaryItem.
         )
         holder.chevron.onClick(onToggleExpandListener)
         holder.chevron.isVisible = hasChildren
+        holder.chevron.contentDescription = context.getString(
+                if (expanded) R.string.a11y_collapse_space_children else R.string.a11y_expand_space_children,
+                matrixItem.displayName,
+        )
 
         holder.indent.isVisible = indent > 0
         holder.indent.updateLayoutParams {

From 93ce7f8db55fe05e7db134fcd9fbfceadfe8543e Mon Sep 17 00:00:00 2001
From: ericdecanini <eddecanini@gmail.com>
Date: Mon, 5 Sep 2022 20:52:45 +0200
Subject: [PATCH 17/57] Fixes home screen talkback jumping to fabs too early

---
 vector/src/main/res/layout/fragment_new_home_detail.xml | 1 -
 1 file changed, 1 deletion(-)

diff --git a/vector/src/main/res/layout/fragment_new_home_detail.xml b/vector/src/main/res/layout/fragment_new_home_detail.xml
index 82bc6bb36e..150673b486 100644
--- a/vector/src/main/res/layout/fragment_new_home_detail.xml
+++ b/vector/src/main/res/layout/fragment_new_home_detail.xml
@@ -127,7 +127,6 @@
         android:layout_height="wrap_content"
         android:layout_marginEnd="16dp"
         android:layout_marginBottom="16dp"
-        android:accessibilityTraversalBefore="@id/roomListView"
         android:contentDescription="@string/a11y_create_message"
         android:src="@drawable/ic_new_chat"
         android:visibility="gone"

From 289ed86be77450cf0372a76047643787f163871c Mon Sep 17 00:00:00 2001
From: ericdecanini <eddecanini@gmail.com>
Date: Mon, 5 Sep 2022 20:53:03 +0200
Subject: [PATCH 18/57] Fixes recents carousel saying name twice in talkback

---
 vector/src/main/res/layout/item_recent_room.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/vector/src/main/res/layout/item_recent_room.xml b/vector/src/main/res/layout/item_recent_room.xml
index 8e17707ff3..3e10d90e4e 100644
--- a/vector/src/main/res/layout/item_recent_room.xml
+++ b/vector/src/main/res/layout/item_recent_room.xml
@@ -50,6 +50,7 @@
         android:layout_marginTop="4dp"
         android:layout_marginBottom="16dp"
         android:ellipsize="end"
+        android:importantForAccessibility="no"
         android:lines="1"
         android:textColor="?vctr_content_primary"
         app:layout_constraintBottom_toBottomOf="parent"

From 14bce28c87a8d911b4ea100311d56113e0cabf3c Mon Sep 17 00:00:00 2001
From: ericdecanini <eddecanini@gmail.com>
Date: Mon, 5 Sep 2022 21:17:59 +0200
Subject: [PATCH 19/57] Adds changelog file

---
 changelog.d/7016.wip | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 changelog.d/7016.wip

diff --git a/changelog.d/7016.wip b/changelog.d/7016.wip
new file mode 100644
index 0000000000..6918991a86
--- /dev/null
+++ b/changelog.d/7016.wip
@@ -0,0 +1 @@
+[New Layout] Improves talkback accessibility

From 83b8a0ea9405954086c041692b8f144b2b7fef9a Mon Sep 17 00:00:00 2001
From: ericdecanini <eddecanini@gmail.com>
Date: Mon, 5 Sep 2022 22:27:18 +0200
Subject: [PATCH 20/57] Fixes avatar not shown on fresh login

---
 .../app/features/home/NewHomeDetailFragment.kt   | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt b/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt
index f47da1e6a0..12dee92430 100644
--- a/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/home/NewHomeDetailFragment.kt
@@ -58,14 +58,11 @@ import im.vector.app.features.settings.VectorSettingsActivity.Companion.EXTRA_DI
 import im.vector.app.features.spaces.SpaceListBottomSheet
 import im.vector.app.features.workers.signout.BannerState
 import im.vector.app.features.workers.signout.ServerBackupStatusViewModel
-import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
-import kotlinx.coroutines.launch
 import org.matrix.android.sdk.api.session.Session
 import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
 import org.matrix.android.sdk.api.session.room.model.RoomSummary
-import org.matrix.android.sdk.api.util.toMatrixItem
 import javax.inject.Inject
 
 @AndroidEntryPoint
@@ -322,12 +319,6 @@ class NewHomeDetailFragment :
     private fun setupToolbar() {
         setupToolbar(views.toolbar)
 
-        lifecycleScope.launch(Dispatchers.IO) {
-            session.userService().getUser(session.myUserId)?.let { user ->
-                avatarRenderer.render(user.toMatrixItem(), views.avatar)
-            }
-        }
-
         views.collapsingToolbar.debouncedClicks(::openSpaceSettings)
         views.toolbar.debouncedClicks(::openSpaceSettings)
 
@@ -373,9 +364,16 @@ class NewHomeDetailFragment :
                 vectorPreferences.developerShowDebugInfo()
         )
 
+        refreshAvatar()
         hasUnreadRooms = it.hasUnreadMessages
     }
 
+    private fun refreshAvatar() = withState(viewModel) { state ->
+        state.myMatrixItem?.let { user ->
+            avatarRenderer.render(user, views.avatar)
+        }
+    }
+
     override fun onTapToReturnToCall() {
         callManager.getCurrentCall()?.let { call ->
             VectorCallActivity.newIntent(

From 9a29c792332627c47f776bb301e3e4c875f596c6 Mon Sep 17 00:00:00 2001
From: NIkita Fedrunov <fedrunov@element.io>
Date: Tue, 6 Sep 2022 00:41:58 +0200
Subject: [PATCH 21/57] obsolete settings are hidden when app layout flag is
 enabled

---
 changelog.d/6646.misc                                      | 1 +
 .../im/vector/app/features/settings/VectorPreferences.kt   | 5 +++++
 .../app/features/settings/VectorSettingsLabsFragment.kt    | 6 ++++++
 .../features/settings/VectorSettingsPreferencesFragment.kt | 7 +++++++
 vector/src/main/res/xml/vector_settings_preferences.xml    | 4 +++-
 5 files changed, 22 insertions(+), 1 deletion(-)
 create mode 100644 changelog.d/6646.misc

diff --git a/changelog.d/6646.misc b/changelog.d/6646.misc
new file mode 100644
index 0000000000..0f2e3f0881
--- /dev/null
+++ b/changelog.d/6646.misc
@@ -0,0 +1 @@
+[App Layout] Obsolete settings are not shown when App Layout flag is enabled
diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt
index cefbe64d9d..d60d0ea73a 100755
--- a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt
@@ -165,6 +165,11 @@ class VectorPreferences @Inject constructor(
         const val SETTINGS_LABS_AUTO_REPORT_UISI = "SETTINGS_LABS_AUTO_REPORT_UISI"
         const val SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME = "SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME"
 
+        /**
+         * This is not preference, but category on preferences screen which contains [SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME].
+         * Needed to show/hide this category, depending on visibility of [SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME]. */
+        const val SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME_CATEGORY = "SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME_CATEGORY"
+
         private const val SETTINGS_DEVELOPER_MODE_PREFERENCE_KEY = "SETTINGS_DEVELOPER_MODE_PREFERENCE_KEY"
         private const val SETTINGS_LABS_SHOW_HIDDEN_EVENTS_PREFERENCE_KEY = "SETTINGS_LABS_SHOW_HIDDEN_EVENTS_PREFERENCE_KEY"
         private const val SETTINGS_LABS_ENABLE_SWIPE_TO_REPLY = "SETTINGS_LABS_ENABLE_SWIPE_TO_REPLY"
diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt
index eb7864a89d..c1253f4ab4 100644
--- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsLabsFragment.kt
@@ -27,6 +27,7 @@ import im.vector.app.R
 import im.vector.app.core.preference.VectorSwitchPreference
 import im.vector.app.features.MainActivity
 import im.vector.app.features.MainActivityArgs
+import im.vector.app.features.VectorFeatures
 import im.vector.app.features.analytics.plan.MobileScreen
 import im.vector.app.features.home.room.threads.ThreadsManager
 import org.matrix.android.sdk.api.settings.LightweightSettingsStorage
@@ -39,6 +40,7 @@ class VectorSettingsLabsFragment :
     @Inject lateinit var vectorPreferences: VectorPreferences
     @Inject lateinit var lightweightSettingsStorage: LightweightSettingsStorage
     @Inject lateinit var threadsManager: ThreadsManager
+    @Inject lateinit var vectorFeatures: VectorFeatures
 
     override var titleRes = R.string.room_settings_labs_pref_title
     override val preferenceXmlRes = R.xml.vector_settings_labs
@@ -72,6 +74,10 @@ class VectorSettingsLabsFragment :
                 true
             }
         }
+
+        findPreference<VectorSwitchPreference>(VectorPreferences.SETTINGS_LABS_UNREAD_NOTIFICATIONS_AS_TAB)!!.let {
+            it.isVisible = !vectorFeatures.isNewAppLayoutEnabled()
+        }
     }
 
     /**
diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt
index 0bd5316b8f..458ba79ee3 100644
--- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt
@@ -28,9 +28,11 @@ import im.vector.app.core.dialogs.PhotoOrVideoDialog
 import im.vector.app.core.extensions.restart
 import im.vector.app.core.preference.VectorListPreference
 import im.vector.app.core.preference.VectorPreference
+import im.vector.app.core.preference.VectorPreferenceCategory
 import im.vector.app.core.preference.VectorSwitchPreference
 import im.vector.app.features.MainActivity
 import im.vector.app.features.MainActivityArgs
+import im.vector.app.features.VectorFeatures
 import im.vector.app.features.analytics.plan.MobileScreen
 import im.vector.app.features.settings.font.FontScaleSettingActivity
 import im.vector.app.features.themes.ThemeUtils
@@ -44,6 +46,7 @@ class VectorSettingsPreferencesFragment :
 
     @Inject lateinit var vectorPreferences: VectorPreferences
     @Inject lateinit var fontScalePreferences: FontScalePreferences
+    @Inject lateinit var vectorFeatures: VectorFeatures
 
     override var titleRes = R.string.settings_preferences
     override val preferenceXmlRes = R.xml.vector_settings_preferences
@@ -99,6 +102,10 @@ class VectorSettingsPreferencesFragment :
             }
         }
 
+        findPreference<VectorPreferenceCategory>(VectorPreferences.SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME_CATEGORY)!!.let { pref ->
+            pref.isVisible = !vectorFeatures.isNewAppLayoutEnabled()
+        }
+
         // Url preview
         /*
         TODO Note: we keep the setting client side for now
diff --git a/vector/src/main/res/xml/vector_settings_preferences.xml b/vector/src/main/res/xml/vector_settings_preferences.xml
index a3b8a3476c..7700de6986 100644
--- a/vector/src/main/res/xml/vector_settings_preferences.xml
+++ b/vector/src/main/res/xml/vector_settings_preferences.xml
@@ -30,7 +30,9 @@
 
     </im.vector.app.core.preference.VectorPreferenceCategory>
 
-    <im.vector.app.core.preference.VectorPreferenceCategory android:title="@string/spaces">
+    <im.vector.app.core.preference.VectorPreferenceCategory
+        android:title="@string/spaces"
+        android:key="SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME_CATEGORY">
 
         <im.vector.app.core.preference.VectorSwitchPreference
             android:defaultValue="false"

From 0a1c7561bdaa05de92b47353f1487b4291a89098 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= <jorgem@element.io>
Date: Mon, 5 Sep 2022 12:43:37 +0200
Subject: [PATCH 22/57] Use embedded libopus encoder for devices that somehow
 lack the official one

---
 changelog.d/7010.feature                       |  1 +
 .../room/detail/composer/AudioMessageHelper.kt |  2 +-
 .../features/voice/VoiceRecorderProvider.kt    | 18 +++++++++++++++---
 3 files changed, 17 insertions(+), 4 deletions(-)
 create mode 100644 changelog.d/7010.feature

diff --git a/changelog.d/7010.feature b/changelog.d/7010.feature
new file mode 100644
index 0000000000..d6c7c85b3e
--- /dev/null
+++ b/changelog.d/7010.feature
@@ -0,0 +1 @@
+Try to detect devices that lack Opus encoder support, use bundled libopus library for those.
diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/AudioMessageHelper.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/AudioMessageHelper.kt
index 7d25471e51..a5e899c672 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/AudioMessageHelper.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/AudioMessageHelper.kt
@@ -48,7 +48,7 @@ class AudioMessageHelper @Inject constructor(
 ) {
     private var mediaPlayer: MediaPlayer? = null
     private var currentPlayingId: String? = null
-    private var voiceRecorder: VoiceRecorder = voiceRecorderProvider.provideVoiceRecorder()
+    private val voiceRecorder: VoiceRecorder by lazy { voiceRecorderProvider.provideVoiceRecorder() }
 
     private val amplitudeList = mutableListOf<Int>()
 
diff --git a/vector/src/main/java/im/vector/app/features/voice/VoiceRecorderProvider.kt b/vector/src/main/java/im/vector/app/features/voice/VoiceRecorderProvider.kt
index 28693ca287..3441d0231a 100644
--- a/vector/src/main/java/im/vector/app/features/voice/VoiceRecorderProvider.kt
+++ b/vector/src/main/java/im/vector/app/features/voice/VoiceRecorderProvider.kt
@@ -17,6 +17,8 @@
 package im.vector.app.features.voice
 
 import android.content.Context
+import android.media.MediaCodecList
+import android.media.MediaFormat
 import android.os.Build
 import im.vector.app.features.VectorFeatures
 import kotlinx.coroutines.Dispatchers
@@ -27,10 +29,20 @@ class VoiceRecorderProvider @Inject constructor(
         private val vectorFeatures: VectorFeatures,
 ) {
     fun provideVoiceRecorder(): VoiceRecorder {
-        return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q && vectorFeatures.forceUsageOfOpusEncoder().not()) {
-            VoiceRecorderQ(context)
-        } else {
+        return if (useFallbackRecorder()) {
             VoiceRecorderL(context, Dispatchers.IO)
+        } else {
+            VoiceRecorderQ(context)
         }
     }
+
+    private fun useFallbackRecorder(): Boolean {
+        return Build.VERSION.SDK_INT < Build.VERSION_CODES.Q || !hasOpusEncoder() || vectorFeatures.forceUsageOfOpusEncoder()
+    }
+
+    private fun hasOpusEncoder(): Boolean {
+        val codecList = MediaCodecList(MediaCodecList.ALL_CODECS)
+        val format = MediaFormat.createAudioFormat(MediaFormat.MIMETYPE_AUDIO_OPUS, 48000, 1)
+        return codecList.findEncoderForFormat(format) != null
+    }
 }

From 891173c04af26d7d2f6b6319cc2afacdcdf5193b Mon Sep 17 00:00:00 2001
From: NIkita Fedrunov <fedrunov@element.io>
Date: Tue, 6 Sep 2022 07:18:45 +0200
Subject: [PATCH 23/57] compilation error fixed

---
 .../home/room/list/home/invites/InvitesViewState.kt       | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
index 12ce5cd9e4..2f82c3fe76 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/invites/InvitesViewState.kt
@@ -27,13 +27,13 @@ data class InvitesViewState(
 ) : MavericksState
 
 sealed interface InvitesContentState {
-    object Loading : InvitesContentState()
+    object Loading : InvitesContentState
     data class Empty(
             val title: CharSequence,
             val image: Drawable?,
             val message: CharSequence
-    ) : InvitesContentState()
+    ) : InvitesContentState
 
-    data class Content(val content: PagedList<RoomSummary>) : InvitesContentState()
-    data class Error(val throwable: Throwable) : InvitesContentState()
+    data class Content(val content: PagedList<RoomSummary>) : InvitesContentState
+    data class Error(val throwable: Throwable) : InvitesContentState
 }

From ee300cf11dd717570fa31dade5c733bea65da983 Mon Sep 17 00:00:00 2001
From: NIkita Fedrunov <fedrunov@element.io>
Date: Tue, 6 Sep 2022 07:54:16 +0200
Subject: [PATCH 24/57] hide favourites and dms filters for a selected space,
 if they are empty

---
 .../room/list/home/HomeRoomListViewModel.kt   | 47 ++++++++++++-------
 1 file changed, 31 insertions(+), 16 deletions(-)

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 021b979b2b..b52c4e0190 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
@@ -40,6 +40,7 @@ import kotlinx.coroutines.flow.asSharedFlow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.distinctUntilChanged
 import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.flow.flatMapLatest
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.flow.onEach
@@ -202,24 +203,38 @@ class HomeRoomListViewModel @AssistedInject constructor(
     private fun getFiltersDataFlow(): SharedFlow<Optional<List<HomeRoomFilter>>> {
         val flow = MutableSharedFlow<Optional<List<HomeRoomFilter>>>(replay = 1)
 
-        val favouritesFlow = session.flow()
-                .liveRoomSummaries(
-                        RoomSummaryQueryParams.Builder().also { builder ->
-                            builder.roomTagQueryFilter = RoomTagQueryFilter(true, null, null)
-                        }.build()
-                )
-                .map { it.isNotEmpty() }
+        val spaceFLow = spaceStateHandler.getSelectedSpaceFlow()
                 .distinctUntilChanged()
+                .onStart {
+                    emit(spaceStateHandler.getCurrentSpace().toOption())
+                }
 
-        val dmsFLow = session.flow()
-                .liveRoomSummaries(
-                        RoomSummaryQueryParams.Builder().also { builder ->
-                            builder.memberships = listOf(Membership.JOIN)
-                            builder.roomCategoryFilter = RoomCategoryFilter.ONLY_DM
-                        }.build()
-                )
-                .map { it.isNotEmpty() }
-                .distinctUntilChanged()
+        val favouritesFlow =
+                spaceFLow.flatMapLatest { selectedSpace ->
+                    session.flow()
+                            .liveRoomSummaries(
+                                    RoomSummaryQueryParams.Builder().also { builder ->
+                                        builder.spaceFilter = selectedSpace.orNull()?.roomId.toActiveSpaceOrNoFilter()
+                                        builder.roomTagQueryFilter = RoomTagQueryFilter(true, null, null)
+                                    }.build()
+                            )
+                }
+                        .map { it.isNotEmpty() }
+                        .distinctUntilChanged()
+
+        val dmsFLow =
+                spaceFLow.flatMapLatest { selectedSpace ->
+                    session.flow()
+                            .liveRoomSummaries(
+                                    RoomSummaryQueryParams.Builder().also { builder ->
+                                        builder.spaceFilter = selectedSpace.orNull()?.roomId.toActiveSpaceOrNoFilter()
+                                        builder.memberships = listOf(Membership.JOIN)
+                                        builder.roomCategoryFilter = RoomCategoryFilter.ONLY_DM
+                                    }.build()
+                            )
+                }
+                        .map { it.isNotEmpty() }
+                        .distinctUntilChanged()
 
         combine(favouritesFlow, dmsFLow, preferencesStore.areFiltersEnabledFlow) { hasFavourite, hasDm, areFiltersEnabled ->
             Triple(hasFavourite, hasDm, areFiltersEnabled)

From e0c455a476febf52b6d9ea0d9f899e094c70391e Mon Sep 17 00:00:00 2001
From: NIkita Fedrunov <fedrunov@element.io>
Date: Tue, 6 Sep 2022 10:08:32 +0200
Subject: [PATCH 25/57] update according to code review

---
 .../java/im/vector/app/features/settings/VectorPreferences.kt  | 2 +-
 .../app/features/settings/VectorSettingsPreferencesFragment.kt | 3 +--
 vector/src/main/res/xml/vector_settings_preferences.xml        | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt
index d60d0ea73a..5e0cdf3baf 100755
--- a/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/VectorPreferences.kt
@@ -168,7 +168,7 @@ class VectorPreferences @Inject constructor(
         /**
          * This is not preference, but category on preferences screen which contains [SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME].
          * Needed to show/hide this category, depending on visibility of [SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME]. */
-        const val SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME_CATEGORY = "SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME_CATEGORY"
+        const val SETTINGS_PREF_SPACE_CATEGORY = "SETTINGS_PREF_SPACE_CATEGORY"
 
         private const val SETTINGS_DEVELOPER_MODE_PREFERENCE_KEY = "SETTINGS_DEVELOPER_MODE_PREFERENCE_KEY"
         private const val SETTINGS_LABS_SHOW_HIDDEN_EVENTS_PREFERENCE_KEY = "SETTINGS_LABS_SHOW_HIDDEN_EVENTS_PREFERENCE_KEY"
diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt
index 458ba79ee3..135c25cd8d 100644
--- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsPreferencesFragment.kt
@@ -28,7 +28,6 @@ import im.vector.app.core.dialogs.PhotoOrVideoDialog
 import im.vector.app.core.extensions.restart
 import im.vector.app.core.preference.VectorListPreference
 import im.vector.app.core.preference.VectorPreference
-import im.vector.app.core.preference.VectorPreferenceCategory
 import im.vector.app.core.preference.VectorSwitchPreference
 import im.vector.app.features.MainActivity
 import im.vector.app.features.MainActivityArgs
@@ -102,7 +101,7 @@ class VectorSettingsPreferencesFragment :
             }
         }
 
-        findPreference<VectorPreferenceCategory>(VectorPreferences.SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME_CATEGORY)!!.let { pref ->
+        findPreference<Preference>(VectorPreferences.SETTINGS_PREF_SPACE_CATEGORY)!!.let { pref ->
             pref.isVisible = !vectorFeatures.isNewAppLayoutEnabled()
         }
 
diff --git a/vector/src/main/res/xml/vector_settings_preferences.xml b/vector/src/main/res/xml/vector_settings_preferences.xml
index 7700de6986..172fa5606c 100644
--- a/vector/src/main/res/xml/vector_settings_preferences.xml
+++ b/vector/src/main/res/xml/vector_settings_preferences.xml
@@ -32,7 +32,7 @@
 
     <im.vector.app.core.preference.VectorPreferenceCategory
         android:title="@string/spaces"
-        android:key="SETTINGS_PREF_SPACE_SHOW_ALL_ROOM_IN_HOME_CATEGORY">
+        android:key="SETTINGS_PREF_SPACE_CATEGORY">
 
         <im.vector.app.core.preference.VectorSwitchPreference
             android:defaultValue="false"

From 7cc7444bd585ba807a56a4f902135bc1dd04260b Mon Sep 17 00:00:00 2001
From: Nikita Fedrunov <66663241+fedrunov@users.noreply.github.com>
Date: Tue, 6 Sep 2022 11:32:11 +0200
Subject: [PATCH 26/57] applayout release experience (#7003)

---
 .../src/main/res/values/strings.xml           |  11 ++
 .../src/main/res/values-h720dp/dimens.xml     |   6 +-
 .../ui-styles/src/main/res/values/dimens.xml  |   5 +
 vector/src/main/AndroidManifest.xml           |   1 +
 .../app/core/di/MavericksViewModelModule.kt   |   6 +
 .../vector/app/features/home/HomeActivity.kt  |   6 +
 .../features/home/HomeActivityViewEvents.kt   |   1 +
 .../features/home/HomeActivityViewModel.kt    |  22 +++
 .../list/home/release/ReleaseCarouselData.kt  |  30 ++++
 .../list/home/release/ReleaseCarouselItem.kt  |  46 ++++++
 .../list/home/release/ReleaseNotesAction.kt   |  28 ++++
 .../list/home/release/ReleaseNotesActivity.kt |  41 ++++++
 .../release/ReleaseNotesCarouselController.kt |  31 ++++
 .../list/home/release/ReleaseNotesFragment.kt | 138 ++++++++++++++++++
 .../release/ReleaseNotesPreferencesStore.kt   |  48 ++++++
 .../home/release/ReleaseNotesViewEvents.kt    |  24 +++
 .../home/release/ReleaseNotesViewModel.kt     |  63 ++++++++
 .../onboarding/OnboardingViewModel.kt         |   2 +-
 .../app/features/popup/PopupAlertManager.kt   |   2 +
 .../ill_app_layout_onboarding_rooms.webp      | Bin 0 -> 10362 bytes
 .../ill_app_layout_onboarding_spaces.webp     | Bin 0 -> 14102 bytes
 .../ill_app_layout_onboarding_rooms.webp      | Bin 0 -> 5398 bytes
 .../ill_app_layout_onboarding_spaces.webp     | Bin 0 -> 7372 bytes
 .../ill_app_layout_onboarding_rooms.webp      | Bin 0 -> 13106 bytes
 .../ill_app_layout_onboarding_spaces.webp     | Bin 0 -> 19894 bytes
 .../ill_app_layout_onboarding_rooms.webp      | Bin 0 -> 22692 bytes
 .../ill_app_layout_onboarding_spaces.webp     | Bin 0 -> 34900 bytes
 .../ill_app_layout_onboarding_rooms.webp      | Bin 0 -> 32874 bytes
 .../ill_app_layout_onboarding_spaces.webp     | Bin 0 -> 52942 bytes
 vector/src/main/res/layout/activity_home.xml  |   2 +-
 .../res/layout/bottom_sheet_release_notes.xml |  55 +++++++
 .../main/res/layout/item_release_carousel.xml |  63 ++++++++
 .../app_layout_onboarding_feedback.webp       | Bin 0 -> 10362 bytes
 .../app_layout_onboarding_spaces.webp         | Bin 0 -> 14102 bytes
 .../app_layout_onboarding_welcome.webp        | Bin 0 -> 10362 bytes
 .../app_layout_onboarding_feedback.webp       | Bin 0 -> 5398 bytes
 .../app_layout_onboarding_spaces.webp         | Bin 0 -> 7372 bytes
 .../app_layout_onboarding_welcome.webp        | Bin 0 -> 5398 bytes
 .../app_layout_onboarding_feedback.webp       | Bin 0 -> 13106 bytes
 .../app_layout_onboarding_spaces.webp         | Bin 0 -> 19894 bytes
 .../app_layout_onboarding_welcome.webp        | Bin 0 -> 13106 bytes
 .../app_layout_onboarding_feedback.webp       | Bin 0 -> 22692 bytes
 .../app_layout_onboarding_spaces.webp         | Bin 0 -> 34900 bytes
 .../app_layout_onboarding_welcome.webp        | Bin 0 -> 22692 bytes
 .../app_layout_onboarding_feedback.webp       | Bin 0 -> 32874 bytes
 .../app_layout_onboarding_spaces.webp         | Bin 0 -> 52942 bytes
 .../app_layout_onboarding_welcome.webp        | Bin 0 -> 32874 bytes
 .../onboarding/OnboardingViewModelTest.kt     |   8 +-
 48 files changed, 632 insertions(+), 7 deletions(-)
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseCarouselData.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseCarouselItem.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesAction.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesActivity.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesCarouselController.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesFragment.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesPreferencesStore.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesViewEvents.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesViewModel.kt
 create mode 100644 vector/src/main/res/drawable-hdpi/ill_app_layout_onboarding_rooms.webp
 create mode 100644 vector/src/main/res/drawable-hdpi/ill_app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/drawable-mdpi/ill_app_layout_onboarding_rooms.webp
 create mode 100644 vector/src/main/res/drawable-mdpi/ill_app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/drawable-xhdpi/ill_app_layout_onboarding_rooms.webp
 create mode 100644 vector/src/main/res/drawable-xhdpi/ill_app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/drawable-xxhdpi/ill_app_layout_onboarding_rooms.webp
 create mode 100644 vector/src/main/res/drawable-xxhdpi/ill_app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/drawable-xxxhdpi/ill_app_layout_onboarding_rooms.webp
 create mode 100644 vector/src/main/res/drawable-xxxhdpi/ill_app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/layout/bottom_sheet_release_notes.xml
 create mode 100644 vector/src/main/res/layout/item_release_carousel.xml
 create mode 100644 vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_feedback.webp
 create mode 100644 vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_welcome.webp
 create mode 100644 vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_feedback.webp
 create mode 100644 vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_welcome.webp
 create mode 100644 vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_feedback.webp
 create mode 100644 vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_welcome.webp
 create mode 100644 vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_feedback.webp
 create mode 100644 vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_welcome.webp
 create mode 100644 vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_feedback.webp
 create mode 100644 vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_spaces.webp
 create mode 100644 vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_welcome.webp

diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index 1317ec3c65..6e11682e77 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -3256,4 +3256,15 @@
     <string name="home_empty_no_unreads_title">Nothing to report.</string>
     <string name="home_empty_no_unreads_message">This is where your unread messages will show up, when you have some.</string>
 
+    <string name="onboarding_new_app_layout_welcome_title">Welcome to a new view!</string>
+    <!--    Note to translators: for RTL languages, menu will be at the bottom left. Please translate "bottom-left" instead of "bottom-right". Thanks!-->
+    <string name="onboarding_new_app_layout_welcome_message">To simplify your ${app_name}, tabs are now optional. Manage them using the top-right menu.</string>
+    <string name="onboarding_new_app_layout_spaces_title">Access Spaces</string>
+    <!--    Note to translators: for RTL languages, Spaces will be at the bottom left. Please translate "bottom-left" instead of "bottom-right". Thanks!-->
+    <string name="onboarding_new_app_layout_spaces_message">Access your Spaces (bottom-right) faster and easier than ever before.</string>
+    <string name="onboarding_new_app_layout_feedback_title">Give Feedback</string>
+    <!--    Note to translators: for RTL languages, context menu will be at top left corner instead of top right corner. Thanks!-->
+    <string name="onboarding_new_app_layout_feedback_message">Tap top right to see the option to feedback.</string>
+    <string name="onboarding_new_app_layout_button_try">Try it out</string>
+
 </resources>
diff --git a/library/ui-styles/src/main/res/values-h720dp/dimens.xml b/library/ui-styles/src/main/res/values-h720dp/dimens.xml
index 1a7791720d..2a7b12cf2f 100644
--- a/library/ui-styles/src/main/res/values-h720dp/dimens.xml
+++ b/library/ui-styles/src/main/res/values-h720dp/dimens.xml
@@ -2,4 +2,8 @@
 <resources>
     <item name="ftue_auth_carousel_item_spacing" format="float" type="dimen">0.05</item>
     <item name="ftue_auth_carousel_item_image_height" format="float" type="dimen">0.40</item>
-</resources>
\ No newline at end of file
+
+    <dimen name="release_notes_vertical_margin_small">16dp</dimen>
+    <dimen name="release_notes_vertical_margin">40dp</dimen>
+    <dimen name="release_notes_vertical_margin_large">46dp</dimen>
+</resources>
diff --git a/library/ui-styles/src/main/res/values/dimens.xml b/library/ui-styles/src/main/res/values/dimens.xml
index 53f1044a12..758dd6e978 100644
--- a/library/ui-styles/src/main/res/values/dimens.xml
+++ b/library/ui-styles/src/main/res/values/dimens.xml
@@ -74,4 +74,9 @@
 
     <!-- Material 3 -->
     <dimen name="collapsing_toolbar_layout_medium_size">112dp</dimen>
+
+
+    <dimen name="release_notes_vertical_margin_small">8dp</dimen>
+    <dimen name="release_notes_vertical_margin">16dp</dimen>
+    <dimen name="release_notes_vertical_margin_large">28dp</dimen>
 </resources>
diff --git a/vector/src/main/AndroidManifest.xml b/vector/src/main/AndroidManifest.xml
index e87bbad77a..c4022576c3 100644
--- a/vector/src/main/AndroidManifest.xml
+++ b/vector/src/main/AndroidManifest.xml
@@ -338,6 +338,7 @@
         <activity android:name=".features.settings.font.FontScaleSettingActivity"/>
         <activity android:name=".features.call.dialpad.PstnDialActivity" />
         <activity android:name=".features.home.room.list.home.invites.InvitesActivity"/>
+        <activity android:name=".features.home.room.list.home.release.ReleaseNotesActivity"/>
 
         <!-- Services -->
 
diff --git a/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt b/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt
index b21b4778e3..a40aeaaa15 100644
--- a/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt
+++ b/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt
@@ -53,6 +53,7 @@ import im.vector.app.features.home.room.detail.upgrade.MigrateRoomViewModel
 import im.vector.app.features.home.room.list.RoomListViewModel
 import im.vector.app.features.home.room.list.home.HomeRoomListViewModel
 import im.vector.app.features.home.room.list.home.invites.InvitesViewModel
+import im.vector.app.features.home.room.list.home.release.ReleaseNotesViewModel
 import im.vector.app.features.homeserver.HomeServerCapabilitiesViewModel
 import im.vector.app.features.invite.InviteUsersToRoomViewModel
 import im.vector.app.features.location.LocationSharingViewModel
@@ -624,4 +625,9 @@ interface MavericksViewModelModule {
     @IntoMap
     @MavericksViewModelKey(InvitesViewModel::class)
     fun invitesViewModel(factory: InvitesViewModel.Factory): MavericksAssistedViewModelFactory<*, *>
+
+    @Binds
+    @IntoMap
+    @MavericksViewModelKey(ReleaseNotesViewModel::class)
+    fun releaseNotesViewModel(factory: ReleaseNotesViewModel.Factory): MavericksAssistedViewModelFactory<*, *>
 }
diff --git a/vector/src/main/java/im/vector/app/features/home/HomeActivity.kt b/vector/src/main/java/im/vector/app/features/home/HomeActivity.kt
index 2a8390c93c..78b4364f38 100644
--- a/vector/src/main/java/im/vector/app/features/home/HomeActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/home/HomeActivity.kt
@@ -60,6 +60,7 @@ import im.vector.app.features.disclaimer.showDisclaimerDialog
 import im.vector.app.features.home.room.list.actions.RoomListSharedAction
 import im.vector.app.features.home.room.list.actions.RoomListSharedActionViewModel
 import im.vector.app.features.home.room.list.home.layout.HomeLayoutSettingBottomDialogFragment
+import im.vector.app.features.home.room.list.home.release.ReleaseNotesActivity
 import im.vector.app.features.matrixto.MatrixToBottomSheet
 import im.vector.app.features.matrixto.OriginOfMatrixTo
 import im.vector.app.features.navigation.Navigator
@@ -268,6 +269,7 @@ class HomeActivity :
                 }
                 is HomeActivityViewEvents.OnCrossSignedInvalidated -> handleCrossSigningInvalidated(it)
                 HomeActivityViewEvents.ShowAnalyticsOptIn -> handleShowAnalyticsOptIn()
+                HomeActivityViewEvents.ShowReleaseNotes -> handleShowReleaseNotes()
                 HomeActivityViewEvents.NotifyUserForThreadsMigration -> handleNotifyUserForThreadsMigration()
                 is HomeActivityViewEvents.MigrateThreads -> migrateThreadsIfNeeded(it.checkSession)
             }
@@ -282,6 +284,10 @@ class HomeActivity :
         homeActivityViewModel.handle(HomeActivityViewActions.ViewStarted)
     }
 
+    private fun handleShowReleaseNotes() {
+        startActivity(Intent(this, ReleaseNotesActivity::class.java))
+    }
+
     private fun showSpaceSettings(spaceId: String) {
         // open bottom sheet
         SpaceSettingsMenuBottomSheet
diff --git a/vector/src/main/java/im/vector/app/features/home/HomeActivityViewEvents.kt b/vector/src/main/java/im/vector/app/features/home/HomeActivityViewEvents.kt
index 170550d5b4..e0b9e8ceb5 100644
--- a/vector/src/main/java/im/vector/app/features/home/HomeActivityViewEvents.kt
+++ b/vector/src/main/java/im/vector/app/features/home/HomeActivityViewEvents.kt
@@ -31,6 +31,7 @@ sealed interface HomeActivityViewEvents : VectorViewEvents {
     data class OnCrossSignedInvalidated(val userItem: MatrixItem.UserItem) : HomeActivityViewEvents
     object PromptToEnableSessionPush : HomeActivityViewEvents
     object ShowAnalyticsOptIn : HomeActivityViewEvents
+    object ShowReleaseNotes : HomeActivityViewEvents
     object NotifyUserForThreadsMigration : HomeActivityViewEvents
     data class MigrateThreads(val checkSession: Boolean) : HomeActivityViewEvents
     object StartRecoverySetupFlow : HomeActivityViewEvents
diff --git a/vector/src/main/java/im/vector/app/features/home/HomeActivityViewModel.kt b/vector/src/main/java/im/vector/app/features/home/HomeActivityViewModel.kt
index cfe76706a5..dd54285fb5 100644
--- a/vector/src/main/java/im/vector/app/features/home/HomeActivityViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/home/HomeActivityViewModel.kt
@@ -26,11 +26,13 @@ import im.vector.app.core.di.ActiveSessionHolder
 import im.vector.app.core.di.MavericksAssistedViewModelFactory
 import im.vector.app.core.di.hiltMavericksViewModelFactory
 import im.vector.app.core.platform.VectorViewModel
+import im.vector.app.features.VectorFeatures
 import im.vector.app.features.analytics.AnalyticsConfig
 import im.vector.app.features.analytics.AnalyticsTracker
 import im.vector.app.features.analytics.extensions.toAnalyticsType
 import im.vector.app.features.analytics.plan.Signup
 import im.vector.app.features.analytics.store.AnalyticsStore
+import im.vector.app.features.home.room.list.home.release.ReleaseNotesPreferencesStore
 import im.vector.app.features.login.ReAuthHelper
 import im.vector.app.features.onboarding.AuthenticationDescription
 import im.vector.app.features.raw.wellknown.ElementWellKnown
@@ -82,6 +84,8 @@ class HomeActivityViewModel @AssistedInject constructor(
         private val vectorPreferences: VectorPreferences,
         private val analyticsTracker: AnalyticsTracker,
         private val analyticsConfig: AnalyticsConfig,
+        private val releaseNotesPreferencesStore: ReleaseNotesPreferencesStore,
+        private val vectorFeatures: VectorFeatures,
 ) : VectorViewModel<HomeActivityViewState, HomeActivityViewActions, HomeActivityViewEvents>(initialState) {
 
     @AssistedFactory
@@ -110,9 +114,27 @@ class HomeActivityViewModel @AssistedInject constructor(
         checkSessionPushIsOn()
         observeCrossSigningReset()
         observeAnalytics()
+        observeReleaseNotes()
         initThreadsMigration()
     }
 
+    private fun observeReleaseNotes() = withState { state ->
+        // we don't want to show release notes for new users or after relogin
+        if (state.authenticationDescription == null && vectorFeatures.isNewAppLayoutEnabled()) {
+            releaseNotesPreferencesStore.appLayoutOnboardingShown.onEach { isAppLayoutOnboardingShown ->
+                if (!isAppLayoutOnboardingShown) {
+                    releaseNotesPreferencesStore.setAppLayoutOnboardingShown(true)
+                    _viewEvents.post(HomeActivityViewEvents.ShowReleaseNotes)
+                }
+            }.launchIn(viewModelScope)
+        } else {
+            // we assume that users which came from auth flow either have seen updates already (relogin) or don't need them (new user)
+            viewModelScope.launch {
+                releaseNotesPreferencesStore.setAppLayoutOnboardingShown(true)
+            }
+        }
+    }
+
     private fun observeAnalytics() {
         if (analyticsConfig.isEnabled) {
             analyticsStore.didAskUserConsentFlow
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseCarouselData.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseCarouselData.kt
new file mode 100644
index 0000000000..22431b0bf9
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseCarouselData.kt
@@ -0,0 +1,30 @@
+/*
+ * 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.release
+
+import androidx.annotation.DrawableRes
+import androidx.annotation.StringRes
+
+class ReleaseCarouselData(
+        val items: List<Item>
+) {
+    data class Item(
+            @StringRes val title: Int,
+            @StringRes val body: Int,
+            @DrawableRes val image: Int,
+    )
+}
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseCarouselItem.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseCarouselItem.kt
new file mode 100644
index 0000000000..49eb0761f7
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseCarouselItem.kt
@@ -0,0 +1,46 @@
+/*
+ * 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.release
+
+import android.widget.ImageView
+import android.widget.TextView
+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
+
+@EpoxyModelClass
+abstract class ReleaseCarouselItem : VectorEpoxyModel<ReleaseCarouselItem.Holder>(R.layout.item_release_carousel) {
+
+    @EpoxyAttribute
+    lateinit var item: ReleaseCarouselData.Item
+
+    override fun bind(holder: Holder) {
+        super.bind(holder)
+
+        holder.image.setImageResource(item.image)
+        holder.title.setText(item.title)
+        holder.body.setText(item.body)
+    }
+
+    class Holder : VectorEpoxyHolder() {
+        val image by bind<ImageView>(R.id.carousel_item_image)
+        val title by bind<TextView>(R.id.carousel_item_title)
+        val body by bind<TextView>(R.id.carousel_item_body)
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesAction.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesAction.kt
new file mode 100644
index 0000000000..7a66d00589
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesAction.kt
@@ -0,0 +1,28 @@
+/*
+ * 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.release
+
+import im.vector.app.core.platform.VectorViewModelAction
+
+sealed class ReleaseNotesAction : VectorViewModelAction {
+    data class NextPressed(
+            val isLastItemSelected: Boolean = false
+    ) : ReleaseNotesAction()
+    data class PageSelected(
+            val selectedPageIndex: Int  = 0
+    ) : ReleaseNotesAction()
+}
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesActivity.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesActivity.kt
new file mode 100644
index 0000000000..c5cc55d7bb
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesActivity.kt
@@ -0,0 +1,41 @@
+/*
+ * 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.release
+
+import dagger.hilt.android.AndroidEntryPoint
+import im.vector.app.core.extensions.addFragment
+import im.vector.app.core.platform.ScreenOrientationLocker
+import im.vector.app.core.platform.VectorBaseActivity
+import im.vector.app.databinding.ActivitySimpleBinding
+import javax.inject.Inject
+
+@AndroidEntryPoint
+class ReleaseNotesActivity : VectorBaseActivity<ActivitySimpleBinding>() {
+
+    @Inject lateinit var orientationLocker: ScreenOrientationLocker
+
+    override fun getBinding() = ActivitySimpleBinding.inflate(layoutInflater)
+
+    override fun getCoordinatorLayout() = views.coordinatorLayout
+
+    override fun initUiAndData() {
+        orientationLocker.lockPhonesToPortrait(this)
+        if (isFirstCreation()) {
+            addFragment(views.simpleFragmentContainer, ReleaseNotesFragment::class.java)
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesCarouselController.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesCarouselController.kt
new file mode 100644
index 0000000000..22d2915c47
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesCarouselController.kt
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2021 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.release
+
+import com.airbnb.epoxy.TypedEpoxyController
+import javax.inject.Inject
+
+class ReleaseNotesCarouselController @Inject constructor() : TypedEpoxyController<ReleaseCarouselData>() {
+    override fun buildModels(data: ReleaseCarouselData) {
+        data.items.forEachIndexed { index, item ->
+            releaseCarouselItem {
+                id(index)
+                item(item)
+            }
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesFragment.kt
new file mode 100644
index 0000000000..6b86897dc8
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesFragment.kt
@@ -0,0 +1,138 @@
+/*
+ * 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.release
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.lifecycle.DefaultLifecycleObserver
+import androidx.lifecycle.LifecycleOwner
+import androidx.viewpager2.widget.ViewPager2
+import com.airbnb.mvrx.fragmentViewModel
+import com.google.android.material.tabs.TabLayoutMediator
+import dagger.hilt.android.AndroidEntryPoint
+import im.vector.app.R
+import im.vector.app.core.epoxy.onClick
+import im.vector.app.core.platform.VectorBaseFragment
+import im.vector.app.databinding.BottomSheetReleaseNotesBinding
+import javax.inject.Inject
+
+@AndroidEntryPoint
+class ReleaseNotesFragment : VectorBaseFragment<BottomSheetReleaseNotesBinding>() {
+
+    @Inject lateinit var carouselController: ReleaseNotesCarouselController
+    private var tabLayoutMediator: TabLayoutMediator? = null
+
+    private val viewModel by fragmentViewModel(ReleaseNotesViewModel::class)
+
+    override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): BottomSheetReleaseNotesBinding {
+        return BottomSheetReleaseNotesBinding.inflate(inflater, container, false)
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+
+        val carouselAdapter = carouselController.adapter
+        views.releaseNotesCarousel.adapter = carouselAdapter
+
+        tabLayoutMediator = TabLayoutMediator(views.releaseNotesCarouselIndicator, views.releaseNotesCarousel) { _, _ -> }
+                .also { it.attach() }
+
+        val pageCallback = object : ViewPager2.OnPageChangeCallback() {
+            override fun onPageSelected(position: Int) {
+                viewModel.handle(ReleaseNotesAction.PageSelected(position))
+                updateButtonText(position)
+            }
+        }
+
+        viewLifecycleOwner.lifecycle.addObserver(object : DefaultLifecycleObserver {
+            override fun onCreate(owner: LifecycleOwner) {
+                views.releaseNotesCarousel.registerOnPageChangeCallback(pageCallback)
+            }
+
+            override fun onDestroy(owner: LifecycleOwner) {
+                views.releaseNotesCarousel.unregisterOnPageChangeCallback(pageCallback)
+            }
+        })
+
+        carouselController.setData(createCarouselData())
+
+        views.releaseNotesBtnClose.onClick { close() }
+        views.releaseNotesButtonNext.onClick {
+            val isLastItemSelected = with(views.releaseNotesCarouselIndicator) {
+                selectedTabPosition == tabCount - 1
+            }
+            viewModel.handle(ReleaseNotesAction.NextPressed(isLastItemSelected))
+        }
+
+        viewModel.observeViewEvents {
+            when (it) {
+                is ReleaseNotesViewEvents.SelectPage -> selectPage(it.index)
+                ReleaseNotesViewEvents.Close -> close()
+            }
+        }
+    }
+
+    private fun createCarouselData(): ReleaseCarouselData {
+        return ReleaseCarouselData(
+                listOf(
+                        ReleaseCarouselData.Item(
+                                R.string.onboarding_new_app_layout_welcome_title,
+                                R.string.onboarding_new_app_layout_welcome_message,
+                                R.drawable.ill_app_layout_onboarding_rooms
+                        ),
+                        ReleaseCarouselData.Item(
+                                R.string.onboarding_new_app_layout_spaces_title,
+                                R.string.onboarding_new_app_layout_spaces_message,
+                                R.drawable.ill_app_layout_onboarding_spaces
+                        ),
+                        ReleaseCarouselData.Item(
+                                R.string.onboarding_new_app_layout_feedback_title,
+                                R.string.onboarding_new_app_layout_feedback_message,
+                                R.drawable.ill_app_layout_onboarding_rooms
+                        ),
+                )
+        )
+    }
+
+    private fun close() {
+        requireActivity().finish()
+    }
+
+    private fun selectPage(index: Int) {
+        views.releaseNotesCarouselIndicator.selectTab(views.releaseNotesCarouselIndicator.getTabAt(index))
+        updateButtonText(index)
+    }
+
+    private fun updateButtonText(selectedIndex: Int) {
+        val isLastItem = selectedIndex == views.releaseNotesCarouselIndicator.tabCount - 1
+        if (isLastItem) {
+            views.releaseNotesButtonNext.setText(R.string.onboarding_new_app_layout_button_try)
+        } else {
+            views.releaseNotesButtonNext.setText(R.string.action_next)
+        }
+    }
+
+    override fun onDestroyView() {
+        tabLayoutMediator?.detach()
+        tabLayoutMediator = null
+
+        views.releaseNotesCarousel.adapter = null
+        super.onDestroyView()
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesPreferencesStore.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesPreferencesStore.kt
new file mode 100644
index 0000000000..cefe107905
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesPreferencesStore.kt
@@ -0,0 +1,48 @@
+/*
+ * 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.release
+
+import android.content.Context
+import androidx.datastore.core.DataStore
+import androidx.datastore.preferences.core.Preferences
+import androidx.datastore.preferences.core.booleanPreferencesKey
+import androidx.datastore.preferences.core.edit
+import androidx.datastore.preferences.preferencesDataStore
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.map
+import org.matrix.android.sdk.api.extensions.orFalse
+import javax.inject.Inject
+
+private val Context.dataStore: DataStore<Preferences> by preferencesDataStore(name = "release_notes")
+
+class ReleaseNotesPreferencesStore @Inject constructor(
+        private val context: Context
+) {
+
+    private val isAppLayoutOnboardingShown = booleanPreferencesKey("SETTINGS_APP_LAYOUT_ONBOARDING_SHOWN")
+
+    val appLayoutOnboardingShown: Flow<Boolean> = context.dataStore.data
+            .map { preferences -> preferences[isAppLayoutOnboardingShown].orFalse() }
+            .distinctUntilChanged()
+
+    suspend fun setAppLayoutOnboardingShown(isShown: Boolean) {
+        context.dataStore.edit { settings ->
+            settings[isAppLayoutOnboardingShown] = isShown
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesViewEvents.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesViewEvents.kt
new file mode 100644
index 0000000000..7901a8b28f
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesViewEvents.kt
@@ -0,0 +1,24 @@
+/*
+ * 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.release
+
+import im.vector.app.core.platform.VectorViewEvents
+
+sealed class ReleaseNotesViewEvents : VectorViewEvents {
+    object Close : ReleaseNotesViewEvents()
+    data class SelectPage(val index: Int) : ReleaseNotesViewEvents()
+}
diff --git a/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesViewModel.kt b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesViewModel.kt
new file mode 100644
index 0000000000..23e2364d0c
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/home/room/list/home/release/ReleaseNotesViewModel.kt
@@ -0,0 +1,63 @@
+/*
+ * 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.release
+
+import com.airbnb.mvrx.MavericksViewModelFactory
+import dagger.assisted.Assisted
+import dagger.assisted.AssistedFactory
+import dagger.assisted.AssistedInject
+import im.vector.app.core.di.MavericksAssistedViewModelFactory
+import im.vector.app.core.di.hiltMavericksViewModelFactory
+import im.vector.app.core.platform.VectorDummyViewState
+import im.vector.app.core.platform.VectorViewModel
+
+class ReleaseNotesViewModel @AssistedInject constructor(
+        @Assisted initialState: VectorDummyViewState,
+) : VectorViewModel<VectorDummyViewState, ReleaseNotesAction, ReleaseNotesViewEvents>(initialState) {
+
+    @AssistedFactory
+    interface Factory : MavericksAssistedViewModelFactory<ReleaseNotesViewModel, VectorDummyViewState> {
+        override fun create(initialState: VectorDummyViewState): ReleaseNotesViewModel
+    }
+
+    companion object : MavericksViewModelFactory<ReleaseNotesViewModel, VectorDummyViewState> by hiltMavericksViewModelFactory()
+
+    private var selectedPageIndex = 0
+
+    init {
+        _viewEvents.post(ReleaseNotesViewEvents.SelectPage(0))
+    }
+
+    override fun handle(action: ReleaseNotesAction) {
+        when (action) {
+            is ReleaseNotesAction.NextPressed -> handleNextPressed(action)
+            is ReleaseNotesAction.PageSelected -> handlePageSelected(action)
+        }
+    }
+
+    private fun handlePageSelected(action: ReleaseNotesAction.PageSelected) {
+        selectedPageIndex = action.selectedPageIndex
+    }
+
+    private fun handleNextPressed(action: ReleaseNotesAction.NextPressed) {
+        if (action.isLastItemSelected) {
+            _viewEvents.post(ReleaseNotesViewEvents.Close)
+        } else {
+            _viewEvents.post(ReleaseNotesViewEvents.SelectPage(++selectedPageIndex))
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt
index 9661feb002..52c445f1fa 100644
--- a/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/onboarding/OnboardingViewModel.kt
@@ -627,7 +627,7 @@ class OnboardingViewModel @AssistedInject constructor(
                 _viewEvents.post(OnboardingViewEvents.OnAccountCreated)
             }
             AuthenticationDescription.Login -> {
-                setState { copy(isLoading = false) }
+                setState { copy(isLoading = false, selectedAuthenticationState = SelectedAuthenticationState(authenticationDescription)) }
                 _viewEvents.post(OnboardingViewEvents.OnAccountSignedIn)
             }
         }
diff --git a/vector/src/main/java/im/vector/app/features/popup/PopupAlertManager.kt b/vector/src/main/java/im/vector/app/features/popup/PopupAlertManager.kt
index 40ef6d819e..b1327f0caf 100644
--- a/vector/src/main/java/im/vector/app/features/popup/PopupAlertManager.kt
+++ b/vector/src/main/java/im/vector/app/features/popup/PopupAlertManager.kt
@@ -28,6 +28,7 @@ import im.vector.app.core.time.Clock
 import im.vector.app.core.utils.isAnimationEnabled
 import im.vector.app.features.MainActivity
 import im.vector.app.features.analytics.ui.consent.AnalyticsOptInActivity
+import im.vector.app.features.home.room.list.home.release.ReleaseNotesActivity
 import im.vector.app.features.pin.PinActivity
 import im.vector.app.features.signout.hard.SignedOutActivity
 import im.vector.app.features.themes.ThemeUtils
@@ -307,6 +308,7 @@ class PopupAlertManager @Inject constructor(
                 activity !is PinActivity &&
                 activity !is SignedOutActivity &&
                 activity !is AnalyticsOptInActivity &&
+                activity !is ReleaseNotesActivity &&
                 activity is VectorBaseActivity<*> &&
                 alert.shouldBeDisplayedIn.invoke(activity)
     }
diff --git a/vector/src/main/res/drawable-hdpi/ill_app_layout_onboarding_rooms.webp b/vector/src/main/res/drawable-hdpi/ill_app_layout_onboarding_rooms.webp
new file mode 100644
index 0000000000000000000000000000000000000000..5ac890e617f2bbd2ab8a62e6486212ad676b8de5
GIT binary patch
literal 10362
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-hdpi/ill_app_layout_onboarding_spaces.webp b/vector/src/main/res/drawable-hdpi/ill_app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..35f2a0423605ced6f15d4b69dde1a5dcd50b7931
GIT binary patch
literal 14102
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
CT@n=l

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-mdpi/ill_app_layout_onboarding_rooms.webp b/vector/src/main/res/drawable-mdpi/ill_app_layout_onboarding_rooms.webp
new file mode 100644
index 0000000000000000000000000000000000000000..07ece0d94707e7cdf94895a5f8c12b9aff852606
GIT binary patch
literal 5398
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
AmjD0&

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-mdpi/ill_app_layout_onboarding_spaces.webp b/vector/src/main/res/drawable-mdpi/ill_app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..a77bce20e883662421c39b8595f89d97d0f76e6d
GIT binary patch
literal 7372
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xhdpi/ill_app_layout_onboarding_rooms.webp b/vector/src/main/res/drawable-xhdpi/ill_app_layout_onboarding_rooms.webp
new file mode 100644
index 0000000000000000000000000000000000000000..e86bd5fe6b158aad0293e7e9cc1502372350ace3
GIT binary patch
literal 13106
zcmZvCV{~TA7VQ_?wr$(C)3I%v9UC3nb~?7LPSUY$Td&W#=e~FD7;lbUReS6`3TxI{
zYyPNGmJ%1IW&r@ci3uyJD{^W;0{{TTKcx>CZ~_bvl2w$XA_4$_u!d~c#2t2X8^8KF
zR>6p0YwK)ritt1bfDon5?|mhbyuviwU}7;YO+r?jcIX^zq&#2^%~->M^G+;nfWzS|
zR4cjL6%qC#;0-LSYlJaF?&U|%DfbmZOv2g9fVUjUIiXjZ6L3H4?4OPiMF&9%B@f|=
z5cGEC6!QEp5ToWB9aoPUTBt>1GjV@%%T+RkSoCl@>I4Oew{xKH7PvORcZCR<8smx!
z{A#kbwc7X5UvTk$<@-v9;_EmfCnY7VijP+`<O>xMh!hD!do;c$@ks2(1}Gi-Jz+@7
zh{^(Jmzyitaqi;5y=K5@!C3wFR-3zQais{P-Ow(YZCp}VIw%%Jo!PAlx!TyZHZ^c$
zatgVer<w$M5ANU&8gmL$IDQZRDdNrz<bR%wY*Y7+7^gN})fH-;R8VAqkn&&)9&tYs
zsg%;f09|X)1X=XBb|e^Q)o0`D%&9=_Til|5){fVu<7xZ$A%u7g+i=-{1!Es6MM*qv
zk3@7mMXgVAhzfnpRklmpudSvL(83b>of|XipY4_lgKV)VP%|Q-SYW$PQm}WY?&yAO
zkcH)-r%m!$mXWfzY-)x$u9OfC1$}u+duLA4ANZjdL6#u?V;maF(fwa%SE7<$AJgrr
z?eid;<p-+t8kiwCN}$o2N4{vq3xyQC8N<@3S#c#I@6N2Iqj)}Skm+DEh|d(ixL>z@
z7{PS>cJ*R)&qEESL_buzGo!m%!E~sIn&m!~iF<V|Q#}OO-Jr_9PmlCXmv`;Mxc|7M
zYAN!rE3S`%6k)9MxSf_aa<HJAW9~My1@yTNzoz=l1S$g7^iD#_Un|F0V?R`g>%A*X
zTxB{x_y_>diY`hv{MvRAyG5MK?Wn-micdyHqKY|3h%O7J0g!{-NV$|+iF4}<imDDS
zV}m<$%nNa{CAQ1Sj+ESG6oCK+F;@dz`Q;HHvN9Z?_{2`(EG9ucVkD#EUq1Ix9P2hB
zn7B#HrbxBWW{T2n>jtL3*^pqd)*}&AQ&EI>bOH!n1Qid^4)Y<)c(`0Ogj)xZ*&`{r
zhlfXGAm&6n00CqbNhRa$-<R?8pk9o{+Q|y(fl8LC#O{^bviPv~P=`=wRg86@WW-KY
zJ-)%_L3@sj+|Z{;#uL8ufQ|~6ju!Q%j9^h%uBscL@Q1L3kCVVbeB&f(0F{$>=%#gm
zhXh6HCWIsxYbKq|8RP+37LLH|)<=HC{1J?4?6`ek@M6R#j>Rn!@a!kG{7$?LThPFH
z-VQK98xCd-Yr8@tp!t!28ZMarBc2&iga-<sv8RB#+!!JugDJ5CNB%u~fdPat7M#8L
zS$PLcL{wl`15hLuB>;sdmKJ2NOXsoc_A8D%Au8utcUOdZbT7oHM`^PQ!#`S4Bbw%?
z4b`WG!4IP|3~q7?MBv-mZxnD2364g%pN{8!gPfWUGlPP8AYe<;h6n{?vMzyWXtuBo
zoxlWrM517i<jkFcLf{On4x`HeV2DUOn-iv|^YqNhi$L8bCUJL(!i$}Y3p!_f{>N=>
zw~HS0EgiX-!l~*^hAlSWekHiZr=_!uXxoMu!{2RG&+aY3)Ho|HuWuH7D35mf9m$RW
zl!83W3-5s64SP4QcLO#;@sqA)IZU~kGaKK}As2Ntd2(=xiQVwp^!x2gO8bP@C8iv8
z1QbIVS<<+)Sh!D~u6167rnWA6_2zw+;FIz)Iy|RiMPe$Wvv8}YHP>=~fbGfRf>yg!
zOSU*#gz%~f6*WHXkL#|1)Q%Qa<C=kPFk&AtQap$HsEezL=z#@ZZVs`ok6OFgB`42M
zDm6Q=m!hJv_#pa_jL6+vfJ_h{cttyUha0zMT*=m3f}Cbw^PU19eWMqsKi3vncAGYb
zs8vWt{Hn?v4moT2JddDAsUoytxq2}wJlWx1Q(tqPAK$Y(7`c0yS$?28kp4)2Otfxc
z?>#(JO$)L6NIzVX`jC!0f}ZP;4b-&olJ9VJSC~DG)y@RWFL47d_saRgoQAB`+#gJY
zLZ9bFLF!}CZg(DxwqMOwtgG2`O9x37KWK+~k54S~%#&7#lW#F?v+s4F5gX#(R#ub@
z?NlU8KkfN}uztf0SKz%nmoFZy@7Zz`8V;!|)p=GAI?|u%hN<$T{+!`k8V41ioOX>E
z$Fa?bg`K{>ISm!iR^J)oJ2Tt%Z|C%|>!{kHH&xLOfV5F<>k6BrNE%sF#aUvH3Yt2a
z@cL~%c7UB4L0RwU(^hb@9qcsVx-##FC%pj*U(?x!kIQ<^zn3B0M)K00*vU^?Nv$yb
zOFDEyilYNF7)f!4C%H;xbv*j>?3J_<9F^{dRr8yt)>xG@4b)P|ViM1_d)Sy`j9J8n
zIj}#i>b(C;S|EpIGR&k4CK76eQHnPiQ=kjCD>#+U)5|`?sbMXYkCNn5VQS;Zr&C}C
zJqAZt%}sO#@k1p>P59TPSoy;FxaAE*%15Us{SsJckHvN+<iUGxPT~R^aV@z{J#|jC
zjz!cj`i*&~&~|fV8X&I59b*CN953l^k@=$xK8S<|2%TVwO3jR8z64;2Y?$31g{D<w
zXC=P{LDXgK@r+XhXAkCp(nZQswZ=VjZfV|XMkY#ocUOq7(XIE(w5{@ExoY4Bk_Mre
z^)oeQ|9eQvz!<uz4-d3+Z(V1yC?&FzS%k8sN)$AhY%-z^EU}XB!7Zd2ds<i|Yk{m%
zY}6|W^SXRcbl>)(^u?L*f@1hybeam*^H6w^%bgw^H=4`TJwF%rUbiD{TG3#1oGnI~
zF%{E(jHD&vC#G%98p<ZeNJGtrNqNGuP@0D2Lo1E(J~11U2o>I9dWe40Q3{Z>2VkA_
z7V!?dh!#Q8?+Hh2M21|JL-Ds)Sa|~r<E15yq{SNaCZB>Q#LZRWr-UqpgIy{4`o^>l
zsKw03L6gM+6(R?w$JPRm?L#IQ7aH|pgdtr)EjZBE=M(__nWY$>4KLqGY_Hvwxl9j<
zt;$V!Q-z`s{D5ivvm+X1KuTRLu9Oi~ovtbi<Y3^EYu3-|$*rD#c0(C_!eMz}z5=CE
z2fRyIE$G;Ej$a>p>c$N#D5N1YXEcBGm*}_JQ7d^4MArqXn7GO0yOtz+O6SrQGMx&C
zI7#<uiE^s$#CSR%1y9xy?c(Tw^yNmig>nOj9$}O(O$Q=Wl_mxOc^1!&<rFE;XiLkw
z#b{wEZVVt*rd#^?q)-ZMiEG~L`P{Af2xjUe-eL5l##F}-MJ|k^{01s6)1u}m(ztpk
z#b4-SE)O9C8WM_Aqh06N${c?_JL2S3(J|4Ffs1nLEr!?7msbsS9~E@3QYZ2bS2uw3
z6r!fmI42l=YwATyC*j@$v-KT{{4<#5Cb4!UR&<*R9tOEvvhz>*m$7)5D^HVKg44=5
zGsk@<cA57(h@$~oaXKkc8pV&%QdQ2ETN8RJlqOAFPgwO+5|NA?@vBf~Zk3^)Zyerb
zoO{boU-L=3@z6Da<!)6q)D@#CORb-Aw-l8%;BK|V_!SsdR|G0Vz;nIdQu9xDzf)U@
z-Poo0cQ{M^OwP{gJuQyJ397#nZL{Ro!YPElu=yU6U{J|D7K89@bN0adN-bBvVoN_h
zn?e=@njV;P!~la{xVSWE2r?5M)s;Iz3zl7zzx?r!bB~uGqL!XayQll8{)jJX(y?}~
zc$dnaFBMpY3(k$ucwS^A@-yuEy+EbgcY5-~E8I&@`IJx#@?9zB5NC}6ICSo#NoNmx
z8*@%)jbowr2CC8fE^6*c2(D;$yV+{7<OG$qUhPQ7j>NH-rQ%}3vZxY}R^oP`tPiA9
zsN1xj1GEI}9CiihHdOe06pnNV9`LeGDnxCU;4&)jC@gqK?3=MDELE(XwPzvQzdf+Q
zZNeQ$xS6$0xM7CbeXL9~bbS+t($g>+sITGYwWfD5#)*$NLrC|si0gt3mu$4#7|h;#
zK-wl=MEKq4CZ$)_&}+tGbnwb3&|)R=k>9m4XkKL!MPGk$ob=mO#7>t(#f7T@igxMD
z8x<iYw8f4k=z^hpZgYjtxv?qZ8glHI-X<n=O<Tkx#(ftO7PwYMv=*ct^LaHtffHDQ
zxE7}^=Y6~{xbjOg8_MK>b$EZ4DP=864#QAn-E2T=Z9Rvlr>^xl|8#rHk{u7t?C=9!
zti8`4U&m5l&l6QlWs2c=5q?H&mf$9{J$f!QC@U{2hL#%wg3b6ByLfCZ)Tb4#6HZQ>
zX~iBU#SqiG&4yBRf}tLZF*`}HtmMaJOB&jau`tNl0#Odw!Ef+z@8z^vjy@{}@!?>4
zLHuff(=Jb>YOQuK)m+WAa17(xV$*l*<5w>9VCZn_GUTN<^n-Mc1@^}WL^g+S_+WvZ
zn@gZ|qA=Ijupi=`))~KCM`ez<6Mp_cnnkv?Jip4IKCsr>6ebKXto+rXZ&DCThi4f;
zR3(wIN5mmv@`~F$I0Bx+>VKReT=s(#vQG0#iXNMNV>YrMuv(&ZIxJX9&)%DQH59@H
zESOH_nWAe9rcv5!>v4<CSx*O6JB!;KwZuFt`I=<`k{QTG6sKvqpZ9|a3ZoiQyI_dK
ziU>uzRJ+DN=BG!vFj%Vyk$w<uasa_(hJg*}gbUiaiF7T3BIY7a0NV};Ybv79WgD#C
zV|@jpq+&RL3|@nPHc~65f_cDH#lkBT(U5pOWSm*TTFGc^x`3#MZNP!I&2p|!PoTHc
z8q`<EXC--_87MRwoE7i<0fbWyML{1puP~$=8yA5o7DvRHJ!CheIw`Nsl$I_udCOs%
zl@_!}RX(&GMnkGrV-Y-|uRSJJZ;OO+zINf<{Kf;<>+*^MpHZ&4Js=-7M2mnIvi=^P
z2{yd}M$Me-yB{sV;yrjk6>3d&^%KdCxdtyL>@rPPGq%Uefu7XRN$FYcn_eiLqkyu{
zH4U)<DGsi^Z+KoxA+HA(BiB3fSEce2bC?2W<>m6YwR@3OetH1)wa%VK2l}mZ70!Eq
zhR>P^6{OM$C5hEdw+mjf#^-_u8mfKtQ9}jfrZz(tP@W2KdN{}U8~+)lR6-`cyNJZ9
zf|)5Ji?sxC=eRVU;-`w#=9tc&9H}>5wzm2!Wp}$?ac@RWRXXhIJP=20W2{OET6`=_
z5uea@X~0uiVenD4FqafVcySi!hH`IC&&NqPPd#5aar?%CU)7`L$CcQ=%KPQ;Z3pkO
zJ;nFCOm$)=7{*iC>+KG5u2e_zw8b;A&90hp-)pDqX)ued;WS)mz{JH+NmMP0W$c<w
zk?(j~`yEVF6n=$#5!X~nVgF?3Rzb6!0?@bB84vs>=MI;}_wRZa*E;X_oPH`_XOZwu
zUMEH*QPX`wazV{hd7xeG!aSN*?Z?|i23-m=4rlg|Oi*?%D!x;mqADnElFar~7`Q%J
z5z~Iz8SHb8<QcEz&4>{(&Gw?#kT@71x&gdeK>LI4sO5Sskg5f82@+G1Th<*`d1pr&
zh!wKb>WXAFPjt|shx;yFN+3-^^4da#wNGs8w~)Zz->t#nO3P&Sx^c!DS_5?mvqv+2
z8lPe<^xHi(G->6*or>dW3zNj1+kuWMa!^OZT`%{hymN`x?UWVIga3)7MDo6DT;iqP
z;e-ukBNWgSRw(%xGy}N-C4hOCxfFhegj=nlf}70n;9Mx;Hk7%y#eTeDLU5FNu<t~Z
z!Bx1{XmGs^)-m+60&Na7+BT=BC4F+hngxap6m9M~Iy4Yv7a)(Zq6PkUFlQ+m{U~2*
z-voc`YeGSmKPaVR?`wisgeXF^8YiwdFG3ciVstN79<h;%v7xLeub{qw;0)|*Yxrn*
zYDjB%tNCbLv>u8&AfQXV7l5OWzVERjqfWe!!K<TX+kbd$S;8mCdM&%97m_R>#2m9{
zQq~cWd@pUqrvb4px<0cV_6k@o2bcXphZ}<)qGi2Fl(I<_N~GeJe@ZJc8+TBcu?dJz
z?r&;(@FRVPje-aQ0!b<^Yx%9ItEm~d^qnlWmryKq@k=lCO2@D0dHb8FpJa-9ix$p;
zQxXIN2zl7dm%KxYcC6afUlEgbDWN3A(^!y?T4#3+V|{CjP)x}BE**NzwF;kEifpZw
z)K;Q0$6q($eOAl?aFOn{RBevSYK%?vq40?GvA+8{I0;hqh?aw^qYixvM;X(TIg*FM
zQ)7C+5D#SI(`3Q=SqkE{IQf>UF33$E{|MTr%4w-FcikeOnp5Z#4{PKJGfM|{Z{6z^
z;$6oVe*DS*I}XjfgyfY9eY@^;rZTAx-EHiribAFCM=ngK1`~z{m5<z9#kwjfG};Cj
zXMTb2yDPS_6D5GQ1tXKbTOORpt})?}%J_7eftKDYpnRV-GZvcV&M&H<n&!fs7eNB=
z4#ul#z!`~k!T!`=cdn29x=IKGN7Ds<xg<Q$S80c&YgdaW{giW9>UpJ|gjO}ItGpYM
zgyiM9V+-bw&=^K{u?wyb3=auzjhe+8ndrc}0Nq-E#iMK~6?ttC%SJT2u7kR|R_B4Y
z`^AD$uVF_2M`%JkMQn}r5tK+s81t(M<CosB?L0vP`J@Kh%n)lWrI$<tN`2NPwNm3{
zYE+<%up()8bySLd<R-KO^w#FIk~cqyQCw|KZhnDd_Inj^;0uRJ(?a{5o*9G4aPJ;E
zkYovMmldl7%5nT8bL2FBQ@J<=Y$%8cBQAqopK^K2h84S@j(N@40abE8YlCM5>Tq8@
z%ca%T6{xj3kJd@{4?!UP98{|-3Z`l69JBtf(o}&bS%~HX<5K)rYU*sNte4d4eo%Gs
z3mU501AYg`&FTn)wjD8JaT=)+#pfXcN#oY>YoIn^mqaoV60>!YR*b2X+)>gjEo^M|
z=Hx@}(qi8t08lLFnD!;aCOgDuM~2LcvQwbyAhB{2?6{ZDARIEtN!@^O%1_c}pDmIv
z9iugd9Pz4tqMiQ<nxgktp_0gu6utn$b}p>b8dn5D5AdI}yZ3jD0kFUGpL=8KRn}+r
zZ#d73JbGDI8tyGZt1}A}&w?PR8r?_J<3s)@hI&s+i73MyY;C&;m~JitgZctAKUqO9
z)Nvkub63*P&;<AtO%K|CyGPqHY`ZdDMt&k;vs^kNz7=Ws*-lh;K#8CSE(_l?_*Jn$
zH&WqlbI`=2+%zjIh<3fIcA+~uQ~y8VR5tYX%T?7#E{b`n%0wt6a=Yu{7Y=}%Y@4+r
zT>wd6hKp}iR%?!t<-4voX@8}SRe&0kNzDy;Vpqy^HZpgGi7-+!u(el%8MB1~#67Gv
zb5r#{@f4T~+^;9blU1%L{|m;5ibALbwT?pXN}Z$aCt>8Vo61}Ls`*0?MuI~9D#(2?
zrXEf(=ZHQca4m`yZlDZ9U%`)V`F+t<)9|E2+GnY3q(`C!v1`xK#%=y!&44$=Q)Cz6
z5!+_|hEC>^gGZzJp(UbVmY&wu?TFmH62Xm^kRdSywJ=2a#shBZ<S~0CRz7zXUkuoV
zJBNiGuUPbNIZ^pfF{*!wkk=`#N2Yr`O0AwAEUV?~?kT7E*f7VX`GhGdi107MJKbwS
zQsNZPZ-MdSg)6n5g(PM6MlcD>kXwTVGAK9-2f+Jt(1aA-g^~~LVrj_Lr>gi<h3Ddm
zAi4r0-xYzBz|?lV2+ku8rx+{GVzA5bTvnlhJ-cdmQX~+UQFK^laT!5l0MGtl9Eqlm
zAZ>!&32c@luvy}UE#50ybhF^Dg|T!SUF@<4(g-*}%nLEl#vr`xb)<%f91ISs**Fc3
z$baM~1@zQ8TxTF5*Wzft@oQi~BV?Wx7tG<ecXKdrgE!rt`G?-mKskzrr;t%`cr0|O
zRtvG^79E&mf^h~Vm~_SzIuKo;uZSU)ze0*(su<Y;=R)fTCko5&rn3rRfHVVuGWxU{
zWI2&ynnE<*oBl^2$shI6LWe=h8w5I&P=B(~6GyYd<~OzK2}i^PQ5ChZqK%FShX{Rd
zefH7&BR`L@VhMi>&~v!Ux(HkkaodBe20LAOp7H}Sql=HDW1Oi!E`h!dZY@sTO~NY{
z#Dj3JBsBO+w-dBOqD7`zX-9zhHmP$+9CkQRNGvwzH7-7G)tdW`>r`x@4$r58)t<9&
zo!vR*jJ^1v=+J{a{%mH=r#TIQpiP?}^L^CSt0!?6&_M)P{<E__2+l}K9!zgwu7IE5
zFJmNTtWg93{S)0y>)PASftZ6AU3-51)Xl(zoy8e_usT;vQ^}{SSU#UgE(e3?nCI2S
zN*sfmpT%y`XC|DiXr0NC-93vq;xCt62ap;^SU^HVSF!d}7N7^OBw(c^_8D~Au>RLS
zk#nBMmRg<fGCA%HNHabNc(sOy&NI6*o!(V}?eMp?`(_;)@D6bF3_ft)WZH}0A<DU5
z>=FX5`}MK9qnv#~@zJ;sAU45~Wj7*J%%FLo6r!Fa&&c5gp1(nDJ_eG$K?Fo@2`tgr
zBT&`d^j=k@8vEsw)K4!=>C({q5x9khF6|}hdn8m=KRGL|-bd7yZ~%HhRK9<nXwED1
z<(Ml&M?ZD36;@P}w@8M`5q7_hsp9g(IWR)R-@JX@$9O68A-rsQ7ChI+-Ucg)$8cEA
zdSIDnSvb~>v;!%LKUDjZ>i@_~?k`ay8FVRjaYhz~!+Ic0h~D~Y`B|^BuhVm84(TBI
zzLD)8_NZ2hlxz~MCLU8G&Z{X|EGAmkh3xe^hS4e47kI=n{iVl``qV#uyvE~NcVxL+
z;_dKW4U&yCGJ1=FPrFZD`H-LXGq4;H;q&Sn1B)W=_<at<R6ECZj!=}OwBt7E&<N4k
z1!k1!%zBM2-W#|H6p`02?niQ`c#|&%j``ZHT6|&<=5}h)E%ik<Z%N;g;BMNXp{tfp
zWLXKRyNu&pKZ+z)-@W<xSdkuPJR`ruGcz)pA6@wNj~tK5EPAgPCq7GYpBB*1b_SnZ
zrb}lxd84PLTSc&iX<c6p{lOQR`Y+2n20Kp|48DcS&V7SyAc7y=Z}}#ccVo6}ZrzPb
zzQNg=&us>G#{QrMborCNyxo2<^*c615QM=JrRcfI^F~ANEW_~2hl`H!wrIhFhD4KL
z9=y=DA>oTDQDjGRqW3{A@$4t}SO*r?<AlIAy-ydVz1hA@S;%C$sJkM^_T0?|h*hq@
zIEarwf5MZ2KAsyOP3~qU+;nz;1osFl;t#auz=)Czu;7Y=Mw#rUY*p%d#`)PAjJ?*A
zFMAi@$%}I)ML#s{xnHbx*y~RL$?xvyKHi3IK-e?sP5rd~%J=Os=x0M37~6<Rty%S9
z-s4`4KikgNf<_6Z*n_j@$6NENQ#4uHyWsY4IG2{d=5w~SI0$9_Zhh}Na&+H)`g9L7
z+ML*6oVT^&+DgRwynCOkl}*6wjj?2~E%R)@nh9h-@QKL6^pw&j+q!m%z$AxH;>`!M
z=N!e)_mE9gKt{4sV>Z)m+L9%c(`g3v8N!9uf92yIZU#Q{yQ0gLV~4OkkW|OV2HIR&
zwGb3UdkZJO=;&I6koBA@)})81j^vhgN7&$Wwb2c(kh6L9Ew)%4jW{FTZz@qX99DOw
z&e}N4s50BvB{quA$EYe%G$Z{Tt3QPEH`?H<{DnB_fY#f!h@e3M7}+q2JVbxGsDGsU
zd57C#1=*RdfRNi`CX~W;0(!i%(l4y<pe%(~(X^|LWSCBA6}KWD+z80<HC+ZX_=S|W
zB^%`Q$4~c-P2OM8$l&9K3W21<(xN7k5DZ)DgPVLTzkG@tZk`j5M7g3C`<9tN%^l%!
znG-9`*<E!ZuI4Jh_T<I`CU_WZD0@ARbD}wObsn?(s>dCOmommEY5X@J?F5P;j+SNZ
zY7e6r#?L;4Mjg><`XhMlc~-FOnN`Lm1Qu>D`P+F$QtwXI8ff{UJ*SPx!ka{xysi@N
zKeK*Jwm+NOoo)AdJG*s}rMEhZeINGws5DvF`zZ6<uoqBy$Ynf;SGy@jC_%%wmFJS>
zL`mCQvOn(K$j(R(>=D$3A+H>Unogo0W6?forZG)IdGO+>+Jt1YNE&wax6*hxU}7HV
z^Hvqt2v(3iS;!t0PfVY(#$NW7-Iw3iEra+l3$Ck)?m7{i%o$Bi>N4p(qxH@6*B}xp
z=LL|qZP;gHDvJs3wf8tQ?)F?*QLx}T1vgMr`7-09%4|KdU^@g$p^<G$lrsr&{Nl-e
z4I=(pF%i13O%cA=`Z?^{<5-AY1%^GNpb3{9d&!(s-Jx*Cd*sf#wR9)mUVqi+V}9dB
z#u&`}?j>JS?<2-di<ddZR<j{rTO@HCBcuc8RwjB~u{F{Jj^ZT}MBzG%m~%frIT4>T
zC@GLEF?D!&dB>Ajzhsx)Np)z@86hnjn^O*{Kfw0R?=-2={WC?`42L?c0^GcBZaCBi
z{uYSr&{+fr2hETyWZUL(4pfyogI+|z`k+`|Wtq)t`MF$+g#!D118Z~%`01#mQFZim
zf<eu%Z9jYRcAXL3G;d_F+l#Ig<L-B;u*^??fqk|pSZbij*uDH?+M!c9!!nv`#mqGx
z78c8a4!p=P`k^2sK9TkwLD#qzloIl8(5UYSi9W>$;?Ix273reh%*>HHp|Ma`Fod}K
zLrpH{ZMkO%hl5l@$Fe(a5c8NZ-}82Hz6T>GDMtpDqVv}CLQRrJtzj~(G??%Wse3En
zg;(v!u*U&(s>DdAWXqK}^u-yk@i0w;R^B`sViZ{Kg=3^xpMVp)K{14D>}=MUqlq~`
zh4IsnsHF<TA?dfjXKRIs>Ulsn@~B+jlz2MWNxDIpq1bx8k`b3bi1y1X;~EcS7*alF
znLTBu??u{TY2%tZj&_lD>89S~jYDH?0Ib<LfxYoS(y`@-7Mu-my_n0U$GPL3*aNEQ
z7lvc`aGn(3>6IwFX<~tfcuBTd(gPPlOuQs7Bso_+Jt0Qi4*NV)(A-n^*H}(P(v#9p
zs(Ap9xaYdgDGzRT?&Go$JBec!Sa-lG?xE@*hqgI)@g@jTSlQ7Dn3K^>y}`@76kMw-
zy9V>2PM=BDPG+sI?~T!5_|A3KA~)~kddw22Rxmr%rF$aq&2R&aN1}(!S|UiS8DJuh
zRvdE&);`dF60>ROWX=_f_jk;@20PcC#zmXclNP_5=imcE2I_Q`q#=<gE`}wusK$Vf
zPUuPBpwpQA%*jD6_Dx)jOiht%wuOI|W=@hqAX>}ZLLh6_Ig31#V~BDBpF2;n;6}N{
z&_rtl44ev7epTrc0sw#RP!O&n0RVMJfNUV@e&ADJep~ib$s&PbBEov=AJ=dZmUi!0
z>2{+%y#l~Jf&wAl%Yx9H#DUL1uR!lWeAFlJUhm1<KuJf_7))F2ADk}%esK@PcR+7a
zuLoBYpXTon8W48~w>kCQ#eM+<O?nvurCZ=zO$4p_K>jsb?+@jCK=0PqB=;m|;?YYI
z&Bx~{Mo2`a)YU1cIkT+X5C>}iKPWzw`i>J6K6xG2xeygT1s>%tf)uM5f6HAIyT+kD
z9>%Vys3>oDhH70z5J=gH%`0p5{t9ACnGqkT=bO?4y7oI~A%hEFn1J=!2v&CgGlNWG
zcMVPJ<X@N$6&0O!s#yGSA&#v1hL$BTf|nH@?t!pV6or-kKS*Mu<K*}aCV2rqIl@qU
zX!b9d6fyyTwNK)fu?SGBE&XUeMFqq-WB%1UEmLPDSq_Y^JPVy=e`Rh<s3P}~a(LN~
z)~&A1?`M!KCNjyzj24XA)@3OJ!II2c3d`SMHjSSupBT>2NMHb;c(dg}9({#V{i+vd
zH}ro-{1kmUM3rIy0OB?+XDRsTZ48X?JN`jLSoqwhb$~%W@H8<o(Z*c}TNlR0MZmsB
zijltX6R6$mzTc0PvVQC_U%Y<^7Z7b(9Dig;o$^<j9j+O`Y%HM<e3ASG3`3w()8~h-
z;SUg$g>|g|7!GC6{=18c>eDY@@C5phI(0=E?k?w5Vsv~&1x_<FJ-d1AN)uVO=)d`$
zoE%dtPXI=~l(0Dgi7TpEFVvVU!x{OXZ3dcfaGpUPlQiR)r@y?M{fR#RXG8yu64M2Q
zaq)O$4vY76V^8t=e=(b$4DHwITy7XTKk%3vs%+mMn(y^v{0q9%jiirK{_=0k?y{R1
z$2mf^53gGUaq^EH<Z;H)V4ruoK}!oHAR!?kelTBNUcd+;!g+PfMnBfAq^DPN{ogrK
zKnNHAkS-?}u!p@?tL$k3AACED+tQ*}bUTX&b&$vX=akN|ggIYf3Eq|V&p^|IoUcJA
zg)(U>iSZr4F-tMmGVf~P$XPPIAsMk(xH7vFsKXr$c;VM7OfU<4tZrBa%y4Q7Z)nN?
zmlLbm0tW(XAFJ8YvoP)yOcFO)-a9!XfnCu5F+5%IKfi6Mg*lHCf$7DKx^Th!gCVvm
z+QRvvUjEpHgoN-PLXmZc1eqNouKAgWVw^sCkhV(<U+^~mM*g79<Ou%GT=vk<4{o<S
zB9aE;e*r)IZ-<i;^y`m${;$DY)*}mL=hpe>I+T1a2J}HvR3&!*Q0#&*U@23;<UIq%
zg4iYXha32+NltV79j_m_Y%u9@?SfJpYHG|c<D&n?w5uln+8?JC313N%<s0a-8cd~{
zK&K&gk$n8m`u?f^S>{_dPe!8`X<<enwTHBlKvUlIQ4l12@Ze0sf6Nv21+Va5E^$hA
zZW~5dZ*oTL5+nAN)HjtNe6A<a_}d}NR2~MhWnfW_jJn)r+_0)ZNxy#}`CiX})&1A)
z%yb3ci!6a+I&}na|K6k=Es%U(KJL$k-+%aX)BBshDOaBo4cH(xmCqqlHD&8zQl^@T
z5hGsINkNDG5+jUq-k%V{p5|k4jqiq4s&IS%_U6Cd%Yd?3nD5+TYQ`3$6{(_{r;cv_
zMLRJ;iSEWmz6Ht4JJ2;+``jq2tV2-fJp`Q4wZdrlU+_zJcXtcP`w{!pMzOzcG+P*N
ztPq<3G@F}DPFMQ3Bgsyb5hTSBQrn4D8K+*i6Snpj?x$KlyRQ0jHE*!PE^gyr@FjmA
zfo0%xcXvkz^)3s2nWZsi@6;Sz7$pY96!fg2=)R$)9aLPgJ8avx8l9Futtd~ORwgEx
zHeZ*j^7+g4xyS)vFbg>f?#R}x5W<>}P&^eCCHh>Fe=qU>RbeNo?(P;^kcEa$I0RBr
z+ZAlM&M+!}Ec_RSN;D?N13S^73B+}WxSpm$t;3jP$y%$yquw|a!bB@s8@(bL3uITI
z^f5zD6^Po5|4xw9s2>hT$^(Fg>1&tfd$bh`<!20QUE~pe6z0^tRB_e|$k<e|V=>kC
z55s@bQRl<P##)MjmNJv$>oFJv(Zl`0g-owvO9}T=IjU8(?!R||n1G!oXb3a*Z$2w2
z*8ULnZx{dopL)lCE+aDeF}(17=H_z3bapECHS4fl`IjC|17FeaV)kG{9)sD~PDDTO
z`Nv=^z*0@YQ8mfAf9K0fXLnCurX1-FNKTsf0v4n;Aeq*ZK1R0>1froTxexM9U@M%x
z&#%XeSa(|SW37C*u)fv2{xccW_+?9o$gKa@H5uFcxF4&E(DXV002^qUyZhsmKz2cw
zO%T8!9e!XHv0_mJ8%{fv7m$5}@O93@uyY+V{`|3H{B=wkSY*bqR`MQG-Lh4y{u!sW
zs$Z<Yv8;&|(H(1*eQyeT;^pUM?^WaGu<C>jiI4yQAg~L(WLlT72g=|T=2mQ8NclDt
ztawc8;n(Z_MkL9K8XLHps{{Gd4zj%XM1IIw{^X`yNn!Ajh?4}!FP!#*d_!u>-E`KT
z&g*3rOW<P@^LDW^p)WfQIg1QNB4B7GR5U+JDU)fe@H3$MYO;bYTZ(!==oSz*IfG^2
zU<!)HJddH-ABM8ScoMU3ph^!+#awcRhD0}2L(#UtRFH&)Z9FKZ@|35VIC4B0^KZlY
zKA}Z4q{PFTh%XmN2wF2W8fmCzI}jiNNTIajp3c12J~xQXdMKtbY^U9C7q5f`K4-c(
z2p-f^O#@B;-JZTJ++ptZ_=HgKH0Jk?m<L&dYgn4!USX2rkqT8F;JrtsX8;Do*(=X?
z#xtMCjBVooq~V_O;8e;8wfwk8LFAjCp}aXci^zLF2#{qe0HQZF9I$!(A*6$%0_m&T
z4r1hil4$r#(4#HgE9f}i=@Sr&boav7XV%A_pPc?%_5joHE|QJKKaz+6TK&hX_0C(8
zyKigzQ!E|&;Ob+XsDpjn>unpE>~Vii=2u58Ae7UF)kQ|(+fub-y`VZNc2GY;T<-E!
zEXk%`8~I`L9whKb4icf>7q2cfwwN{DU9})w7~eXgQ+0mjR~kAlUp*zZ>p0WlTQCB2
z&cum%qf0UhKQTO4Mef%&8+OLK#M9R?c8r`K?pZbgg*wCSJpGS1<@`&(M$}*0`LYT7
zI&`*9d#3{S_foZW6xbg1OyS(m^-LZ+6v87R+SG+7`$9@nHx8NE1=*SdEa1bsmAp?>
zI$cH_tb0rV#I$CK-LKRtn(y}VaV5LcTs?7~HexWVS=m;|`eBG|Cb`Kq+-VIqXFGNY
zbjszIl|Amys^Llf4OdH9jiRK6NE5-h=j(1aZ#2@kCrmNYkD|0Q5iH*~D;*veifgRS
z!<)vW%%c~b7N7U{WD6aixmd@Wf8l!ov5+uN(?fr22qZD?33|0*R*nKrX$WH$J=J5V
zj==Cs6~`(v534@g<~ELrx}t5@A_Wb59W~iXoN{&;2P9w{5H9FR&SXvz>3_^S72UB_
z1R<`pKBQ*?aX1y|u{Q7$JQUnA&B^6SxHeAk^fvG3cLZgEhsCN~4}074>|q{?L)Tx~
zqVQFvb-#XJne}(u3cr~O-c_^+M=2*FKA0xj&&m$@^0Ug6t;LR>$7zUhO=|pY@nuRO
zY3r2Oa8rM!Hb<P<!J=b&T$+=)OrQZCE+GC11AN&H*2>7A7p?75(D(JZ4e{0Tr`brl
z#>5VQ)usjjkOhrtKKohX>^iNfR}rduo)ka$`LgAtE5B~OhH(+B6;cHBCi&d<!PZYV
z+lIE<No~u4&<mFV02~SUUo!-+FFJL|V69Dyvji$2wiy)fF>x1gec64k0>$}L7^NRO
zAQ#=_zjA8SMb=%SCQ23XYln_rp{5Ix*7z@?(J%)U#z2O{R)cT?i|E+4^9cb^?jT>|
ze$x7LIQ2N-EkCfP@tADIBV%Siai`g$McQeS9vmDX?t1~b#{uUnI$qtlkGGqc<U4_w
zm7pW(qdh}XHoX8K8^nA8N2`5RIIdm*1Jx(Nng-fAP56m6xU^P>yNz~?X;^NIYk(6<
ze{ipcLmAAVWFVU%#ODOgil9U|FL^GvnlL<Pq}J-x@}EQw-E=W{7PZo-y-=W2CdYa?
zK85ES1$X9Irebs%_w^<IWhF0pHquYc9%b4kGaUC-$R-P9-4qUu(E;lA2zs#jMBgBm
z>E{0wJM($7ax2e;fa{3E_$OrpbR-YU#je*M>@V97_-6q?Nkwd?_#fwHXh(pwu>Rm~
znRKVM@Oc1+Zz6SYQ0LiR%w_TKZ)g*FjgySR0;XNExQ6_de4Y0rd29L=-(7Cx?-=JJ
z1N1=XnllRHlgiixjT!BmaO-JwAAkY?c7IY3Mry+bnOT4*C|aOSr_lEX`&v}nDl+}a
zM+;0ACIDYlFYJJ(PuFs`r(y9XmC+fa@!G3<E?urP4fCQ<rn#R=krF(6(<E61@4~B`
z{&GctKv_-#J7(`VPsg=nKPjz;<X=VsI>EJVH;h}~(tmONvS|`l76im0dZ^?3t_MFa
z`y;2!8Q}q|TjcF(oZJt98;i|2Yvu`W5DA-@3QJX#nuH9u_^DCi)Kz7K!>fb(O?cIN
zTjou!@-v?mMyb$Qd2m*yhaHP40)Q-E5?8*big^tbZ-u~BM6cG3Me1bb(NsfU>4rxU
z&RQlI2<;I5Sq()?7)k&DH{9JAv!=(j5*uVg>o^nuNrc9y$?v-vje<mGZQe(>N}5EN
zf9WoBRQq<k7}kOQL)!Kz{)wkECwG@uXooXd99L#C;P?DKZ68h(w56iZ^z!gI7Fdc!
zretqT4L2gTmV(M|_{TXf8<YAY0Fk?$b-eE+B~N?;L})p(om8nPZ^@>BzOo9K*W+ey
zBo3d~BEnZ1_wz1;>(Dh}nu2BI`?o5(%E|KeAVJ<!WMt9Wug@RkZn<2Vqq(R^NfOdE
zTXQhoF4m3?=2QZ44ul0ne=LJoF&x|mKozRmZb*%*MF_G}jf+PZEZ6C{2y-^sz(*cw
z8IS0y-cSKi7s<IJYn!%f{LaLPQh|LpZ~_3NPRH)?AZ7Dk4xvcWSrSG8wRYErby&W5
zRP`Q&V&O@1!jGAlsN+wt1<((-K?aabX@#9wLvuEB!SAo*oDj{ZW!#%YnDL;uEEY&e
z!9jN5R54ODj7pG^L)?{C`X32<T(^Go$GX=yhpv{7%a8qN4#j#8BzVk2h_^=h5y97D
zw!0BRrw55%&^{Ln`=FlMIS{LAj6hZb<x__n>+u`{mGg1NIgo{LI*8_>z#GUu5m}|R
zZ>vtcJ4zGHFsKnO;5neh4+<A<K$tD~73!}IAPft)sA5)i;D%5@;{{^YE6BUj%^;^*
zYy#wAZt#cIzu>YxuIGlJ^I$ocYLaL`hQuo2D96BZ<05ZA)0;?KyXolzLM~W*?b&5Y
z9?d{>mITwDuD~j?i1R>M1p$Ek2BlNh7^X`@t?l}uK2x_Mrno0XEn~nH9{Ay(V<uTA
zf{q8=PF^9g-kC(KkSK8^oa@M;*P>aaro*)vQObz1a0*zeR$2xcw*#iya~$&NRm&!;
z*Zi8#-j1cEMAx=^_CA%EzT}!V?8UFU`@^Ozpr7PpYmucFo1s@zX)m7{(+X;PYsa^Y
z_PTWi`pB|)%zN7Y@1NwC0|TPAQIDf6q_8))@`rjk^9?q;y#N~73#BaRF>wd0JTe2o
G-}pag&M=Sw

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xhdpi/ill_app_layout_onboarding_spaces.webp b/vector/src/main/res/drawable-xhdpi/ill_app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..9b5b9fa607b45769a42a01f5d0f1aaf7fc16c316
GIT binary patch
literal 19894
zcmZU)1C%98vnagVwr$&-Y1`JcZQHip)3$Bfwryj&d)lwhckaFKfA`O|YVE4pS&@;!
z%!mv{2~p8%82~^{L{MH;o>Ltf001C<U;e;=BVd4lw7j?kBLDz|C2oTwkwB>8G_!yD
z#m8yDEaw<|`UQIUwTNn0tU2YrG)wo}LfSf1$p28<eA&w8`TM4r`yJ11MSdBdYGsk#
zIh=hKF?ZYRXJB7*xx@QH3QrvEtJRV|xcEY(!&=plHD9a;8yEaWGaTvIo9z{;>vIpk
zur#3IE8VplH16R^{jo52{6WN)5%4;$LAAxKInsDQXrxx12rp5_p$wFnu%0L^!e0_)
zftPAG6_x=Fg(&WJieK~fby8)tvCP1hGgwTH@;ku9*o+-+YMrqXc!1lk7XJ}rQd*U9
z2$)4<RhdOd&SW`5T3){N!Q)5NXo`<V?Xl7zXluUp@A9X-1EjejwDFhXRq^^Q@$++v
zue##PbO-!R_gZ{Z{yQJqZr1@&wkSyT#wyU{>TrSG`zgs1)CF6FKVM}I8=pIGY_4QW
z^{Aog6S$Nds|YOrHlcJPb(?`Bc6nHCvlz08!liBZES3i!gw3LYkKS-djoPbWYY=;X
z{x}aSg1jmFdpH50!mqd35ntY)`UgJmDtk0tJqls#GxQ=8UP?iX^G(NUBByaxY#cZ}
zDnYr2zPHhGlJSmW5<~%&q-(8I-YIguqIW!A^$MS~J@(JEz6Ws}IjDJoBDos3pJ>7n
zc-8_PgaP$UA$g3Ilt_Z|YGOM(a7Yr%8FWPq1*ubrEcM34qZ}Io_82fDncm@W3d32~
z0s*76Z<mts8VT-Vub9b{=b=tXyByf7s7%yzp{WbrX|POd_@scT_MjbFg($Cvf(NBZ
z1wK-56Kpha-yMtH8LI|X!KnVGVk`r|B~<F&1r))xQO8t##2rh+?o_E41_>ZW41|+M
zZ*XFAXC<)ecbXi0V6Ux9?*=j-OX?|3q=Ir?uzZr*-;XRJr$5KZfJt$H329_rltryr
z($HUb;Z{*akzzSxWj0@Yr1$ucFxUqU?9x*v%KIso0}i3`3hCWTzYU5(L?eJJ#_SrJ
z`JI+R-6SH3*c(xFj;?_xs*mop(;0n=0(1QMpLif7QB_)mPnUJWh)KX7Xh*R<oZazt
zhlQ4n(!D;!GsXHz*!Y;#7y1x0xmKb8-rEQ0#9#uFPgNA0KN$*#shC~vIK+AR9JUjn
z%pyCNehS8~$ER=@K2g}jg0_4{TR>yGqZAY!&<MhX4aUV`3d<$&d^L<A>LNoz^kI<x
z2A`e%0902hElY4u1AI~?pHSZt83H7c!k;054Xv?fyq^c*$l$Z-g03@3de_48uDF+0
zY_0dI#*o#0hzyDX_Q})Bs#TTg*l-522GmvfDwonV^hy=UOhQEsl};<Iz{l$rv@)1O
zh`}(6=m+`s<l`yZ_6t4lHPTlkj*jJU1=2E*&6^oy1;T9eO>Zh&<;c#8Fq|Q(xk;h!
z-E$Ex_xXx|sJ;lFpmb1tRscu=;~E!$ks11EFpqSq%NBN;_PDtRp<R8v6o3AaCxbBq
zs5p=<QY|s+x?7dENhZ-)&jqsb$5A%n>V-AJ%`2k7=*czB3B<5QsZu1JZ2dBrA9rM%
z)rl8dqG@Dh7C66j7s=ZKj)`-^gq|P8F9|6-{yhBp`o=J2IM?63lx?`{7@|_ZN)SLx
z%Fx~gabtvD0&VJwsV;FlC2{=54@QkG3JJC;c!~nU<3OC6356V>7L-I)@QS_Td9G5m
z1NtH48j5+0r44CNNbXa5PnpD5@T69G(+2dgCN)^Oa{}+7R#}AUkaUBZqepH0xi9y#
zDL|~)sEV*ANuoeC*uRc;f9;OxvKAE#fh@BD>;4I0jR&OV#bCqs(^9Yhh<uU$F}wjO
zA&@URwUS5b|M1wDpG1nNm3=7!r58!*?E;|A#E=G1N-k%&gxBYzrctW85WK88As|9S
zIhpN?VUXX1V0_IV4k8UjTvRR;f)`mJ@RZn)$d{t-$?N(lihN0wCDX_^>q+DOG6Uv6
zQ;cY4)G)qeHE%o(>=QBhGZN2{IVVmdUQAuIT^}5-e}e{#D!*#x<l@2>pG{wY6_Ib2
zI~vc*$;0LGe7)rx4E+I4DC|2hGo(g{W_YaD9)^wb0!FLczEz5kan#44KWwK~f%XAj
zx<oAK@)mK0Da=z>E(=2Hhe<NGBUtIr8F-$#Hsm7?tSJHBfN>-DERUWN!Ms4I7$piZ
zs0F8^rbmrLn8vz+QdcF<y-rI#r;gQFO&f6(&x<vy2)i%SNwoHJVt`CgD%_|Hvj=B2
zgG!$Q4ztjmJ!G|j_=;Rz%YX<fJ|-Zf7~MG^*NAYngf1u&9nBL{4dX1v&mis8Wr2LS
z)A|RE^q~-LauGu1hcCnH6DE_uQHQ%14tM6g_U_}GX~%~|xdREWH#`>N`!))wBSk>_
zfu3na9~vh{bzkTDc=SGXR#laz1`8YZVCJB*=8y8#bRF$tRT{$(NmGrpYJ0HBrX}@m
z9(aXTerqOr?34L?ulH_V$wdR`PlG;esFHQYaa2v4DMc#9H5oVwvh%_e&vZO!R9Aw5
zQA%%IfT4WA_H3jrt(6{XF~=Xy|5tZRn(9PfG=6lfE(*2#h@ptG^g7j=+*u^d4M$MK
zH=_rv5!F5=c?Rg!wEXZ(xz?C8*?;#V63o)HvQKED2Mjt98#j=9bqS$WwrX`1yvW&N
zf@B`nBLp(FL7<w*ql*&xI$z+BC3<rP<-!A(m!bAXM=FqOK?d#qqc2?Q-V{pP)RX-}
z)Tb74W7DX^huwW2=#j|t=ea26UEa-hp#!io^@W1^c9B*P%Q#G)vhgku$jxzYm7Eq%
zh#eYI2f}7V)rJ@VqxyyrmbPf{VAMdYsXRY5xaxa%?sa}meadRl-N@}Ya%2F@qC%iR
znuv(!xB)#2StYci>P`Bkb~+}VxTS}=OJi<QVbNN|UIharG%{8MgQr5iKY{c(GAV<q
zwQ`CcY(%1Wg2V_gpePm!n^JBv)Ysks11xX{G_fb#u%xg27-!E&-i{l$`bRL8ysT-4
zkhg&!v&ee*F{}TPB-f&`92JG;-i87aEcubtbhc)s1KTf+%=~&UkcuXwX*=cd!svWW
z+@?|G!6<;AW-v+RL<@wZJ4#EGA!mTcFHsg$k-1NVpjKmW#0>0T!C`b!>AGjc7Sfw}
z3TM@h$_(QUMA4vAF{(7LV7s|umDJ$^7CaQ|^D<?`-Yh85I&{lu&5kB$Z$xkeD7Hnf
zFz0o}(8l^@lq_(>a|H6SE!dsay~@P=jBPf2L$Ca2W(}pnhQ_n)_3G$7=3{;-28g!%
za2u+|$f=NYWDe|%Xa}w!S}bIw2C%kq$7}osu@Q~G^{m5#Nrkzw3txj5WRn76K|ugG
z9cBu3q4v)4w^-&O;WixB29p-8{K4T~VFf^xK1NAj#^I2=JAij{&P`xX;v0ji6Vujl
znaaDtmUTk6BlG^M2|%~V1<S7&mQ{-V?Uz%2MpxqOLg_hJiTDUDZ=zOk!{kP>jHrl=
zGA2h1MH%GA1d|MzesLOo1g7LJbfDvcCM6nO5H4ZUNKI;Xkx<HCB?>(7PXbn#3c*q=
zF+tCini&o$o%KZ%*~Gt6Of4$pMUGwGbc$6X5VscP3l#HZ9kw%`!hnaUo*hGmVnJpp
zWiRi9m0mF+0HUHQkU?>UZO_qt=|huG&kY_fb!DN-(!?@p4T7m>dQ<yLqy?$L?$`?&
z7RD~MF7jpn`kq{}Z`Wh2pGm+dT*?yiuj@&ZEwp-~_}>b|j2SidBbPC-o)P-R;m$Vc
z7ko70q5wZzGH|Os)3^~LWZxBGj~tNzA~RM}3v|P69CSPOAu}WSGu-u<pj3{0JBWMl
zk|+<ZiCF>}8g!tR5l`)Q@1_3mXst6+OMPz%M~kt3Ub?N3z*zgAq8^{tAKYojWpe_T
zCUns#dBLqQ+JkqS6twiV8kFG9tvxP(cS%v<OdW9GpsB!FGKBu|LjHgC&E4JW${<>r
zo7wL&U<=Vg_ANlWPvOjoff$AG*f4`MlpDiQ`BD#L&A0<sbvJm{U?tVjjw`oW2>TX!
z&QJ}{W@`<-arveKaozd&>z!Wj<!7s}H1T@m9tcAdZceRvynW2#-eRwQOB0wW!|HnX
zS&fX9RMb%v<R3t{id0g))tOEq;J7uc;>V9QsBki*8F}|Oo{snXyX-^GJ+M%u9$|1j
zCMl%%X5!{cr&S45lDy5k*R70FhQ1~iTe$hfy;PITmHl9}FMlk+$Tp}fF#2UpA>HKh
zF2`AcH8f_0o59Fe(&F$pz0VqT2#=ey%~#qYZp%Kihqs=^0>LgJEtA?h>C8T=)c%X~
zr5Gu|u9QKw5Z#<&oFlpt`^Q{M1x_C^r3N5Pu;)~_O%uaJ9xioCPmxof&2WELFi|D9
zFKLh&C+GoPuhlyHTD~!OtbO#l0=!F<zsoc>U)@5yS|Qi36&e$|@Ulc=gu_ItfULL=
z@{oO+YB88fC?Q9=T2x9z7Q$Z<g<qln^wFh$b1zDCU6XOle8fbEp0x{wG0blWAfNv>
zUk%ULPo3v6cGMdm?wCp^4eME>muvK533&OGCic6AkTEi|pn+?rBg_>nhOMjUQ+;K5
zB%zu1F511kv>^VW{cV1Z3~N|h3`@s=^)F$DEFoF}{20L2i<DiMOq%>^nd^ZC)Db_!
z;HPC{w!1tb?z6JzjUWe|mMI=v+rUe7{thb1Zg`Z}`Wbh?Uw1xZ`i_d^If#HUZ1_*&
zHnW^e1g1ZQS?hP~CP*dZtWa6B?~bSbe7Uu;PiWN>mjj|grMapUNRb^w&K}4A__df7
z^f}`7u|h}YO>=x(2m_DDU6_XdkpN!EfT(5yJI_<29&4?)=rN)D<*e1w3gWMcEQK-2
z=YYt%+b1mf1^KYI7Lb|IL?%vyjN%df_IgvkoFG2H?%RL;wj_h3(ko-5G&!gew%VWe
zl1!gJ929oEnP5Mq9fgmw(S6z`NUBw_I5^u<9dE*vRD4FP91DU}9G|;32d$hCfN~;9
zg$t&TeYg3t#~Zfxg%u~fNu#v9Ol~NfNl3UJuHuYMC~ieH%6g|5y|^1J*PusP8rDW8
ze$3}t@~r$OKqb)GVF!G%T`N*(?qIT0#UxFO;ee4*4S${RFcG$`fV%BXL$(a;ED&#f
zo|@ix3h_5A(!`~3%|!$zi6b~k$@DU}je+myy_Y(8{KdMeJ677{51v#an+o&hHs#B#
zfy>~j22G>#IUZtnuGZMCaY74fvO%k7I3@H2D;A`Y-SK)F&C*{A&7;uawz}CYlj^19
zPAg)a&&Z*)89M_?2asLZqg<NksOrL(FukU*bSy|PJ?9sm(MkmQ{1V*W5%1WEZbEgu
z387~Vdh3amg@Soj6YQpabrUE|-5-C7S11X|%zfN7A@9hy<7j7F5$lvkwK8INz4pAg
zaymNCR$m_+qaESNNgM|kiba>qg*QfCwX;?I%#NkRWd;Z1avGb?w?nXPUt}#jpH`kS
z$nWt?kfrl9ZHh&k#6;Gu4KUb>(2Qt76%h5cOPlDbL8x%59XeqLZF$&L1u1zad$~1=
zMbCw)#0}spbAvgG2`r2bDA?e|AO2KfB@{abLqw$XFW1;$n--gHqBxARx)Y5u)&;Yt
zbBMrEOY1S^7?=ItK(LXyiF&9Iv=WOGSMd5OH~bAQtC1$MNjpLA%kvzRPym%*bw=lP
z_Y18_foRk)Oa&oN5xYLFB|716f__^N58**k{>5W=Q>M;ol&du0U2-K7O;C*(;&xC0
zS(}M=DwP*l%_-P%$}!SbR$kU=5wPZ=Z`Zt#Mt4d7z2Kxj)cfp&C&ugGrR!nj96r`F
z>PwuJ=_(_<B#Rh+%>EIyKxcW|Rf~ZlALQByt<A@eIfg~Gp6M}fhIDhNl<C;Go0c+U
zqV&~}=kDw53bJ)SsK7(U$J06};4FBYN^f&)%yglTb!Ncba;lnvIUSq>?3wLouY&bQ
znnue6JX_gE))=DoL2**1F)!>;IxsOqo0W*l?`4nU5f5X$lZ{2&QIUO?IFb;dKxf~g
zp1zHP`S(kfiPSU)k_?hWd((iUk68VZdhRZ9m(DTAU5u7w4I0oRF7px!TlMMe5h+GO
zIz~{s2un}+S4u|zg*aSqUfjW@xG|E^hr-4@SOX^uCBMH38Eym!y?m)^4YCEJ9yElJ
zFpMs*Ox9Q{NNN#VqLm5PTG~a%y-K2@S`#+7qosv@kgysI7(pl@EdvZEs32T0vrk=^
z+a!?yu~mUlvemwJebah$5ll#eeOQK{8YmQ6i`p=W_9Q&M&^$6eu#>y7m`k86WU2;n
zLzrMRgv=4I2wPl)<Inas3W1<r;b*Kqc3pHrIvH&fk)-dK(Tzl!I*Ex*64KSNR2pQ+
z7?El_wXP=%TYYeKHa(knUaLkrC-1(0xB+<`8A<+J7*eFYAENOwRzUQ)&<Z0e+W->Y
zL(EYxKhJ<np0!aKh$A2$0H<*ATUe8iX}nVJB6VQ_rUS~lG9byHKXOV45`Fh_20I2x
z(unGpJ#!5gQtFTv<mBLe9LLSP$r`lGiTKi>TPfF8!9cQ6G5<k?-b`ib<5ZI}QjBzz
zu#x-Jp}2@Otv0SQWIQmOANX8lE+t%<B*cU1!@k{w0Y9bCMY1K(^k-$RA0Q)MS(0d^
z!ZymHfEoxck(B+0M}>&NT~igw!8T@AB0^0OZ>XMwkQi+;AlTXHfnF>^+)Cx%E+iZC
z6~qjG8HUCM@2F>BG8N_m4A<n|g$(sH!>qDD^hY+79qv}oU!hbO>z=SeZiV-4Spyu0
zFnN*D(1qG~f49OcNL|0_&G20O-_Y0JK?g6@P#DT`0(8aGqdw53P&R4wr@(Db=L3-7
z(8Qs{UF^vU?=`CG`L*?OV`k=_HEt2{DlgGHE`KBO6)$mUIPs;V-=C|N(cnxJOv$RT
z<98@PaonCgVmHKN`smL$MjH(yZz<tL2^;B*>lG7=7RumS>t48QNx~OezMihQH=@^1
z<9uub;R?#!6Oyjc6FVpka7F>Cq<rj}N}Wa4f%{9ZdGey{Z+7MtbzZKx#9}I7XK}BG
z7E(7KrU<U$G{vF@MCIN&cZ)()FrsQsjHPtLA_tir=Xxo*!barbgn>_8?wU&??CV2H
z;v<&pDLPGgM)!%=H}|94LR!5Fr3w2ReLS&F>GD`l@V@PjAS&^b)v=%J#Xlnt@m()4
zh9!$^H-v7+MpmE^>XEk~TwBhWNL6&1;T#)sjM=b$pyWhHi{Q9G+>EL6w`GR}0k1t*
z3;b!UAce8`6>L`yN0L}I&etc?Y|W$I;R1RcgmsjmeMJ~{C-MsqMX%>*nbx>!Jvk<q
zs(U`Pk;!dkOXyz2hW^b4&noCLdF_`0<gj<ou_iWv%CwHh+qa-f?@zdj?`=fHGbt?^
z>f_5q-*7G-Wqku+!|>pI5jaNwu+m}$x>dRhmJ<_}-9?87TB*ZEZIn((NI~Z!*7E9S
zh`==W)##wi`C#kCMs#%abEj?%I7}JsWW8dw@3SZ$X)tcmAWZr_U;E@j;q)3Iivs35
z09vmaJ}~DwFz&VHD^8#5KFd)mWavK6l3lQBxPBKiRefmZS235>wZxRSstb^~prV2T
zTA+Zh;Q?Cga-K;*EoIQ3(TTUbZ8LM$;WPWo4WNJ4`+1q1N&mIp_ao~vQ&LtrfPiQ^
zTh#p;Kv*_&&O=uCDu^~yYCjdUEZ*kmzWRA;Kvm#@JFiGIsewK8pA9wg<rw>?##SVG
z83M9<$7i`KYD==YbYSaU^2g(2w7(CMArX*D(+U5O(gv#rxCz9~IFvx`$_74v=8zr<
zdrRM$rBH-}t>K(*&vBI)w0QcdZs75$);1#l^P9jT4u4=*{c^txm02bjPm>$*TD==U
z-jqrCv9>U=-lD@)Ug*y+-<h1BIvA$uq6u-HUw?iOh2neY&WLEMMp<>lMs{b6v5+X+
zw=@>`fo>+s20ZFC0L$18C=hTY$6UW(tz0n>V<bT6#RQ0LzqataeiU4M^zmz$`2mHG
z;o-Nr;DLj?0T<Br0R>~Bl7S5XjZo&5A02_37666h*wL^5)^oKJ!;s5fSZ&wCjM=o?
zN?F)&;dkB&M=uUOD{^d!vbLqYRm2rD=wF1trv>j6Wku`iP1E~4=RLw`CMQ(i>3WW$
z+cK;F{Ji+Rfaq|+gvfnfGZ_V~xZP1C&Kt@DFK9O!NusZw{TPqYYd44cn-o9uv=Gju
z5OVj_Ft%&={h-45>#Ak5`N(Odx%)9mby3Ef)+t%t;6rRe*m2R(7tC&rh)^&lF7yrK
zgzhT$4UDhkH!(6qu)k3a*WM(HET7ASy*rW7SNun;?{VO>-Nikj$7u@#BS9Tv5$TzC
zPm+xe2Boz`#`dmH<k0-F6a>H%{RAB-#5v*!9$A=b`rU#;@z;W7rX~WnEXp<#s)(Kb
z1;)ubyNBKGSr_m@u&SXI$WlXzfdU=ZrClk3Jew5t6Xv2u5+LnY(s;QHLe6RwYjsIK
zvkH~+gh(XD&TxVcBGX?#G7F12N?mfZEno5CiQ#|tcid4u!Mu?I6{5(JMy!La<rQ;b
zp_+?uTuCB^s4`~5KWda}<sTn!J)9bZ14^3~x9Jv4ES(U)h&E3AG`}N`0R06ALnO?|
z=>TO3s1G3<R7mwCRO_&39=f$=<kxzzQuxxhc?F{27h28ezwfhl<Slc#aR!V)gqUot
z(A_WU(zl9p>!{EnKgr=hP0_)J{vs`Al65ue%ZUr=Q-V^bOAs9kspLNl{7+yejR#8h
zzxRqT;WUI9mmUcD<EVI8)Zqb;G2A=|15O0gb9&OM>~Q^rNE&N22VGR3qT<YH8DL22
z6`G*o*WsM7_T#bG*_2TkXXSsw-c1;3q=>00v<iE)$s5E8Ba_c-#-PtDrAX<a6zkHX
zIUucmk>#Pj^+7b54ujGSe|9nFi2$Wb%K!(=m)7tsxlyN;$D{5@u}@ubW@EUaL_6Yu
ze!LmI58WEgm}IVs%OaIhR+iZ;15h%+^=9slr*eE=4A|Ikqk`25ns^s}(E3~bBvsrG
zKmiA4MRz2Xa;DT&iXvjxDVQVER}JaI{v%Nf_pS$A|Es8;+s~v1pUOWHDlDjb7gj#1
z_({Bk!J;ob-rvYAgL1-rX~GDF1BMn+l*j3}4rs;&bhK>$;d~fYqCk{Cfv4)iydXLx
zq<D3eU4dZX2-_2@C~l{(@B?XLOmHW7j-9lT`zxV5sw_K_F|ec{vOlN(Y8T0|gf<jm
zi@AM;6k}Fi3|g`opQd!Xt|;0C0hz?(Q~UtZ-e4&!!snVy-~rBrBVhzFixsI1bXu9T
zmIE5(pMw!kM))-da<z(J3X-FKRSC*PNHhPix!lrhQM6YiW75qJOe5T865kD@UCUL<
zhJs%<^FaZ7Ed|(6${+W6GXNq*Rq@*G9wHP|6x0%%0;`>SM;j`<Wiz?IR313|=|+A=
z=u_1rM!?p?>BsWAMxDJ>7ZZ-bCF<BJZDOdPXvnihX1*VulK9#3zC8gh`BemT#8tXh
z2CP#A<beb0bciSkR|7W?Y9dAkMQ8;qJ&zuBOna>H4`Y5zd7KUM>v(l5MsnkZWAD_A
zi?(`5=x2QOV&oge-Yj;1JVvn@|D2$QJai4l{-j5-WvQk|=f=j+W1F38(y2L9U*AGN
zxaf<utY_p#LZ8BlSq^4Jrx7a@66&yhM)U=jd@zR+Be4cczkI$T&`3R^_tAPj@7Di<
z%(m>8udoYpetF^tst8VLp`Bq!@zvUlZz3t{QP(3~O7vw-AfY^;!^HUxjO$&=H>_G|
zq@}uRF#3{7ZrHB8i7jir=ob723OZlLYlTMA!er^07g<beH9UGsF0(H7P)LC>CpB|v
z)V#CxxA7gBW8(0wbAeUd;QBX8?(+HIWOKD-psmki>QYCLz|XPC7#+L@@}B@8T^u;>
z$3=nC>gK7RTSeamG_E>^iMD0pd1T*Ab0s2>qJPU4y->Akw6Huqzpj;N9qhiplX~&3
zlK6MrT%U?0W3UK_#`g!=j_4bHkJfTYK~NU!F5be+hIZHw>Uo=hCNlH{#Iq|~l=SH`
zrO0}XT7*?7jH*-Jy;C@)_qQs_{|X9jEI0HE{~R=p9sf#g>GR?%F14j+^$f3}1vS<7
z4*&BErUe`1A6ILaCe>?~$z|a&!ae1*5<m}+5j;>_m;2W@XVx&$FGe%4cVKWGAc@zD
zSvm_zwM%=NL_l`GUI)d<I)L;xpU*6l|3sO6yC47eDxv`|^0?^%KIS!63W;K!Q19FW
zfG>~ODcs)D$KOnJ7KJ5?(nx?<DBw6vHpBgPX>DqpDb*aRM$mqt<oa{8Iaz==LX`8M
zu9s_tHP!1ZHEW6LJk-X0Yswl2w{vAG^GI1C=B1CI6ta1!@#mY?*XPD`j^hvSDgJ4_
zkN`%_HU5kug1;s>u{`AGYrcO;PT1_wX=fEiPj)9O#C|&MZ$5v-$xCbZx+>2<rZIFC
zVxX2>uX8yn2$Xs~=@z9$>w}Iq_}paz@R6tlrlpk!<<Ii)Ki_v(;NG(EjW<%;@e$$j
zE-DA1Gayf~U$!<^g-rtvnYm4HlJGTTgbRTY9w9fmZf$7^q}<0M{KBK|F7Xvdp`e^}
zvPuK*r>B9*f}9ml@1<vKJo4i_dE*j$&hNcq&tb;pz&tB>$@Y-S%qF?wbDEOKBM|1#
z@;M356Ac|apg4ll{c4FepBW--5?fc0w$y_!k*aJxPP&7p_JFADx+zS(qw^GtAXuD)
zMASz8UF#los%T)M_e`C0^}uviWOzv;_8JZ;bA00RZL4-$;TLASg|^1J6Gi-ym2V(}
zcL?+#^JR{<({<SnEjy8aG!nQKJkM*DfsJrwweCLtNN?aF5@s9H=;0^)dU4yhzV8<T
z+<2J&veKKqM}5r0)c!?P`6;#$^PI<wwo>|m&CVb_uZa~l=SKUm6N{i}br?`PqUU&D
z;C`LYTn8zMl>y>gH`mp%X#gA%HO;dNcEr@!YKeuN)c3L%t!A45T)=?L6#QyAv2O{w
zgr;ptd^cgcHhN8w$?kxXM#aRg6Ngh1Q+^rXDlM`v=6kZV9wt0wMkvCOsq-389JeQ4
zzz^Z{&K|w2ib$ew%#9pZf)N#sTfsEw_Ds{EQLrtW;^_aKXXTYh&&Nt2Hg1RZ#$w)5
zx*sGLJ&CwEGGx(;b0zL$!>lO$F>jP~RWk7Wt`tsRb3S|bG3v?DDQ8KQAzUCZDH%f!
zrRk$3uARv(*eRs*^G$Z9GB(e=K?2jb$v>VWNfozM8EZRavSVb}P3s!EjIA&kzDXXp
z!77GaNccvUY9Dp{YzlO5b?LpiwLnKuvJqR>g=gFxLO78VDL+GrRw&43f3LVP*0u|*
zvb*spzn~z?jLSOD?Is|YJ`xIS1**+>&YWLaExPA3fbDX^P=wNqK4cI#v16Z$CxAEs
zs!j87SiTgGI<YCdG^jN%NZ1K-_>2H#afo#ELJ(+fMnarqLSh}*qDX%err+4TxH-%!
zhQ_%poR<>5!`3G}T-wi-$)@GTShLNl*w_S!`k|a#!XSmQ10D*Qq^&lUpE*K?Bl177
z{DdJ|AV1n(qYMXWdci)@`iK`IHl~<;WS8gA>rS>SM0Z?Rk3wmI=x}FTGAT1LDvXXG
z`AMY}+&s}X@TF1Rh9XYb=XxV>$#e}zGN?d4ghi-FG;oD+hv2<59+z<)@C5{?by)bb
zKjXkrqk_i3;3FNeslh1jxb}@=4~Rm9?f&2pmVK1j!oU1M03-#}pn~G_n{UIrlLnyE
zCYvPke{mBkbJ2PB@mN^=vX3CgLs)$IDoincdt{Cv+qbGAF7#y#RY>6CDo7LN!qn%H
zDE7m!!lKd_Pz97QWfiHKKv+T~pF;(7Z9f4tk%M--R1_wKQ|cVW2a8Y`*29RvW{lfJ
ztswqM+A;knX}6n#!DxhnW{*pRAB@xxkSPu9mzxl__!b69X#@K8V)M(qe}zZ6FQQ|K
zC*$i+2ve^_t6o4!c8qodU7N@KK^`PoW^W}DUxX>5T2*O{G~K}Wsy``Mfo&7)7Kcoa
z1BC;~j?^qP0t|e1GU|@fu-zU~01vP@=(hs+PF_Hxv)&~LQiIYCp&>c*B)^BS`i!pH
zfC}32jNUBZ7M>ZA;?I`yXM!2qkpa~uhUdZ(i<hv*)X0Bl3HODLC1B0e&3-1S_gRt>
zIdzuL1EtqOU>o+OZF00yz|eUMp2d)Y1;td(K?!5kX>{00#-Y~Wl^2g=xs6#b!-ryJ
z7)b>8=T7e{+z#v-8IeznMsa5p*fC*IV_b=g;31ih={+$T8m+d6X_?>aC%C|e<g#s|
zst!*}((|y9jW4cY;|<y@&vPPahFz?R%$^9bq_B2YLi<<#=6Akb#K4F#agMGq<4oKz
zlNV=7o5O{6TiT_*L_<QI&_EENn~E1%)F3q`c8_v5CahvaRU^3-u@y&w^20hW?IWDb
z&);gmbem+yCZ4!gl-j3Xr%jJZgMG+Ef%f52mjnD)!V<MB%ixJpLeLa(mXWzaBlFZQ
zoG4$lffl^tmH?5h@Ld~Ksy8kJ>r(@_l#qhw2yg6ATI}xopQLwh5d>7K=<w4h>r>Lc
zP5l?_glYbNvMNza%OFsn@Ua?rOMct|9@DJV!FiQ1o(Wfr5QMJFwRqa|vNB{n>MrVT
z9==vB-#Jm{)oS=$BRZU!5RA|~CK9N->(*91Ev{x__c{x#cQmzi*P%E(?K=-n(<7YD
zl2>W?k++>y%)|DsPdF$c;M0$3XoCh~$Of9IFZykWz+4j!MT+AzXIi703Q2(nyTdIx
z0c%Jy3yQp(vhhP3g1}C0!L|a6h*`qr5Om>g|H3$@oL0Bi7RtNL>SG1!MaisZT#2cH
z@yhofkb^u>8kswLvLxmCdUTcwU~Xa;KQK?qDh;i7OOyM+1ijl`{-AEVP(@(r!WJ}$
zkMm>?>|!RK`WR+qBH$d|3XqZ$2#i*xqA|oVS1mknR(ntTDcivJaUYZ0X#W!IJrxe)
zW_du7)5e|~YC5Ph4I$PX8u8df`R7~&?9WnFY8h{%J-VG$k;`jdcrpI358g)mMTt7D
zWeuya#UN&nJKMK}JryL*h?SwfnV%SWs^m~UX>>;M>I%vYt`#?Lnn_}7>zAZ*r>JqR
zyl=|p8_Oe+aBMSUl;dcl#_)m&70{hW6Br-~F$R`b&_u|XF56B_+7$|Rit16}fiN--
z>$Hml?zKaG6+KdMMGh+{br9nEZZDB?NGDng=z)KP#s4{~5xY?TlB<XsYqqbI^R$V(
zqJU%Ep-#rb=Yxc8jxs}JtcY1OmmiEm0&vje`jOz5-};iu*Ufr}<6#u*aLS<r8r~2v
zJ0dL`#q)j2LkomF+$(6kMA*b*?P2?d8op^uy6?5<@F+F&a(C5(I?%3u(-;P2V4DV$
z5{v#YYL89G#on*tq`TekILi$wI49g~ssDk9DEywxf}VoB3Z<Z-p(6Z`6V{Y`Qfk+H
z=MzA}?S!bxL;0_*+#7IGVrJ>=6h6y+cBn3D<@AtFyRgW7BSL;)Lt=sJ&Gu1OsTizh
z-04ccXME4g>qAApwZLT6{>_K2mpT7D%&z!V8NGuk+;429-7^DIJQCk?oS!|fnLA5Q
z*BrXU`@d>Ah&{X&Oi;BpV>3ZjFxq>59&8kL9AjguZ8@4xc4Gj{wc!{mR`X4jOO<0e
za6g)>2KsV-o?Eih8<WKR*bz6-H9-d}<I5^QENvlQ+4^%)Vw6ucCxAMw*KwiC&<6VI
z7$%!bPb*xkjG{(l0Aolz<z*iL<wmKv_E<t3P;}JW66msW!}rl|HW>F4#s0ME*=u_&
zNuB33Twu#oCNKKjp0J-4nUzPgYIkJds++Np-Q}5M$M^Wf@oZJoTwI9T>#?KzHe$IC
zDiZ{Rl5x2|T(d+5F>ZbOpS+Vj<Sx;1Ug0c=!)<og2%lwz69E%~_QSPQ%`c}sz9!ww
z=$39JF-_%48mp5@>L(#s;DL&V2FQStSVYVu?;IWOn?*WvFJX9Fc%WymQ=w<?yAwJQ
z+`TwNP}dt?E2A9l{zd-EGC>V>8gSD%@w$xtvaw6!86i)*%exVJdRkQyzQ(&=5(KaI
zuG4+fVX{L)=91xMT`fFIX_A8<!ktUI&S1sFy+RRAMP|cF$^zW|2eaqn7Q!dQ@Myn9
z>eT(CA>=t*rngpjPRc0GE@Uvy{pu79OS>)Pr3v&6w(Xm*8qocP_JgA|LGy)-D};)H
zQ6zBaOc(_8qy3^lcj~F(x(pdvk&62u8dMjDhF}eqtcp2nQvLNCVv7p8d7Y89QP7E_
zxgBr<!y4}V>RFwjobq<ew0N14!i4H>YLKAB*!;p=S>ct}gqScboO?+qp?~LR>T>|M
zdXJRe;@W|=gem5Q?e-#>mY7`6MskvFn7X$@nk@~Be;<F4pd^J=Ctgs20uz!Bi`k_`
zwpRaPmqFRG%ysiCGr%6Y*6<j$+@Hy85F13xk>*mk4@xgW0#Q^|3}mwHM?l@2#*3(^
zSez`F>4;n=R$t`9k6<1Hc_~5TkSud$5dKSrco!a~PPw5d_HaU`bx|FjsVB1%0pYyJ
zl!U*}Wf!<zaY?f?Hpc~s{n5Jq%1Co%B5SmmPlbyHjKwu)RY9@_ibdM+jo^-wB@aNR
z#Lu=LrLh<OsELX$`eHMrKEZl`*hgQSp?@-AOeQhX%yj@WNQ6RIYV=4ZVLf-|noUn-
zbEseg)+{XGWnwCej@=VbB8g2E04cEE;1SYmxMJ=KFq%&J4~B%W*6~~=u^Uz&fn9=%
zk)+b_YBY2TO$8E#MIdQh@}$!EAgbh`rEq#h^o;|{wy7ckxRUSC6Cx_{5`zU8P8o(!
zeH3~ZM$zy6SX_KqhiMZ<D?V?mT-ldew>T{liMfwnN(0{g<N&s)*2**k5$?h;8)$*%
zDzjF3bB1zxDVFSc?)aJd)ov^_&uR|OIyGeEhXF=+Km^k7IgwX+yRXUp0GYEX`ErI+
zbxko%5=hp)M42&_x#-0J!wzi5nXM!fZ@`u5Uu&i#g?Uzg)>3gZ)-2;0duv@JT%36e
z=P+1yLdYVrjNVO2alBr5immV!8B6KKZm%kMsq?$b)+oYW(0n5#tpeSA%T)Ybp}LPB
z(J;&ByRA=6_!gZ;d?*Ga)Q+fPWO^qJmM=dy(_XQ1oN<($yrP3bp$5Z61Ss1b%@+3Y
z!(;bD)a7$&XBp3}l9F3DXn6kaUw<}GXT6Ke0jYTYA!=x)Mi&`b_r#WhP5iL`NWy=!
zJ<IRmUG-JA>$P`%FCA~F3NZYDiqL+yRS(zQRW-ZShkYZ}{o6wX&_%_$<emQ1!1s+F
ziHsqep|5v9YX#z?;>7g=I|qeY1yrf#?Gb!DjQ5kEfW_k68i&~H@;dTf)<DDh{P91~
zZwkEc_ng6odAr_|Nk)GkFoeAam7|aOpng;}X(pzS+b+c~$$vazL3@GU^{gRPrD>Uw
z7f!^_7zl=;N8G#GFs0CFZR^Ox;p`+%vm2NcE`+mtcz0p?NzrDgngFy4;Nx$bbaB~#
zkXxTxXxW}EPY+9Mwr42h6svj!12ZLtK1T4$MEOuPB@xu0p1ri?c?!T9u_Nfn;%MD?
z(g^i>QYPl$?<2Wh!Xm<C$dNE>(wkOq(=Ku}Ma44ffh3F#*Ok0mVgV0+1$rzDOsChG
zi@b`^2w3!pwc}9ak8Iv<&awzg_m6)YQv%xj+fjRbW)t)}`s6wV?(uQ@BBu^*J+=EJ
zR~e>i0$6wTbt53`HC|BLl0|#*ed~}@{pb&^VJF~2l@0hs)$nnI5TWREx8!R1@m{k`
zv5iCMjdtlt!tu)(!~Zt9u|JjEE7cpk;6rBAHrndzLfChYM_+~~^KD7jx%xb|x2p%L
z>$&BlMaiarXhyWcZTu+Ugj@$qXi|d1ZJ<N#AU@-^VNQHvMR4WuEWJOa%&-No<!aMW
z={Ah<X~W3CibuDRmSuUq$1DMyb!w%CUm@GaK#=m-6-W^jIvgB;PvrrBB5e@G^n&qL
zzz5_LehP`Y-dXjzqS7LlL6g8>F=4wrH5?Vh`JQLP?)C9LXlK62cAT{RoV-z!A?=Fu
z>jEMLPR^z`q(UpEkkCcK?l7tMt=s$U%2m4g=CX82GiPaY%Y@>rW9{~Z1ljq)-bpEJ
zPagcnduO}OEaL)stB+Upxu#lr(lZi!=mSekfx*)-BjlB1L6uIdajiBuf3@lg(0Q7$
zPtTWe+--->?|~l(0DRXN5dOsbt}%cG$^xPe06qr(Y0aE0LCTj;O5^~8a|;)4ZgW_Q
zA3LlzmNU%vElYgyo~!(@{0Kn^z3?z}YPTQ>woeSb2(t+L*$p2m?|=`$C(tp_U!d#n
z>lNso&-Tmoi%smlXT<mWV+M~E?=4G%_mubYKg(4!-8~bZX)6zRH&ebdA5$ObA2w%z
z54<n7GoVA$bCAc8&(xP0$Jj*#vz?0U-kph_4(Bajr7yBepf~$7jn}4Ig*UM`xm$+U
zo3EWpkaFMpo+V%49!1`s&xIF~Q-+iq0Z-!#%gon#@5_&#+UyB$omYR4iI410ox0DG
zS&~)0%CGLv#|y)I9n<&CH$R^m-?m4ZkDONoEc%BJufKrLA0JX5a?ieFJqa~WJyW03
zZ>p~ppEa+xV|=x?hdpy&t6y$kIA0C#Ghg4$3BT{l$~)9o_Vayo@`TENSsK1x&p8pK
zG7ZnD_ktWkg90X4WYl@&+Tp)nFmjLm(<`HWccjZ>X3j3XDaumgzh3_PsrvL>2-p9H
z!^jq#0<EC^FVO$nJt3)1Or2RKnUA;Z<w$OZ+Q(h#VLT^W%7k`2P=OH+1&c9lENEDo
zoLQeK5h`*Z9vyw+|A$I0Tn4bzrJ?43@cJL@d(5eSu-6-s|GyxjqPjRh0tx)ac+Jx1
zzClK%NgMV5r&FjNoG#qvcp5Ob9|b_>3*q8k@1;5A7dyx1(Kot2^U5BUNY)U`Ow=}u
zAXFhTK^st$%)e#+oe#shWUNg2XQV%Fc%$C~CJS{cch)1%x$ELhS=Tl*K_dbszC3TP
zJJ8Q6w)2BOd~B*5lYKvUjxXl_VZqmzJt*%YC^`5$6(h%<gnti23vM8fC|1@Sle<e^
z$N}6iP80{GNh=HB7-$kC4T2F~%W%2pI|-Ks)hDm~eqVC(|DhgTS_3tebQuW*N2>(o
zSOEOak?2>yDVUg|9`-*pj884zwKD+^xk%c~^QO_LQ+3b1{1-s!<+Za+YDS90UI$z0
zxPDR}`>+yhF}5;@@PDWe-;3Q1AcpbBb!<cVeFZWOk@U};SfJ|u#YhjgCx7?>-T15(
zS1+f@l~TY<P5b<%{ZH|*&z`LmUAdA}@R@APNB^JVbB9hYBz>#y6SDfrx;Q=DUM@d}
z+hOCV!2g;ZZIljfSZxQLiY5yM?f)?6A0d!h8aeeb)##GTrohqt`X=qBIk6`&tr5l$
z$G;+R4p_@2OPXray@R5Pzk=7mQA<{|?aR5;F2603n<18aJIZ2OelhIiN)eW%C$EET
z%z;}C_=iU^YfJx5wSBA!Gf))*x#lz^T8GA63e`DG9)PyI$r=vgEV|p(=Na$}b`3N7
z=4eB{DU+$IfhZ8aXCp1V|B^!fCJ;Z{RFV)ooLr5W4*Dz<q7liQyC@B;H=zm)vwHQZ
z+*zor2LvBm$nKGO{Zrk7x@dMhT#q7n0g2iS5<tVJ?51Lhp>I~)yoiI*HHT!;tSqdq
zUD6DcZx}Y8#S`m;;5eS$;1Bd+7zV<zHhTjlj}D*v4xdX|a#3i)9If6_<|C>!4C0F*
z=>6a7D0Pf%>DH*az_N2Gc)&HOp9tYa4ljwZ^c3>@XLU$#^Odkj@LHWy59}<5)8B7S
zd~>k<NKdjisb*Z4E2N+|m#bg6F$LK=_aWrKc+&I_vJW`?XBdWcqqD{w6KMXvC6f6K
zDjU$AVipd#alh$7!+16<(kwAD{kQ?q*wPUnnOy-hT*hzNPl4BfccSI9(4~u>gvMI%
znvi`VR?u03Ub!$sst_gE-`|RqW(=Q`t?cK$i^8Xge&lEXCfy>}@}QbzqWw(Cb+W8Z
zB|PAB+5}2hlpzu{4gDL_!&m(GlmF4T9Lkl16gmzE93s;8(&P&4h+!&f7WO(PL{@&o
zWc-%n0V=CzXG&$3a>7h2lmN0ne=#%CkHLsN;cM4bVQY(1`?!wTOj3aw_$B^_aMJLL
zse0+3X2Dsb6@M9`294tP;khOT?zL#7A4p>AZrjuiCQFOx@R!6~*}a$lwI1IBI+U1E
z9s{1;TfbG|{n_QGRcxJ=fZ#J7^|$C|8V40d?^V)F06h<!J*8KIa+%!{hb{Uyn?25r
z$ECN+&klB|ty<V=ep-c)Qj%^wSk^t3`_D<2XZkV()Cnm@uo7^c*`w-DZdjD$1xTV*
zBt3$&{|GG>?oe$i?bjjGA0>T(zl#DFA&!IXuqsy>(DadsAn|!?0^R5f%Pn*mo4XL2
zc)04T%is1fLFC3oG)Ewl=mz^a_W&EJ8w&~p6@))!zc#Xn6m+1l0e53xVCrA;CLvH{
zeT)q9nc<5rp;>$)lIRr%4=9HdK1`Tm#I{HXj>`IxYJHK8xLQK4Q^$V$4JEpsP9q}I
zKWv&Q0(&^tlhi5GKrkxfzbd8PzocT6q#7drF`r7Hzm9}izM??}{L)Kwm$Sp>hK#L1
zN`?zV2Itd9DVqq>d(Bv*g?w^&M4X1h|F4lw8=cQvoDOIf*lBz1SA=c+L(#*t-@g36
zte^|F&q*S*Ag`vgbDd;E68FEx>e~SG-~UHu{$soT^C;o}?RSWq0RIt`Z&@tHlKvmL
z`L9PS8hJ<n;PYqHcRgd;r$w!w<*w|{)ATOzqy57G81u1q8@i;aTEFmr>K#2kEe7gz
zd@-ysFSz~4t@H8^+J<U%(>in4Gm~=x0LV^qN&tY=kNNhy7;<nQAL^f)$V^#G008rW
z#SZ|a{@n+$;xQHd`*$Jg?^j_MBMH^*&jv;DqIUB(FaOhVNC3ppqb8OZc~#NZ1Om&h
zOo{Bfn~0yqIJM%+{)xVUnqpngvNQiqk@^7O9%6_#TYZ3IV&osxlC9A40zShVL!n~s
zyumhQU&DdPWp}AyE-CELUJMXQUaQ>VPIS5_NX7OOJ}61<_zxYj>D!6)3D3wook<D5
z8^NCtrAQ=8i}T-FU_FHNmR<z&lE+e7`=c%9@mB$j41V9EG=x?@cO-&DI`i`b&>Mb^
zu7mz(3WC|dN)46)Kzb%J<1@I_2s*8QRdHc=B};+1+@#A>RA?)dxwKN=Y}Ru?YnEpp
zIa1uiRtlqsipJfhV8$TfFYM_Vg-KOpU%c+Fz6UWJSoRp~#Y+9yBnxjZ=3SeFmxiZ%
z8?G_<bq!p%f&f;vd$Ze-``Qsuj+};Ig@`RN5~K9@R8yIb8a*DRLI7+_6O#U7J$$sa
zaLf;gXw-+EYqWC+st-9Rj!9`~kJ;;c2oUDrR~(`1^j9;_rfSE}FaR)`6h&4lk{f@6
z&}h}%bG2^LHJ@kpRN?3#ZhT%jM7+C?K5#vBsbrn)aFy|hUxc@>eetdFGLy^8gKQ^c
z4mA=2dr4^B7UAH<7!$RV2AQw?tn|3(DBAC8{P@t>p4(1U1gsZR5ZM-wodxqUEXXOP
zccQ})j*e)aN%E>?Z&kxkI7Fdna`vq|dvb$OYfTA7JFFvDa!uYry$H}Kv)tg2$7+8#
zpY!*jUH}X)Qqtz|9(VVkplo<a>)3of*(WC;+D3(MsL)*<p$DphQ%XfGMZ@XcZ8)<L
zhBxgranJwS;5Ey0=_5vim&f_~{TI6DTpws~VP+KTRQK+W<*Io!2&XL}|75PO68{*n
zw^4X4Ff-jqvMXMo36~X7`{=m3RG!LA!bELD;unqTy5WD=aMYSMw(zAs+PzCHyLuEt
z_>(pdN)vqpUF>VcPgmouksoW6esi*TKuB<2mq5TeKhi8Ln-S4U;YTH!`F(43h;HP^
zv!y>(V-i2)3A|`iGS|h+@}3_Pv>a+fX8s=&I7&G^xd>VX3Vo=6Z1wRr*qg?ldPp)*
zr^RKwei_w@%^*+bmHg84dHrWxHeYA3MNYwmS_@<>#|34CD`A8f+s3@qo!Q_JcBaZr
zkJW?#4pG@e&>rmd*UzSjpeFP`J7`0#tOxINvniy@bOv>112j19pXms#TRyD4AkA1k
zuc{agch+*Fx^*9z5SHTri*JPq^r-6;$zheKd${DB!2AJ0{?j`YOW)x6aBht73h^qp
zcPi~GvAyG>VbvoP`l!9|tM$Sv={0KBgun;dashH^D&l09Z;=1N=n4m17)n|ai0X@B
znyTv9{SYdeKdN^}xQzWLw_Ae+jB<M&70m7gEjLkBa9nr(V0#>n=qaH}<epy=A2`np
zrL`}Ed)mc%mWfvQvOZ_b+b!A7TzgQp1FKwgT;C(O!u`jDN=TN3bZz-38U)9o<XIW>
z6u$YI_E&fo$;9iI??Vo_3)Rj`!I9{WQ$PO6rdFPeoiN*tPdh01s{wmHyg_tnYlZaX
zF*b!F&bm|4UJw*;>Mv=HAis)<lfB)X@alsRwjJkqNVt^SovUpm+Y4V&&Ef6CG3)%X
zeIdOnnB8wBW7XB~h4%~YCobJB<<1<l)bp=!ELP+%9T_0=2*?jqIiEx`>meLGgnGwk
z%R?Qs3SY7<W|bjD%?3sOZ8D&kckvs;j508|UH3P0XjM!BbFoG@Hpitcw85?(6#nc8
zH3LFJxgD*2gr|(HR$Hq2v$IRRLM*W<B1NLHvYOqKk^nGuyofg3Q_IWtSHAzGSwO#h
zV%ejR=C6`Do}I@xT@pun0%N(5fJnVQAGj@jIE#a1{f4t%n53)87U9yKgjGw>!fvH&
z1l8Lr3`;{k`H*gLEpGKKQnVjj&&9Lt!rd-=KhHLC7~1^EF&k+1a)X0f5;<v!ula#D
z(3_9k{B7bU!~_Ieooiw}pn+&q0&$fH>L|q;LgSdjf5Ndf%$q8%{;8j(;?_{fd&1xe
z$08<{)*+P#&KGzQ)HYUQr#n+ZI&%sRa4ujC<q&)l0~)g9Kb@*xL)tZvGjjK0C4+&!
z<{Tys?OQc`l|5;9I4ineUm!PR`vF*RPgo3S*=*ur!&NItx!buy?zWgz6!)t63wQ|s
z+eOD_CN8yB-&A1S_ja-i_`?4_x-)n7T25`!Ib*lEiM6g4u6VZ?a<RqeG4#bkl@?cM
zQ#2TrKY0wsZD*6W8lGch4J_0QP49}DDkseQPQSI(%_Y}STgfGD;`;^hvxcEw_iH|5
z%KSs8c-`P(WDG|5tr6VQe`%++d6&_$%YE(OuqfsE?GN9kWy&WGge|@igwOQP@`@Aj
z@MY0P(c~BBzY;wyojCq{;$+f~hXt#a)z(Zv#Gg~*8|^CjI8`K4bFhV%{Ikbz(i*a*
zT8do{m4~ma3#fpN-{fQ&c_}B2h<tx_lqofVZDtZvscfzoo5TAYp#R#j88aw*YK$B`
zg@p}6DHn+-p`C0d-RqQ3LOETeSUkzhKsNDVUU}bvVyM5BL`<9+9Hnah;i@gWj~!Gt
zB}!`TC*_l9KEe6aKl8a>*^}GfgAZKakf?#0OKQaD$c&OY{>IHYa#=ZHmASTmXR<fa
z-c*w52QmNWI=-PrK*u(byfik)7H3i2I%ryfm@`UpNW5h+v(VpHIsNz+%e~qT(OnX0
zokvaI>xw=xRcP4>tU+32lJSIHtt6L})!6q3i>khldR#AZ>}Ntm1k9DS8QV0WXgDyg
zP}o|zb3$)kwOO5OFDE1C1CyIFxsAE>WGMM@5WqEqNdB+)T>voRzK-F^ebiPIW|d)@
z$qo64?UzPpNC*2N{~R;<+U{zQX*p|2pWTcOjR7a!;{OT33qJI&g8+sCZLsn>!NyxN
zjDtr$QtrcROiC-V^`Ig0?;&mFg;G8?TC8+-{Y7@OA!SJF=&@~Tt8?)?H-A2&sZhly
ze86JP{?~d^IcaI~?ak|^>1^WLjRMTvYE{kBD{yKcusTKUNz|9bux*An2o_t+ic*cN
z%KA5Qcxj`%lfz9O1F-`lMcSaL%VD|NUlR}pOljg_(t<w->z5&1ycyHvc{6}y?`M!{
zI6PQnlt=sB9l*j*zAC2E_2Zw<y+!b;h>wVb2@R+Db7!bIVT`YTJ)gIKWTb5;!(RXt
zDa2NV^&ak$B{%>8talu#HYyRh$*LheHjGU;7=gpv&#$2nRCiW|&xVnj`|sr3d*Wr{
z3%k%q(-xcheR8D<CA-j?B}e8ugY<Bi)S~}3<m)e+X)j;@FiV+TnSQzgUu4oJjtB5k
z^yVXea`vQcaX5_rIOvF<uc<yH{$vpj`NSvdT1R%$j8RY>Q%iZb2ees^e3fybZ3inu
z1wmSaY4y*f5~e&ZHqFTc(jyPIF4w2$2F%#rABLT-+V~-+%U9PlL{_^wiaK1nJ?g1j
z#V(*Q`zdgTqzEnE*fAZA$Q!kVv)C4Wfxete(08ZNkgD%IHZM2lYRC0AGi5#rHMz4e
zU;CuwdaveBp%7#>$Yw%h-9bAM3GsASqhA(&iJ5}`t6^89$sVdr#`Cq2R257I(Yzha
zjb;vz65>B=#X9zg|2CNj?+eg7KN-N!{}@@1D)0v?;IDXX*-T%BxiN4M00008##y>y
z1^Hn&0S<e?KjsucwEZS}3g6zlUKTPWzy%I8o0NNWzY-W$IWai)2*!o|OD?|NQOB6w
z{oQaImU$)CEwWsmlgUGBI~x28k~rGSUSh|8lUJ+k(HUE;@&4AXPugstALrYg(^p34
z{m3i9bdGzR!%&mUYt-em(8AGy_iLFajDNeLi3wlbqBcZR=P~}7xfCx|t}PmiB(xyl
zJ<b4n>;XAif$rP(dG$kf{BpXpEBs9?2EC1LT_=35d&|%9EPq`*O;S(71ceQlmOwPf
zr`k^;LJDH0oxG}*pJ6UcFJ6t;)*Jho_B<iZnF1Td4sQ_pW8`9)=oc_pVohs@=}rW0
zz-5A0MJo`P@h6{P4sDy_atgt!6XEgZc5)rjOvfzt1m~5TMv~(N?d#XmR2@)!1ic^t
zM?(0z12NtKO3fp10N9D^ncvNG`x?R%n`8d3n6fwe|NMefRTdS2jC_cJiGQgtVosj6
zf;@<Ybdm>39U}bewanUY+|~WkUVtNJbnjxrjkk{<afjkXkPjIk1A$XTQw};PAB*k@
zx5K`jek+tZ#l$`&2%`*|YW5Kkp{{ND=m^0B)Dn-;r|X*EeCbLnLQy|VKt(rWVbVc&
z-IJ!kKe!Jls?HG~vc8Lp5_=rOmuoPfdBnl@rM79fFv*0GBjSGeOGV)+xB>#9)pj+-
z1DT+PrjVY%a*4J@)ep|dRmepdc0mRkQ%W^aV;l_tL9_xPr>-Pt2=Sjro(JC^KYUGk
zeZ&8a!nEI0q3^nHWOa0|@Qpb2q+wWcmiLa4DX{tDuR$UB(MQY(pR53@WR;j7vm}&>
zZ`$nLw>U;YEJ@9j*#(*AYOQ)bCZ1$TZ5fgWy9VGB39GKtj%?L?<^>C1S=$D_^UaDb
zSn3KDBGOl(oWzPR<_cYndp$00M`XQ)>qvJT?1N9<_J3PiP#{hFf**ddQ)D3Ofxvlv
z=UZ=lF|D?3AUC|CShG6<fDOJy1He@j757Fm3b#Zg1{~PahbSD_vJ{~#I)p5x2&hdU
zL)AR?g`I%De@b@FsD(?2A4LsaYf$0#pC%^<S#MftzE>T0zrH7^W$VLCoIJ<=hQG#B
zDJ+ZtumIXeb4@l#1(uCfd7WO5sJGe%ZN6@S(CM&linbJ0lS>e9CelEK6H<hB<On1=
zE-oYU7k<cL_&8xKcC1tpYc@abqS=%ea>2Ze*#8x1Qt-D630ZSe_OR5<C$`(1h`2N0
z!${A6MW&;wK$?KQU*oQaC$1dbmGVn3k#-Iq9zgq(v&C+|*w5B6$bj(^kn@fW%yGPL
z{iG{QBh989`FdkhlPcH8m!*SS!Q6j|CPn;-#qok{<Z`s+2I-dqn;V*Lx&^zJO(zgN
zg91O+9w>?`>EeNXYNkh2VF8OyAOe5DFOe_0bjv+}JV!X;MiKJh{zIjixw9%ds{A5@
zRwCb@7y)!-iHVRvUk0zpGjah>y`AD8gN;$o3r{51au1|pS06u%REJWww!!kxzrxpE
z`&H$z_y~uLno2CyuAGf&g%DDJ5Pj3hiHBbT001DPlLo1WyQ0cGonjL5kV7vgwjgo|
z0j&Ob!?xY$2=;^H6{EiP>d>`R)W+Bhq;q|l0L7OsS+T6!$~*1o{#xy*>2bvn#+n7B
z1NTA9Xh<1ADVT2DY0|RcwIblDjD&oK2-hluMPpMouKt%R?Aqd-2=QaxSk+!xwRX)d
zW)Gj|xd}Tgd+L2YBhJGp+0(^yFDN7hmDCEGcj#0be#aTzILaCjVNI^XSpIl=xFnEa
zA=u=I`Z?{>d9#SQ@Jn7j_>pbp)=28Xzz)o8ooSLYP_PD}5NbVIG6My7_$KK$kZ>Ka
z_dHahZ#D-uVj@Typ{Dw$+?pfo_zl{GrWZD-KTiv!Ir1p@FDu}@uY&LS$ilb1-05-y
zM$8e&tdxfo@X%rl?(_EZGZ4H>5wFM|)cPlV-$%022G&)N<1x+SVbUh!Z3>mHKb3=d
z1s|tLXW%U0QkhK#bTwrwA>}Pp-(A=~>XN8i_A?!oN>ymEZ1k;U(A#f(>j%TGwddDi
zX=E-(h48JHXL)iu1JrG$zu96;T`w(y!KjAZm-p*IAWrZV_+GWCkSKHlZ&ti{S4+BA
zn{R2Swl&N<t;?4%(KqD4@Jnv*^S$RzUHYXS)!>}qnP!g7#Au#xVdejpi`cvHNy7?z
zzPh(Emv<k%pW`?;-adOHNB3{q+a-2B1nCa(1$cMLr$?uI=i|M_`Mf&C*pOYh|51Q>
z%YmPF{%bPEdVTqq58ZX#{7GD2_+t5B-~^Kb3R88156sv`m}3De9cnlKLb}DhE5Fte
zK@wn3z|$0ax=At0LYpI>)4eo_r-4+fu=I7pc-ck;Td!nhK()RuucF)T+FlcK-Z5ap
z5g246Kazu*Ua~nFFewakK}()wY0G^kcajl?`8m20Z-AsB!VSj@Nov$EnZioXz>ibv
zm=3{Fn&@G1fLm02e>1nO?QBro@uJoCjJ5HXyz@EO@cqe}qD)a9s@syth9b9L{OTYJ
zlY~jf2!Je(ena3+PWM1bE<Nkb&gY2Ahkc%Kd;ZdkkqOVf;|4)30RU6cN>rm^t9j^M
zsQyt~(5*i$A2uY9?o|CRM(xeiY=8uD3t#CP5~x0@j)=_D&eo9KFm%d2P5X1=o22J#
z8*}MRnErh0iTyvQ!m!C8@*5mAf;oJ5nK3>l61b_1iSZ7TVXPzaoM{(kN*s+Bi(^#O
zekiS!06dtB32MQjX#FsCS=GqF@I3V90CLK0X31_7i00U@->D5|1`s;CQc4aWs{1&t
z=4ha<0G6a~IJS^K=pO$Pq`%#lDd8<Aon#Y+yCwIEzQ6JOl*aji&DIlo2QL6+JH+W3
ztj9ZbK4b0I1plRDRm2U@4V>Bs5Q=RbO)IQ)gw8RTgzezVtyMZ`nRAGRBHJ4Uk5(-;
zwOVq$X#ZIwN_>=uyxB<#e=5t^EbY|VeSSLWH_o@%vqKZK?Q}i7B0G>%G@G0jAi%%Q
zw-lW{pMtEOj&YK7HyS$%!X{d!W5^rAnhgBT@Bb6HOgn?%RC}1$aS`Y*1M-pF;XcTk
zbQz!k002jHZLeGDkLO?IW5deru(1@_AJPB-WzKCZm(q(r8+Qc=a${*6Lxum1oTNNx
jmn@|~0ANx{M9Vcy6zAp`6V)a<pT{<2kbnRH00000dJ)2L

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxhdpi/ill_app_layout_onboarding_rooms.webp b/vector/src/main/res/drawable-xxhdpi/ill_app_layout_onboarding_rooms.webp
new file mode 100644
index 0000000000000000000000000000000000000000..f95909eaaea856f7b4c857c55f124c9bac5ea7c3
GIT binary patch
literal 22692
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxhdpi/ill_app_layout_onboarding_spaces.webp b/vector/src/main/res/drawable-xxhdpi/ill_app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..03e31dc9d6f8d0acd2d4b236a23cb14bc96962c2
GIT binary patch
literal 34900
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxxhdpi/ill_app_layout_onboarding_rooms.webp b/vector/src/main/res/drawable-xxxhdpi/ill_app_layout_onboarding_rooms.webp
new file mode 100644
index 0000000000000000000000000000000000000000..cee3cf512ccd9ac2b74306cf13ba96551464727b
GIT binary patch
literal 32874
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/drawable-xxxhdpi/ill_app_layout_onboarding_spaces.webp b/vector/src/main/res/drawable-xxxhdpi/ill_app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..b4bf421be5b889ed00119978f7e942e748d26930
GIT binary patch
literal 52942
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
hDrS^cakcn}n;Q5400000000000000000000000*RkYNA-

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/layout/activity_home.xml b/vector/src/main/res/layout/activity_home.xml
index 9899c15aa6..698aab2340 100644
--- a/vector/src/main/res/layout/activity_home.xml
+++ b/vector/src/main/res/layout/activity_home.xml
@@ -28,4 +28,4 @@
         android:layout_height="match_parent"
         android:layout_gravity="start" />
 
-</androidx.drawerlayout.widget.DrawerLayout>
\ No newline at end of file
+</androidx.drawerlayout.widget.DrawerLayout>
diff --git a/vector/src/main/res/layout/bottom_sheet_release_notes.xml b/vector/src/main/res/layout/bottom_sheet_release_notes.xml
new file mode 100644
index 0000000000..1d14c2c4a2
--- /dev/null
+++ b/vector/src/main/res/layout/bottom_sheet_release_notes.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_gravity="bottom"
+    android:background="?colorSurface">
+
+    <androidx.appcompat.widget.AppCompatImageButton
+        android:id="@+id/release_notes_btn_close"
+        android:layout_width="48dp"
+        android:layout_height="48dp"
+        android:background="@null"
+        android:src="@drawable/ic_close_24dp"
+        android:tint="?vctr_content_secondary"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintStart_toStartOf="parent"/>
+
+    <com.google.android.material.tabs.TabLayout
+        android:id="@+id/release_notes_carousel_indicator"
+        android:layout_width="match_parent"
+        android:layout_height="36dp"
+        android:layout_marginBottom="@dimen/release_notes_vertical_margin_small"
+        android:background="@null"
+        app:layout_constraintBottom_toTopOf="@id/releaseNotesButtonNext"
+        app:tabBackground="@drawable/indicator_onboarding_carousel_selector"
+        app:tabGravity="center"
+        app:tabIndicatorHeight="0dp"
+        app:tabPaddingEnd="8dp"
+        app:tabPaddingStart="8dp" />
+
+    <Button
+        android:id="@+id/releaseNotesButtonNext"
+        style="@style/Widget.Vector.Button.Login"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="24dp"
+        android:layout_marginBottom="@dimen/release_notes_vertical_margin"
+        android:textAllCaps="true"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        tools:text="@string/action_next" />
+
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/release_notes_carousel"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_marginTop="@dimen/release_notes_vertical_margin_small"
+        android:layout_marginBottom="@dimen/release_notes_vertical_margin"
+        app:layout_constraintBottom_toTopOf="@id/release_notes_carousel_indicator"
+        app:layout_constraintTop_toBottomOf="@id/release_notes_btn_close" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/vector/src/main/res/layout/item_release_carousel.xml b/vector/src/main/res/layout/item_release_carousel.xml
new file mode 100644
index 0000000000..eeb999b187
--- /dev/null
+++ b/vector/src/main/res/layout/item_release_carousel.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_gravity="bottom">
+
+    <androidx.constraintlayout.widget.Guideline
+        android:id="@+id/splashCarouselGutterStart"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        app:layout_constraintGuide_percent="@dimen/ftue_auth_gutter_start_percent" />
+
+    <androidx.constraintlayout.widget.Guideline
+        android:id="@+id/splashCarouselGutterEnd"
+        android:layout_width="wrap_content"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        app:layout_constraintGuide_percent="@dimen/ftue_auth_gutter_end_percent" />
+
+    <ImageView
+        android:id="@+id/carousel_item_image"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:scaleType="centerInside"
+        android:layout_marginBottom="@dimen/release_notes_vertical_margin_large"
+        android:contentDescription="@null"
+        app:layout_constraintStart_toStartOf="@id/splashCarouselGutterStart"
+        app:layout_constraintEnd_toEndOf="@id/splashCarouselGutterStart"
+        app:layout_constraintBottom_toTopOf="@id/carousel_item_title"
+        tools:src="@drawable/ill_app_layout_onboarding_rooms"/>
+
+    <TextView
+        android:id="@+id/carousel_item_title"
+        style="@style/Widget.Vector.TextView.Title"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginBottom="16dp"
+        android:gravity="center"
+        android:textColor="?vctr_content_primary"
+        android:maxLines="2"
+        app:layout_constraintBottom_toTopOf="@id/carousel_item_body"
+        app:layout_constraintEnd_toEndOf="@id/splashCarouselGutterEnd"
+        app:layout_constraintStart_toStartOf="@id/splashCarouselGutterStart"
+        tools:text="@string/onboarding_new_app_layout_welcome_title" />
+
+    <TextView
+        android:id="@+id/carousel_item_body"
+        style="@style/Widget.Vector.TextView.Subtitle"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:textColor="?vctr_content_secondary"
+        android:maxLines="3"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="@id/splashCarouselGutterEnd"
+        app:layout_constraintStart_toStartOf="@id/splashCarouselGutterStart"
+        tools:text="@string/onboarding_new_app_layout_welcome_message" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_feedback.webp b/vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_feedback.webp
new file mode 100644
index 0000000000000000000000000000000000000000..5ac890e617f2bbd2ab8a62e6486212ad676b8de5
GIT binary patch
literal 10362
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_spaces.webp b/vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..35f2a0423605ced6f15d4b69dde1a5dcd50b7931
GIT binary patch
literal 14102
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
CT@n=l

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_welcome.webp b/vector/src/main/res/res/drawable-hdpi/app_layout_onboarding_welcome.webp
new file mode 100644
index 0000000000000000000000000000000000000000..5ac890e617f2bbd2ab8a62e6486212ad676b8de5
GIT binary patch
literal 10362
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_feedback.webp b/vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_feedback.webp
new file mode 100644
index 0000000000000000000000000000000000000000..07ece0d94707e7cdf94895a5f8c12b9aff852606
GIT binary patch
literal 5398
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
AmjD0&

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_spaces.webp b/vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..a77bce20e883662421c39b8595f89d97d0f76e6d
GIT binary patch
literal 7372
zcmV;-95drmNk&G*8~^}UMM6+kP&il$0000G0000$0RVCV06|PpNbL{+009}rZQDkW
znqR#C!s#_aME@tCe|rOP@P>oxjsv(QG>`#JN@Yi^0c6Qh(6)_qF@M(gGl+-@7_ZwN
zeTS8kXlq`z5fw*n+elJ^O7;K$+cT5%>_l&fm;eTD8!5_4)MY$;0Tlp%<2cTkiJhQX
z1;b*vEQZTs7<PusZeiGMiVkksvKj_DEYM*K9oE0<@BRvNU-$7ll16iXL^zZrscQB#
zAR;**5KuE8V2l1gLz1ljFQU47yQXV*aHmI$YumPMJl*?b+qUnUZQHhOtkK$;##F12
z@jEBuACZyKy<K^APDDU(+sKhrovXw6+C8;tt{xD>HML2h=}pa$Rz8%ldahL|0P*D6
zFa;r=ZIuvH;IoGG?7_lkl}$`8esTen+mivnY>6nFAC3109`OEi7nMu!liT+B5`!<v
zU~~iTXYtBSh{PvPe%Z>i@-~LxTOdA$XOjSCYk*1oWI<~igRh{XTTp3!Z^DI`1b^(@
z01Fbdc;QR3XnfW{^az=710?|_@%xx1_z1a$F@z29$4)@fv)TBpmVii4w`vnJ&5!g}
zUYToHHcr%fbGh4H=4-_?CEI)z3jm>3`8Hvg<R+7&USwOzuGCFDeIieIrISodyCN=F
zl}l#xyjgQ<W!{U=i83nF>`Of6Q&NiPkdOjRZ8LfS2s||{(f#%XZLCz2Rb-8L3cwU*
z*s!CH2dawZQt(`o8S)QeF{nNYw-PE%vEoIQVk*S0P;qai!1gvN10y-<1+s~e?Qkm$
z$qNF{r3PF5<hDhQG-12fT^ot2YM^S3d$Nxt-|KGiTxtu{AEM)N=s>v=h;wO3Uf3*I
zp$lM<tyfDf-&-C@<qK43;E^r3X>0btBqiBwl{Ik5HZk);0J#yf)E*1~urBHP1Li%9
zX>V(8Jx<N13U96r!yf3TV-Zu;z%o-OaV(%U`U4Fwu}vu9s+wl>37X?F+V95s!v2hL
zzbQ=tT%WERkK-E&?rN1*gFc7{9mR{i&-dGWc%&8scrZ!ht>TT_)oM_ZA2rzHg{^Q|
z^;k*nuUMSiIUQU`hqDZ%D-W_1e*XhSxqCE6n!{=@9aq~x@XT;<{Q5R^y)KJe=_2;w
zR-)Hpa4Q}Ea4V5r+{zYEO&5J-2?ua1w%+<Z^l>YfoWQMQ39<@pqq+diT{eN|(rS&Y
zeQ$->QiNNf^5yobvU0l3kz}=qE=fDM6-dH|TQSQjGLKC2PaiCDiAx`bf3HbbOB~{o
z>SlJxsK3i!&n&ntfF<f?Ug9&^W~JeYqPa<PqHX!X+hB1kz(3pyyeSa3((z9bf6wbH
za#>#a#I2ktDWGkd{yRDBdn@ck4sJ!H@wr=(|BG?A0{p|Rz>7cJO2<FkO7ubox6;}(
z*_pB}D^iRG#YS&y)U4dCOn3Kos<CXWEw42tcPp)f2PRVy4QAK+4anU}>);_<3)YFb
z{$<163iYwNVRo_Do~1&GTbaH>I|sPI?1^nzDvY?5*5O0B04~lJ&BWcx<W&Q07Ue(t
zO~l<w=c-mDV>~Cn1Q54!;0&7^XZDAh!iQTqQ2iML^!fmT9)~zNm#>W2t}7fSFZ1S5
zQ@yq_K~#!X62cjs9n!fUZz)W9FjSXzrD`q8mUz9;gK#1gR*1dor0kIE?2Dsr|9=Q@
zEcRr7Q7gO<sOEuI3@iX@p|~=Lh^vTpr##uIZ;NNU-Lu0j;r;f*;Z=hqEqmH+u78!o
zdm_lz7S8_Nk5>vudLjdc+eaJ2lbr_+1zNo}&^rAgcbiVZ_l@^oG;*a9;US;tHUxJo
z=JGKk3L3FfcX?2FCsZEi&%AGW<dvb~^0pbcTj@?m`6=sr?>1fMq&)q?kyBCNRWpsi
z-HM%-Akhe6W^P|6i7dS2uYEdSs_G%z1l+B3V<SY2*?0SCB3%esc*X@o=fW{|X7_iu
zqKm;3M~mT9RDh|wPD?^!l-fgYI$&WGHeKxc?pDg$dhLo`3uVjRV2>o!s+c_Vs7dRA
zT(*h}Nm-U|Af{}=?7e!z{Dd3f{%1@evann(a(nFd?p8obY`tHHPkr@EK785hzx=gt
zA7&K`NHZc2YL%)GQM(&~IBvuFI;_sAFgrIlKR18r;O3~o0wZ|twBH~GZCb{BI5olx
z3?^=!XauUc+;gk42?kL1jR~>8H9QH%URP<5fU%O#>$X}D1W2arc$cXdDS(~0LSRB`
z7gub>(RH&(7cO-rnpr!OYu^t}SO8&HJBvi&QYY9~ma!~4$xNY&!#yUBq%-E#(O34^
zTcQlhz$kEyKq6nDDMMgtT1m!-0udm#5oDeOL{Bzr+fNwyu4W++fyvU25zX<NW#IzZ
zAnFm2#t{sa<e5Mp*$kveqeZ|P>rxnbyA@(@27*!?L~=wy$T1s&#K*_jVx5<)5K>It
zAMdgu5o0PKLl{7fIuu$Wnl%CmrykFR_P7)0i#T>}>(|`t&E;-)nXeVa8U!a=*;2;~
za><2`QR}>>4axRNvdveq01#@GZxede3)a=PqWD{yy-kt7Iv2Io8{^&GO0gMcWpJb4
zB$0rW`0GMHSE6LI81wE{mc!FsR#~k6l)-^!G*;gPKUp2Q7>twS-rdStK#A`!M*VO2
z%hoWZ@CYei7!ISnu8w<mE4@LKm11zochUhegop23vQ?@XkUQvQk}hDlmE(~kEp9aE
zfA&P`zQ=BbrO#~)qa$Y}lSBc-t*HOFV_+0UTT5?RN;|ZWNP6S(e%V8zj=k~kZlzez
z<d9`i3^y)(+Y)OX+NHN$xH<Ig0NjZ|t~P<V73%>=@rvQr`aj;hTw~w4^p?M`Z>dK+
zv$x5^tw5n|2UHc7#n#$|ul&9U6ZidxuR4Eib5J<C0NC7M7jn0vTK{k>_L^-?jsZ-|
zPM$K=IsKkD^=zWbto`!4muzfo4Ms&l$KJ{O{Z~MfSGX0?Ye<DxxRvfzwUi0Q+KI9<
zwfA~gKDPgqSl`kmXa9bszq#2T7S3l1Y4<JQ$t&DSKe@$z8?>=p;2ASYRJ3KK?ZZSH
zMwt{ZbfdwrKPYR3^L484(S9Tfw*r0Hz^youR7zPb^9egKVGTfdh0t5&Q5nh+UaNb4
z|7lcRL<VjJ{KT!auW40;TEZF_W2`m7)hK0DC*IFe$;<Db!>FRr<5oIXwO}{_UIZpW
z2H`+Im-?M2)!pzZGjJ;hE-yjU!2mv~HbL=h`RIeH!<X#9tsJ;~XabDtQXEFUg`|j6
z6;TN+zJ~vVnjAvhO6N*?F+E(bBt#@qcS$K_`X@|k`5Z*t%H&ns`k*7ol@K~9@hR{Y
z!V=ty*rPL%Q|x2RBoJDoYT)ABNVtJpiTt<Dk#^h?fNFq*H7Nby0{`oQ`?wXl6AvA!
zwyBhGJvDE%xRCk_zKggOvWq-&APEf^d}Xw_m_ExT+zS2H?jB8k;J?3AF~V8gN*JuW
zce+z88>_wQpACG#t<c^IccweG-LfLZsMy>X^a`mR+`z58(6Ww1+=}B`Ie)t)q7k>^
z`t<R{@3z8%TXBDSYoY`Mx8j4nbtO&c$E^$+CE<nMp4ucIw^9#F@_(U=sK%`fq$>}y
zyuWTc0_t%q)m}QTt$7)H!8~`2zYsO3MCAMM1~nHDD59Xh09T2^CZqtNf6zC8h+mHZ
z9$`_?IXJN4Xn~eJaGzUU=giY8A)UPNPe1(1iJ=riVWXL4TW3A`ZWOsrwaBU0e#F~e
zcjdN0lNrHMyZ>2t)~lt0d&J{g*q+#hu}p!nSA2JP8^q|TvK9Bdf-&1cL=?!tn(MtN
z-6Tg*>@^-p=A+$(vNUt$7bNd{6@(s{zy!vA39y{;w)CTlDhSIY@?ImDnOaYe6IpNg
zH<p|Tn}raN)>*fY;?OTxOdkHOq6IXHnc8dNlPhpQ5rx!!f8W^_l`4*RHKgp{ce|V$
zfAS3zrZSEH4w$<|I6w{q@Cs|Ifsgyq2IfZLT*MTtsv!d9b8Ty+BJ2!zE3_}P%$1`S
z0%>a_y3*g<$b8s4G~5d15rf0Ewwh(D0!h!8%o!s@+zR3ScRN*YuOUPQ65Fz2w&UEb
z(7XmBsC|%Gd3cTSY<t;x?p8?8l>rr_8H_Mm<v4V=QlAzgFSn#fyouU^i(8>rG`g8N
zSfj|!m?7g<2u>CXq9u{YLj@T6{wP+AX?H8pZD*AkK%xTi$h_8qLfnc2=1kZ{B+-=g
znUj*ULLP1<RobeE;0hIlRcerQuT=2KUBlf99BkoM97skzWJzpS(}}u=!zbKI(YuJH
zPq-DOA@x}%>g{`FPu48*3AeI0R^A3}tZySKL!I-BYHExJN$g7QRw^r}+Z@5Zsrl(d
z1R5}&c~un1?%{6b=qGLk4iXtyr&<jRh-PEn-3pC}?$60JAY{frEOfXP8W(hA*ms8F
zgo4K4ZiVpUWvyEWS&X6pK~G%f*T=x&R^Thb`6F33{-2JJZJ(KBvsKpAF6hLwuNFV*
zwQqs1T*+_;e383}7yOxx+<+*+-`%L*txi<P%dQ|+WZS#tM$9XjV%z|IEPi^UZb%GK
z`!aHeGxa-o*@>#_4}jng2eRn>^6r9!GF86zoNf!gwgZ2RX>V%)ptvA7H~QQoG9rE8
zpV~kLzr=QR=5ng%d2L9Zl?^CH^S^#Dk%@-Sy!ujOtE4W_Zc(muEMh9kaUqVQ(MRrg
zIF*J<J{KNzd}+dDXyBbzbrQz{TBASEguj!+GP+^!)z3ea;dQP|Px<Tenl%(Oh{rnB
z87_*!+=rh~KbGl5zgg}Lq^wm$j`^sDj)ukAA9_yxxcH2}ub$i*8B}tGx-oRP6?)Z3
zia~$wb$7gR&EC(yZ*H}>H5`@o%u9t2x8g)txZ$9`^4YVmcZJlkA{*cN?76+(#@4VX
z^50v*!>!PeYB@KOjlayFd1&wSL}eOYeBK{_e0+0ly+0fj&e2HTG72AVg?e5YiUNb#
zOM5UB<3Rn(J_Y>r>Tqkbzcnbeu5f4`?pEL+4&tNwnFS_dF$f>|iN)b)FdUYBz62YG
zyA?vH4!DC8M{OBAJMf4=th}3rny*5VF=znpRtTX!<xW2-rt3mAb>-tLr1N>HC7o1<
zX5enc_W?xY$LWwxk^a0QlwRW~l*;yAS*a%)2z>M3Xcq!?4FQeQiHb^1DOt8Cjv7G9
z(LBHAu7C{YP)M~LoC$0zs0WCsimGXC=IkDlP{t6Dg37l?p@j1i<ofc5dSc)-lpley
zpq?L85lkorUY{nnulok13gw4Lpb1wa6qi9mqeu<c%O_zi4nn<*$`J2M8M#t-h?Z$^
z=iK4;^8LENZXg5R*dyihb)|&IywT+^zw(8;Qq?kLjb7@@`pu`T32!Ga%kji?nzAN*
zztk7=9z5kvn5E#$ChsfDEFqKThAAo`RcL*z%CJN?pi;CZCV@MaNMjDK6WP`Lka>V}
z0K^F%_>t5B@<Rd%zz|{EBLKw-Ng3H_Ye1gzL5Zb?;Nd@qnUE;Yq^<sBtsyz%fS%-F
z?rr^)*A=K;UIaeJlUzbwTI{mkX?W+0tAIz+>>Rr4N?UckxY7ztc@y9<rBr80)&W%S
z+6TN8`QsFzySvx5LCmU<rLc7t2rbmlf`|mahK69gC`bhNO7xCWZ@Yd;`h8c1(keTj
zKYH&XSm4oeM{^=3a^ffAf8%xrUEP;%)ubd*r<fO!#y&>qhZK5UiaOg88Lxpz080zA
ze-<{TznzAc>LvhIP&gp43jhG{VE~;0DnS8r0X}Usl}98$q9G!5U2E_SiDz!)hzX;7
z-Tbe@L8<5m@CK9xywt0q1A9ct?xDXw_ZjR<(gFHm^h?46_D9y&`cF^?>_1ospnvRF
zr3dTh!7uHf?T55~|NUr>Hh(1i75x|Q_tIbKbLszG=3n;@$1geM!d-8LmZP^wc~y8q
zct@!B^Z)oBpx^F)l>CbJ-Slt#-*C_7f7Jip|8VT9`<?7H`jlNFOt|0N8IC^DPyd~w
zpZ5WRw2xRjN@}7-KmK-#fBfv{;rkV?5Y+ojA2!{=nB(mfA0|KV|DB?r|2suL{&Y&~
zwdkk+&e2c*ouZ%lqmg@M<Y!3t2Qg`{`8?mg({0=muhAO(j_l25BqkWF0=Oq=?v`{5
zohAlrtgowX(FXJadD?VWJ53*3has%g29K!oh@XCKcf6J-ZQL1*+hk!)ZmH{&W@dq2
z3c4}&iht&gMcSbUX5-yctl0$bHmf;cTPXN!$#b>G&haUMwa(L`x!QDBJ4tU_haw}J
z`tqJ{-)PmPm>s;N3mpD)X3NpLsQ&tTHpx^w4FkBMBwU8h$mi4(qU9MpI|5<|*h96u
zA=h|88DV5#F1zwaoDP_|1u9H7M!70A3h4WGt2Q+>gLSyv=F*UqyD<pQ^F_(9VsC<U
z*{uJUXWh&q%u<h-wxK>A7(Z!GgFjYrITy&fPV;I7v8oUL$hEFGsl!|_&A-G=0|w}|
z*Wl*@%i@p`G3O*wJ(2W6-6(R$7yMTP&hQG_2d9-D&!@WHA(B`1kGVD0=&cF6>Gc<b
z%HRzCC7jIVUBO$Yh8f)R?`Rq_v#?DjI-I*IXY0<eKu1cHaxkS-<|r3V$MzL-mV6w0
z4hO~z+?~7w$I6qRQ5@TGuP(h}{3rZ}-5lk}GyD#5_Zf-6{!4ev&{Y~=ZzO4o&pGY&
z&L+Tcwdm^sH*sK)IahF3J5Gw_1p{)+|BmN=xKi}F>xhZu=Y;m_dY)i#Tbgf$3zh}4
zlK{3-U>3?t{2<Y9VLqsZbF}ELcAXW@)1tZBOP@dh`%=I8i9y(U?2-O$xBvrV<uJle
zYXBNc6huRw5ba#AAOHZ*5C8xG00YE;03-(w6S&fVErT)D2L|C*et%8(NyA{zW@s`o
zA-CFojzelXi%leb28i;Y=_+e(CxIbaw`siA_zjH?Pu7=+YT`dMJ+Mb?XWe`3{sQ-|
z8CLfZ^ZJ1Q{}$o@h=x$U75(HF&$IVIe|7)=>-Yp<1K9#tbhq@lG+&r-+}ofu&h(F<
z_lCHV7IGDxKJkbIfMw)I__E3x6kbWemTPiV9~TR=ZiDYC)%Fkn|6~Sc3;ntP000Dh
zY1kSy&wz05NB{c~p`sS6B9uUaFb&$BRC0!q==(WyxtzbwakS)#auzF=GJC=FaUI-y
zWX)e0tt68;Oa59>z7(r$>b%Z3SYFc;{N~AmXn5exp!-xAa?<AV#snCMIOBBb5lQ&b
z6MQYYzA&B%9jt0l#0y=#5zOnk<R<I&zD{y*Zy3~JSR#LgR1tfX^n)y%LS>OW16Ey0
zb6D48mrUJINf+IKP=u@iVgcI&!u%bJ_~cQ$4Ydx|`}2LULa2ZVQikdw>$)N5eJ~Jn
zICBO?B9OgCpJc<pm?W3)peldbYk*kl|2M$@KKkb>S!i6npJ^_Z7gvKfzv5wvsv>iE
z4sbNAzKZ>5lrZPcP2>gLm1&-hU^%hXhkb@L1AkCwoSRErRA}3+BrTW^DYr@dil;{V
z$rrzB5RZ8!<wBZ60OUW_2HV1x*uOq^zG$NM+qnV3tWGgzUf*i3`;Jyj8|^%T^a6^#
zb7U{iUgx)r8K0}asZttd(PL5#HpOKe&j0v*-M{gT3~BZ@Y5Oj3w7}np;nIE(b-OPW
zBXZB-^WA9h|G2ej7e&c=K(vN8LQR>U>5p}E!EfLmVrqL0d{+EyFSS!TB)3Cg<IXQx
zo$22B1<DxYXVzcAxbsOkkbntpr)RiR`6ukIXrr9BU_&)AqdTq`S&E=Y=+FQ8(V&%l
z!OGu^8>nhq<}&GEZ^rr>^RR@xoSQ%2i^!l|E5SuZ_5j%H;;KmY9%^q2vt4_?zXESB
zr6(h@B>sAd6NA87tAhM}fsho1W4P2j#iU>aJ0Lhkd82nL9YzC4ZO!Bz+Xn^xzB3tf
zr>%qk_w#Cg67)kfRH<N9qdzV&^^WpkmTG_w`Pb_<|ES3sm>-O9(YpR!xbg?3aD&m%
z#u#Kg2x{=TFaAKkzS)yyu*?5`KlqKL03bETi50)`08%4D2%NgG@4B;r{&t&p`4R>6
zPkerF7f@Ok?5C$g48Hyu&Kfz`A08UjecQvZ(Tq12=OM%(j&0&)!E8u7>i--aN!Ru|
z8hI`9uA|;h&9di6A^y3WpvkS=D-7xXky14JGRzN}+cLy<CSJI@8BB2fdSam-$0vyI
z&;O+yyAGJ_i*Mt~kaQa$0v}Qmp7Qr*r?GzzPDd`S=vpzy^XC#V@gJ?8WQJQ;*sB*0
zlk>W>eS{bs|GgK=HvVq5^)Y61#D%ZT5BzI>vL+{u9RL3_pbm*K+h!0!Vp(_v-gY-C
zS!##Z!`Cc4LVXUA_SA$|ur>Drw1=JXfRdH!qqZ#qlEM+;z44y1UOb9#7~P25kIX@{
z^C6hP!cD?9I*8KK8w6by7>C*K#LsF@TF_hU%0i6zmy*Sbn$jxmpZw#_x)u7KmVME5
z5T+vdn*CXO)Z4~64g#<E#~RG7j}%kjf9KsL^g{S6Hl}>)T%Yy^kN#$jF|uN5q$)Bv
zPFo&|jwnO5!)v2-J?H_c);-_~?PgV~&SIn82%8j2XC;6D^1Co^eci2-Zjo7YD54y_
z{<FCK-jxRB;`|cWm$sW*>Ymh2@D4l$`;5@ffz2PAc;vk}cDrti^5OOCVsX<*-6m}S
zxy}dC91>tuf1n<-*}@KAD}<vu@4J?0GLUNstM9OyxpbA1{z7VkmSRDapBB{efnTN9
z@-bnX!m9RpM6#nowbS(*q0x1Ksdrc!#9k`fV%!^vD=ZJpR7v@O%Ip5bb~ug&7LU!E
zJ=+FAULB=Fh%sAMyw~s$*H8PjS=DucdapnKvQJQq>Sz<@XOrRyhVmTsz<Mq!l7l~%
zqVW^1tOK!RYn*oTJzDQyqL1!5*FBb+b$3Lv3dAW&2^WSnjYZ82dinvBmDabe>iWn2
zkLC)lKJ5hJHh9a6y}nvEm>ib30293-ApsL4F74v6CR2dow0l(pP;4rl^OuHTT5KS#
z{>dY!Vq04aY17k`yYtadGhg$8<msST%=}}D0`4u?*40+Q=3L@}Gw$|7MN|r^`7q+H
z@~7pB&dQ6e@{eU#8y5}?LwUZhY2u&%dmiEw1z0&6g=2+AC3*(t=ybmp(?hl9qTczZ
z#?hcj*>RKjF6Wp+n`Z_z0ij*RYF7N?I_ExE9+_}oe<d-a9WS{_cP?nksPUPzKOK>v
z<eJWkd)#n=+6aHY!IzIvCRJK4k{WR+&UlE$eO!xMINAio#Q?yxfYh19{M)RFv}+hr
z_jjGb|54F7pN#HBHEvdUD&(Eh-8BE^tF>U-o#o#i?yiqleqSjCG>xm4O6#k?ZV9vV
z#%UIDalqNL8Wofq_yPW3Io0HU(~z}Gk>QgT3r=yqc7t1@zQ;xyp+<6XYwr3+hCqwM
zrN#5m4VtwPvx(>S1>ZW2nRNrm*a!5w%9ENu*=B(_)kS}Ac;e0h9;#`lV3HUwy*08B
zrrVfmW~<EwoO?G+d9xOHEV(1xCRc0!BE7cPs9)M)Im6>jV1>ZqG;Gi~qs{~TTa{-n
zbK~v28DG(L{UYoD(I=J9x<87JH<<%7%^i=N*t@0B5}QD5Ex^kE=*53sKmY6bfA$+?
yRI{n}qEg8uw@3WV&h{ek0HVv0FUdmF<l;C>7qdJX9|PIiifJg14KM%z0001BHigpw

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_welcome.webp b/vector/src/main/res/res/drawable-mdpi/app_layout_onboarding_welcome.webp
new file mode 100644
index 0000000000000000000000000000000000000000..07ece0d94707e7cdf94895a5f8c12b9aff852606
GIT binary patch
literal 5398
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
AmjD0&

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_feedback.webp b/vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_feedback.webp
new file mode 100644
index 0000000000000000000000000000000000000000..e86bd5fe6b158aad0293e7e9cc1502372350ace3
GIT binary patch
literal 13106
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
G-}pag&M=Sw

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_spaces.webp b/vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..9b5b9fa607b45769a42a01f5d0f1aaf7fc16c316
GIT binary patch
literal 19894
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_welcome.webp b/vector/src/main/res/res/drawable-xhdpi/app_layout_onboarding_welcome.webp
new file mode 100644
index 0000000000000000000000000000000000000000..e86bd5fe6b158aad0293e7e9cc1502372350ace3
GIT binary patch
literal 13106
zcmZvCV{~TA7VQ_?wr$(C)3I%v9UC3nb~?7LPSUY$Td&W#=e~FD7;lbUReS6`3TxI{
zYyPNGmJ%1IW&r@ci3uyJD{^W;0{{TTKcx>CZ~_bvl2w$XA_4$_u!d~c#2t2X8^8KF
zR>6p0YwK)ritt1bfDon5?|mhbyuviwU}7;YO+r?jcIX^zq&#2^%~->M^G+;nfWzS|
zR4cjL6%qC#;0-LSYlJaF?&U|%DfbmZOv2g9fVUjUIiXjZ6L3H4?4OPiMF&9%B@f|=
z5cGEC6!QEp5ToWB9aoPUTBt>1GjV@%%T+RkSoCl@>I4Oew{xKH7PvORcZCR<8smx!
z{A#kbwc7X5UvTk$<@-v9;_EmfCnY7VijP+`<O>xMh!hD!do;c$@ks2(1}Gi-Jz+@7
zh{^(Jmzyitaqi;5y=K5@!C3wFR-3zQais{P-Ow(YZCp}VIw%%Jo!PAlx!TyZHZ^c$
zatgVer<w$M5ANU&8gmL$IDQZRDdNrz<bR%wY*Y7+7^gN})fH-;R8VAqkn&&)9&tYs
zsg%;f09|X)1X=XBb|e^Q)o0`D%&9=_Til|5){fVu<7xZ$A%u7g+i=-{1!Es6MM*qv
zk3@7mMXgVAhzfnpRklmpudSvL(83b>of|XipY4_lgKV)VP%|Q-SYW$PQm}WY?&yAO
zkcH)-r%m!$mXWfzY-)x$u9OfC1$}u+duLA4ANZjdL6#u?V;maF(fwa%SE7<$AJgrr
z?eid;<p-+t8kiwCN}$o2N4{vq3xyQC8N<@3S#c#I@6N2Iqj)}Skm+DEh|d(ixL>z@
z7{PS>cJ*R)&qEESL_buzGo!m%!E~sIn&m!~iF<V|Q#}OO-Jr_9PmlCXmv`;Mxc|7M
zYAN!rE3S`%6k)9MxSf_aa<HJAW9~My1@yTNzoz=l1S$g7^iD#_Un|F0V?R`g>%A*X
zTxB{x_y_>diY`hv{MvRAyG5MK?Wn-micdyHqKY|3h%O7J0g!{-NV$|+iF4}<imDDS
zV}m<$%nNa{CAQ1Sj+ESG6oCK+F;@dz`Q;HHvN9Z?_{2`(EG9ucVkD#EUq1Ix9P2hB
zn7B#HrbxBWW{T2n>jtL3*^pqd)*}&AQ&EI>bOH!n1Qid^4)Y<)c(`0Ogj)xZ*&`{r
zhlfXGAm&6n00CqbNhRa$-<R?8pk9o{+Q|y(fl8LC#O{^bviPv~P=`=wRg86@WW-KY
zJ-)%_L3@sj+|Z{;#uL8ufQ|~6ju!Q%j9^h%uBscL@Q1L3kCVVbeB&f(0F{$>=%#gm
zhXh6HCWIsxYbKq|8RP+37LLH|)<=HC{1J?4?6`ek@M6R#j>Rn!@a!kG{7$?LThPFH
z-VQK98xCd-Yr8@tp!t!28ZMarBc2&iga-<sv8RB#+!!JugDJ5CNB%u~fdPat7M#8L
zS$PLcL{wl`15hLuB>;sdmKJ2NOXsoc_A8D%Au8utcUOdZbT7oHM`^PQ!#`S4Bbw%?
z4b`WG!4IP|3~q7?MBv-mZxnD2364g%pN{8!gPfWUGlPP8AYe<;h6n{?vMzyWXtuBo
zoxlWrM517i<jkFcLf{On4x`HeV2DUOn-iv|^YqNhi$L8bCUJL(!i$}Y3p!_f{>N=>
zw~HS0EgiX-!l~*^hAlSWekHiZr=_!uXxoMu!{2RG&+aY3)Ho|HuWuH7D35mf9m$RW
zl!83W3-5s64SP4QcLO#;@sqA)IZU~kGaKK}As2Ntd2(=xiQVwp^!x2gO8bP@C8iv8
z1QbIVS<<+)Sh!D~u6167rnWA6_2zw+;FIz)Iy|RiMPe$Wvv8}YHP>=~fbGfRf>yg!
zOSU*#gz%~f6*WHXkL#|1)Q%Qa<C=kPFk&AtQap$HsEezL=z#@ZZVs`ok6OFgB`42M
zDm6Q=m!hJv_#pa_jL6+vfJ_h{cttyUha0zMT*=m3f}Cbw^PU19eWMqsKi3vncAGYb
zs8vWt{Hn?v4moT2JddDAsUoytxq2}wJlWx1Q(tqPAK$Y(7`c0yS$?28kp4)2Otfxc
z?>#(JO$)L6NIzVX`jC!0f}ZP;4b-&olJ9VJSC~DG)y@RWFL47d_saRgoQAB`+#gJY
zLZ9bFLF!}CZg(DxwqMOwtgG2`O9x37KWK+~k54S~%#&7#lW#F?v+s4F5gX#(R#ub@
z?NlU8KkfN}uztf0SKz%nmoFZy@7Zz`8V;!|)p=GAI?|u%hN<$T{+!`k8V41ioOX>E
z$Fa?bg`K{>ISm!iR^J)oJ2Tt%Z|C%|>!{kHH&xLOfV5F<>k6BrNE%sF#aUvH3Yt2a
z@cL~%c7UB4L0RwU(^hb@9qcsVx-##FC%pj*U(?x!kIQ<^zn3B0M)K00*vU^?Nv$yb
zOFDEyilYNF7)f!4C%H;xbv*j>?3J_<9F^{dRr8yt)>xG@4b)P|ViM1_d)Sy`j9J8n
zIj}#i>b(C;S|EpIGR&k4CK76eQHnPiQ=kjCD>#+U)5|`?sbMXYkCNn5VQS;Zr&C}C
zJqAZt%}sO#@k1p>P59TPSoy;FxaAE*%15Us{SsJckHvN+<iUGxPT~R^aV@z{J#|jC
zjz!cj`i*&~&~|fV8X&I59b*CN953l^k@=$xK8S<|2%TVwO3jR8z64;2Y?$31g{D<w
zXC=P{LDXgK@r+XhXAkCp(nZQswZ=VjZfV|XMkY#ocUOq7(XIE(w5{@ExoY4Bk_Mre
z^)oeQ|9eQvz!<uz4-d3+Z(V1yC?&FzS%k8sN)$AhY%-z^EU}XB!7Zd2ds<i|Yk{m%
zY}6|W^SXRcbl>)(^u?L*f@1hybeam*^H6w^%bgw^H=4`TJwF%rUbiD{TG3#1oGnI~
zF%{E(jHD&vC#G%98p<ZeNJGtrNqNGuP@0D2Lo1E(J~11U2o>I9dWe40Q3{Z>2VkA_
z7V!?dh!#Q8?+Hh2M21|JL-Ds)Sa|~r<E15yq{SNaCZB>Q#LZRWr-UqpgIy{4`o^>l
zsKw03L6gM+6(R?w$JPRm?L#IQ7aH|pgdtr)EjZBE=M(__nWY$>4KLqGY_Hvwxl9j<
zt;$V!Q-z`s{D5ivvm+X1KuTRLu9Oi~ovtbi<Y3^EYu3-|$*rD#c0(C_!eMz}z5=CE
z2fRyIE$G;Ej$a>p>c$N#D5N1YXEcBGm*}_JQ7d^4MArqXn7GO0yOtz+O6SrQGMx&C
zI7#<uiE^s$#CSR%1y9xy?c(Tw^yNmig>nOj9$}O(O$Q=Wl_mxOc^1!&<rFE;XiLkw
z#b{wEZVVt*rd#^?q)-ZMiEG~L`P{Af2xjUe-eL5l##F}-MJ|k^{01s6)1u}m(ztpk
z#b4-SE)O9C8WM_Aqh06N${c?_JL2S3(J|4Ffs1nLEr!?7msbsS9~E@3QYZ2bS2uw3
z6r!fmI42l=YwATyC*j@$v-KT{{4<#5Cb4!UR&<*R9tOEvvhz>*m$7)5D^HVKg44=5
zGsk@<cA57(h@$~oaXKkc8pV&%QdQ2ETN8RJlqOAFPgwO+5|NA?@vBf~Zk3^)Zyerb
zoO{boU-L=3@z6Da<!)6q)D@#CORb-Aw-l8%;BK|V_!SsdR|G0Vz;nIdQu9xDzf)U@
z-Poo0cQ{M^OwP{gJuQyJ397#nZL{Ro!YPElu=yU6U{J|D7K89@bN0adN-bBvVoN_h
zn?e=@njV;P!~la{xVSWE2r?5M)s;Iz3zl7zzx?r!bB~uGqL!XayQll8{)jJX(y?}~
zc$dnaFBMpY3(k$ucwS^A@-yuEy+EbgcY5-~E8I&@`IJx#@?9zB5NC}6ICSo#NoNmx
z8*@%)jbowr2CC8fE^6*c2(D;$yV+{7<OG$qUhPQ7j>NH-rQ%}3vZxY}R^oP`tPiA9
zsN1xj1GEI}9CiihHdOe06pnNV9`LeGDnxCU;4&)jC@gqK?3=MDELE(XwPzvQzdf+Q
zZNeQ$xS6$0xM7CbeXL9~bbS+t($g>+sITGYwWfD5#)*$NLrC|si0gt3mu$4#7|h;#
zK-wl=MEKq4CZ$)_&}+tGbnwb3&|)R=k>9m4XkKL!MPGk$ob=mO#7>t(#f7T@igxMD
z8x<iYw8f4k=z^hpZgYjtxv?qZ8glHI-X<n=O<Tkx#(ftO7PwYMv=*ct^LaHtffHDQ
zxE7}^=Y6~{xbjOg8_MK>b$EZ4DP=864#QAn-E2T=Z9Rvlr>^xl|8#rHk{u7t?C=9!
zti8`4U&m5l&l6QlWs2c=5q?H&mf$9{J$f!QC@U{2hL#%wg3b6ByLfCZ)Tb4#6HZQ>
zX~iBU#SqiG&4yBRf}tLZF*`}HtmMaJOB&jau`tNl0#Odw!Ef+z@8z^vjy@{}@!?>4
zLHuff(=Jb>YOQuK)m+WAa17(xV$*l*<5w>9VCZn_GUTN<^n-Mc1@^}WL^g+S_+WvZ
zn@gZ|qA=Ijupi=`))~KCM`ez<6Mp_cnnkv?Jip4IKCsr>6ebKXto+rXZ&DCThi4f;
zR3(wIN5mmv@`~F$I0Bx+>VKReT=s(#vQG0#iXNMNV>YrMuv(&ZIxJX9&)%DQH59@H
zESOH_nWAe9rcv5!>v4<CSx*O6JB!;KwZuFt`I=<`k{QTG6sKvqpZ9|a3ZoiQyI_dK
ziU>uzRJ+DN=BG!vFj%Vyk$w<uasa_(hJg*}gbUiaiF7T3BIY7a0NV};Ybv79WgD#C
zV|@jpq+&RL3|@nPHc~65f_cDH#lkBT(U5pOWSm*TTFGc^x`3#MZNP!I&2p|!PoTHc
z8q`<EXC--_87MRwoE7i<0fbWyML{1puP~$=8yA5o7DvRHJ!CheIw`Nsl$I_udCOs%
zl@_!}RX(&GMnkGrV-Y-|uRSJJZ;OO+zINf<{Kf;<>+*^MpHZ&4Js=-7M2mnIvi=^P
z2{yd}M$Me-yB{sV;yrjk6>3d&^%KdCxdtyL>@rPPGq%Uefu7XRN$FYcn_eiLqkyu{
zH4U)<DGsi^Z+KoxA+HA(BiB3fSEce2bC?2W<>m6YwR@3OetH1)wa%VK2l}mZ70!Eq
zhR>P^6{OM$C5hEdw+mjf#^-_u8mfKtQ9}jfrZz(tP@W2KdN{}U8~+)lR6-`cyNJZ9
zf|)5Ji?sxC=eRVU;-`w#=9tc&9H}>5wzm2!Wp}$?ac@RWRXXhIJP=20W2{OET6`=_
z5uea@X~0uiVenD4FqafVcySi!hH`IC&&NqPPd#5aar?%CU)7`L$CcQ=%KPQ;Z3pkO
zJ;nFCOm$)=7{*iC>+KG5u2e_zw8b;A&90hp-)pDqX)ued;WS)mz{JH+NmMP0W$c<w
zk?(j~`yEVF6n=$#5!X~nVgF?3Rzb6!0?@bB84vs>=MI;}_wRZa*E;X_oPH`_XOZwu
zUMEH*QPX`wazV{hd7xeG!aSN*?Z?|i23-m=4rlg|Oi*?%D!x;mqADnElFar~7`Q%J
z5z~Iz8SHb8<QcEz&4>{(&Gw?#kT@71x&gdeK>LI4sO5Sskg5f82@+G1Th<*`d1pr&
zh!wKb>WXAFPjt|shx;yFN+3-^^4da#wNGs8w~)Zz->t#nO3P&Sx^c!DS_5?mvqv+2
z8lPe<^xHi(G->6*or>dW3zNj1+kuWMa!^OZT`%{hymN`x?UWVIga3)7MDo6DT;iqP
z;e-ukBNWgSRw(%xGy}N-C4hOCxfFhegj=nlf}70n;9Mx;Hk7%y#eTeDLU5FNu<t~Z
z!Bx1{XmGs^)-m+60&Na7+BT=BC4F+hngxap6m9M~Iy4Yv7a)(Zq6PkUFlQ+m{U~2*
z-voc`YeGSmKPaVR?`wisgeXF^8YiwdFG3ciVstN79<h;%v7xLeub{qw;0)|*Yxrn*
zYDjB%tNCbLv>u8&AfQXV7l5OWzVERjqfWe!!K<TX+kbd$S;8mCdM&%97m_R>#2m9{
zQq~cWd@pUqrvb4px<0cV_6k@o2bcXphZ}<)qGi2Fl(I<_N~GeJe@ZJc8+TBcu?dJz
z?r&;(@FRVPje-aQ0!b<^Yx%9ItEm~d^qnlWmryKq@k=lCO2@D0dHb8FpJa-9ix$p;
zQxXIN2zl7dm%KxYcC6afUlEgbDWN3A(^!y?T4#3+V|{CjP)x}BE**NzwF;kEifpZw
z)K;Q0$6q($eOAl?aFOn{RBevSYK%?vq40?GvA+8{I0;hqh?aw^qYixvM;X(TIg*FM
zQ)7C+5D#SI(`3Q=SqkE{IQf>UF33$E{|MTr%4w-FcikeOnp5Z#4{PKJGfM|{Z{6z^
z;$6oVe*DS*I}XjfgyfY9eY@^;rZTAx-EHiribAFCM=ngK1`~z{m5<z9#kwjfG};Cj
zXMTb2yDPS_6D5GQ1tXKbTOORpt})?}%J_7eftKDYpnRV-GZvcV&M&H<n&!fs7eNB=
z4#ul#z!`~k!T!`=cdn29x=IKGN7Ds<xg<Q$S80c&YgdaW{giW9>UpJ|gjO}ItGpYM
zgyiM9V+-bw&=^K{u?wyb3=auzjhe+8ndrc}0Nq-E#iMK~6?ttC%SJT2u7kR|R_B4Y
z`^AD$uVF_2M`%JkMQn}r5tK+s81t(M<CosB?L0vP`J@Kh%n)lWrI$<tN`2NPwNm3{
zYE+<%up()8bySLd<R-KO^w#FIk~cqyQCw|KZhnDd_Inj^;0uRJ(?a{5o*9G4aPJ;E
zkYovMmldl7%5nT8bL2FBQ@J<=Y$%8cBQAqopK^K2h84S@j(N@40abE8YlCM5>Tq8@
z%ca%T6{xj3kJd@{4?!UP98{|-3Z`l69JBtf(o}&bS%~HX<5K)rYU*sNte4d4eo%Gs
z3mU501AYg`&FTn)wjD8JaT=)+#pfXcN#oY>YoIn^mqaoV60>!YR*b2X+)>gjEo^M|
z=Hx@}(qi8t08lLFnD!;aCOgDuM~2LcvQwbyAhB{2?6{ZDARIEtN!@^O%1_c}pDmIv
z9iugd9Pz4tqMiQ<nxgktp_0gu6utn$b}p>b8dn5D5AdI}yZ3jD0kFUGpL=8KRn}+r
zZ#d73JbGDI8tyGZt1}A}&w?PR8r?_J<3s)@hI&s+i73MyY;C&;m~JitgZctAKUqO9
z)Nvkub63*P&;<AtO%K|CyGPqHY`ZdDMt&k;vs^kNz7=Ws*-lh;K#8CSE(_l?_*Jn$
zH&WqlbI`=2+%zjIh<3fIcA+~uQ~y8VR5tYX%T?7#E{b`n%0wt6a=Yu{7Y=}%Y@4+r
zT>wd6hKp}iR%?!t<-4voX@8}SRe&0kNzDy;Vpqy^HZpgGi7-+!u(el%8MB1~#67Gv
zb5r#{@f4T~+^;9blU1%L{|m;5ibALbwT?pXN}Z$aCt>8Vo61}Ls`*0?MuI~9D#(2?
zrXEf(=ZHQca4m`yZlDZ9U%`)V`F+t<)9|E2+GnY3q(`C!v1`xK#%=y!&44$=Q)Cz6
z5!+_|hEC>^gGZzJp(UbVmY&wu?TFmH62Xm^kRdSywJ=2a#shBZ<S~0CRz7zXUkuoV
zJBNiGuUPbNIZ^pfF{*!wkk=`#N2Yr`O0AwAEUV?~?kT7E*f7VX`GhGdi107MJKbwS
zQsNZPZ-MdSg)6n5g(PM6MlcD>kXwTVGAK9-2f+Jt(1aA-g^~~LVrj_Lr>gi<h3Ddm
zAi4r0-xYzBz|?lV2+ku8rx+{GVzA5bTvnlhJ-cdmQX~+UQFK^laT!5l0MGtl9Eqlm
zAZ>!&32c@luvy}UE#50ybhF^Dg|T!SUF@<4(g-*}%nLEl#vr`xb)<%f91ISs**Fc3
z$baM~1@zQ8TxTF5*Wzft@oQi~BV?Wx7tG<ecXKdrgE!rt`G?-mKskzrr;t%`cr0|O
zRtvG^79E&mf^h~Vm~_SzIuKo;uZSU)ze0*(su<Y;=R)fTCko5&rn3rRfHVVuGWxU{
zWI2&ynnE<*oBl^2$shI6LWe=h8w5I&P=B(~6GyYd<~OzK2}i^PQ5ChZqK%FShX{Rd
zefH7&BR`L@VhMi>&~v!Ux(HkkaodBe20LAOp7H}Sql=HDW1Oi!E`h!dZY@sTO~NY{
z#Dj3JBsBO+w-dBOqD7`zX-9zhHmP$+9CkQRNGvwzH7-7G)tdW`>r`x@4$r58)t<9&
zo!vR*jJ^1v=+J{a{%mH=r#TIQpiP?}^L^CSt0!?6&_M)P{<E__2+l}K9!zgwu7IE5
zFJmNTtWg93{S)0y>)PASftZ6AU3-51)Xl(zoy8e_usT;vQ^}{SSU#UgE(e3?nCI2S
zN*sfmpT%y`XC|DiXr0NC-93vq;xCt62ap;^SU^HVSF!d}7N7^OBw(c^_8D~Au>RLS
zk#nBMmRg<fGCA%HNHabNc(sOy&NI6*o!(V}?eMp?`(_;)@D6bF3_ft)WZH}0A<DU5
z>=FX5`}MK9qnv#~@zJ;sAU45~Wj7*J%%FLo6r!Fa&&c5gp1(nDJ_eG$K?Fo@2`tgr
zBT&`d^j=k@8vEsw)K4!=>C({q5x9khF6|}hdn8m=KRGL|-bd7yZ~%HhRK9<nXwED1
z<(Ml&M?ZD36;@P}w@8M`5q7_hsp9g(IWR)R-@JX@$9O68A-rsQ7ChI+-Ucg)$8cEA
zdSIDnSvb~>v;!%LKUDjZ>i@_~?k`ay8FVRjaYhz~!+Ic0h~D~Y`B|^BuhVm84(TBI
zzLD)8_NZ2hlxz~MCLU8G&Z{X|EGAmkh3xe^hS4e47kI=n{iVl``qV#uyvE~NcVxL+
z;_dKW4U&yCGJ1=FPrFZD`H-LXGq4;H;q&Sn1B)W=_<at<R6ECZj!=}OwBt7E&<N4k
z1!k1!%zBM2-W#|H6p`02?niQ`c#|&%j``ZHT6|&<=5}h)E%ik<Z%N;g;BMNXp{tfp
zWLXKRyNu&pKZ+z)-@W<xSdkuPJR`ruGcz)pA6@wNj~tK5EPAgPCq7GYpBB*1b_SnZ
zrb}lxd84PLTSc&iX<c6p{lOQR`Y+2n20Kp|48DcS&V7SyAc7y=Z}}#ccVo6}ZrzPb
zzQNg=&us>G#{QrMborCNyxo2<^*c615QM=JrRcfI^F~ANEW_~2hl`H!wrIhFhD4KL
z9=y=DA>oTDQDjGRqW3{A@$4t}SO*r?<AlIAy-ydVz1hA@S;%C$sJkM^_T0?|h*hq@
zIEarwf5MZ2KAsyOP3~qU+;nz;1osFl;t#auz=)Czu;7Y=Mw#rUY*p%d#`)PAjJ?*A
zFMAi@$%}I)ML#s{xnHbx*y~RL$?xvyKHi3IK-e?sP5rd~%J=Os=x0M37~6<Rty%S9
z-s4`4KikgNf<_6Z*n_j@$6NENQ#4uHyWsY4IG2{d=5w~SI0$9_Zhh}Na&+H)`g9L7
z+ML*6oVT^&+DgRwynCOkl}*6wjj?2~E%R)@nh9h-@QKL6^pw&j+q!m%z$AxH;>`!M
z=N!e)_mE9gKt{4sV>Z)m+L9%c(`g3v8N!9uf92yIZU#Q{yQ0gLV~4OkkW|OV2HIR&
zwGb3UdkZJO=;&I6koBA@)})81j^vhgN7&$Wwb2c(kh6L9Ew)%4jW{FTZz@qX99DOw
z&e}N4s50BvB{quA$EYe%G$Z{Tt3QPEH`?H<{DnB_fY#f!h@e3M7}+q2JVbxGsDGsU
zd57C#1=*RdfRNi`CX~W;0(!i%(l4y<pe%(~(X^|LWSCBA6}KWD+z80<HC+ZX_=S|W
zB^%`Q$4~c-P2OM8$l&9K3W21<(xN7k5DZ)DgPVLTzkG@tZk`j5M7g3C`<9tN%^l%!
znG-9`*<E!ZuI4Jh_T<I`CU_WZD0@ARbD}wObsn?(s>dCOmommEY5X@J?F5P;j+SNZ
zY7e6r#?L;4Mjg><`XhMlc~-FOnN`Lm1Qu>D`P+F$QtwXI8ff{UJ*SPx!ka{xysi@N
zKeK*Jwm+NOoo)AdJG*s}rMEhZeINGws5DvF`zZ6<uoqBy$Ynf;SGy@jC_%%wmFJS>
zL`mCQvOn(K$j(R(>=D$3A+H>Unogo0W6?forZG)IdGO+>+Jt1YNE&wax6*hxU}7HV
z^Hvqt2v(3iS;!t0PfVY(#$NW7-Iw3iEra+l3$Ck)?m7{i%o$Bi>N4p(qxH@6*B}xp
z=LL|qZP;gHDvJs3wf8tQ?)F?*QLx}T1vgMr`7-09%4|KdU^@g$p^<G$lrsr&{Nl-e
z4I=(pF%i13O%cA=`Z?^{<5-AY1%^GNpb3{9d&!(s-Jx*Cd*sf#wR9)mUVqi+V}9dB
z#u&`}?j>JS?<2-di<ddZR<j{rTO@HCBcuc8RwjB~u{F{Jj^ZT}MBzG%m~%frIT4>T
zC@GLEF?D!&dB>Ajzhsx)Np)z@86hnjn^O*{Kfw0R?=-2={WC?`42L?c0^GcBZaCBi
z{uYSr&{+fr2hETyWZUL(4pfyogI+|z`k+`|Wtq)t`MF$+g#!D118Z~%`01#mQFZim
zf<eu%Z9jYRcAXL3G;d_F+l#Ig<L-B;u*^??fqk|pSZbij*uDH?+M!c9!!nv`#mqGx
z78c8a4!p=P`k^2sK9TkwLD#qzloIl8(5UYSi9W>$;?Ix273reh%*>HHp|Ma`Fod}K
zLrpH{ZMkO%hl5l@$Fe(a5c8NZ-}82Hz6T>GDMtpDqVv}CLQRrJtzj~(G??%Wse3En
zg;(v!u*U&(s>DdAWXqK}^u-yk@i0w;R^B`sViZ{Kg=3^xpMVp)K{14D>}=MUqlq~`
zh4IsnsHF<TA?dfjXKRIs>Ulsn@~B+jlz2MWNxDIpq1bx8k`b3bi1y1X;~EcS7*alF
znLTBu??u{TY2%tZj&_lD>89S~jYDH?0Ib<LfxYoS(y`@-7Mu-my_n0U$GPL3*aNEQ
z7lvc`aGn(3>6IwFX<~tfcuBTd(gPPlOuQs7Bso_+Jt0Qi4*NV)(A-n^*H}(P(v#9p
zs(Ap9xaYdgDGzRT?&Go$JBec!Sa-lG?xE@*hqgI)@g@jTSlQ7Dn3K^>y}`@76kMw-
zy9V>2PM=BDPG+sI?~T!5_|A3KA~)~kddw22Rxmr%rF$aq&2R&aN1}(!S|UiS8DJuh
zRvdE&);`dF60>ROWX=_f_jk;@20PcC#zmXclNP_5=imcE2I_Q`q#=<gE`}wusK$Vf
zPUuPBpwpQA%*jD6_Dx)jOiht%wuOI|W=@hqAX>}ZLLh6_Ig31#V~BDBpF2;n;6}N{
z&_rtl44ev7epTrc0sw#RP!O&n0RVMJfNUV@e&ADJep~ib$s&PbBEov=AJ=dZmUi!0
z>2{+%y#l~Jf&wAl%Yx9H#DUL1uR!lWeAFlJUhm1<KuJf_7))F2ADk}%esK@PcR+7a
zuLoBYpXTon8W48~w>kCQ#eM+<O?nvurCZ=zO$4p_K>jsb?+@jCK=0PqB=;m|;?YYI
z&Bx~{Mo2`a)YU1cIkT+X5C>}iKPWzw`i>J6K6xG2xeygT1s>%tf)uM5f6HAIyT+kD
z9>%Vys3>oDhH70z5J=gH%`0p5{t9ACnGqkT=bO?4y7oI~A%hEFn1J=!2v&CgGlNWG
zcMVPJ<X@N$6&0O!s#yGSA&#v1hL$BTf|nH@?t!pV6or-kKS*Mu<K*}aCV2rqIl@qU
zX!b9d6fyyTwNK)fu?SGBE&XUeMFqq-WB%1UEmLPDSq_Y^JPVy=e`Rh<s3P}~a(LN~
z)~&A1?`M!KCNjyzj24XA)@3OJ!II2c3d`SMHjSSupBT>2NMHb;c(dg}9({#V{i+vd
zH}ro-{1kmUM3rIy0OB?+XDRsTZ48X?JN`jLSoqwhb$~%W@H8<o(Z*c}TNlR0MZmsB
zijltX6R6$mzTc0PvVQC_U%Y<^7Z7b(9Dig;o$^<j9j+O`Y%HM<e3ASG3`3w()8~h-
z;SUg$g>|g|7!GC6{=18c>eDY@@C5phI(0=E?k?w5Vsv~&1x_<FJ-d1AN)uVO=)d`$
zoE%dtPXI=~l(0Dgi7TpEFVvVU!x{OXZ3dcfaGpUPlQiR)r@y?M{fR#RXG8yu64M2Q
zaq)O$4vY76V^8t=e=(b$4DHwITy7XTKk%3vs%+mMn(y^v{0q9%jiirK{_=0k?y{R1
z$2mf^53gGUaq^EH<Z;H)V4ruoK}!oHAR!?kelTBNUcd+;!g+PfMnBfAq^DPN{ogrK
zKnNHAkS-?}u!p@?tL$k3AACED+tQ*}bUTX&b&$vX=akN|ggIYf3Eq|V&p^|IoUcJA
zg)(U>iSZr4F-tMmGVf~P$XPPIAsMk(xH7vFsKXr$c;VM7OfU<4tZrBa%y4Q7Z)nN?
zmlLbm0tW(XAFJ8YvoP)yOcFO)-a9!XfnCu5F+5%IKfi6Mg*lHCf$7DKx^Th!gCVvm
z+QRvvUjEpHgoN-PLXmZc1eqNouKAgWVw^sCkhV(<U+^~mM*g79<Ou%GT=vk<4{o<S
zB9aE;e*r)IZ-<i;^y`m${;$DY)*}mL=hpe>I+T1a2J}HvR3&!*Q0#&*U@23;<UIq%
zg4iYXha32+NltV79j_m_Y%u9@?SfJpYHG|c<D&n?w5uln+8?JC313N%<s0a-8cd~{
zK&K&gk$n8m`u?f^S>{_dPe!8`X<<enwTHBlKvUlIQ4l12@Ze0sf6Nv21+Va5E^$hA
zZW~5dZ*oTL5+nAN)HjtNe6A<a_}d}NR2~MhWnfW_jJn)r+_0)ZNxy#}`CiX})&1A)
z%yb3ci!6a+I&}na|K6k=Es%U(KJL$k-+%aX)BBshDOaBo4cH(xmCqqlHD&8zQl^@T
z5hGsINkNDG5+jUq-k%V{p5|k4jqiq4s&IS%_U6Cd%Yd?3nD5+TYQ`3$6{(_{r;cv_
zMLRJ;iSEWmz6Ht4JJ2;+``jq2tV2-fJp`Q4wZdrlU+_zJcXtcP`w{!pMzOzcG+P*N
ztPq<3G@F}DPFMQ3Bgsyb5hTSBQrn4D8K+*i6Snpj?x$KlyRQ0jHE*!PE^gyr@FjmA
zfo0%xcXvkz^)3s2nWZsi@6;Sz7$pY96!fg2=)R$)9aLPgJ8avx8l9Futtd~ORwgEx
zHeZ*j^7+g4xyS)vFbg>f?#R}x5W<>}P&^eCCHh>Fe=qU>RbeNo?(P;^kcEa$I0RBr
z+ZAlM&M+!}Ec_RSN;D?N13S^73B+}WxSpm$t;3jP$y%$yquw|a!bB@s8@(bL3uITI
z^f5zD6^Po5|4xw9s2>hT$^(Fg>1&tfd$bh`<!20QUE~pe6z0^tRB_e|$k<e|V=>kC
z55s@bQRl<P##)MjmNJv$>oFJv(Zl`0g-owvO9}T=IjU8(?!R||n1G!oXb3a*Z$2w2
z*8ULnZx{dopL)lCE+aDeF}(17=H_z3bapECHS4fl`IjC|17FeaV)kG{9)sD~PDDTO
z`Nv=^z*0@YQ8mfAf9K0fXLnCurX1-FNKTsf0v4n;Aeq*ZK1R0>1froTxexM9U@M%x
z&#%XeSa(|SW37C*u)fv2{xccW_+?9o$gKa@H5uFcxF4&E(DXV002^qUyZhsmKz2cw
zO%T8!9e!XHv0_mJ8%{fv7m$5}@O93@uyY+V{`|3H{B=wkSY*bqR`MQG-Lh4y{u!sW
zs$Z<Yv8;&|(H(1*eQyeT;^pUM?^WaGu<C>jiI4yQAg~L(WLlT72g=|T=2mQ8NclDt
ztawc8;n(Z_MkL9K8XLHps{{Gd4zj%XM1IIw{^X`yNn!Ajh?4}!FP!#*d_!u>-E`KT
z&g*3rOW<P@^LDW^p)WfQIg1QNB4B7GR5U+JDU)fe@H3$MYO;bYTZ(!==oSz*IfG^2
zU<!)HJddH-ABM8ScoMU3ph^!+#awcRhD0}2L(#UtRFH&)Z9FKZ@|35VIC4B0^KZlY
zKA}Z4q{PFTh%XmN2wF2W8fmCzI}jiNNTIajp3c12J~xQXdMKtbY^U9C7q5f`K4-c(
z2p-f^O#@B;-JZTJ++ptZ_=HgKH0Jk?m<L&dYgn4!USX2rkqT8F;JrtsX8;Do*(=X?
z#xtMCjBVooq~V_O;8e;8wfwk8LFAjCp}aXci^zLF2#{qe0HQZF9I$!(A*6$%0_m&T
z4r1hil4$r#(4#HgE9f}i=@Sr&boav7XV%A_pPc?%_5joHE|QJKKaz+6TK&hX_0C(8
zyKigzQ!E|&;Ob+XsDpjn>unpE>~Vii=2u58Ae7UF)kQ|(+fub-y`VZNc2GY;T<-E!
zEXk%`8~I`L9whKb4icf>7q2cfwwN{DU9})w7~eXgQ+0mjR~kAlUp*zZ>p0WlTQCB2
z&cum%qf0UhKQTO4Mef%&8+OLK#M9R?c8r`K?pZbgg*wCSJpGS1<@`&(M$}*0`LYT7
zI&`*9d#3{S_foZW6xbg1OyS(m^-LZ+6v87R+SG+7`$9@nHx8NE1=*SdEa1bsmAp?>
zI$cH_tb0rV#I$CK-LKRtn(y}VaV5LcTs?7~HexWVS=m;|`eBG|Cb`Kq+-VIqXFGNY
zbjszIl|Amys^Llf4OdH9jiRK6NE5-h=j(1aZ#2@kCrmNYkD|0Q5iH*~D;*veifgRS
z!<)vW%%c~b7N7U{WD6aixmd@Wf8l!ov5+uN(?fr22qZD?33|0*R*nKrX$WH$J=J5V
zj==Cs6~`(v534@g<~ELrx}t5@A_Wb59W~iXoN{&;2P9w{5H9FR&SXvz>3_^S72UB_
z1R<`pKBQ*?aX1y|u{Q7$JQUnA&B^6SxHeAk^fvG3cLZgEhsCN~4}074>|q{?L)Tx~
zqVQFvb-#XJne}(u3cr~O-c_^+M=2*FKA0xj&&m$@^0Ug6t;LR>$7zUhO=|pY@nuRO
zY3r2Oa8rM!Hb<P<!J=b&T$+=)OrQZCE+GC11AN&H*2>7A7p?75(D(JZ4e{0Tr`brl
z#>5VQ)usjjkOhrtKKohX>^iNfR}rduo)ka$`LgAtE5B~OhH(+B6;cHBCi&d<!PZYV
z+lIE<No~u4&<mFV02~SUUo!-+FFJL|V69Dyvji$2wiy)fF>x1gec64k0>$}L7^NRO
zAQ#=_zjA8SMb=%SCQ23XYln_rp{5Ix*7z@?(J%)U#z2O{R)cT?i|E+4^9cb^?jT>|
ze$x7LIQ2N-EkCfP@tADIBV%Siai`g$McQeS9vmDX?t1~b#{uUnI$qtlkGGqc<U4_w
zm7pW(qdh}XHoX8K8^nA8N2`5RIIdm*1Jx(Nng-fAP56m6xU^P>yNz~?X;^NIYk(6<
ze{ipcLmAAVWFVU%#ODOgil9U|FL^GvnlL<Pq}J-x@}EQw-E=W{7PZo-y-=W2CdYa?
zK85ES1$X9Irebs%_w^<IWhF0pHquYc9%b4kGaUC-$R-P9-4qUu(E;lA2zs#jMBgBm
z>E{0wJM($7ax2e;fa{3E_$OrpbR-YU#je*M>@V97_-6q?Nkwd?_#fwHXh(pwu>Rm~
znRKVM@Oc1+Zz6SYQ0LiR%w_TKZ)g*FjgySR0;XNExQ6_de4Y0rd29L=-(7Cx?-=JJ
z1N1=XnllRHlgiixjT!BmaO-JwAAkY?c7IY3Mry+bnOT4*C|aOSr_lEX`&v}nDl+}a
zM+;0ACIDYlFYJJ(PuFs`r(y9XmC+fa@!G3<E?urP4fCQ<rn#R=krF(6(<E61@4~B`
z{&GctKv_-#J7(`VPsg=nKPjz;<X=VsI>EJVH;h}~(tmONvS|`l76im0dZ^?3t_MFa
z`y;2!8Q}q|TjcF(oZJt98;i|2Yvu`W5DA-@3QJX#nuH9u_^DCi)Kz7K!>fb(O?cIN
zTjou!@-v?mMyb$Qd2m*yhaHP40)Q-E5?8*big^tbZ-u~BM6cG3Me1bb(NsfU>4rxU
z&RQlI2<;I5Sq()?7)k&DH{9JAv!=(j5*uVg>o^nuNrc9y$?v-vje<mGZQe(>N}5EN
zf9WoBRQq<k7}kOQL)!Kz{)wkECwG@uXooXd99L#C;P?DKZ68h(w56iZ^z!gI7Fdc!
zretqT4L2gTmV(M|_{TXf8<YAY0Fk?$b-eE+B~N?;L})p(om8nPZ^@>BzOo9K*W+ey
zBo3d~BEnZ1_wz1;>(Dh}nu2BI`?o5(%E|KeAVJ<!WMt9Wug@RkZn<2Vqq(R^NfOdE
zTXQhoF4m3?=2QZ44ul0ne=LJoF&x|mKozRmZb*%*MF_G}jf+PZEZ6C{2y-^sz(*cw
z8IS0y-cSKi7s<IJYn!%f{LaLPQh|LpZ~_3NPRH)?AZ7Dk4xvcWSrSG8wRYErby&W5
zRP`Q&V&O@1!jGAlsN+wt1<((-K?aabX@#9wLvuEB!SAo*oDj{ZW!#%YnDL;uEEY&e
z!9jN5R54ODj7pG^L)?{C`X32<T(^Go$GX=yhpv{7%a8qN4#j#8BzVk2h_^=h5y97D
zw!0BRrw55%&^{Ln`=FlMIS{LAj6hZb<x__n>+u`{mGg1NIgo{LI*8_>z#GUu5m}|R
zZ>vtcJ4zGHFsKnO;5neh4+<A<K$tD~73!}IAPft)sA5)i;D%5@;{{^YE6BUj%^;^*
zYy#wAZt#cIzu>YxuIGlJ^I$ocYLaL`hQuo2D96BZ<05ZA)0;?KyXolzLM~W*?b&5Y
z9?d{>mITwDuD~j?i1R>M1p$Ek2BlNh7^X`@t?l}uK2x_Mrno0XEn~nH9{Ay(V<uTA
zf{q8=PF^9g-kC(KkSK8^oa@M;*P>aaro*)vQObz1a0*zeR$2xcw*#iya~$&NRm&!;
z*Zi8#-j1cEMAx=^_CA%EzT}!V?8UFU`@^Ozpr7PpYmucFo1s@zX)m7{(+X;PYsa^Y
z_PTWi`pB|)%zN7Y@1NwC0|TPAQIDf6q_8))@`rjk^9?q;y#N~73#BaRF>wd0JTe2o
G-}pag&M=Sw

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_feedback.webp b/vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_feedback.webp
new file mode 100644
index 0000000000000000000000000000000000000000..f95909eaaea856f7b4c857c55f124c9bac5ea7c3
GIT binary patch
literal 22692
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_spaces.webp b/vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..03e31dc9d6f8d0acd2d4b236a23cb14bc96962c2
GIT binary patch
literal 34900
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_welcome.webp b/vector/src/main/res/res/drawable-xxhdpi/app_layout_onboarding_welcome.webp
new file mode 100644
index 0000000000000000000000000000000000000000..f95909eaaea856f7b4c857c55f124c9bac5ea7c3
GIT binary patch
literal 22692
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_feedback.webp b/vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_feedback.webp
new file mode 100644
index 0000000000000000000000000000000000000000..cee3cf512ccd9ac2b74306cf13ba96551464727b
GIT binary patch
literal 32874
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

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_spaces.webp b/vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_spaces.webp
new file mode 100644
index 0000000000000000000000000000000000000000..b4bf421be5b889ed00119978f7e942e748d26930
GIT binary patch
literal 52942
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
hDrS^cakcn}n;Q5400000000000000000000000*RkYNA-

literal 0
HcmV?d00001

diff --git a/vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_welcome.webp b/vector/src/main/res/res/drawable-xxxhdpi/app_layout_onboarding_welcome.webp
new file mode 100644
index 0000000000000000000000000000000000000000..cee3cf512ccd9ac2b74306cf13ba96551464727b
GIT binary patch
literal 32874
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

literal 0
HcmV?d00001

diff --git a/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt b/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt
index 0e4a4704b9..49c3f3ef23 100644
--- a/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt
+++ b/vector/src/test/java/im/vector/app/features/onboarding/OnboardingViewModelTest.kt
@@ -170,7 +170,7 @@ class OnboardingViewModelTest {
                 .assertStatesChanges(
                         initialState,
                         { copy(isLoading = true) },
-                        { copy(isLoading = false) }
+                        { copy(isLoading = false, selectedAuthenticationState = SelectedAuthenticationState(description = AuthenticationDescription.Login)) }
                 )
                 .assertEvents(OnboardingViewEvents.OnAccountSignedIn)
                 .finish()
@@ -189,7 +189,7 @@ class OnboardingViewModelTest {
                 .assertStatesChanges(
                         initialState,
                         { copy(isLoading = true) },
-                        { copy(isLoading = false) }
+                        { copy(isLoading = false, selectedAuthenticationState = SelectedAuthenticationState(description = AuthenticationDescription.Login)) }
                 )
                 .assertEvents(OnboardingViewEvents.OnAccountSignedIn)
                 .finish()
@@ -284,7 +284,7 @@ class OnboardingViewModelTest {
                 .assertStatesChanges(
                         initialState,
                         { copy(isLoading = true) },
-                        { copy(isLoading = false) }
+                        { copy(isLoading = false, selectedAuthenticationState = SelectedAuthenticationState(description = AuthenticationDescription.Login)) }
                 )
                 .assertEvents(OnboardingViewEvents.OnAccountSignedIn)
                 .finish()
@@ -870,7 +870,7 @@ class OnboardingViewModelTest {
                 .assertStatesChanges(
                         initialState,
                         { copy(isLoading = true) },
-                        { copy(isLoading = false) }
+                        { copy(isLoading = false, selectedAuthenticationState = SelectedAuthenticationState(description = AuthenticationDescription.Login)) }
                 )
                 .assertEvents(OnboardingViewEvents.OnAccountSignedIn)
                 .finish()

From 97a010cbc558a19b3412f7eb08983125e1b0dbd5 Mon Sep 17 00:00:00 2001
From: Benoit Marty <benoit@matrix.org>
Date: Tue, 6 Sep 2022 12:15:20 +0200
Subject: [PATCH 27/57] Update doc.

---
 docs/nightly_build.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/nightly_build.md b/docs/nightly_build.md
index 7750e0466a..77cc676c7f 100644
--- a/docs/nightly_build.md
+++ b/docs/nightly_build.md
@@ -47,7 +47,7 @@ git checkout develop
 mv towncrier.toml towncrier.toml.bak
 sed 's/CHANGES\.md/CHANGES_NIGHTLY\.md/' towncrier.toml.bak > towncrier.toml
 rm towncrier.toml.bak
-yes n | towncrier --version nightly
+yes n | towncrier build --version nightly
 ./gradlew assembleGplayNightly appDistributionUploadGplayNightly $CI_GRADLE_ARG_PROPERTIES
 ```
 

From b4fcffbdf9f01d14a667d8c39408d3f4418e49a6 Mon Sep 17 00:00:00 2001
From: Benoit Marty <benoit@matrix.org>
Date: Tue, 6 Sep 2022 17:11:25 +0200
Subject: [PATCH 28/57] Add missing points.

---
 .../app/features/analytics/plan/UserProperties.kt      | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/analytics/plan/UserProperties.kt b/vector/src/main/java/im/vector/app/features/analytics/plan/UserProperties.kt
index d6fa918b8e..28732c9a42 100644
--- a/vector/src/main/java/im/vector/app/features/analytics/plan/UserProperties.kt
+++ b/vector/src/main/java/im/vector/app/features/analytics/plan/UserProperties.kt
@@ -45,7 +45,7 @@ data class UserProperties(
          */
         val webMetaSpacePeopleEnabled: Boolean? = null,
         /**
-         * The active filter in the All Chats screen
+         * The active filter in the All Chats screen.
          */
         val allChatsActiveFilter: AllChatsActiveFilter? = null,
         /**
@@ -87,22 +87,22 @@ data class UserProperties(
     enum class AllChatsActiveFilter {
 
         /**
-         * Filters are activated and All is selected
+         * Filters are activated and All is selected.
          */
         All,
 
         /**
-         * Filters are activated and Favourites is selected
+         * Filters are activated and Favourites is selected.
          */
         Favourites,
 
         /**
-         * Filters are activated and People is selected
+         * Filters are activated and People is selected.
          */
         People,
 
         /**
-         * Filters are activated and Unreads is selected
+         * Filters are activated and Unreads is selected.
          */
         Unreads,
     }

From 273999ee88dd7dea690b50452d325c89cb3db008 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jorge=20Mart=C3=ADn?= <jorgem@element.io>
Date: Tue, 6 Sep 2022 12:34:24 +0200
Subject: [PATCH 29/57] Fix voice recording tests

---
 .../features/voice/VoiceRecorderProviderTests.kt   | 14 ++++++++++++--
 .../app/features/voice/VoiceRecorderProvider.kt    |  4 +++-
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/vector/src/androidTest/java/im/vector/app/features/voice/VoiceRecorderProviderTests.kt b/vector/src/androidTest/java/im/vector/app/features/voice/VoiceRecorderProviderTests.kt
index 61f745178c..65f81b145b 100644
--- a/vector/src/androidTest/java/im/vector/app/features/voice/VoiceRecorderProviderTests.kt
+++ b/vector/src/androidTest/java/im/vector/app/features/voice/VoiceRecorderProviderTests.kt
@@ -20,6 +20,8 @@ import android.os.Build
 import androidx.test.platform.app.InstrumentationRegistry
 import im.vector.app.AndroidVersionTestOverrider
 import im.vector.app.features.DefaultVectorFeatures
+import io.mockk.every
+import io.mockk.spyk
 import org.amshove.kluent.shouldBeInstanceOf
 import org.junit.After
 import org.junit.Test
@@ -27,7 +29,7 @@ import org.junit.Test
 class VoiceRecorderProviderTests {
 
     private val context = InstrumentationRegistry.getInstrumentation().targetContext
-    private val provider = VoiceRecorderProvider(context, DefaultVectorFeatures())
+    private val provider = spyk(VoiceRecorderProvider(context, DefaultVectorFeatures()))
 
     @After
     fun tearDown() {
@@ -35,11 +37,19 @@ class VoiceRecorderProviderTests {
     }
 
     @Test
-    fun provideVoiceRecorderOnAndroidQReturnsQRecorder() {
+    fun provideVoiceRecorderOnAndroidQAndCodecReturnsQRecorder() {
         AndroidVersionTestOverrider.override(Build.VERSION_CODES.Q)
+        every { provider.hasOpusEncoder() } returns true
         provider.provideVoiceRecorder().shouldBeInstanceOf(VoiceRecorderQ::class)
     }
 
+    @Test
+    fun provideVoiceRecorderOnAndroidQButNoCodecReturnsLRecorder() {
+        AndroidVersionTestOverrider.override(Build.VERSION_CODES.Q)
+        every { provider.hasOpusEncoder() } returns false
+        provider.provideVoiceRecorder().shouldBeInstanceOf(VoiceRecorderL::class)
+    }
+
     @Test
     fun provideVoiceRecorderOnOlderAndroidVersionReturnsLRecorder() {
         AndroidVersionTestOverrider.override(Build.VERSION_CODES.LOLLIPOP)
diff --git a/vector/src/main/java/im/vector/app/features/voice/VoiceRecorderProvider.kt b/vector/src/main/java/im/vector/app/features/voice/VoiceRecorderProvider.kt
index 3441d0231a..1bf289fb4c 100644
--- a/vector/src/main/java/im/vector/app/features/voice/VoiceRecorderProvider.kt
+++ b/vector/src/main/java/im/vector/app/features/voice/VoiceRecorderProvider.kt
@@ -20,6 +20,7 @@ import android.content.Context
 import android.media.MediaCodecList
 import android.media.MediaFormat
 import android.os.Build
+import androidx.annotation.VisibleForTesting
 import im.vector.app.features.VectorFeatures
 import kotlinx.coroutines.Dispatchers
 import javax.inject.Inject
@@ -40,7 +41,8 @@ class VoiceRecorderProvider @Inject constructor(
         return Build.VERSION.SDK_INT < Build.VERSION_CODES.Q || !hasOpusEncoder() || vectorFeatures.forceUsageOfOpusEncoder()
     }
 
-    private fun hasOpusEncoder(): Boolean {
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    internal fun hasOpusEncoder(): Boolean {
         val codecList = MediaCodecList(MediaCodecList.ALL_CODECS)
         val format = MediaFormat.createAudioFormat(MediaFormat.MIMETYPE_AUDIO_OPUS, 48000, 1)
         return codecList.findEncoderForFormat(format) != null

From e2aa66e4c20a47fc953f2f8eeed0e22961e46e55 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Mon, 29 Aug 2022 17:23:07 +0200
Subject: [PATCH 30/57] Adding changelog entry

---
 changelog.d/6961.wip | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 changelog.d/6961.wip

diff --git a/changelog.d/6961.wip b/changelog.d/6961.wip
new file mode 100644
index 0000000000..2d271da8c1
--- /dev/null
+++ b/changelog.d/6961.wip
@@ -0,0 +1 @@
+[Devices Management] Session overview screen

From 969663786b0f86f85601be1fbbbd3d8e66ac0c1e Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Mon, 29 Aug 2022 17:30:59 +0200
Subject: [PATCH 31/57] Renaming header list view to be consistent

---
 .../stylable_devices_list_header_view.xml     |  2 +-
 ...eaderView.kt => SessionsListHeaderView.kt} | 20 +++++++++----------
 .../res/layout/fragment_settings_devices.xml  |  6 +++---
 ...ader.xml => view_sessions_list_header.xml} |  8 ++++----
 4 files changed, 18 insertions(+), 18 deletions(-)
 rename vector/src/main/java/im/vector/app/features/settings/devices/v2/list/{DevicesListHeaderView.kt => SessionsListHeaderView.kt} (74%)
 rename vector/src/main/res/layout/{view_devices_list_header.xml => view_sessions_list_header.xml} (83%)

diff --git a/library/ui-styles/src/main/res/values/stylable_devices_list_header_view.xml b/library/ui-styles/src/main/res/values/stylable_devices_list_header_view.xml
index f0807f89c6..97e0290815 100644
--- a/library/ui-styles/src/main/res/values/stylable_devices_list_header_view.xml
+++ b/library/ui-styles/src/main/res/values/stylable_devices_list_header_view.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 
-    <declare-styleable name="DevicesListHeaderView">
+    <declare-styleable name="SessionsListHeaderView">
         <attr name="devicesListHeaderTitle" format="string" />
         <attr name="devicesListHeaderDescription" format="string" />
     </declare-styleable>
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/DevicesListHeaderView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionsListHeaderView.kt
similarity index 74%
rename from vector/src/main/java/im/vector/app/features/settings/devices/v2/list/DevicesListHeaderView.kt
rename to vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionsListHeaderView.kt
index d6c7dbe273..547ed93f24 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/DevicesListHeaderView.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionsListHeaderView.kt
@@ -25,15 +25,15 @@ import androidx.core.content.res.use
 import androidx.core.view.isVisible
 import im.vector.app.R
 import im.vector.app.core.extensions.setTextWithColoredPart
-import im.vector.app.databinding.ViewDevicesListHeaderBinding
+import im.vector.app.databinding.ViewSessionsListHeaderBinding
 
-class DevicesListHeaderView @JvmOverloads constructor(
+class SessionsListHeaderView @JvmOverloads constructor(
         context: Context,
         attrs: AttributeSet? = null,
         defStyleAttr: Int = 0
 ) : ConstraintLayout(context, attrs, defStyleAttr) {
 
-    private val binding = ViewDevicesListHeaderBinding.inflate(
+    private val binding = ViewSessionsListHeaderBinding.inflate(
             LayoutInflater.from(context),
             this
     )
@@ -43,7 +43,7 @@ class DevicesListHeaderView @JvmOverloads constructor(
     init {
         context.obtainStyledAttributes(
                 attrs,
-                R.styleable.DevicesListHeaderView,
+                R.styleable.SessionsListHeaderView,
                 0,
                 0
         ).use {
@@ -53,14 +53,14 @@ class DevicesListHeaderView @JvmOverloads constructor(
     }
 
     private fun setTitle(typedArray: TypedArray) {
-        val title = typedArray.getString(R.styleable.DevicesListHeaderView_devicesListHeaderTitle)
-        binding.devicesListHeaderTitle.text = title
+        val title = typedArray.getString(R.styleable.SessionsListHeaderView_devicesListHeaderTitle)
+        binding.sessionsListHeaderTitle.text = title
     }
 
     private fun setDescription(typedArray: TypedArray) {
-        val description = typedArray.getString(R.styleable.DevicesListHeaderView_devicesListHeaderDescription)
+        val description = typedArray.getString(R.styleable.SessionsListHeaderView_devicesListHeaderDescription)
         if (description.isNullOrEmpty()) {
-            binding.devicesListHeaderDescription.isVisible = false
+            binding.sessionsListHeaderDescription.isVisible = false
             return
         }
 
@@ -70,8 +70,8 @@ class DevicesListHeaderView @JvmOverloads constructor(
         stringBuilder.append(" ")
         stringBuilder.append(learnMore)
 
-        binding.devicesListHeaderDescription.isVisible = true
-        binding.devicesListHeaderDescription.setTextWithColoredPart(
+        binding.sessionsListHeaderDescription.isVisible = true
+        binding.sessionsListHeaderDescription.setTextWithColoredPart(
                 fullText = stringBuilder.toString(),
                 coloredPart = learnMore,
                 underline = false
diff --git a/vector/src/main/res/layout/fragment_settings_devices.xml b/vector/src/main/res/layout/fragment_settings_devices.xml
index 6710f345ce..a289bda735 100644
--- a/vector/src/main/res/layout/fragment_settings_devices.xml
+++ b/vector/src/main/res/layout/fragment_settings_devices.xml
@@ -56,7 +56,7 @@
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/deviceListInactiveSessionsRecommendation" />
 
-        <im.vector.app.features.settings.devices.v2.list.DevicesListHeaderView
+        <im.vector.app.features.settings.devices.v2.list.SessionsListHeaderView
             android:id="@+id/deviceListHeaderCurrentSession"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
@@ -66,7 +66,7 @@
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/deviceListSecurityRecommendationsDivider" />
 
-        <im.vector.app.features.settings.devices.v2.list.CurrentSessionView
+        <im.vector.app.features.settings.devices.v2.list.SessionInfoView
             android:id="@+id/deviceListCurrentSession"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
@@ -86,7 +86,7 @@
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/deviceListCurrentSession" />
 
-        <im.vector.app.features.settings.devices.v2.list.DevicesListHeaderView
+        <im.vector.app.features.settings.devices.v2.list.SessionsListHeaderView
             android:id="@+id/deviceListHeaderOtherSessions"
             android:layout_width="0dp"
             android:layout_height="wrap_content"
diff --git a/vector/src/main/res/layout/view_devices_list_header.xml b/vector/src/main/res/layout/view_sessions_list_header.xml
similarity index 83%
rename from vector/src/main/res/layout/view_devices_list_header.xml
rename to vector/src/main/res/layout/view_sessions_list_header.xml
index 492c3e7a12..d690ee4c87 100644
--- a/vector/src/main/res/layout/view_devices_list_header.xml
+++ b/vector/src/main/res/layout/view_sessions_list_header.xml
@@ -7,7 +7,7 @@
     tools:parentTag="androidx.constraintlayout.widget.ConstraintLayout">
 
     <TextView
-        android:id="@+id/devices_list_header_title"
+        android:id="@+id/sessions_list_header_title"
         style="@style/TextAppearance.Vector.Subtitle.Medium.DevicesManagement"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
@@ -19,14 +19,14 @@
         tools:text="Other sessions" />
 
     <TextView
-        android:id="@+id/devices_list_header_description"
+        android:id="@+id/sessions_list_header_description"
         style="@style/TextAppearance.Vector.Body.DevicesManagement"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
         android:layout_marginTop="18.5dp"
         android:layout_marginEnd="40dp"
         app:layout_constraintEnd_toEndOf="parent"
-        app:layout_constraintStart_toStartOf="@id/devices_list_header_title"
-        app:layout_constraintTop_toBottomOf="@id/devices_list_header_title"
+        app:layout_constraintStart_toStartOf="@id/sessions_list_header_title"
+        app:layout_constraintTop_toBottomOf="@id/sessions_list_header_title"
         tools:text="For best security, verify your sessions and sign out from any session that you don’t recognize or use anymore. Learn More." />
 </merge>

From ebf707dca9a26346450e28c6ba5470916a232224 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Mon, 29 Aug 2022 18:29:12 +0200
Subject: [PATCH 32/57] Navigation from current session

---
 .../src/main/res/values/strings.xml           |  2 +
 vector/src/main/AndroidManifest.xml           |  1 +
 .../app/core/di/MavericksViewModelModule.kt   |  6 +++
 .../v2/VectorSettingsDevicesFragment.kt       | 26 ++++++++-
 .../v2/VectorSettingsDevicesViewNavigator.kt  | 29 ++++++++++
 .../devices/v2/list/CurrentSessionView.kt     |  2 +
 .../v2/overview/SessionOverviewAction.kt      | 21 ++++++++
 .../v2/overview/SessionOverviewActivity.kt    | 52 ++++++++++++++++++
 .../v2/overview/SessionOverviewArgs.kt        | 25 +++++++++
 .../v2/overview/SessionOverviewFragment.kt    | 52 ++++++++++++++++++
 .../v2/overview/SessionOverviewState.kt       | 28 ++++++++++
 .../v2/overview/SessionOverviewViewModel.kt   | 53 +++++++++++++++++++
 .../res/layout/fragment_settings_devices.xml  |  2 +-
 .../fragment_settings_session_overview.xml    |  6 +++
 14 files changed, 302 insertions(+), 3 deletions(-)
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewAction.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewActivity.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewArgs.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewState.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
 create mode 100644 vector/src/main/res/layout/fragment_settings_session_overview.xml

diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index 8c2af01e52..823a26df74 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -3248,6 +3248,8 @@
         <item quantity="one">Consider signing out from old sessions (%1$d day or more) that you don’t use anymore.</item>
         <item quantity="other">Consider signing out from old sessions (%1$d days or more) that you don’t use anymore.</item>
     </plurals>
+    <string name="device_manager_current_session_title">Current Session</string>
+    <string name="device_manager_session_title">Session</string>
 
     <!-- Note to translators: %s will be replaces with selected space name -->
     <string name="home_empty_space_no_rooms_title">%s\nis looking a little empty.</string>
diff --git a/vector/src/main/AndroidManifest.xml b/vector/src/main/AndroidManifest.xml
index c4022576c3..cd2fd52b32 100644
--- a/vector/src/main/AndroidManifest.xml
+++ b/vector/src/main/AndroidManifest.xml
@@ -339,6 +339,7 @@
         <activity android:name=".features.call.dialpad.PstnDialActivity" />
         <activity android:name=".features.home.room.list.home.invites.InvitesActivity"/>
         <activity android:name=".features.home.room.list.home.release.ReleaseNotesActivity"/>
+        <activity android:name=".features.settings.devices.v2.overview.SessionOverviewActivity"/>
 
         <!-- Services -->
 
diff --git a/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt b/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt
index a40aeaaa15..40484f57e8 100644
--- a/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt
+++ b/vector/src/main/java/im/vector/app/core/di/MavericksViewModelModule.kt
@@ -88,6 +88,7 @@ import im.vector.app.features.settings.account.deactivation.DeactivateAccountVie
 import im.vector.app.features.settings.crosssigning.CrossSigningSettingsViewModel
 import im.vector.app.features.settings.devices.DeviceVerificationInfoBottomSheetViewModel
 import im.vector.app.features.settings.devices.DevicesViewModel
+import im.vector.app.features.settings.devices.v2.overview.SessionOverviewViewModel
 import im.vector.app.features.settings.devtools.AccountDataViewModel
 import im.vector.app.features.settings.devtools.GossipingEventsPaperTrailViewModel
 import im.vector.app.features.settings.devtools.KeyRequestListViewModel
@@ -630,4 +631,9 @@ interface MavericksViewModelModule {
     @IntoMap
     @MavericksViewModelKey(ReleaseNotesViewModel::class)
     fun releaseNotesViewModel(factory: ReleaseNotesViewModel.Factory): MavericksAssistedViewModelFactory<*, *>
+
+    @Binds
+    @IntoMap
+    @MavericksViewModelKey(SessionOverviewViewModel::class)
+    fun sessionOverviewViewModelFactory(factory: SessionOverviewViewModel.Factory): MavericksAssistedViewModelFactory<*, *>
 }
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
index 78b8c66f9c..2adf7969bf 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
@@ -42,6 +42,7 @@ import im.vector.app.features.settings.devices.DevicesViewEvents
 import im.vector.app.features.settings.devices.DevicesViewModel
 import im.vector.app.features.settings.devices.v2.list.SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS
 import im.vector.app.features.settings.devices.v2.list.SecurityRecommendationViewState
+import javax.inject.Inject
 
 /**
  * Display the list of the user's devices and sessions.
@@ -50,6 +51,8 @@ import im.vector.app.features.settings.devices.v2.list.SecurityRecommendationVie
 class VectorSettingsDevicesFragment :
         VectorBaseFragment<FragmentSettingsDevicesBinding>() {
 
+    @Inject lateinit var viewNavigator: VectorSettingsDevicesViewNavigator
+
     private val viewModel: DevicesViewModel by fragmentViewModel()
 
     override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSettingsDevicesBinding {
@@ -72,10 +75,10 @@ class VectorSettingsDevicesFragment :
 
         initLearnMoreButtons()
         initWaitingView()
-        observerViewEvents()
+        observeViewEvents()
     }
 
-    private fun observerViewEvents() {
+    private fun observeViewEvents() {
         viewModel.observeViewEvents {
             when (it) {
                 is DevicesViewEvents.Loading -> showLoading(it.message)
@@ -197,15 +200,34 @@ class VectorSettingsDevicesFragment :
             views.deviceListHeaderCurrentSession.isVisible = true
             views.deviceListCurrentSession.isVisible = true
             views.deviceListCurrentSession.render(it)
+            views.deviceListCurrentSession.debouncedClicks {
+                currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
+            }
+            views.deviceListCurrentSession.viewDetailsButton.debouncedClicks {
+                currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
+            }
         } ?: run {
             hideCurrentSessionView()
         }
     }
 
+    private fun navigateToSessionOverview(sessionId: String) {
+        viewNavigator.navigateToSessionOverview(
+                context = requireActivity(),
+                sessionId = sessionId
+        )
+    }
+
     private fun hideCurrentSessionView() {
         views.deviceListHeaderCurrentSession.isVisible = false
         views.deviceListCurrentSession.isVisible = false
         views.deviceListDividerCurrentSession.isVisible = false
+        views.deviceListCurrentSession.debouncedClicks {
+            // do nothing
+        }
+        views.deviceListCurrentSession.viewDetailsButton.debouncedClicks {
+            // do nothing
+        }
     }
 
     private fun handleRequestStatus(unIgnoreRequest: Async<Unit>) {
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
new file mode 100644
index 0000000000..0e5cb87d7b
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
@@ -0,0 +1,29 @@
+/*
+ * 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.settings.devices.v2
+
+import android.content.Context
+import im.vector.app.features.settings.devices.v2.overview.SessionOverviewActivity
+import javax.inject.Inject
+
+// TODO add unit tests
+class VectorSettingsDevicesViewNavigator @Inject constructor() {
+
+    fun navigateToSessionOverview(context: Context, sessionId: String) {
+        context.startActivity(SessionOverviewActivity.newIntent(context, sessionId))
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/CurrentSessionView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/CurrentSessionView.kt
index d6f81f4f79..1ce035931f 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/CurrentSessionView.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/CurrentSessionView.kt
@@ -39,6 +39,8 @@ class CurrentSessionView @JvmOverloads constructor(
         views = ViewCurrentSessionBinding.bind(this)
     }
 
+    val viewDetailsButton = views.currentSessionViewDetailsButton
+
     fun render(currentDeviceInfo: DeviceFullInfo) {
         renderDeviceInfo(currentDeviceInfo.deviceInfo.displayName.orEmpty())
         renderVerificationStatus(currentDeviceInfo.trustLevelForShield)
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewAction.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewAction.kt
new file mode 100644
index 0000000000..c028c08ec4
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewAction.kt
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2020 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.settings.devices.v2.overview
+
+import im.vector.app.core.platform.VectorViewModelAction
+
+sealed class SessionOverviewAction : VectorViewModelAction
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewActivity.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewActivity.kt
new file mode 100644
index 0000000000..a663c0ff2a
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewActivity.kt
@@ -0,0 +1,52 @@
+/*
+ * Copyright 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.settings.devices.v2.overview
+
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import com.airbnb.mvrx.Mavericks
+import dagger.hilt.android.AndroidEntryPoint
+import im.vector.app.core.extensions.addFragment
+import im.vector.app.core.platform.SimpleFragmentActivity
+
+/**
+ * Display the overview info about a Session.
+ */
+@AndroidEntryPoint
+class SessionOverviewActivity : SimpleFragmentActivity() {
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+
+        if (isFirstCreation()) {
+            addFragment(
+                    container = views.container,
+                    fragmentClass = SessionOverviewFragment::class.java,
+                    params = intent.getParcelableExtra(Mavericks.KEY_ARG)
+            )
+        }
+    }
+
+    companion object {
+        fun newIntent(context: Context, sessionId: String): Intent {
+            return Intent(context, SessionOverviewActivity::class.java).apply {
+                putExtra(Mavericks.KEY_ARG, SessionOverviewArgs(sessionId))
+            }
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewArgs.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewArgs.kt
new file mode 100644
index 0000000000..87ea883362
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewArgs.kt
@@ -0,0 +1,25 @@
+/*
+ * 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.settings.devices.v2.overview
+
+import android.os.Parcelable
+import kotlinx.parcelize.Parcelize
+
+@Parcelize
+data class SessionOverviewArgs(
+        val sessionId: String
+) : Parcelable
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
new file mode 100644
index 0000000000..1b8b231a5c
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
@@ -0,0 +1,52 @@
+/*
+ * 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.settings.devices.v2.overview
+
+import android.view.LayoutInflater
+import android.view.ViewGroup
+import androidx.appcompat.app.AppCompatActivity
+import com.airbnb.mvrx.fragmentViewModel
+import com.airbnb.mvrx.withState
+import dagger.hilt.android.AndroidEntryPoint
+import im.vector.app.R
+import im.vector.app.core.platform.VectorBaseFragment
+import im.vector.app.databinding.FragmentSettingsSessionOverviewBinding
+
+/**
+ * Display the overview info about a Session.
+ */
+@AndroidEntryPoint
+class SessionOverviewFragment :
+        VectorBaseFragment<FragmentSettingsSessionOverviewBinding>() {
+
+    private val viewModel: SessionOverviewViewModel by fragmentViewModel()
+
+    override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSettingsSessionOverviewBinding {
+        return FragmentSettingsSessionOverviewBinding.inflate(inflater, container, false)
+    }
+
+    override fun invalidate() = withState(viewModel) { state ->
+        updateToolbar(state.isCurrentSession)
+    }
+
+    private fun updateToolbar(isCurrentSession: Boolean) {
+        val titleResId = if (isCurrentSession) R.string.device_manager_current_session_title else R.string.device_manager_session_title
+        (activity as? AppCompatActivity)
+                ?.supportActionBar
+                ?.setTitle(titleResId)
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewState.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewState.kt
new file mode 100644
index 0000000000..d91d6a82ce
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewState.kt
@@ -0,0 +1,28 @@
+/*
+ * 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.settings.devices.v2.overview
+
+import com.airbnb.mvrx.MavericksState
+
+data class SessionOverviewState(
+        val sessionId: String,
+        val isCurrentSession: Boolean = false,
+) : MavericksState {
+    constructor(args: SessionOverviewArgs) : this(
+            sessionId = args.sessionId
+    )
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
new file mode 100644
index 0000000000..a95cc1a49b
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
@@ -0,0 +1,53 @@
+/*
+ * 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.settings.devices.v2.overview
+
+import com.airbnb.mvrx.MavericksViewModelFactory
+import dagger.assisted.Assisted
+import dagger.assisted.AssistedFactory
+import dagger.assisted.AssistedInject
+import im.vector.app.core.di.MavericksAssistedViewModelFactory
+import im.vector.app.core.di.hiltMavericksViewModelFactory
+import im.vector.app.core.platform.EmptyViewEvents
+import im.vector.app.core.platform.VectorViewModel
+import org.matrix.android.sdk.api.session.Session
+
+class SessionOverviewViewModel @AssistedInject constructor(
+        @Assisted val initialState: SessionOverviewState,
+        session: Session,
+) : VectorViewModel<SessionOverviewState, SessionOverviewAction, EmptyViewEvents>(initialState) {
+
+    companion object : MavericksViewModelFactory<SessionOverviewViewModel, SessionOverviewState> by hiltMavericksViewModelFactory()
+
+    @AssistedFactory
+    interface Factory : MavericksAssistedViewModelFactory<SessionOverviewViewModel, SessionOverviewState> {
+        override fun create(initialState: SessionOverviewState): SessionOverviewViewModel
+    }
+
+    init {
+        val currentSessionId = session.sessionParams.deviceId.orEmpty()
+        setState {
+            copy(
+                    isCurrentSession = sessionId.isNotEmpty() && sessionId == currentSessionId
+            )
+        }
+    }
+
+    override fun handle(action: SessionOverviewAction) {
+        TODO("Implement when adding the first action")
+    }
+}
diff --git a/vector/src/main/res/layout/fragment_settings_devices.xml b/vector/src/main/res/layout/fragment_settings_devices.xml
index a289bda735..b4f47302e1 100644
--- a/vector/src/main/res/layout/fragment_settings_devices.xml
+++ b/vector/src/main/res/layout/fragment_settings_devices.xml
@@ -61,7 +61,7 @@
             android:layout_width="0dp"
             android:layout_height="wrap_content"
             app:devicesListHeaderDescription=""
-            app:devicesListHeaderTitle="@string/device_manager_header_section_current_session"
+            app:devicesListHeaderTitle="@string/device_manager_current_session_title"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintTop_toBottomOf="@id/deviceListSecurityRecommendationsDivider" />
diff --git a/vector/src/main/res/layout/fragment_settings_session_overview.xml b/vector/src/main/res/layout/fragment_settings_session_overview.xml
new file mode 100644
index 0000000000..1354408486
--- /dev/null
+++ b/vector/src/main/res/layout/fragment_settings_session_overview.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+</androidx.constraintlayout.widget.ConstraintLayout>

From 26dbd3171743d10dea6f3badf2ea9e34246c99ad Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Tue, 30 Aug 2022 15:03:07 +0200
Subject: [PATCH 33/57] Unit tests for navigator

---
 .../v2/VectorSettingsDevicesViewNavigator.kt  |  1 -
 .../VectorSettingsDevicesViewNavigatorTest.kt | 65 +++++++++++++++++++
 .../im/vector/app/test/fakes/FakeContext.kt   |  7 ++
 3 files changed, 72 insertions(+), 1 deletion(-)
 create mode 100644 vector/src/test/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigatorTest.kt

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
index 0e5cb87d7b..25c971aacb 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
@@ -20,7 +20,6 @@ import android.content.Context
 import im.vector.app.features.settings.devices.v2.overview.SessionOverviewActivity
 import javax.inject.Inject
 
-// TODO add unit tests
 class VectorSettingsDevicesViewNavigator @Inject constructor() {
 
     fun navigateToSessionOverview(context: Context, sessionId: String) {
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigatorTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigatorTest.kt
new file mode 100644
index 0000000000..2a4c53f34f
--- /dev/null
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigatorTest.kt
@@ -0,0 +1,65 @@
+/*
+ * 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.settings.devices.v2
+
+import android.content.Intent
+import im.vector.app.features.settings.devices.v2.overview.SessionOverviewActivity
+import im.vector.app.test.fakes.FakeContext
+import io.mockk.every
+import io.mockk.mockk
+import io.mockk.mockkObject
+import io.mockk.unmockkAll
+import io.mockk.verify
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+
+private const val A_SESSION_ID = "session_id"
+
+class VectorSettingsDevicesViewNavigatorTest {
+
+    private val context = FakeContext()
+    private val vectorSettingsDevicesViewNavigator = VectorSettingsDevicesViewNavigator()
+
+    @Before
+    fun setUp() {
+        mockkObject(SessionOverviewActivity.Companion)
+    }
+
+    @After
+    fun tearDown() {
+        unmockkAll()
+    }
+
+    @Test
+    fun `given a session id when navigating to overview then it starts the correct activity`() {
+        val intent = givenIntentForSessionOverview(A_SESSION_ID)
+        context.givenStartActivity(intent)
+
+        vectorSettingsDevicesViewNavigator.navigateToSessionOverview(context.instance, A_SESSION_ID)
+
+        verify {
+            context.instance.startActivity(intent)
+        }
+    }
+
+    private fun givenIntentForSessionOverview(sessionId: String): Intent {
+        val intent = mockk<Intent>()
+        every { SessionOverviewActivity.newIntent(context.instance, sessionId) } returns intent
+        return intent
+    }
+}
diff --git a/vector/src/test/java/im/vector/app/test/fakes/FakeContext.kt b/vector/src/test/java/im/vector/app/test/fakes/FakeContext.kt
index 329ac1bdae..d74ebcb678 100644
--- a/vector/src/test/java/im/vector/app/test/fakes/FakeContext.kt
+++ b/vector/src/test/java/im/vector/app/test/fakes/FakeContext.kt
@@ -18,11 +18,14 @@ package im.vector.app.test.fakes
 
 import android.content.ContentResolver
 import android.content.Context
+import android.content.Intent
 import android.net.ConnectivityManager
 import android.net.Uri
 import android.os.ParcelFileDescriptor
 import io.mockk.every
+import io.mockk.just
 import io.mockk.mockk
+import io.mockk.runs
 import java.io.OutputStream
 
 class FakeContext(
@@ -67,4 +70,8 @@ class FakeContext(
         connectivityManager.givenHasActiveConnection()
         givenService(Context.CONNECTIVITY_SERVICE, ConnectivityManager::class.java, connectivityManager.instance)
     }
+
+    fun givenStartActivity(intent: Intent) {
+        every { instance.startActivity(intent) } just runs
+    }
 }

From 3eb29b46615014e7215a526422fd334aef6206d4 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Tue, 30 Aug 2022 15:39:14 +0200
Subject: [PATCH 34/57] Renaming view state

---
 .../devices/v2/overview/SessionOverviewViewModel.kt    | 10 +++++-----
 ...ionOverviewState.kt => SessionOverviewViewState.kt} |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)
 rename vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/{SessionOverviewState.kt => SessionOverviewViewState.kt} (96%)

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
index a95cc1a49b..f55da2819f 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
@@ -27,15 +27,15 @@ import im.vector.app.core.platform.VectorViewModel
 import org.matrix.android.sdk.api.session.Session
 
 class SessionOverviewViewModel @AssistedInject constructor(
-        @Assisted val initialState: SessionOverviewState,
+        @Assisted val initialState: SessionOverviewViewState,
         session: Session,
-) : VectorViewModel<SessionOverviewState, SessionOverviewAction, EmptyViewEvents>(initialState) {
+) : VectorViewModel<SessionOverviewViewState, SessionOverviewAction, EmptyViewEvents>(initialState) {
 
-    companion object : MavericksViewModelFactory<SessionOverviewViewModel, SessionOverviewState> by hiltMavericksViewModelFactory()
+    companion object : MavericksViewModelFactory<SessionOverviewViewModel, SessionOverviewViewState> by hiltMavericksViewModelFactory()
 
     @AssistedFactory
-    interface Factory : MavericksAssistedViewModelFactory<SessionOverviewViewModel, SessionOverviewState> {
-        override fun create(initialState: SessionOverviewState): SessionOverviewViewModel
+    interface Factory : MavericksAssistedViewModelFactory<SessionOverviewViewModel, SessionOverviewViewState> {
+        override fun create(initialState: SessionOverviewViewState): SessionOverviewViewModel
     }
 
     init {
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewState.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
similarity index 96%
rename from vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewState.kt
rename to vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
index d91d6a82ce..e839348800 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewState.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
@@ -18,7 +18,7 @@ package im.vector.app.features.settings.devices.v2.overview
 
 import com.airbnb.mvrx.MavericksState
 
-data class SessionOverviewState(
+data class SessionOverviewViewState(
         val sessionId: String,
         val isCurrentSession: Boolean = false,
 ) : MavericksState {

From 2a599d9760fad3af70035a5c0394bfc350ff88b0 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Tue, 30 Aug 2022 16:09:03 +0200
Subject: [PATCH 35/57] Small renamings/reorganization in CryptoService

---
 .../matrix/android/sdk/flow/FlowSession.kt    |  2 +-
 .../sdk/internal/crypto/E2eeSanityTests.kt    |  4 ++--
 .../crypto/crosssigning/XSigningTest.kt       |  2 +-
 .../internal/crypto/verification/SASTest.kt   |  4 ++--
 .../sdk/api/session/crypto/CryptoService.kt   | 24 +++++++++----------
 .../internal/crypto/DefaultCryptoService.kt   | 22 ++++++++---------
 .../helper/MessageInformationDataFactory.kt   |  2 +-
 .../VectorSettingsSecurityPrivacyFragment.kt  |  2 +-
 8 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/matrix-sdk-android-flow/src/main/java/org/matrix/android/sdk/flow/FlowSession.kt b/matrix-sdk-android-flow/src/main/java/org/matrix/android/sdk/flow/FlowSession.kt
index f22cfa369a..80ed311901 100644
--- a/matrix-sdk-android-flow/src/main/java/org/matrix/android/sdk/flow/FlowSession.kt
+++ b/matrix-sdk-android-flow/src/main/java/org/matrix/android/sdk/flow/FlowSession.kt
@@ -72,7 +72,7 @@ class FlowSession(private val session: Session) {
     }
 
     fun liveMyDevicesInfo(): Flow<List<DeviceInfo>> {
-        return session.cryptoService().getLiveMyDevicesInfo().asFlow()
+        return session.cryptoService().getMyDevicesInfoLive().asFlow()
                 .startWith(session.coroutineDispatchers.io) {
                     session.cryptoService().getMyDevicesInfo()
                 }
diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/E2eeSanityTests.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/E2eeSanityTests.kt
index 251c13ccbf..f883295495 100644
--- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/E2eeSanityTests.kt
+++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/E2eeSanityTests.kt
@@ -676,8 +676,8 @@ class E2eeSanityTests : InstrumentedTest {
         assertEquals("Decimal code should have matched", oldCode, newCode)
 
         // Assert that devices are verified
-        val newDeviceFromOldPov: CryptoDeviceInfo? = aliceSession.cryptoService().getDeviceInfo(aliceSession.myUserId, aliceNewSession.sessionParams.deviceId)
-        val oldDeviceFromNewPov: CryptoDeviceInfo? = aliceSession.cryptoService().getDeviceInfo(aliceSession.myUserId, aliceSession.sessionParams.deviceId)
+        val newDeviceFromOldPov: CryptoDeviceInfo? = aliceSession.cryptoService().getCryptoDeviceInfo(aliceSession.myUserId, aliceNewSession.sessionParams.deviceId)
+        val oldDeviceFromNewPov: CryptoDeviceInfo? = aliceSession.cryptoService().getCryptoDeviceInfo(aliceSession.myUserId, aliceSession.sessionParams.deviceId)
 
         Assert.assertTrue("new device should be verified from old point of view", newDeviceFromOldPov!!.isVerified)
         Assert.assertTrue("old device should be verified from new point of view", oldDeviceFromNewPov!!.isVerified)
diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt
index 8cb38ddc87..ef3fdfeeda 100644
--- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt
+++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/crosssigning/XSigningTest.kt
@@ -193,7 +193,7 @@ class XSigningTest : InstrumentedTest {
             fail("Bob should see the new device")
         }
 
-        val bobSecondDevicePOVFirstDevice = bobSession.cryptoService().getDeviceInfo(bobUserId, bobSecondDeviceId)
+        val bobSecondDevicePOVFirstDevice = bobSession.cryptoService().getCryptoDeviceInfo(bobUserId, bobSecondDeviceId)
         assertNotNull("Bob Second device should be known and persisted from first", bobSecondDevicePOVFirstDevice)
 
         // Manually mark it as trusted from first session
diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt
index c2e74abc59..1bffbeeeaa 100644
--- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt
+++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/verification/SASTest.kt
@@ -521,9 +521,9 @@ class SASTest : InstrumentedTest {
         testHelper.await(bobSASLatch)
 
         // Assert that devices are verified
-        val bobDeviceInfoFromAlicePOV: CryptoDeviceInfo? = aliceSession.cryptoService().getDeviceInfo(bobUserId, bobDeviceId)
+        val bobDeviceInfoFromAlicePOV: CryptoDeviceInfo? = aliceSession.cryptoService().getCryptoDeviceInfo(bobUserId, bobDeviceId)
         val aliceDeviceInfoFromBobPOV: CryptoDeviceInfo? =
-                bobSession.cryptoService().getDeviceInfo(aliceSession.myUserId, aliceSession.cryptoService().getMyDevice().deviceId)
+                bobSession.cryptoService().getCryptoDeviceInfo(aliceSession.myUserId, aliceSession.cryptoService().getMyDevice().deviceId)
 
         assertTrue("alice device should be verified from bob point of view", aliceDeviceInfoFromBobPOV!!.isVerified)
         assertTrue("bob device should be verified from alice point of view", bobDeviceInfoFromAlicePOV!!.isVerified)
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
index a5e05f69e0..ee5fe20d07 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
@@ -113,7 +113,17 @@ interface CryptoService {
 
     fun setRoomBlacklistUnverifiedDevices(roomId: String)
 
-    fun getDeviceInfo(userId: String, deviceId: String?): CryptoDeviceInfo?
+    fun getCryptoDeviceInfo(userId: String, deviceId: String?): CryptoDeviceInfo?
+
+    fun getCryptoDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>)
+
+    fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo>
+
+    fun getLiveCryptoDeviceInfo(): LiveData<List<CryptoDeviceInfo>>
+
+    fun getLiveCryptoDeviceInfo(userId: String): LiveData<List<CryptoDeviceInfo>>
+
+    fun getLiveCryptoDeviceInfo(userIds: List<String>): LiveData<List<CryptoDeviceInfo>>
 
     fun requestRoomKeyForEvent(event: Event)
 
@@ -127,9 +137,7 @@ interface CryptoService {
 
     fun getMyDevicesInfo(): List<DeviceInfo>
 
-    fun getLiveMyDevicesInfo(): LiveData<List<DeviceInfo>>
-
-    fun getDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>)
+    fun getMyDevicesInfoLive(): LiveData<List<DeviceInfo>>
 
     fun inboundGroupSessionsCount(onlyBackedUp: Boolean): Int
 
@@ -156,14 +164,6 @@ interface CryptoService {
 
     fun downloadKeys(userIds: List<String>, forceDownload: Boolean, callback: MatrixCallback<MXUsersDevicesMap<CryptoDeviceInfo>>)
 
-    fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo>
-
-    fun getLiveCryptoDeviceInfo(): LiveData<List<CryptoDeviceInfo>>
-
-    fun getLiveCryptoDeviceInfo(userId: String): LiveData<List<CryptoDeviceInfo>>
-
-    fun getLiveCryptoDeviceInfo(userIds: List<String>): LiveData<List<CryptoDeviceInfo>>
-
     fun addNewSessionListener(newSessionListener: NewSessionListener)
     fun removeSessionListener(listener: NewSessionListener)
 
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
index 35c066dea8..739f86e659 100755
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
@@ -273,7 +273,7 @@ internal class DefaultCryptoService @Inject constructor(
                 .executeBy(taskExecutor)
     }
 
-    override fun getLiveMyDevicesInfo(): LiveData<List<DeviceInfo>> {
+    override fun getMyDevicesInfoLive(): LiveData<List<DeviceInfo>> {
         return cryptoStore.getLiveMyDevicesInfo()
     }
 
@@ -281,15 +281,6 @@ internal class DefaultCryptoService @Inject constructor(
         return cryptoStore.getMyDevicesInfo()
     }
 
-    override fun getDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>) {
-        getDeviceInfoTask
-                .configureWith(GetDeviceInfoTask.Params(deviceId)) {
-                    this.executionThread = TaskThread.CRYPTO
-                    this.callback = callback
-                }
-                .executeBy(taskExecutor)
-    }
-
     override fun inboundGroupSessionsCount(onlyBackedUp: Boolean): Int {
         return cryptoStore.inboundGroupSessionsCount(onlyBackedUp)
     }
@@ -513,7 +504,7 @@ internal class DefaultCryptoService @Inject constructor(
      * @param userId the user id
      * @param deviceId the device id
      */
-    override fun getDeviceInfo(userId: String, deviceId: String?): CryptoDeviceInfo? {
+    override fun getCryptoDeviceInfo(userId: String, deviceId: String?): CryptoDeviceInfo? {
         return if (userId.isNotEmpty() && !deviceId.isNullOrEmpty()) {
             cryptoStore.getUserDevice(userId, deviceId)
         } else {
@@ -521,6 +512,15 @@ internal class DefaultCryptoService @Inject constructor(
         }
     }
 
+    override fun getCryptoDeviceInfo(deviceId: String, callback: MatrixCallback<DeviceInfo>) {
+        getDeviceInfoTask
+                .configureWith(GetDeviceInfoTask.Params(deviceId)) {
+                    this.executionThread = TaskThread.CRYPTO
+                    this.callback = callback
+                }
+                .executeBy(taskExecutor)
+    }
+
     override fun getCryptoDeviceInfo(userId: String): List<CryptoDeviceInfo> {
         return cryptoStore.getUserDeviceList(userId).orEmpty()
     }
diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt
index 6d94837f88..b711bf37bd 100644
--- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt
+++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/helper/MessageInformationDataFactory.kt
@@ -162,7 +162,7 @@ class MessageInformationDataFactory @Inject constructor(
                             .toModel<EncryptedEventContent>()
                             ?.deviceId
                             ?.let { deviceId ->
-                                session.cryptoService().getDeviceInfo(event.root.senderId ?: "", deviceId)
+                                session.cryptoService().getCryptoDeviceInfo(event.root.senderId ?: "", deviceId)
                             }
                     when {
                         sendingDevice == null -> {
diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt
index 2b4d376f55..ecb1779a4a 100644
--- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsSecurityPrivacyFragment.kt
@@ -585,7 +585,7 @@ class VectorSettingsSecurityPrivacyFragment :
         }
 
         // crypto section: device key (fingerprint)
-        val deviceInfo = session.cryptoService().getDeviceInfo(userId, deviceId)
+        val deviceInfo = session.cryptoService().getCryptoDeviceInfo(userId, deviceId)
 
         val fingerprint = deviceInfo?.fingerprint()
         if (fingerprint?.isNotEmpty() == true) {

From f74a0b090103c47b084ac6a2550d432309744f64 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Tue, 30 Aug 2022 16:32:32 +0200
Subject: [PATCH 36/57] Adding a method to retrieve livedata of device info for
 a given device id

---
 .../sdk/api/session/crypto/CryptoService.kt   |  3 ++
 .../internal/crypto/DefaultCryptoService.kt   |  5 +++
 .../internal/crypto/store/IMXCryptoStore.kt   |  2 ++
 .../crypto/store/db/RealmCryptoStore.kt       | 26 +++++++++-----
 .../MyDeviceLastSeenInfoEntityMapper.kt       | 34 +++++++++++++++++++
 5 files changed, 62 insertions(+), 8 deletions(-)
 create mode 100644 matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt

diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
index ee5fe20d07..4f6a1fa02f 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
@@ -40,6 +40,7 @@ import org.matrix.android.sdk.api.session.crypto.verification.VerificationServic
 import org.matrix.android.sdk.api.session.events.model.Content
 import org.matrix.android.sdk.api.session.events.model.Event
 import org.matrix.android.sdk.api.session.events.model.content.RoomKeyWithHeldContent
+import org.matrix.android.sdk.api.util.Optional
 import org.matrix.android.sdk.internal.crypto.model.SessionInfo
 
 interface CryptoService {
@@ -139,6 +140,8 @@ interface CryptoService {
 
     fun getMyDevicesInfoLive(): LiveData<List<DeviceInfo>>
 
+    fun getMyDevicesInfoLive(deviceId: String): LiveData<Optional<DeviceInfo>>
+
     fun inboundGroupSessionsCount(onlyBackedUp: Boolean): Int
 
     fun isRoomEncrypted(roomId: String): Boolean
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
index 739f86e659..39866163ce 100755
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
@@ -73,6 +73,7 @@ import org.matrix.android.sdk.api.session.room.model.RoomHistoryVisibilityConten
 import org.matrix.android.sdk.api.session.room.model.RoomMemberContent
 import org.matrix.android.sdk.api.session.room.model.shouldShareHistory
 import org.matrix.android.sdk.api.session.sync.model.SyncResponse
+import org.matrix.android.sdk.api.util.Optional
 import org.matrix.android.sdk.internal.crypto.actions.MegolmSessionDataImporter
 import org.matrix.android.sdk.internal.crypto.actions.SetDeviceVerificationAction
 import org.matrix.android.sdk.internal.crypto.algorithms.IMXEncrypting
@@ -277,6 +278,10 @@ internal class DefaultCryptoService @Inject constructor(
         return cryptoStore.getLiveMyDevicesInfo()
     }
 
+    override fun getMyDevicesInfoLive(deviceId: String): LiveData<Optional<DeviceInfo>> {
+        return cryptoStore.getLiveMyDevicesInfo(deviceId)
+    }
+
     override fun getMyDevicesInfo(): List<DeviceInfo> {
         return cryptoStore.getMyDevicesInfo()
     }
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt
index 0413fc730c..3aa4e2f764 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt
@@ -242,6 +242,8 @@ internal interface IMXCryptoStore {
 
     fun getLiveMyDevicesInfo(): LiveData<List<DeviceInfo>>
 
+    fun getLiveMyDevicesInfo(deviceId: String): LiveData<Optional<DeviceInfo>>
+
     fun saveMyDevicesInfo(info: List<DeviceInfo>)
 
     /**
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt
index f5468634cb..736d4d495c 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt
@@ -55,6 +55,7 @@ import org.matrix.android.sdk.internal.crypto.model.OlmSessionWrapper
 import org.matrix.android.sdk.internal.crypto.model.OutboundGroupSessionWrapper
 import org.matrix.android.sdk.internal.crypto.store.IMXCryptoStore
 import org.matrix.android.sdk.internal.crypto.store.db.mapper.CrossSigningKeysMapper
+import org.matrix.android.sdk.internal.crypto.store.db.mapper.MyDeviceLastSeenInfoEntityMapper
 import org.matrix.android.sdk.internal.crypto.store.db.model.AuditTrailEntity
 import org.matrix.android.sdk.internal.crypto.store.db.model.AuditTrailEntityFields
 import org.matrix.android.sdk.internal.crypto.store.db.model.AuditTrailMapper
@@ -68,6 +69,7 @@ import org.matrix.android.sdk.internal.crypto.store.db.model.DeviceInfoEntity
 import org.matrix.android.sdk.internal.crypto.store.db.model.DeviceInfoEntityFields
 import org.matrix.android.sdk.internal.crypto.store.db.model.KeysBackupDataEntity
 import org.matrix.android.sdk.internal.crypto.store.db.model.MyDeviceLastSeenInfoEntity
+import org.matrix.android.sdk.internal.crypto.store.db.model.MyDeviceLastSeenInfoEntityFields
 import org.matrix.android.sdk.internal.crypto.store.db.model.OlmInboundGroupSessionEntity
 import org.matrix.android.sdk.internal.crypto.store.db.model.OlmInboundGroupSessionEntityFields
 import org.matrix.android.sdk.internal.crypto.store.db.model.OlmSessionEntity
@@ -112,6 +114,7 @@ internal class RealmCryptoStore @Inject constructor(
         @UserId private val userId: String,
         @DeviceId private val deviceId: String?,
         private val clock: Clock,
+        private val myDeviceLastSeenInfoEntityMapper: MyDeviceLastSeenInfoEntityMapper,
 ) : IMXCryptoStore {
 
     /* ==========================================================================================
@@ -596,17 +599,24 @@ internal class RealmCryptoStore @Inject constructor(
                 { realm: Realm ->
                     realm.where<MyDeviceLastSeenInfoEntity>()
                 },
-                { entity ->
-                    DeviceInfo(
-                            deviceId = entity.deviceId,
-                            lastSeenIp = entity.lastSeenIp,
-                            lastSeenTs = entity.lastSeenTs,
-                            displayName = entity.displayName
-                    )
-                }
+                { entity -> myDeviceLastSeenInfoEntityMapper.map(entity) }
         )
     }
 
+    override fun getLiveMyDevicesInfo(deviceId: String): LiveData<Optional<DeviceInfo>> {
+        val liveData = monarchy.findAllMappedWithChanges(
+                { realm: Realm ->
+                    realm.where<MyDeviceLastSeenInfoEntity>()
+                            .equalTo(MyDeviceLastSeenInfoEntityFields.DEVICE_ID, deviceId)
+                },
+                { entity -> myDeviceLastSeenInfoEntityMapper.map(entity) }
+        )
+
+        return Transformations.map(liveData) {
+            it.firstOrNull().toOptional()
+        }
+    }
+
     override fun saveMyDevicesInfo(info: List<DeviceInfo>) {
         val entities = info.map {
             MyDeviceLastSeenInfoEntity(
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt
new file mode 100644
index 0000000000..ed44b0765a
--- /dev/null
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt
@@ -0,0 +1,34 @@
+/*
+ * 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 org.matrix.android.sdk.internal.crypto.store.db.mapper
+
+import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
+import org.matrix.android.sdk.internal.crypto.store.db.model.MyDeviceLastSeenInfoEntity
+import javax.inject.Inject
+
+// TODO add unit tests
+internal class MyDeviceLastSeenInfoEntityMapper @Inject constructor() {
+
+    fun map(entity: MyDeviceLastSeenInfoEntity): DeviceInfo {
+        return DeviceInfo(
+                deviceId = entity.deviceId,
+                lastSeenIp = entity.lastSeenIp,
+                lastSeenTs = entity.lastSeenTs,
+                displayName = entity.displayName
+        )
+    }
+}

From e542dc4aaccc36552830d9104b975828f57bac3d Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Tue, 30 Aug 2022 16:47:34 +0200
Subject: [PATCH 37/57] Adding a method to retrieve livedata of  crypto device
 info for a given device id

---
 .../matrix/android/sdk/api/session/crypto/CryptoService.kt  | 2 ++
 .../android/sdk/internal/crypto/DefaultCryptoService.kt     | 4 ++++
 .../android/sdk/internal/crypto/store/IMXCryptoStore.kt     | 2 ++
 .../sdk/internal/crypto/store/db/RealmCryptoStore.kt        | 6 ++++++
 4 files changed, 14 insertions(+)

diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
index 4f6a1fa02f..e0e662c789 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/CryptoService.kt
@@ -122,6 +122,8 @@ interface CryptoService {
 
     fun getLiveCryptoDeviceInfo(): LiveData<List<CryptoDeviceInfo>>
 
+    fun getLiveCryptoDeviceInfoWithId(deviceId: String): LiveData<Optional<CryptoDeviceInfo>>
+
     fun getLiveCryptoDeviceInfo(userId: String): LiveData<List<CryptoDeviceInfo>>
 
     fun getLiveCryptoDeviceInfo(userIds: List<String>): LiveData<List<CryptoDeviceInfo>>
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
index 39866163ce..8dd7c309c6 100755
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/DefaultCryptoService.kt
@@ -534,6 +534,10 @@ internal class DefaultCryptoService @Inject constructor(
         return cryptoStore.getLiveDeviceList()
     }
 
+    override fun getLiveCryptoDeviceInfoWithId(deviceId: String): LiveData<Optional<CryptoDeviceInfo>> {
+        return cryptoStore.getLiveDeviceWithId(deviceId)
+    }
+
     override fun getLiveCryptoDeviceInfo(userId: String): LiveData<List<CryptoDeviceInfo>> {
         return cryptoStore.getLiveDeviceList(userId)
     }
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt
index 3aa4e2f764..56eba25249 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/IMXCryptoStore.kt
@@ -238,6 +238,8 @@ internal interface IMXCryptoStore {
     // TODO temp
     fun getLiveDeviceList(): LiveData<List<CryptoDeviceInfo>>
 
+    fun getLiveDeviceWithId(deviceId: String): LiveData<Optional<CryptoDeviceInfo>>
+
     fun getMyDevicesInfo(): List<DeviceInfo>
 
     fun getLiveMyDevicesInfo(): LiveData<List<DeviceInfo>>
diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt
index 736d4d495c..3b8fa4cacd 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/RealmCryptoStore.kt
@@ -581,6 +581,12 @@ internal class RealmCryptoStore @Inject constructor(
         }
     }
 
+    override fun getLiveDeviceWithId(deviceId: String): LiveData<Optional<CryptoDeviceInfo>> {
+        return Transformations.map(getLiveDeviceList()) { devices ->
+            devices.firstOrNull { it.deviceId == deviceId }.toOptional()
+        }
+    }
+
     override fun getMyDevicesInfo(): List<DeviceInfo> {
         return monarchy.fetchAllCopiedSync {
             it.where<MyDeviceLastSeenInfoEntity>()

From 68f106efaca22254596fee23f78c052a06b3e285 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Wed, 31 Aug 2022 10:09:40 +0200
Subject: [PATCH 38/57] Adding use case to get full device info for a given
 device id

---
 .../v2/overview/GetDeviceFullInfoUseCase.kt   | 54 +++++++++++++++++++
 .../v2/overview/SessionOverviewViewModel.kt   | 21 ++++++--
 2 files changed, 71 insertions(+), 4 deletions(-)
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
new file mode 100644
index 0000000000..b7d8efb59a
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.settings.devices.v2.overview
+
+import androidx.lifecycle.asFlow
+import im.vector.app.core.di.ActiveSessionHolder
+import im.vector.app.features.settings.devices.DeviceFullInfo
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.emptyFlow
+import org.matrix.android.sdk.api.util.Optional
+import org.matrix.android.sdk.api.util.toOptional
+import javax.inject.Inject
+
+// TODO add unit tests
+class GetDeviceFullInfoUseCase @Inject constructor(
+        private val activeSessionHolder: ActiveSessionHolder,
+) {
+
+    fun execute(deviceId: String): Flow<Optional<DeviceFullInfo>> {
+        return activeSessionHolder.getSafeActiveSession()?.let { session ->
+            combine(
+                    session.cryptoService().getMyDevicesInfoLive(deviceId).asFlow(),
+                    session.cryptoService().getLiveCryptoDeviceInfoWithId(deviceId).asFlow()
+            ) { deviceInfo, cryptoDeviceInfo ->
+                val info = deviceInfo.getOrNull()
+                val cryptoInfo = cryptoDeviceInfo.getOrNull()
+                val fullInfo = if (info != null && cryptoInfo != null) {
+                    DeviceFullInfo(
+                            deviceInfo = info,
+                            cryptoDeviceInfo = cryptoInfo
+                    )
+                } else {
+                    null
+                }
+                fullInfo.toOptional()
+            }
+        } ?: emptyFlow()
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
index f55da2819f..84c15301aa 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
@@ -17,6 +17,7 @@
 package im.vector.app.features.settings.devices.v2.overview
 
 import com.airbnb.mvrx.MavericksViewModelFactory
+import com.airbnb.mvrx.Success
 import dagger.assisted.Assisted
 import dagger.assisted.AssistedFactory
 import dagger.assisted.AssistedInject
@@ -24,11 +25,16 @@ import im.vector.app.core.di.MavericksAssistedViewModelFactory
 import im.vector.app.core.di.hiltMavericksViewModelFactory
 import im.vector.app.core.platform.EmptyViewEvents
 import im.vector.app.core.platform.VectorViewModel
+import kotlinx.coroutines.flow.launchIn
+import kotlinx.coroutines.flow.mapNotNull
+import kotlinx.coroutines.flow.onEach
 import org.matrix.android.sdk.api.session.Session
 
+// TODO add unit tests
 class SessionOverviewViewModel @AssistedInject constructor(
         @Assisted val initialState: SessionOverviewViewState,
         session: Session,
+        private val getDeviceFullInfoUseCase: GetDeviceFullInfoUseCase,
 ) : VectorViewModel<SessionOverviewViewState, SessionOverviewAction, EmptyViewEvents>(initialState) {
 
     companion object : MavericksViewModelFactory<SessionOverviewViewModel, SessionOverviewViewState> by hiltMavericksViewModelFactory()
@@ -39,12 +45,19 @@ class SessionOverviewViewModel @AssistedInject constructor(
     }
 
     init {
-        val currentSessionId = session.sessionParams.deviceId.orEmpty()
+        val currentDeviceId = session.sessionParams.deviceId.orEmpty()
         setState {
-            copy(
-                    isCurrentSession = sessionId.isNotEmpty() && sessionId == currentSessionId
-            )
+            copy(isCurrentSession = sessionId.isNotEmpty() && sessionId == currentDeviceId)
         }
+
+        observeSessionInfo(currentDeviceId)
+    }
+
+    private fun observeSessionInfo(deviceId: String) {
+        getDeviceFullInfoUseCase.execute(deviceId)
+                .mapNotNull { it.getOrNull() }
+                .onEach { setState { copy(deviceInfo = Success(it)) } }
+                .launchIn(viewModelScope)
     }
 
     override fun handle(action: SessionOverviewAction) {

From 0c3310dd162ff5e23c35499a089bb645834cf679 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Wed, 31 Aug 2022 11:55:58 +0200
Subject: [PATCH 39/57] Adding unit tests for the new use case

---
 .../v2/overview/GetDeviceFullInfoUseCase.kt   |  1 -
 .../GetLiveLocationShareSummaryUseCaseTest.kt |  7 +-
 .../GetListOfUserLiveLocationUseCaseTest.kt   |  4 +-
 .../overview/GetDeviceFullInfoUseCaseTest.kt  | 99 +++++++++++++++++++
 .../app/test/TestCoroutineDispatchers.kt      |  2 +-
 .../app/test/fakes/FakeActiveSessionHolder.kt |  4 +
 .../app/test/fakes/FakeCryptoService.kt       |  8 ++
 .../test/fakes/FakeFlowLiveDataConversions.kt |  4 +-
 8 files changed, 119 insertions(+), 10 deletions(-)
 create mode 100644 vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
index b7d8efb59a..d20ca17471 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
@@ -26,7 +26,6 @@ import org.matrix.android.sdk.api.util.Optional
 import org.matrix.android.sdk.api.util.toOptional
 import javax.inject.Inject
 
-// TODO add unit tests
 class GetDeviceFullInfoUseCase @Inject constructor(
         private val activeSessionHolder: ActiveSessionHolder,
 ) {
diff --git a/vector/src/test/java/im/vector/app/features/location/live/GetLiveLocationShareSummaryUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/location/live/GetLiveLocationShareSummaryUseCaseTest.kt
index ed1bcebf16..89966b5317 100644
--- a/vector/src/test/java/im/vector/app/features/location/live/GetLiveLocationShareSummaryUseCaseTest.kt
+++ b/vector/src/test/java/im/vector/app/features/location/live/GetLiveLocationShareSummaryUseCaseTest.kt
@@ -18,7 +18,7 @@ package im.vector.app.features.location.live
 
 import im.vector.app.test.fakes.FakeFlowLiveDataConversions
 import im.vector.app.test.fakes.FakeSession
-import im.vector.app.test.fakes.givenAsFlowReturns
+import im.vector.app.test.fakes.givenAsFlow
 import io.mockk.unmockkAll
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.test.runTest
@@ -28,7 +28,6 @@ import org.junit.Before
 import org.junit.Test
 import org.matrix.android.sdk.api.session.room.model.livelocation.LiveLocationShareAggregatedSummary
 import org.matrix.android.sdk.api.session.room.model.message.MessageBeaconLocationDataContent
-import org.matrix.android.sdk.api.util.Optional
 
 private const val A_ROOM_ID = "room_id"
 private const val AN_EVENT_ID = "event_id"
@@ -64,7 +63,7 @@ class GetLiveLocationShareSummaryUseCaseTest {
                 .getRoom(A_ROOM_ID)
                 .locationSharingService()
                 .givenLiveLocationShareSummaryReturns(AN_EVENT_ID, summary)
-                .givenAsFlowReturns(Optional(summary))
+                .givenAsFlow()
 
         val result = getLiveLocationShareSummaryUseCase.execute(A_ROOM_ID, AN_EVENT_ID).first()
 
@@ -77,7 +76,7 @@ class GetLiveLocationShareSummaryUseCaseTest {
                 .getRoom(A_ROOM_ID)
                 .locationSharingService()
                 .givenLiveLocationShareSummaryReturns(AN_EVENT_ID, null)
-                .givenAsFlowReturns(Optional(null))
+                .givenAsFlow()
 
         val result = getLiveLocationShareSummaryUseCase.execute(A_ROOM_ID, AN_EVENT_ID).first()
 
diff --git a/vector/src/test/java/im/vector/app/features/location/live/map/GetListOfUserLiveLocationUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/location/live/map/GetListOfUserLiveLocationUseCaseTest.kt
index 420b8e6a06..6d24858915 100644
--- a/vector/src/test/java/im/vector/app/features/location/live/map/GetListOfUserLiveLocationUseCaseTest.kt
+++ b/vector/src/test/java/im/vector/app/features/location/live/map/GetListOfUserLiveLocationUseCaseTest.kt
@@ -19,7 +19,7 @@ package im.vector.app.features.location.live.map
 import im.vector.app.features.location.LocationData
 import im.vector.app.test.fakes.FakeFlowLiveDataConversions
 import im.vector.app.test.fakes.FakeSession
-import im.vector.app.test.fakes.givenAsFlowReturns
+import im.vector.app.test.fakes.givenAsFlow
 import io.mockk.coEvery
 import io.mockk.mockk
 import io.mockk.unmockkAll
@@ -81,7 +81,7 @@ class GetListOfUserLiveLocationUseCaseTest {
                 .getRoom(A_ROOM_ID)
                 .locationSharingService()
                 .givenRunningLiveLocationShareSummariesReturns(summaries)
-                .givenAsFlowReturns(summaries)
+                .givenAsFlow()
 
         val viewState1 = UserLiveLocationViewState(
                 matrixItem = MatrixItem.UserItem(id = "@userId1:matrix.org", displayName = "User 1", avatarUrl = ""),
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt
new file mode 100644
index 0000000000..32d7b6edfe
--- /dev/null
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt
@@ -0,0 +1,99 @@
+/*
+ * 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.settings.devices.v2.overview
+
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.asFlow
+import im.vector.app.features.settings.devices.DeviceFullInfo
+import im.vector.app.test.fakes.FakeActiveSessionHolder
+import im.vector.app.test.fakes.FakeFlowLiveDataConversions
+import im.vector.app.test.fakes.givenAsFlow
+import io.mockk.unmockkAll
+import io.mockk.verify
+import kotlinx.coroutines.flow.firstOrNull
+import kotlinx.coroutines.test.runTest
+import org.amshove.kluent.shouldBeEqualTo
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo
+import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
+import org.matrix.android.sdk.api.util.Optional
+
+private const val A_DEVICE_ID = "device-id"
+
+class GetDeviceFullInfoUseCaseTest {
+
+    private val fakeActiveSessionHolder = FakeActiveSessionHolder()
+    private val fakeFlowLiveDataConversions = FakeFlowLiveDataConversions()
+
+    private val getDeviceFullInfoUseCase = GetDeviceFullInfoUseCase(
+            activeSessionHolder = fakeActiveSessionHolder.instance
+    )
+
+    @Before
+    fun setUp() {
+        fakeFlowLiveDataConversions.setup()
+    }
+
+    @After
+    fun tearDown() {
+        unmockkAll()
+    }
+
+    @Test
+    fun `given an active session and info for device when getting device info then the result is correct`() = runTest {
+        val deviceInfo = DeviceInfo()
+        fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData = MutableLiveData(Optional(deviceInfo))
+        fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData.givenAsFlow()
+        val cryptoDeviceInfo = CryptoDeviceInfo(deviceId = A_DEVICE_ID, userId = "")
+        fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData = MutableLiveData(Optional(cryptoDeviceInfo))
+        fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData.givenAsFlow()
+
+        val deviceFullInfo = getDeviceFullInfoUseCase.execute(A_DEVICE_ID).firstOrNull()
+
+        deviceFullInfo shouldBeEqualTo Optional(DeviceFullInfo(deviceInfo = deviceInfo, cryptoDeviceInfo = cryptoDeviceInfo))
+        verify { fakeActiveSessionHolder.instance.getSafeActiveSession() }
+        verify { fakeActiveSessionHolder.fakeSession.fakeCryptoService.getMyDevicesInfoLive(A_DEVICE_ID).asFlow() }
+        verify { fakeActiveSessionHolder.fakeSession.fakeCryptoService.getLiveCryptoDeviceInfoWithId(A_DEVICE_ID).asFlow() }
+    }
+
+    @Test
+    fun `given an active session and no info for device when getting device info then the result is null`() = runTest {
+        fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData = MutableLiveData(Optional(null))
+        fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData.givenAsFlow()
+        fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData = MutableLiveData(Optional(null))
+        fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData.givenAsFlow()
+
+        val deviceFullInfo = getDeviceFullInfoUseCase.execute(A_DEVICE_ID).firstOrNull()
+
+        deviceFullInfo shouldBeEqualTo Optional(null)
+        verify { fakeActiveSessionHolder.instance.getSafeActiveSession() }
+        verify { fakeActiveSessionHolder.fakeSession.fakeCryptoService.getMyDevicesInfoLive(A_DEVICE_ID).asFlow() }
+        verify { fakeActiveSessionHolder.fakeSession.fakeCryptoService.getLiveCryptoDeviceInfoWithId(A_DEVICE_ID).asFlow() }
+    }
+
+    @Test
+    fun `given no active session when getting device info then the result is empty`() = runTest {
+        fakeActiveSessionHolder.givenGetSafeActiveSessionReturns(null)
+
+        val deviceFullInfo = getDeviceFullInfoUseCase.execute(A_DEVICE_ID).firstOrNull()
+
+        deviceFullInfo shouldBeEqualTo null
+        verify { fakeActiveSessionHolder.instance.getSafeActiveSession() }
+    }
+}
diff --git a/vector/src/test/java/im/vector/app/test/TestCoroutineDispatchers.kt b/vector/src/test/java/im/vector/app/test/TestCoroutineDispatchers.kt
index fb3c1bb70a..c4f4c2a19a 100644
--- a/vector/src/test/java/im/vector/app/test/TestCoroutineDispatchers.kt
+++ b/vector/src/test/java/im/vector/app/test/TestCoroutineDispatchers.kt
@@ -19,7 +19,7 @@ package im.vector.app.test
 import kotlinx.coroutines.test.UnconfinedTestDispatcher
 import org.matrix.android.sdk.api.MatrixCoroutineDispatchers
 
-private val testDispatcher = UnconfinedTestDispatcher()
+internal val testDispatcher = UnconfinedTestDispatcher()
 
 internal val testCoroutineDispatchers = MatrixCoroutineDispatchers(
         io = testDispatcher,
diff --git a/vector/src/test/java/im/vector/app/test/fakes/FakeActiveSessionHolder.kt b/vector/src/test/java/im/vector/app/test/fakes/FakeActiveSessionHolder.kt
index 3065c18c30..bfc36ef06d 100644
--- a/vector/src/test/java/im/vector/app/test/fakes/FakeActiveSessionHolder.kt
+++ b/vector/src/test/java/im/vector/app/test/fakes/FakeActiveSessionHolder.kt
@@ -33,4 +33,8 @@ class FakeActiveSessionHolder(
     fun expectSetsActiveSession(session: Session) {
         justRun { instance.setActiveSession(session) }
     }
+
+    fun givenGetSafeActiveSessionReturns(session: Session?) {
+        every { instance.getSafeActiveSession() } returns session
+    }
 }
diff --git a/vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt b/vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt
index ed571fc2f2..2c31933464 100644
--- a/vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt
+++ b/vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt
@@ -20,11 +20,15 @@ import androidx.lifecycle.MutableLiveData
 import io.mockk.mockk
 import org.matrix.android.sdk.api.session.crypto.CryptoService
 import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo
+import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
+import org.matrix.android.sdk.api.util.Optional
 
 class FakeCryptoService : CryptoService by mockk() {
 
     var roomKeysExport = ByteArray(size = 1)
     var cryptoDeviceInfos = mutableMapOf<String, CryptoDeviceInfo>()
+    var cryptoDeviceInfoWithIdLiveData: MutableLiveData<Optional<CryptoDeviceInfo>> = MutableLiveData()
+    var myDevicesInfoWithIdLiveData: MutableLiveData<Optional<DeviceInfo>> = MutableLiveData()
 
     override suspend fun exportRoomKeys(password: String) = roomKeysExport
 
@@ -35,4 +39,8 @@ class FakeCryptoService : CryptoService by mockk() {
     override fun getLiveCryptoDeviceInfo(userIds: List<String>) = MutableLiveData(
             cryptoDeviceInfos.filterKeys { userIds.contains(it) }.values.toList()
     )
+
+    override fun getLiveCryptoDeviceInfoWithId(deviceId: String) = cryptoDeviceInfoWithIdLiveData
+
+    override fun getMyDevicesInfoLive(deviceId: String) = myDevicesInfoWithIdLiveData
 }
diff --git a/vector/src/test/java/im/vector/app/test/fakes/FakeFlowLiveDataConversions.kt b/vector/src/test/java/im/vector/app/test/fakes/FakeFlowLiveDataConversions.kt
index 9abbcc174d..956a86f32e 100644
--- a/vector/src/test/java/im/vector/app/test/fakes/FakeFlowLiveDataConversions.kt
+++ b/vector/src/test/java/im/vector/app/test/fakes/FakeFlowLiveDataConversions.kt
@@ -28,6 +28,6 @@ class FakeFlowLiveDataConversions {
     }
 }
 
-fun <T> LiveData<T>.givenAsFlowReturns(value: T) {
-    every { asFlow() } returns flowOf(value)
+fun <T> LiveData<T>.givenAsFlow() {
+    every { asFlow() } returns flowOf(value!!)
 }

From 611749c08f6f9e5a849e9c93a8571481fa2c71c0 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Wed, 31 Aug 2022 14:12:16 +0200
Subject: [PATCH 40/57] Adding unit tests for mapper

---
 .../MyDeviceLastSeenInfoEntityMapper.kt       |  1 -
 .../MyDeviceLastSeenInfoEntityMapperTest.kt   | 52 +++++++++++++++++++
 2 files changed, 52 insertions(+), 1 deletion(-)
 create mode 100644 matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt

diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt
index ed44b0765a..76e3171f4d 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt
@@ -20,7 +20,6 @@ import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
 import org.matrix.android.sdk.internal.crypto.store.db.model.MyDeviceLastSeenInfoEntity
 import javax.inject.Inject
 
-// TODO add unit tests
 internal class MyDeviceLastSeenInfoEntityMapper @Inject constructor() {
 
     fun map(entity: MyDeviceLastSeenInfoEntity): DeviceInfo {
diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt
new file mode 100644
index 0000000000..e706fd6622
--- /dev/null
+++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt
@@ -0,0 +1,52 @@
+/*
+ * 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 org.matrix.android.sdk.internal.crypto.store.db.mapper
+
+import org.amshove.kluent.shouldBeEqualTo
+import org.junit.Test
+import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
+import org.matrix.android.sdk.internal.crypto.store.db.model.MyDeviceLastSeenInfoEntity
+
+private const val A_DEVICE_ID = "device-id"
+private const val AN_IP_ADDRESS = "ip-address"
+private const val A_TIMESTAMP = 123L
+private const val A_DISPLAY_NAME = "display-name"
+
+class MyDeviceLastSeenInfoEntityMapperTest {
+
+    private val myDeviceLastSeenInfoEntityMapper = MyDeviceLastSeenInfoEntityMapper()
+
+    @Test
+    fun `given an entity when mapping to model then all fields are correctly mapped`() {
+        val entity = MyDeviceLastSeenInfoEntity(
+                deviceId = A_DEVICE_ID,
+                lastSeenIp = AN_IP_ADDRESS,
+                lastSeenTs = A_TIMESTAMP,
+                displayName = A_DISPLAY_NAME
+        )
+        val expectedDeviceInfo = DeviceInfo(
+                deviceId = A_DEVICE_ID,
+                lastSeenIp = AN_IP_ADDRESS,
+                lastSeenTs = A_TIMESTAMP,
+                displayName = A_DISPLAY_NAME
+        )
+
+        val deviceInfo = myDeviceLastSeenInfoEntityMapper.map(entity)
+
+        deviceInfo shouldBeEqualTo expectedDeviceInfo
+    }
+}

From b995f798f993612daeb3f3d827e13de85b78aa17 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Wed, 31 Aug 2022 14:44:01 +0200
Subject: [PATCH 41/57] Adding unit tests for viewModel

---
 .../v2/overview/SessionOverviewViewModel.kt   |  1 -
 .../v2/overview/SessionOverviewViewState.kt   |  4 +
 .../overview/SessionOverviewViewModelTest.kt  | 80 +++++++++++++++++++
 .../im/vector/app/test/fakes/FakeSession.kt   |  5 ++
 4 files changed, 89 insertions(+), 1 deletion(-)
 create mode 100644 vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
index 84c15301aa..9c40480270 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
@@ -30,7 +30,6 @@ import kotlinx.coroutines.flow.mapNotNull
 import kotlinx.coroutines.flow.onEach
 import org.matrix.android.sdk.api.session.Session
 
-// TODO add unit tests
 class SessionOverviewViewModel @AssistedInject constructor(
         @Assisted val initialState: SessionOverviewViewState,
         session: Session,
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
index e839348800..8fa19a6eee 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
@@ -16,11 +16,15 @@
 
 package im.vector.app.features.settings.devices.v2.overview
 
+import com.airbnb.mvrx.Async
 import com.airbnb.mvrx.MavericksState
+import com.airbnb.mvrx.Uninitialized
+import im.vector.app.features.settings.devices.DeviceFullInfo
 
 data class SessionOverviewViewState(
         val sessionId: String,
         val isCurrentSession: Boolean = false,
+        val deviceInfo: Async<DeviceFullInfo> = Uninitialized,
 ) : MavericksState {
     constructor(args: SessionOverviewArgs) : this(
             sessionId = args.sessionId
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
new file mode 100644
index 0000000000..f15bc0860c
--- /dev/null
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.settings.devices.v2.overview
+
+import com.airbnb.mvrx.Success
+import com.airbnb.mvrx.test.MvRxTestRule
+import im.vector.app.features.settings.devices.DeviceFullInfo
+import im.vector.app.test.fakes.FakeSession
+import im.vector.app.test.test
+import io.mockk.every
+import io.mockk.mockk
+import io.mockk.verify
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
+import kotlinx.coroutines.test.runTest
+import org.junit.Rule
+import org.junit.Test
+import org.matrix.android.sdk.api.auth.data.SessionParams
+import org.matrix.android.sdk.api.util.Optional
+
+private const val A_SESSION_ID = "session-id"
+
+class SessionOverviewViewModelTest {
+
+    @get:Rule
+    val mvRxTestRule = MvRxTestRule(testDispatcher = UnconfinedTestDispatcher())
+
+    private val args = SessionOverviewArgs(
+            sessionId = A_SESSION_ID
+    )
+    private val fakeSession = FakeSession()
+    private val getDeviceFullInfoUseCase = mockk<GetDeviceFullInfoUseCase>()
+
+    private fun createViewModel() = SessionOverviewViewModel(
+            initialState = SessionOverviewViewState(args),
+            session = fakeSession,
+            getDeviceFullInfoUseCase = getDeviceFullInfoUseCase
+    )
+
+    @Test
+    fun `given the viewModel has been initialized then viewState is updated with session info`() = runTest {
+        val sessionParams = givenIdForSession(A_SESSION_ID)
+        val deviceFullInfo = mockk<DeviceFullInfo>()
+        every { getDeviceFullInfoUseCase.execute(A_SESSION_ID) } returns flowOf(Optional(deviceFullInfo))
+        val expectedState = SessionOverviewViewState(
+                sessionId = A_SESSION_ID,
+                isCurrentSession = true,
+                deviceInfo = Success(deviceFullInfo)
+        )
+
+        val viewModel = createViewModel()
+
+        viewModel.test()
+                .assertLatestState { state -> state == expectedState }
+                .finish()
+        verify { sessionParams.deviceId }
+        verify { getDeviceFullInfoUseCase.execute(A_SESSION_ID) }
+    }
+
+    private fun givenIdForSession(deviceId: String): SessionParams {
+        val sessionParams = mockk<SessionParams>()
+        every { sessionParams.deviceId } returns deviceId
+        fakeSession.givenSessionParams(sessionParams)
+        return sessionParams
+    }
+}
diff --git a/vector/src/test/java/im/vector/app/test/fakes/FakeSession.kt b/vector/src/test/java/im/vector/app/test/fakes/FakeSession.kt
index ee016ecae3..71bcde5807 100644
--- a/vector/src/test/java/im/vector/app/test/fakes/FakeSession.kt
+++ b/vector/src/test/java/im/vector/app/test/fakes/FakeSession.kt
@@ -26,6 +26,7 @@ import io.mockk.coJustRun
 import io.mockk.every
 import io.mockk.mockk
 import io.mockk.mockkStatic
+import org.matrix.android.sdk.api.auth.data.SessionParams
 import org.matrix.android.sdk.api.session.Session
 import org.matrix.android.sdk.api.session.getRoomSummary
 import org.matrix.android.sdk.api.session.homeserver.HomeServerCapabilitiesService
@@ -71,6 +72,10 @@ class FakeSession(
         }
     }
 
+    fun givenSessionParams(sessionParams: SessionParams) {
+        every { this@FakeSession.sessionParams } returns sessionParams
+    }
+
     companion object {
 
         fun withRoomSummary(roomSummary: RoomSummary) = FakeSession().apply {

From a5ee4faef4867c54d26d8ba136ae9f084f7b087c Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Thu, 1 Sep 2022 09:25:11 +0200
Subject: [PATCH 42/57] Introducing some reusable usecases

---
 .../devices/CurrentSessionCrossSigningInfo.kt | 26 ++++++++++
 .../settings/devices/DevicesViewModel.kt      | 28 +++--------
 ...etCurrentSessionCrossSigningInfoUseCase.kt | 37 ++++++++++++++
 ...yptionTrustLevelForCurrentDeviceUseCase.kt | 38 ++++++++++++++
 ...GetEncryptionTrustLevelForDeviceUseCase.kt | 40 +++++++++++++++
 ...cryptionTrustLevelForOtherDeviceUseCase.kt | 49 +++++++++++++++++++
 .../features/settings/devices/TrustUtils.kt   |  1 +
 .../v2/overview/GetDeviceFullInfoUseCase.kt   | 10 +++-
 8 files changed, 206 insertions(+), 23 deletions(-)
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/CurrentSessionCrossSigningInfo.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCase.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCase.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCase.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCase.kt

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/CurrentSessionCrossSigningInfo.kt b/vector/src/main/java/im/vector/app/features/settings/devices/CurrentSessionCrossSigningInfo.kt
new file mode 100644
index 0000000000..790de08823
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/CurrentSessionCrossSigningInfo.kt
@@ -0,0 +1,26 @@
+/*
+ * 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.settings.devices
+
+/**
+ * Used to hold some info about the cross signing of the current Session.
+ */
+data class CurrentSessionCrossSigningInfo(
+        val deviceId: String?,
+        val isCrossSigningInitialized: Boolean,
+        val isCrossSigningVerified: Boolean,
+)
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/DevicesViewModel.kt b/vector/src/main/java/im/vector/app/features/settings/devices/DevicesViewModel.kt
index 3b5bcb61d9..82c346b09c 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/DevicesViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/DevicesViewModel.kt
@@ -101,6 +101,8 @@ class DevicesViewModel @AssistedInject constructor(
         private val stringProvider: StringProvider,
         private val matrix: Matrix,
         private val checkIfSessionIsInactiveUseCase: CheckIfSessionIsInactiveUseCase,
+        getCurrentSessionCrossSigningInfoUseCase: GetCurrentSessionCrossSigningInfoUseCase,
+        private val getEncryptionTrustLevelForDeviceUseCase: GetEncryptionTrustLevelForDeviceUseCase,
 ) : VectorViewModel<DevicesViewState, DevicesAction, DevicesViewEvents>(initialState), VerificationService.Listener {
 
     var uiaContinuation: Continuation<UIABaseAuth>? = null
@@ -116,8 +118,9 @@ class DevicesViewModel @AssistedInject constructor(
     private val refreshSource = PublishDataSource<Unit>()
 
     init {
-        val hasAccountCrossSigning = session.cryptoService().crossSigningService().isCrossSigningInitialized()
-        val accountCrossSigningIsTrusted = session.cryptoService().crossSigningService().isCrossSigningVerified()
+        val currentSessionCrossSigningInfo = getCurrentSessionCrossSigningInfoUseCase.execute()
+        val hasAccountCrossSigning = currentSessionCrossSigningInfo.isCrossSigningInitialized
+        val accountCrossSigningIsTrusted = currentSessionCrossSigningInfo.isCrossSigningVerified
 
         setState {
             copy(
@@ -143,12 +146,7 @@ class DevicesViewModel @AssistedInject constructor(
                     .sortedByDescending { it.lastSeenTs }
                     .map { deviceInfo ->
                         val cryptoDeviceInfo = cryptoList.firstOrNull { it.deviceId == deviceInfo.deviceId }
-                        val trustLevelForShield = computeTrustLevelForShield(
-                                currentSessionCrossTrusted = accountCrossSigningIsTrusted,
-                                legacyMode = !hasAccountCrossSigning,
-                                deviceTrustLevel = cryptoDeviceInfo?.trustLevel,
-                                isCurrentDevice = deviceInfo.deviceId == session.sessionParams.deviceId
-                        )
+                        val trustLevelForShield = getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoDeviceInfo)
                         val isInactive = checkIfSessionIsInactiveUseCase.execute(deviceInfo.lastSeenTs ?: 0)
                         DeviceFullInfo(deviceInfo, cryptoDeviceInfo, trustLevelForShield, isInactive)
                     }
@@ -268,20 +266,6 @@ class DevicesViewModel @AssistedInject constructor(
         }
     }
 
-    private fun computeTrustLevelForShield(
-            currentSessionCrossTrusted: Boolean,
-            legacyMode: Boolean,
-            deviceTrustLevel: DeviceTrustLevel?,
-            isCurrentDevice: Boolean,
-    ): RoomEncryptionTrustLevel {
-        return TrustUtils.shieldForTrust(
-                currentDevice = isCurrentDevice,
-                trustMSK = currentSessionCrossTrusted,
-                legacyMode = legacyMode,
-                deviceTrustLevel = deviceTrustLevel
-        )
-    }
-
     private fun handleInteractiveVerification(action: DevicesAction.VerifyMyDevice) {
         val txID = session.cryptoService()
                 .verificationService()
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCase.kt
new file mode 100644
index 0000000000..aa0de9ddf1
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCase.kt
@@ -0,0 +1,37 @@
+/*
+ * 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.settings.devices
+
+import im.vector.app.core.di.ActiveSessionHolder
+import javax.inject.Inject
+
+// TODO add unit tests
+class GetCurrentSessionCrossSigningInfoUseCase @Inject constructor(
+        private val activeSessionHolder: ActiveSessionHolder,
+) {
+
+    fun execute(): CurrentSessionCrossSigningInfo {
+        val session = activeSessionHolder.getActiveSession()
+        val isCrossSigningInitialized = session.cryptoService().crossSigningService().isCrossSigningInitialized()
+        val isCrossSigningVerified = session.cryptoService().crossSigningService().isCrossSigningVerified()
+        return CurrentSessionCrossSigningInfo(
+                deviceId = session.sessionParams.deviceId,
+                isCrossSigningInitialized = isCrossSigningInitialized,
+                isCrossSigningVerified = isCrossSigningVerified
+        )
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCase.kt
new file mode 100644
index 0000000000..eaa72b424a
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCase.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.settings.devices
+
+import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
+import javax.inject.Inject
+
+// TODO add unit tests
+class GetEncryptionTrustLevelForCurrentDeviceUseCase @Inject constructor() {
+
+    fun execute(trustMSK: Boolean, legacyMode: Boolean): RoomEncryptionTrustLevel {
+        return if (legacyMode) {
+            // In legacy, current session is always trusted
+            RoomEncryptionTrustLevel.Trusted
+        } else {
+            // If current session doesn't trust MSK, show red shield for current device
+            if (trustMSK) {
+                RoomEncryptionTrustLevel.Trusted
+            } else {
+                RoomEncryptionTrustLevel.Warning
+            }
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCase.kt
new file mode 100644
index 0000000000..d988f728ae
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCase.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.settings.devices
+
+import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo
+import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
+import javax.inject.Inject
+
+// TODO add unit tests
+class GetEncryptionTrustLevelForDeviceUseCase @Inject constructor(
+        private val getEncryptionTrustLevelForCurrentDeviceUseCase: GetEncryptionTrustLevelForCurrentDeviceUseCase,
+        private val getEncryptionTrustLevelForOtherDeviceUseCase: GetEncryptionTrustLevelForOtherDeviceUseCase,
+) {
+
+    fun execute(currentSessionCrossSigningInfo: CurrentSessionCrossSigningInfo, cryptoDeviceInfo: CryptoDeviceInfo?): RoomEncryptionTrustLevel {
+        val legacyMode = !currentSessionCrossSigningInfo.isCrossSigningInitialized
+        val trustMSK = currentSessionCrossSigningInfo.isCrossSigningVerified
+        val isCurrentDevice = !cryptoDeviceInfo?.deviceId.isNullOrEmpty() && cryptoDeviceInfo?.deviceId == currentSessionCrossSigningInfo.deviceId
+        val deviceTrustLevel = cryptoDeviceInfo?.trustLevel
+
+        return when {
+            isCurrentDevice -> getEncryptionTrustLevelForCurrentDeviceUseCase.execute(trustMSK, legacyMode)
+            else -> getEncryptionTrustLevelForOtherDeviceUseCase.execute(trustMSK, legacyMode, deviceTrustLevel)
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCase.kt
new file mode 100644
index 0000000000..41cdae23a4
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCase.kt
@@ -0,0 +1,49 @@
+/*
+ * 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.settings.devices
+
+import org.matrix.android.sdk.api.session.crypto.crosssigning.DeviceTrustLevel
+import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
+import javax.inject.Inject
+
+// TODO add unit tests
+class GetEncryptionTrustLevelForOtherDeviceUseCase @Inject constructor() {
+
+    fun execute(trustMSK: Boolean, legacyMode: Boolean, deviceTrustLevel: DeviceTrustLevel?): RoomEncryptionTrustLevel {
+        return if (legacyMode) {
+            // use local trust
+            if (deviceTrustLevel?.locallyVerified == true) {
+                RoomEncryptionTrustLevel.Trusted
+            } else {
+                RoomEncryptionTrustLevel.Warning
+            }
+        } else {
+            if (trustMSK) {
+                // use cross sign trust, put locally trusted in black
+                when {
+                    deviceTrustLevel?.crossSigningVerified == true -> RoomEncryptionTrustLevel.Trusted
+                    deviceTrustLevel?.locallyVerified == true -> RoomEncryptionTrustLevel.Default
+                    else -> RoomEncryptionTrustLevel.Warning
+                }
+            } else {
+                // The current session is untrusted, so displays others in black
+                // as we can't know the cross-signing state
+                RoomEncryptionTrustLevel.Default
+            }
+        }
+    }
+}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/TrustUtils.kt b/vector/src/main/java/im/vector/app/features/settings/devices/TrustUtils.kt
index da18154ea1..7709a63344 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/TrustUtils.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/TrustUtils.kt
@@ -19,6 +19,7 @@ package im.vector.app.features.settings.devices
 import org.matrix.android.sdk.api.session.crypto.crosssigning.DeviceTrustLevel
 import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
 
+// TODO Replace usage by the use case GetEncryptionTrustLevelForDeviceUseCase
 object TrustUtils {
 
     fun shieldForTrust(
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
index d20ca17471..51252de34a 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
@@ -19,6 +19,8 @@ package im.vector.app.features.settings.devices.v2.overview
 import androidx.lifecycle.asFlow
 import im.vector.app.core.di.ActiveSessionHolder
 import im.vector.app.features.settings.devices.DeviceFullInfo
+import im.vector.app.features.settings.devices.GetCurrentSessionCrossSigningInfoUseCase
+import im.vector.app.features.settings.devices.GetEncryptionTrustLevelForDeviceUseCase
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.emptyFlow
@@ -26,12 +28,16 @@ import org.matrix.android.sdk.api.util.Optional
 import org.matrix.android.sdk.api.util.toOptional
 import javax.inject.Inject
 
+// TODO update unit test
 class GetDeviceFullInfoUseCase @Inject constructor(
         private val activeSessionHolder: ActiveSessionHolder,
+        private val getCurrentSessionCrossSigningInfoUseCase: GetCurrentSessionCrossSigningInfoUseCase,
+        private val getEncryptionTrustLevelForDeviceUseCase: GetEncryptionTrustLevelForDeviceUseCase,
 ) {
 
     fun execute(deviceId: String): Flow<Optional<DeviceFullInfo>> {
         return activeSessionHolder.getSafeActiveSession()?.let { session ->
+            val currentSessionCrossSigningInfo = getCurrentSessionCrossSigningInfoUseCase.execute()
             combine(
                     session.cryptoService().getMyDevicesInfoLive(deviceId).asFlow(),
                     session.cryptoService().getLiveCryptoDeviceInfoWithId(deviceId).asFlow()
@@ -39,9 +45,11 @@ class GetDeviceFullInfoUseCase @Inject constructor(
                 val info = deviceInfo.getOrNull()
                 val cryptoInfo = cryptoDeviceInfo.getOrNull()
                 val fullInfo = if (info != null && cryptoInfo != null) {
+                    val roomEncryptionTrustLevel = getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoInfo)
                     DeviceFullInfo(
                             deviceInfo = info,
-                            cryptoDeviceInfo = cryptoInfo
+                            cryptoDeviceInfo = cryptoInfo,
+                            trustLevelForShield = roomEncryptionTrustLevel
                     )
                 } else {
                     null

From 52006c1bb453057f2c3cbe7195c819edea3da2c2 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Thu, 1 Sep 2022 09:32:14 +0200
Subject: [PATCH 43/57] Renaming CurrentSessionView into SessionInfoView to be
 more generic

---
 .../devices/v2/list/CurrentSessionView.kt     | 78 -------------------
 .../devices/v2/list/SessionInfoView.kt        | 78 +++++++++++++++++++
 ...rent_session.xml => view_session_info.xml} | 26 +++----
 3 files changed, 91 insertions(+), 91 deletions(-)
 delete mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/list/CurrentSessionView.kt
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
 rename vector/src/main/res/layout/{view_current_session.xml => view_session_info.xml} (78%)

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/CurrentSessionView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/CurrentSessionView.kt
deleted file mode 100644
index 1ce035931f..0000000000
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/CurrentSessionView.kt
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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.settings.devices.v2.list
-
-import android.content.Context
-import android.util.AttributeSet
-import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.core.view.isVisible
-import im.vector.app.R
-import im.vector.app.databinding.ViewCurrentSessionBinding
-import im.vector.app.features.settings.devices.DeviceFullInfo
-import im.vector.app.features.themes.ThemeUtils
-import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
-
-class CurrentSessionView @JvmOverloads constructor(
-        context: Context,
-        attrs: AttributeSet? = null,
-        defStyleAttr: Int = 0
-) : ConstraintLayout(context, attrs, defStyleAttr) {
-
-    private val views: ViewCurrentSessionBinding
-
-    init {
-        inflate(context, R.layout.view_current_session, this)
-        views = ViewCurrentSessionBinding.bind(this)
-    }
-
-    val viewDetailsButton = views.currentSessionViewDetailsButton
-
-    fun render(currentDeviceInfo: DeviceFullInfo) {
-        renderDeviceInfo(currentDeviceInfo.deviceInfo.displayName.orEmpty())
-        renderVerificationStatus(currentDeviceInfo.trustLevelForShield)
-    }
-
-    private fun renderVerificationStatus(trustLevelForShield: RoomEncryptionTrustLevel) {
-        views.currentSessionVerificationStatusImageView.render(trustLevelForShield)
-        if (trustLevelForShield == RoomEncryptionTrustLevel.Trusted) {
-            renderCrossSigningVerified()
-        } else {
-            renderCrossSigningUnverified()
-        }
-    }
-
-    private fun renderCrossSigningVerified() {
-        views.currentSessionVerificationStatusTextView.text = context.getString(R.string.device_manager_verification_status_verified)
-        views.currentSessionVerificationStatusTextView.setTextColor(ThemeUtils.getColor(context, R.attr.colorPrimary))
-        views.currentSessionVerificationStatusDetailTextView.text = context.getString(R.string.device_manager_verification_status_detail_verified)
-        views.currentSessionVerifySessionButton.isVisible = false
-    }
-
-    private fun renderCrossSigningUnverified() {
-        views.currentSessionVerificationStatusTextView.text = context.getString(R.string.device_manager_verification_status_unverified)
-        views.currentSessionVerificationStatusTextView.setTextColor(ThemeUtils.getColor(context, R.attr.colorError))
-        views.currentSessionVerificationStatusDetailTextView.text = context.getString(R.string.device_manager_verification_status_detail_unverified)
-        views.currentSessionVerifySessionButton.isVisible = true
-    }
-
-    // TODO. We don't have this info yet. Update later accordingly.
-    private fun renderDeviceInfo(sessionName: String) {
-        views.currentSessionDeviceTypeImageView.setImageResource(R.drawable.ic_device_type_mobile)
-        views.currentSessionDeviceTypeImageView.contentDescription = context.getString(R.string.a11y_device_manager_device_type_mobile)
-        views.currentSessionNameTextView.text = sessionName
-    }
-}
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
new file mode 100644
index 0000000000..b79adfb2d4
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
@@ -0,0 +1,78 @@
+/*
+ * 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.settings.devices.v2.list
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.core.view.isVisible
+import im.vector.app.R
+import im.vector.app.databinding.ViewSessionInfoBinding
+import im.vector.app.features.settings.devices.DeviceFullInfo
+import im.vector.app.features.themes.ThemeUtils
+import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
+
+class SessionInfoView @JvmOverloads constructor(
+        context: Context,
+        attrs: AttributeSet? = null,
+        defStyleAttr: Int = 0
+) : ConstraintLayout(context, attrs, defStyleAttr) {
+
+    private val views: ViewSessionInfoBinding
+
+    init {
+        inflate(context, R.layout.view_session_info, this)
+        views = ViewSessionInfoBinding.bind(this)
+    }
+
+    val viewDetailsButton = views.sessionInfoViewDetailsButton
+
+    fun render(deviceInfo: DeviceFullInfo) {
+        renderDeviceInfo(deviceInfo.deviceInfo.displayName.orEmpty())
+        renderVerificationStatus(deviceInfo.trustLevelForShield)
+    }
+
+    private fun renderVerificationStatus(trustLevelForShield: RoomEncryptionTrustLevel) {
+        views.sessionInfoVerificationStatusImageView.render(trustLevelForShield)
+        if (trustLevelForShield == RoomEncryptionTrustLevel.Trusted) {
+            renderCrossSigningVerified()
+        } else {
+            renderCrossSigningUnverified()
+        }
+    }
+
+    private fun renderCrossSigningVerified() {
+        views.sessionInfoVerificationStatusTextView.text = context.getString(R.string.device_manager_verification_status_verified)
+        views.sessionInfoVerificationStatusTextView.setTextColor(ThemeUtils.getColor(context, R.attr.colorPrimary))
+        views.sessionInfoVerificationStatusDetailTextView.text = context.getString(R.string.device_manager_verification_status_detail_verified)
+        views.sessionInfoVerifySessionButton.isVisible = false
+    }
+
+    private fun renderCrossSigningUnverified() {
+        views.sessionInfoVerificationStatusTextView.text = context.getString(R.string.device_manager_verification_status_unverified)
+        views.sessionInfoVerificationStatusTextView.setTextColor(ThemeUtils.getColor(context, R.attr.colorError))
+        views.sessionInfoVerificationStatusDetailTextView.text = context.getString(R.string.device_manager_verification_status_detail_unverified)
+        views.sessionInfoVerifySessionButton.isVisible = true
+    }
+
+    // TODO. We don't have this info yet. Update later accordingly.
+    private fun renderDeviceInfo(sessionName: String) {
+        views.sessionInfoDeviceTypeImageView.setImageResource(R.drawable.ic_device_type_mobile)
+        views.sessionInfoDeviceTypeImageView.contentDescription = context.getString(R.string.a11y_device_manager_device_type_mobile)
+        views.sessionInfoNameTextView.text = sessionName
+    }
+}
diff --git a/vector/src/main/res/layout/view_current_session.xml b/vector/src/main/res/layout/view_session_info.xml
similarity index 78%
rename from vector/src/main/res/layout/view_current_session.xml
rename to vector/src/main/res/layout/view_session_info.xml
index 91977eba40..015f4961c9 100644
--- a/vector/src/main/res/layout/view_current_session.xml
+++ b/vector/src/main/res/layout/view_session_info.xml
@@ -8,7 +8,7 @@
     android:paddingBottom="16dp">
 
     <ImageView
-        android:id="@+id/currentSessionDeviceTypeImageView"
+        android:id="@+id/sessionInfoDeviceTypeImageView"
         android:layout_width="40dp"
         android:layout_height="40dp"
         android:layout_marginTop="16dp"
@@ -21,18 +21,18 @@
         tools:src="@drawable/ic_device_type_mobile" />
 
     <TextView
-        android:id="@+id/currentSessionNameTextView"
+        android:id="@+id/sessionInfoNameTextView"
         style="@style/TextAppearance.Vector.Subtitle.Medium.DevicesManagement"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="4dp"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/currentSessionDeviceTypeImageView"
+        app:layout_constraintTop_toBottomOf="@id/sessionInfoDeviceTypeImageView"
         tools:text="Element Mobile: Android" />
 
     <LinearLayout
-        android:id="@+id/currentSessionVerificationStatusContainer"
+        android:id="@+id/sessionInfoVerificationStatusContainer"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="12dp"
@@ -40,17 +40,17 @@
         android:orientation="horizontal"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/currentSessionNameTextView">
+        app:layout_constraintTop_toBottomOf="@id/sessionInfoNameTextView">
 
         <im.vector.app.core.ui.views.ShieldImageView
-            android:id="@+id/currentSessionVerificationStatusImageView"
+            android:id="@+id/sessionInfoVerificationStatusImageView"
             android:layout_width="16dp"
             android:layout_height="16dp"
             android:importantForAccessibility="no"
             tools:src="@drawable/ic_shield_trusted" />
 
         <TextView
-            android:id="@+id/currentSessionVerificationStatusTextView"
+            android:id="@+id/sessionInfoVerificationStatusTextView"
             style="@style/TextAppearance.Vector.Body"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
@@ -60,7 +60,7 @@
     </LinearLayout>
 
     <TextView
-        android:id="@+id/currentSessionVerificationStatusDetailTextView"
+        android:id="@+id/sessionInfoVerificationStatusDetailTextView"
         style="@style/TextAppearance.Vector.Body.DevicesManagement"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
@@ -69,11 +69,11 @@
         android:gravity="center"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/currentSessionVerificationStatusContainer"
+        app:layout_constraintTop_toBottomOf="@id/sessionInfoVerificationStatusContainer"
         tools:text="@string/device_manager_verification_status_detail_verified" />
 
     <Button
-        android:id="@+id/currentSessionVerifySessionButton"
+        android:id="@+id/sessionInfoVerifySessionButton"
         android:layout_width="0dp"
         android:layout_height="52dp"
         android:layout_marginHorizontal="24dp"
@@ -81,10 +81,10 @@
         android:text="@string/device_manager_verify_session"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/currentSessionVerificationStatusDetailTextView" />
+        app:layout_constraintTop_toBottomOf="@id/sessionInfoVerificationStatusDetailTextView" />
 
     <Button
-        android:id="@+id/currentSessionViewDetailsButton"
+        android:id="@+id/sessionInfoViewDetailsButton"
         style="@style/Widget.Vector.Button.Text"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
@@ -93,6 +93,6 @@
         android:text="@string/device_manager_view_details"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/currentSessionVerifySessionButton" />
+        app:layout_constraintTop_toBottomOf="@id/sessionInfoVerifySessionButton" />
 
 </androidx.constraintlayout.widget.ConstraintLayout>

From f4865df50cd164a6edc2be0755d1a73394036146 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Thu, 1 Sep 2022 10:05:24 +0200
Subject: [PATCH 44/57] Show info in overview screen

---
 .../src/main/res/values/strings.xml           | 10 ++++-
 .../v2/VectorSettingsDevicesFragment.kt       |  7 +++-
 .../devices/v2/list/SessionInfoView.kt        | 40 +++++++++++++------
 .../devices/v2/list/SessionInfoViewState.kt   | 25 ++++++++++++
 .../v2/overview/SessionOverviewFragment.kt    | 32 +++++++++++++--
 .../res/layout/fragment_session_overview.xml  | 20 ++++++++++
 .../fragment_settings_session_overview.xml    |  6 ---
 .../src/main/res/layout/view_session_info.xml |  2 +-
 8 files changed, 115 insertions(+), 27 deletions(-)
 create mode 100644 vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
 create mode 100644 vector/src/main/res/layout/fragment_session_overview.xml
 delete mode 100644 vector/src/main/res/layout/fragment_settings_session_overview.xml

diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index 823a26df74..e1c03da532 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -3226,8 +3226,14 @@
     <string name="a11y_device_manager_device_type_unknown">Unknown device type</string>
     <string name="device_manager_verification_status_verified">Verified session</string>
     <string name="device_manager_verification_status_unverified">Unverified session</string>
-    <string name="device_manager_verification_status_detail_verified">Your current session is ready for secure messaging.</string>
-    <string name="device_manager_verification_status_detail_unverified">Verify your current session for enhanced secure messaging.</string>
+    <!-- TODO TO BE REMOVED: replaced by device_manager_verification_status_detail_current_session_verified -->
+    <string name="device_manager_verification_status_detail_verified" tools:ignore="UnusedResources">Your current session is ready for secure messaging.</string>
+    <!-- TODO TO BE REMOVED: replaced by device_manager_verification_status_detail_current_session_unverified -->
+    <string name="device_manager_verification_status_detail_unverified" tools:ignore="UnusedResources">Verify your current session for enhanced secure messaging.</string>
+    <string name="device_manager_verification_status_detail_current_session_verified">Your current session is ready for secure messaging.</string>
+    <string name="device_manager_verification_status_detail_other_session_verified">This session is ready for secure messaging.</string>
+    <string name="device_manager_verification_status_detail_current_session_unverified">Verify your current session for enhanced secure messaging.</string>
+    <string name="device_manager_verification_status_detail_other_session_unverified">Verify or sign out from this session for best security and reliability.</string>
     <string name="device_manager_verify_session">Verify Session</string>
     <string name="device_manager_view_details">View Details</string>
     <string name="device_manager_header_section_current_session">Current Session</string>
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
index 2adf7969bf..8bab4ebd60 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
@@ -42,6 +42,7 @@ import im.vector.app.features.settings.devices.DevicesViewEvents
 import im.vector.app.features.settings.devices.DevicesViewModel
 import im.vector.app.features.settings.devices.v2.list.SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS
 import im.vector.app.features.settings.devices.v2.list.SecurityRecommendationViewState
+import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
 import javax.inject.Inject
 
 /**
@@ -199,7 +200,11 @@ class VectorSettingsDevicesFragment :
         currentDeviceInfo?.let {
             views.deviceListHeaderCurrentSession.isVisible = true
             views.deviceListCurrentSession.isVisible = true
-            views.deviceListCurrentSession.render(it)
+            val viewState = SessionInfoViewState(
+                    isCurrentSession = true,
+                    deviceFullInfo = it
+            )
+            views.deviceListCurrentSession.render(viewState)
             views.deviceListCurrentSession.debouncedClicks {
                 currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
             }
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
index b79adfb2d4..be6cfad1c8 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
@@ -22,7 +22,6 @@ import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.core.view.isVisible
 import im.vector.app.R
 import im.vector.app.databinding.ViewSessionInfoBinding
-import im.vector.app.features.settings.devices.DeviceFullInfo
 import im.vector.app.features.themes.ThemeUtils
 import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
 
@@ -41,31 +40,42 @@ class SessionInfoView @JvmOverloads constructor(
 
     val viewDetailsButton = views.sessionInfoViewDetailsButton
 
-    fun render(deviceInfo: DeviceFullInfo) {
-        renderDeviceInfo(deviceInfo.deviceInfo.displayName.orEmpty())
-        renderVerificationStatus(deviceInfo.trustLevelForShield)
+    fun render(sessionInfoViewState: SessionInfoViewState) {
+        renderDeviceInfo(sessionInfoViewState.deviceFullInfo.deviceInfo.displayName.orEmpty())
+        renderVerificationStatus(sessionInfoViewState.deviceFullInfo.trustLevelForShield, sessionInfoViewState.isCurrentSession)
+        renderDetailsButton(sessionInfoViewState.isDetailsButtonVisible)
     }
 
-    private fun renderVerificationStatus(trustLevelForShield: RoomEncryptionTrustLevel) {
-        views.sessionInfoVerificationStatusImageView.render(trustLevelForShield)
-        if (trustLevelForShield == RoomEncryptionTrustLevel.Trusted) {
-            renderCrossSigningVerified()
+    private fun renderVerificationStatus(encryptionTrustLevel: RoomEncryptionTrustLevel, isCurrentSession: Boolean) {
+        views.sessionInfoVerificationStatusImageView.render(encryptionTrustLevel)
+        if (encryptionTrustLevel == RoomEncryptionTrustLevel.Trusted) {
+            renderCrossSigningVerified(isCurrentSession)
         } else {
-            renderCrossSigningUnverified()
+            renderCrossSigningUnverified(isCurrentSession)
         }
     }
 
-    private fun renderCrossSigningVerified() {
+    private fun renderCrossSigningVerified(isCurrentSession: Boolean) {
         views.sessionInfoVerificationStatusTextView.text = context.getString(R.string.device_manager_verification_status_verified)
         views.sessionInfoVerificationStatusTextView.setTextColor(ThemeUtils.getColor(context, R.attr.colorPrimary))
-        views.sessionInfoVerificationStatusDetailTextView.text = context.getString(R.string.device_manager_verification_status_detail_verified)
+        val statusResId = if (isCurrentSession) {
+            R.string.device_manager_verification_status_detail_current_session_verified
+        } else {
+            R.string.device_manager_verification_status_detail_other_session_verified
+        }
+        views.sessionInfoVerificationStatusDetailTextView.text = context.getString(statusResId)
         views.sessionInfoVerifySessionButton.isVisible = false
     }
 
-    private fun renderCrossSigningUnverified() {
+    private fun renderCrossSigningUnverified(isCurrentSession: Boolean) {
         views.sessionInfoVerificationStatusTextView.text = context.getString(R.string.device_manager_verification_status_unverified)
         views.sessionInfoVerificationStatusTextView.setTextColor(ThemeUtils.getColor(context, R.attr.colorError))
-        views.sessionInfoVerificationStatusDetailTextView.text = context.getString(R.string.device_manager_verification_status_detail_unverified)
+        val statusResId = if (isCurrentSession) {
+            R.string.device_manager_verification_status_detail_current_session_unverified
+        } else {
+            R.string.device_manager_verification_status_detail_other_session_unverified
+        }
+        views.sessionInfoVerificationStatusDetailTextView.text = context.getString(statusResId)
         views.sessionInfoVerifySessionButton.isVisible = true
     }
 
@@ -75,4 +85,8 @@ class SessionInfoView @JvmOverloads constructor(
         views.sessionInfoDeviceTypeImageView.contentDescription = context.getString(R.string.a11y_device_manager_device_type_mobile)
         views.sessionInfoNameTextView.text = sessionName
     }
+
+    private fun renderDetailsButton(isDetailsButtonVisible: Boolean) {
+        views.sessionInfoViewDetailsButton.isVisible = isDetailsButtonVisible
+    }
 }
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
new file mode 100644
index 0000000000..c9a351f568
--- /dev/null
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
@@ -0,0 +1,25 @@
+/*
+ * 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.settings.devices.v2.list
+
+import im.vector.app.features.settings.devices.DeviceFullInfo
+
+data class SessionInfoViewState(
+        val isCurrentSession: Boolean,
+        val deviceFullInfo: DeviceFullInfo,
+        val isDetailsButtonVisible: Boolean = true,
+)
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
index 1b8b231a5c..60d58c8a8d 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
@@ -19,28 +19,38 @@ package im.vector.app.features.settings.devices.v2.overview
 import android.view.LayoutInflater
 import android.view.ViewGroup
 import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.isGone
+import androidx.core.view.isVisible
+import com.airbnb.mvrx.Success
 import com.airbnb.mvrx.fragmentViewModel
 import com.airbnb.mvrx.withState
 import dagger.hilt.android.AndroidEntryPoint
 import im.vector.app.R
 import im.vector.app.core.platform.VectorBaseFragment
-import im.vector.app.databinding.FragmentSettingsSessionOverviewBinding
+import im.vector.app.databinding.FragmentSessionOverviewBinding
+import im.vector.app.features.settings.devices.DeviceFullInfo
+import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
 
 /**
  * Display the overview info about a Session.
  */
 @AndroidEntryPoint
 class SessionOverviewFragment :
-        VectorBaseFragment<FragmentSettingsSessionOverviewBinding>() {
+        VectorBaseFragment<FragmentSessionOverviewBinding>() {
 
     private val viewModel: SessionOverviewViewModel by fragmentViewModel()
 
-    override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSettingsSessionOverviewBinding {
-        return FragmentSettingsSessionOverviewBinding.inflate(inflater, container, false)
+    override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSessionOverviewBinding {
+        return FragmentSessionOverviewBinding.inflate(inflater, container, false)
     }
 
     override fun invalidate() = withState(viewModel) { state ->
         updateToolbar(state.isCurrentSession)
+        if (state.deviceInfo is Success) {
+            renderSessionInfo(state.isCurrentSession, state.deviceInfo.invoke())
+        } else {
+            hideSessionInfo()
+        }
     }
 
     private fun updateToolbar(isCurrentSession: Boolean) {
@@ -49,4 +59,18 @@ class SessionOverviewFragment :
                 ?.supportActionBar
                 ?.setTitle(titleResId)
     }
+
+    private fun renderSessionInfo(isCurrentSession: Boolean, deviceFullInfo: DeviceFullInfo) {
+        views.sessionOverviewInfo.isVisible = true
+        val viewState = SessionInfoViewState(
+                isCurrentSession = isCurrentSession,
+                deviceFullInfo = deviceFullInfo,
+                isDetailsButtonVisible = false
+        )
+        views.sessionOverviewInfo.render(viewState)
+    }
+
+    private fun hideSessionInfo() {
+        views.sessionOverviewInfo.isGone = true
+    }
 }
diff --git a/vector/src/main/res/layout/fragment_session_overview.xml b/vector/src/main/res/layout/fragment_session_overview.xml
new file mode 100644
index 0000000000..156e61673b
--- /dev/null
+++ b/vector/src/main/res/layout/fragment_session_overview.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <im.vector.app.features.settings.devices.v2.list.SessionInfoView
+        android:id="@+id/sessionOverviewInfo"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="16dp"
+        android:layout_marginVertical="24dp"
+        android:visibility="gone"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        tools:visibility="visible" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/vector/src/main/res/layout/fragment_settings_session_overview.xml b/vector/src/main/res/layout/fragment_settings_session_overview.xml
deleted file mode 100644
index 1354408486..0000000000
--- a/vector/src/main/res/layout/fragment_settings_session_overview.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent">
-
-</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/vector/src/main/res/layout/view_session_info.xml b/vector/src/main/res/layout/view_session_info.xml
index 015f4961c9..02aad7b19d 100644
--- a/vector/src/main/res/layout/view_session_info.xml
+++ b/vector/src/main/res/layout/view_session_info.xml
@@ -70,7 +70,7 @@
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@id/sessionInfoVerificationStatusContainer"
-        tools:text="@string/device_manager_verification_status_detail_verified" />
+        tools:text="@string/device_manager_verification_status_detail_current_session_verified" />
 
     <Button
         android:id="@+id/sessionInfoVerifySessionButton"

From 78c2b10b8950366c322d0aa3ed4e81c91c67f523 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Thu, 1 Sep 2022 10:43:17 +0200
Subject: [PATCH 45/57] Navigation from other session item

---
 .../devices/v2/VectorSettingsDevicesFragment.kt        | 10 ++++++++++
 .../settings/devices/v2/list/OtherSessionItem.kt       | 10 ++++++++++
 .../devices/v2/list/OtherSessionsController.kt         |  7 +++++++
 .../settings/devices/v2/list/OtherSessionsView.kt      |  5 +++++
 vector/src/main/res/layout/item_other_session.xml      |  1 +
 5 files changed, 33 insertions(+)

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
index 8bab4ebd60..f7f6ca6db4 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
@@ -42,6 +42,7 @@ import im.vector.app.features.settings.devices.DevicesViewEvents
 import im.vector.app.features.settings.devices.DevicesViewModel
 import im.vector.app.features.settings.devices.v2.list.SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS
 import im.vector.app.features.settings.devices.v2.list.SecurityRecommendationViewState
+import im.vector.app.features.settings.devices.v2.list.OtherSessionsController
 import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
 import javax.inject.Inject
 
@@ -76,6 +77,7 @@ class VectorSettingsDevicesFragment :
 
         initLearnMoreButtons()
         initWaitingView()
+        initOtherSessionsView()
         observeViewEvents()
     }
 
@@ -114,6 +116,14 @@ class VectorSettingsDevicesFragment :
         views.waitingView.waitingStatusText.isVisible = true
     }
 
+    private fun initOtherSessionsView() {
+        views.deviceListOtherSessions.setCallback(object : OtherSessionsController.Callback {
+            override fun onItemClicked(deviceId: String) {
+                navigateToSessionOverview(deviceId)
+            }
+        })
+    }
+
     override fun onDestroyView() {
         cleanUpLearnMoreButtonsListeners()
         super.onDestroyView()
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionItem.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionItem.kt
index e9376953e0..c73389d775 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionItem.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionItem.kt
@@ -22,8 +22,10 @@ import android.widget.TextView
 import com.airbnb.epoxy.EpoxyAttribute
 import com.airbnb.epoxy.EpoxyModelClass
 import im.vector.app.R
+import im.vector.app.core.epoxy.ClickListener
 import im.vector.app.core.epoxy.VectorEpoxyHolder
 import im.vector.app.core.epoxy.VectorEpoxyModel
+import im.vector.app.core.epoxy.onClick
 import im.vector.app.core.resources.StringProvider
 import im.vector.app.core.ui.views.ShieldImageView
 import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
@@ -49,8 +51,16 @@ abstract class OtherSessionItem : VectorEpoxyModel<OtherSessionItem.Holder>(R.la
     @EpoxyAttribute
     lateinit var stringProvider: StringProvider
 
+    @EpoxyAttribute(EpoxyAttribute.Option.DoNotHash)
+    var clickListener: ClickListener? = null
+
     override fun bind(holder: Holder) {
         super.bind(holder)
+        holder.view.onClick(clickListener)
+        if (clickListener == null) {
+            holder.view.isClickable = false
+        }
+
         when (deviceType) {
             DeviceType.MOBILE -> {
                 holder.otherSessionDeviceTypeImageView.setImageResource(R.drawable.ic_device_type_mobile)
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionsController.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionsController.kt
index 8a5ee05af7..6419d02fc9 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionsController.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionsController.kt
@@ -35,6 +35,12 @@ class OtherSessionsController @Inject constructor(
         private val colorProvider: ColorProvider,
 ) : TypedEpoxyController<List<DeviceFullInfo>>() {
 
+    var callback: Callback? = null
+
+    interface Callback {
+        fun onItemClicked(deviceId: String)
+    }
+
     override fun buildModels(data: List<DeviceFullInfo>?) {
         val host = this
 
@@ -70,6 +76,7 @@ class OtherSessionsController @Inject constructor(
                     sessionDescription(description)
                     sessionDescriptionDrawable(descriptionDrawable)
                     stringProvider(this@OtherSessionsController.stringProvider)
+                    clickListener { device.deviceInfo.deviceId?.let { host.callback?.onItemClicked(it) } }
                 }
             }
         }
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionsView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionsView.kt
index 55978e61fd..682a9c6e64 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionsView.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/OtherSessionsView.kt
@@ -49,7 +49,12 @@ class OtherSessionsView @JvmOverloads constructor(
         otherSessionsController.setData(devices)
     }
 
+    fun setCallback(callback: OtherSessionsController.Callback) {
+        otherSessionsController.callback = callback
+    }
+
     override fun onDetachedFromWindow() {
+        otherSessionsController.callback = null
         views.otherSessionsRecyclerView.cleanup()
         super.onDetachedFromWindow()
     }
diff --git a/vector/src/main/res/layout/item_other_session.xml b/vector/src/main/res/layout/item_other_session.xml
index 2c41ce6a56..2f93c2be5d 100644
--- a/vector/src/main/res/layout/item_other_session.xml
+++ b/vector/src/main/res/layout/item_other_session.xml
@@ -4,6 +4,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:foreground="?selectableItemBackground"
     android:paddingTop="16dp">
 
     <ImageView

From 3f30cf0bee063b15817ea8c2f09002081dbce1ce Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Thu, 1 Sep 2022 14:20:58 +0200
Subject: [PATCH 46/57] Updating existing unit tests

---
 .../v2/overview/GetDeviceFullInfoUseCase.kt   |  1 -
 .../overview/GetDeviceFullInfoUseCaseTest.kt  | 41 ++++++++++++++++++-
 2 files changed, 39 insertions(+), 3 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
index 51252de34a..3cde519385 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
@@ -28,7 +28,6 @@ import org.matrix.android.sdk.api.util.Optional
 import org.matrix.android.sdk.api.util.toOptional
 import javax.inject.Inject
 
-// TODO update unit test
 class GetDeviceFullInfoUseCase @Inject constructor(
         private val activeSessionHolder: ActiveSessionHolder,
         private val getCurrentSessionCrossSigningInfoUseCase: GetCurrentSessionCrossSigningInfoUseCase,
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt
index 32d7b6edfe..3d56f4ff11 100644
--- a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt
@@ -18,10 +18,15 @@ package im.vector.app.features.settings.devices.v2.overview
 
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.asFlow
+import im.vector.app.features.settings.devices.CurrentSessionCrossSigningInfo
 import im.vector.app.features.settings.devices.DeviceFullInfo
+import im.vector.app.features.settings.devices.GetCurrentSessionCrossSigningInfoUseCase
+import im.vector.app.features.settings.devices.GetEncryptionTrustLevelForDeviceUseCase
 import im.vector.app.test.fakes.FakeActiveSessionHolder
 import im.vector.app.test.fakes.FakeFlowLiveDataConversions
 import im.vector.app.test.fakes.givenAsFlow
+import io.mockk.every
+import io.mockk.mockk
 import io.mockk.unmockkAll
 import io.mockk.verify
 import kotlinx.coroutines.flow.firstOrNull
@@ -32,6 +37,7 @@ import org.junit.Before
 import org.junit.Test
 import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo
 import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
+import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
 import org.matrix.android.sdk.api.util.Optional
 
 private const val A_DEVICE_ID = "device-id"
@@ -39,10 +45,14 @@ private const val A_DEVICE_ID = "device-id"
 class GetDeviceFullInfoUseCaseTest {
 
     private val fakeActiveSessionHolder = FakeActiveSessionHolder()
+    private val getCurrentSessionCrossSigningInfoUseCase = mockk<GetCurrentSessionCrossSigningInfoUseCase>()
+    private val getEncryptionTrustLevelForDeviceUseCase = mockk<GetEncryptionTrustLevelForDeviceUseCase>()
     private val fakeFlowLiveDataConversions = FakeFlowLiveDataConversions()
 
     private val getDeviceFullInfoUseCase = GetDeviceFullInfoUseCase(
-            activeSessionHolder = fakeActiveSessionHolder.instance
+            activeSessionHolder = fakeActiveSessionHolder.instance,
+            getCurrentSessionCrossSigningInfoUseCase = getCurrentSessionCrossSigningInfoUseCase,
+            getEncryptionTrustLevelForDeviceUseCase = getEncryptionTrustLevelForDeviceUseCase
     )
 
     @Before
@@ -57,23 +67,34 @@ class GetDeviceFullInfoUseCaseTest {
 
     @Test
     fun `given an active session and info for device when getting device info then the result is correct`() = runTest {
+        val currentSessionCrossSigningInfo = givenCurrentSessionCrossSigningInfo()
         val deviceInfo = DeviceInfo()
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData = MutableLiveData(Optional(deviceInfo))
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData.givenAsFlow()
         val cryptoDeviceInfo = CryptoDeviceInfo(deviceId = A_DEVICE_ID, userId = "")
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData = MutableLiveData(Optional(cryptoDeviceInfo))
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData.givenAsFlow()
+        val trustLevel = givenTrustLevel(currentSessionCrossSigningInfo, cryptoDeviceInfo)
 
         val deviceFullInfo = getDeviceFullInfoUseCase.execute(A_DEVICE_ID).firstOrNull()
 
-        deviceFullInfo shouldBeEqualTo Optional(DeviceFullInfo(deviceInfo = deviceInfo, cryptoDeviceInfo = cryptoDeviceInfo))
+        deviceFullInfo shouldBeEqualTo Optional(
+                DeviceFullInfo(
+                        deviceInfo = deviceInfo,
+                        cryptoDeviceInfo = cryptoDeviceInfo,
+                        trustLevelForShield = trustLevel
+                )
+        )
         verify { fakeActiveSessionHolder.instance.getSafeActiveSession() }
+        verify { getCurrentSessionCrossSigningInfoUseCase.execute() }
+        verify { getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoDeviceInfo) }
         verify { fakeActiveSessionHolder.fakeSession.fakeCryptoService.getMyDevicesInfoLive(A_DEVICE_ID).asFlow() }
         verify { fakeActiveSessionHolder.fakeSession.fakeCryptoService.getLiveCryptoDeviceInfoWithId(A_DEVICE_ID).asFlow() }
     }
 
     @Test
     fun `given an active session and no info for device when getting device info then the result is null`() = runTest {
+        givenCurrentSessionCrossSigningInfo()
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData = MutableLiveData(Optional(null))
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData.givenAsFlow()
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData = MutableLiveData(Optional(null))
@@ -96,4 +117,20 @@ class GetDeviceFullInfoUseCaseTest {
         deviceFullInfo shouldBeEqualTo null
         verify { fakeActiveSessionHolder.instance.getSafeActiveSession() }
     }
+
+    private fun givenCurrentSessionCrossSigningInfo(): CurrentSessionCrossSigningInfo {
+        val currentSessionCrossSigningInfo = CurrentSessionCrossSigningInfo(
+                deviceId = A_DEVICE_ID,
+                isCrossSigningInitialized = true,
+                isCrossSigningVerified = false
+        )
+        every { getCurrentSessionCrossSigningInfoUseCase.execute() } returns currentSessionCrossSigningInfo
+        return currentSessionCrossSigningInfo
+    }
+
+    private fun givenTrustLevel(currentSessionCrossSigningInfo: CurrentSessionCrossSigningInfo, cryptoDeviceInfo: CryptoDeviceInfo?): RoomEncryptionTrustLevel {
+        val trustLevel = RoomEncryptionTrustLevel.Trusted
+        every { getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoDeviceInfo) } returns trustLevel
+        return trustLevel
+    }
 }

From 38a04c3655d44876d3d2d8fc220e887b4468727d Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Thu, 1 Sep 2022 14:40:40 +0200
Subject: [PATCH 47/57] Unit tests for GetCurrentSessionCrossSigningInfoUseCase

---
 ...etCurrentSessionCrossSigningInfoUseCase.kt |  1 -
 ...rrentSessionCrossSigningInfoUseCaseTest.kt | 62 +++++++++++++++++++
 .../app/test/fakes/FakeCrossSigningService.kt | 32 ++++++++++
 .../app/test/fakes/FakeCryptoService.kt       |  6 +-
 4 files changed, 99 insertions(+), 2 deletions(-)
 create mode 100644 vector/src/test/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCaseTest.kt
 create mode 100644 vector/src/test/java/im/vector/app/test/fakes/FakeCrossSigningService.kt

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCase.kt
index aa0de9ddf1..d07bd5daae 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCase.kt
@@ -19,7 +19,6 @@ package im.vector.app.features.settings.devices
 import im.vector.app.core.di.ActiveSessionHolder
 import javax.inject.Inject
 
-// TODO add unit tests
 class GetCurrentSessionCrossSigningInfoUseCase @Inject constructor(
         private val activeSessionHolder: ActiveSessionHolder,
 ) {
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCaseTest.kt
new file mode 100644
index 0000000000..f3684fd8cf
--- /dev/null
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCaseTest.kt
@@ -0,0 +1,62 @@
+/*
+ * 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.settings.devices
+
+import im.vector.app.test.fakes.FakeActiveSessionHolder
+import io.mockk.every
+import io.mockk.mockk
+import kotlinx.coroutines.test.runTest
+import org.amshove.kluent.shouldBeEqualTo
+import org.junit.Test
+import org.matrix.android.sdk.api.auth.data.SessionParams
+
+private const val A_DEVICE_ID = "device-id"
+
+class GetCurrentSessionCrossSigningInfoUseCaseTest {
+
+    private val fakeActiveSessionHolder = FakeActiveSessionHolder()
+
+    private val getCurrentSessionCrossSigningInfoUseCase = GetCurrentSessionCrossSigningInfoUseCase(
+            activeSessionHolder = fakeActiveSessionHolder.instance
+    )
+
+    @Test
+    fun `given the active session when getting cross signing info then the result is correct`() = runTest {
+        val sessionParams = mockk<SessionParams>()
+        every { sessionParams.deviceId } returns A_DEVICE_ID
+        fakeActiveSessionHolder.fakeSession.givenSessionParams(sessionParams)
+        val isCrossSigningInitialized = true
+        fakeActiveSessionHolder.fakeSession
+                .fakeCryptoService
+                .fakeCrossSigningService
+                .givenIsCrossSigningInitializedReturns(isCrossSigningInitialized)
+        val isCrossSigningVerified = true
+        fakeActiveSessionHolder.fakeSession
+                .fakeCryptoService
+                .fakeCrossSigningService
+                .givenIsCrossSigningVerifiedReturns(isCrossSigningVerified)
+        val expectedResult = CurrentSessionCrossSigningInfo(
+                deviceId = A_DEVICE_ID,
+                isCrossSigningInitialized = isCrossSigningInitialized,
+                isCrossSigningVerified = isCrossSigningVerified
+        )
+
+        val result = getCurrentSessionCrossSigningInfoUseCase.execute()
+
+        result shouldBeEqualTo expectedResult
+    }
+}
diff --git a/vector/src/test/java/im/vector/app/test/fakes/FakeCrossSigningService.kt b/vector/src/test/java/im/vector/app/test/fakes/FakeCrossSigningService.kt
new file mode 100644
index 0000000000..e9a5365b1c
--- /dev/null
+++ b/vector/src/test/java/im/vector/app/test/fakes/FakeCrossSigningService.kt
@@ -0,0 +1,32 @@
+/*
+ * 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.test.fakes
+
+import io.mockk.every
+import io.mockk.mockk
+import org.matrix.android.sdk.api.session.crypto.crosssigning.CrossSigningService
+
+class FakeCrossSigningService : CrossSigningService by mockk() {
+
+    fun givenIsCrossSigningInitializedReturns(isInitialized: Boolean) {
+        every { isCrossSigningInitialized() } returns isInitialized
+    }
+
+    fun givenIsCrossSigningVerifiedReturns(isVerified: Boolean) {
+        every { isCrossSigningVerified() } returns isVerified
+    }
+}
diff --git a/vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt b/vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt
index 2c31933464..197ccf4cd2 100644
--- a/vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt
+++ b/vector/src/test/java/im/vector/app/test/fakes/FakeCryptoService.kt
@@ -23,13 +23,17 @@ import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo
 import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
 import org.matrix.android.sdk.api.util.Optional
 
-class FakeCryptoService : CryptoService by mockk() {
+class FakeCryptoService(
+        val fakeCrossSigningService: FakeCrossSigningService = FakeCrossSigningService()
+) : CryptoService by mockk() {
 
     var roomKeysExport = ByteArray(size = 1)
     var cryptoDeviceInfos = mutableMapOf<String, CryptoDeviceInfo>()
     var cryptoDeviceInfoWithIdLiveData: MutableLiveData<Optional<CryptoDeviceInfo>> = MutableLiveData()
     var myDevicesInfoWithIdLiveData: MutableLiveData<Optional<DeviceInfo>> = MutableLiveData()
 
+    override fun crossSigningService() = fakeCrossSigningService
+
     override suspend fun exportRoomKeys(password: String) = roomKeysExport
 
     override fun getLiveCryptoDeviceInfo() = MutableLiveData(cryptoDeviceInfos.values.toList())

From fde7072bc78961abaab6689471af268df1247cd8 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Thu, 1 Sep 2022 16:11:38 +0200
Subject: [PATCH 48/57] Unit tests for computing trust level of device

---
 ...yptionTrustLevelForCurrentDeviceUseCase.kt |   1 -
 ...GetEncryptionTrustLevelForDeviceUseCase.kt |   1 -
 ...cryptionTrustLevelForOtherDeviceUseCase.kt |   1 -
 ...rrentSessionCrossSigningInfoUseCaseTest.kt |   3 +-
 ...onTrustLevelForCurrentDeviceUseCaseTest.kt |  56 +++++++++
 ...ncryptionTrustLevelForDeviceUseCaseTest.kt | 114 ++++++++++++++++++
 ...tionTrustLevelForOtherDeviceUseCaseTest.kt | 100 +++++++++++++++
 .../overview/SessionOverviewViewModelTest.kt  |   3 +-
 8 files changed, 272 insertions(+), 7 deletions(-)
 create mode 100644 vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCaseTest.kt
 create mode 100644 vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCaseTest.kt
 create mode 100644 vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCaseTest.kt

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCase.kt
index eaa72b424a..0d30aba318 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCase.kt
@@ -19,7 +19,6 @@ package im.vector.app.features.settings.devices
 import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
 import javax.inject.Inject
 
-// TODO add unit tests
 class GetEncryptionTrustLevelForCurrentDeviceUseCase @Inject constructor() {
 
     fun execute(trustMSK: Boolean, legacyMode: Boolean): RoomEncryptionTrustLevel {
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCase.kt
index d988f728ae..e5ef4b446b 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCase.kt
@@ -20,7 +20,6 @@ import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo
 import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
 import javax.inject.Inject
 
-// TODO add unit tests
 class GetEncryptionTrustLevelForDeviceUseCase @Inject constructor(
         private val getEncryptionTrustLevelForCurrentDeviceUseCase: GetEncryptionTrustLevelForCurrentDeviceUseCase,
         private val getEncryptionTrustLevelForOtherDeviceUseCase: GetEncryptionTrustLevelForOtherDeviceUseCase,
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCase.kt
index 41cdae23a4..11bc3a8ede 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCase.kt
@@ -20,7 +20,6 @@ import org.matrix.android.sdk.api.session.crypto.crosssigning.DeviceTrustLevel
 import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
 import javax.inject.Inject
 
-// TODO add unit tests
 class GetEncryptionTrustLevelForOtherDeviceUseCase @Inject constructor() {
 
     fun execute(trustMSK: Boolean, legacyMode: Boolean, deviceTrustLevel: DeviceTrustLevel?): RoomEncryptionTrustLevel {
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCaseTest.kt
index f3684fd8cf..7c8ee008eb 100644
--- a/vector/src/test/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCaseTest.kt
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/GetCurrentSessionCrossSigningInfoUseCaseTest.kt
@@ -19,7 +19,6 @@ package im.vector.app.features.settings.devices
 import im.vector.app.test.fakes.FakeActiveSessionHolder
 import io.mockk.every
 import io.mockk.mockk
-import kotlinx.coroutines.test.runTest
 import org.amshove.kluent.shouldBeEqualTo
 import org.junit.Test
 import org.matrix.android.sdk.api.auth.data.SessionParams
@@ -35,7 +34,7 @@ class GetCurrentSessionCrossSigningInfoUseCaseTest {
     )
 
     @Test
-    fun `given the active session when getting cross signing info then the result is correct`() = runTest {
+    fun `given the active session when getting cross signing info then the result is correct`() {
         val sessionParams = mockk<SessionParams>()
         every { sessionParams.deviceId } returns A_DEVICE_ID
         fakeActiveSessionHolder.fakeSession.givenSessionParams(sessionParams)
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCaseTest.kt
new file mode 100644
index 0000000000..830eab5dcb
--- /dev/null
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForCurrentDeviceUseCaseTest.kt
@@ -0,0 +1,56 @@
+/*
+ * 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.settings.devices
+
+import org.amshove.kluent.shouldBeEqualTo
+import org.junit.Test
+import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
+
+class GetEncryptionTrustLevelForCurrentDeviceUseCaseTest {
+
+    private val getEncryptionTrustLevelForCurrentDeviceUseCase = GetEncryptionTrustLevelForCurrentDeviceUseCase()
+
+    @Test
+    fun `given in legacy mode when computing trust level then device is trusted`() {
+        val trustMSK = false
+        val legacyMode = true
+
+        val result = getEncryptionTrustLevelForCurrentDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Trusted
+    }
+
+    @Test
+    fun `given trustMSK is true and not in legacy mode when computing trust level then device is trusted`() {
+        val trustMSK = true
+        val legacyMode = false
+
+        val result = getEncryptionTrustLevelForCurrentDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Trusted
+    }
+
+    @Test
+    fun `given trustMSK is false and not in legacy mode when computing trust level then device is unverified`() {
+        val trustMSK = false
+        val legacyMode = false
+
+        val result = getEncryptionTrustLevelForCurrentDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Warning
+    }
+}
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCaseTest.kt
new file mode 100644
index 0000000000..8d54b31ab4
--- /dev/null
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForDeviceUseCaseTest.kt
@@ -0,0 +1,114 @@
+/*
+ * 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.settings.devices
+
+import io.mockk.every
+import io.mockk.mockk
+import io.mockk.verify
+import org.amshove.kluent.shouldBeEqualTo
+import org.junit.Test
+import org.matrix.android.sdk.api.session.crypto.crosssigning.DeviceTrustLevel
+import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo
+import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
+
+private const val A_DEVICE_ID = "device-id"
+private const val A_DEVICE_ID_2 = "device-id-2"
+
+class GetEncryptionTrustLevelForDeviceUseCaseTest {
+
+    private val getEncryptionTrustLevelForCurrentDeviceUseCase = mockk<GetEncryptionTrustLevelForCurrentDeviceUseCase>()
+    private val getEncryptionTrustLevelForOtherDeviceUseCase = mockk<GetEncryptionTrustLevelForOtherDeviceUseCase>()
+
+    private val getEncryptionTrustLevelForDeviceUseCase = GetEncryptionTrustLevelForDeviceUseCase(
+            getEncryptionTrustLevelForCurrentDeviceUseCase = getEncryptionTrustLevelForCurrentDeviceUseCase,
+            getEncryptionTrustLevelForOtherDeviceUseCase = getEncryptionTrustLevelForOtherDeviceUseCase,
+    )
+
+    @Test
+    fun `given is current device when computing trust level then the correct sub use case result is returned`() {
+        val currentSessionCrossSigningInfo = givenCurrentSessionCrossSigningInfo(
+                deviceId = A_DEVICE_ID,
+                isCrossSigningInitialized = true,
+                isCrossSigningVerified = false
+        )
+        val cryptoDeviceInfo = givenCryptoDeviceInfo(
+                deviceId = A_DEVICE_ID,
+                trustLevel = null
+        )
+        val trustLevel = RoomEncryptionTrustLevel.Trusted
+        every { getEncryptionTrustLevelForCurrentDeviceUseCase.execute(any(), any()) } returns trustLevel
+
+        val result = getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoDeviceInfo)
+
+        result shouldBeEqualTo trustLevel
+        verify {
+            getEncryptionTrustLevelForCurrentDeviceUseCase.execute(
+                    trustMSK = currentSessionCrossSigningInfo.isCrossSigningVerified,
+                    legacyMode = !currentSessionCrossSigningInfo.isCrossSigningInitialized
+            )
+        }
+    }
+
+    @Test
+    fun `given is not current device when computing trust level then the correct sub use case result is returned`() {
+        val currentSessionCrossSigningInfo = givenCurrentSessionCrossSigningInfo(
+                deviceId = A_DEVICE_ID,
+                isCrossSigningInitialized = true,
+                isCrossSigningVerified = false
+        )
+        val cryptoDeviceInfo = givenCryptoDeviceInfo(
+                deviceId = A_DEVICE_ID_2,
+                trustLevel = null
+        )
+        val trustLevel = RoomEncryptionTrustLevel.Trusted
+        every { getEncryptionTrustLevelForOtherDeviceUseCase.execute(any(), any(), any()) } returns trustLevel
+
+        val result = getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoDeviceInfo)
+
+        result shouldBeEqualTo trustLevel
+        verify {
+            getEncryptionTrustLevelForOtherDeviceUseCase.execute(
+                    trustMSK = currentSessionCrossSigningInfo.isCrossSigningVerified,
+                    legacyMode = !currentSessionCrossSigningInfo.isCrossSigningInitialized,
+                    deviceTrustLevel = cryptoDeviceInfo.trustLevel
+            )
+        }
+    }
+
+    private fun givenCurrentSessionCrossSigningInfo(
+            deviceId: String?,
+            isCrossSigningInitialized: Boolean,
+            isCrossSigningVerified: Boolean
+    ): CurrentSessionCrossSigningInfo {
+        return CurrentSessionCrossSigningInfo(
+                deviceId = deviceId,
+                isCrossSigningInitialized = isCrossSigningInitialized,
+                isCrossSigningVerified = isCrossSigningVerified
+        )
+    }
+
+    private fun givenCryptoDeviceInfo(
+            deviceId: String,
+            trustLevel: DeviceTrustLevel?
+    ): CryptoDeviceInfo {
+        return CryptoDeviceInfo(
+                userId = "",
+                deviceId = deviceId,
+                trustLevel = trustLevel
+        )
+    }
+}
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCaseTest.kt
new file mode 100644
index 0000000000..9dc87c2a16
--- /dev/null
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/GetEncryptionTrustLevelForOtherDeviceUseCaseTest.kt
@@ -0,0 +1,100 @@
+/*
+ * 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.settings.devices
+
+import org.amshove.kluent.shouldBeEqualTo
+import org.junit.Test
+import org.matrix.android.sdk.api.session.crypto.crosssigning.DeviceTrustLevel
+import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
+
+class GetEncryptionTrustLevelForOtherDeviceUseCaseTest {
+
+    private val getEncryptionTrustLevelForOtherDeviceUseCase = GetEncryptionTrustLevelForOtherDeviceUseCase()
+
+    @Test
+    fun `given in legacy mode and device locally verified when computing trust level then device is trusted`() {
+        val trustMSK = false
+        val legacyMode = true
+        val deviceTrustLevel = givenDeviceTrustLevel(locallyVerified = true, crossSigningVerified = false)
+
+        val result = getEncryptionTrustLevelForOtherDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode, deviceTrustLevel = deviceTrustLevel)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Trusted
+    }
+
+    @Test
+    fun `given in legacy mode and device not locally verified when computing trust level then device is unverified`() {
+        val trustMSK = false
+        val legacyMode = true
+        val deviceTrustLevel = givenDeviceTrustLevel(locallyVerified = false, crossSigningVerified = false)
+
+        val result = getEncryptionTrustLevelForOtherDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode, deviceTrustLevel = deviceTrustLevel)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Warning
+    }
+
+    @Test
+    fun `given trustMSK is true and not in legacy mode and device cross signing verified when computing trust level then device is trusted`() {
+        val trustMSK = true
+        val legacyMode = false
+        val deviceTrustLevel = givenDeviceTrustLevel(locallyVerified = false, crossSigningVerified = true)
+
+        val result = getEncryptionTrustLevelForOtherDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode, deviceTrustLevel = deviceTrustLevel)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Trusted
+    }
+
+    @Test
+    fun `given trustMSK is true and not in legacy mode and device locally verified when computing trust level then device has default trust level`() {
+        val trustMSK = true
+        val legacyMode = false
+        val deviceTrustLevel = givenDeviceTrustLevel(locallyVerified = true, crossSigningVerified = false)
+
+        val result = getEncryptionTrustLevelForOtherDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode, deviceTrustLevel = deviceTrustLevel)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Default
+    }
+
+    @Test
+    fun `given trustMSK is true and not in legacy mode and device not verified when computing trust level then device is unverified`() {
+        val trustMSK = true
+        val legacyMode = false
+        val deviceTrustLevel = givenDeviceTrustLevel(locallyVerified = false, crossSigningVerified = false)
+
+        val result = getEncryptionTrustLevelForOtherDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode, deviceTrustLevel = deviceTrustLevel)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Warning
+    }
+
+    @Test
+    fun `given trustMSK is false and not in legacy mode when computing trust level then device has default trust level`() {
+        val trustMSK = false
+        val legacyMode = false
+        val deviceTrustLevel = givenDeviceTrustLevel(locallyVerified = false, crossSigningVerified = false)
+
+        val result = getEncryptionTrustLevelForOtherDeviceUseCase.execute(trustMSK = trustMSK, legacyMode = legacyMode, deviceTrustLevel = deviceTrustLevel)
+
+        result shouldBeEqualTo RoomEncryptionTrustLevel.Default
+    }
+
+    private fun givenDeviceTrustLevel(locallyVerified: Boolean?, crossSigningVerified: Boolean): DeviceTrustLevel {
+        return DeviceTrustLevel(
+                crossSigningVerified = crossSigningVerified,
+                locallyVerified = locallyVerified
+        )
+    }
+}
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
index f15bc0860c..10b1c0fdb1 100644
--- a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
@@ -26,7 +26,6 @@ import io.mockk.mockk
 import io.mockk.verify
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.UnconfinedTestDispatcher
-import kotlinx.coroutines.test.runTest
 import org.junit.Rule
 import org.junit.Test
 import org.matrix.android.sdk.api.auth.data.SessionParams
@@ -52,7 +51,7 @@ class SessionOverviewViewModelTest {
     )
 
     @Test
-    fun `given the viewModel has been initialized then viewState is updated with session info`() = runTest {
+    fun `given the viewModel has been initialized then viewState is updated with session info`() {
         val sessionParams = givenIdForSession(A_SESSION_ID)
         val deviceFullInfo = mockk<DeviceFullInfo>()
         every { getDeviceFullInfoUseCase.execute(A_SESSION_ID) } returns flowOf(Optional(deviceFullInfo))

From d12bb09273b09f174cff5fd954e3a6b458bf1e26 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Thu, 1 Sep 2022 17:46:15 +0200
Subject: [PATCH 49/57] Adding learn more link in verification status details

---
 .../devices/v2/list/SessionInfoView.kt        | 35 +++++++++++++++++--
 .../devices/v2/list/SessionInfoViewState.kt   |  1 +
 .../v2/overview/SessionOverviewFragment.kt    | 26 +++++++++++++-
 3 files changed, 59 insertions(+), 3 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
index be6cfad1c8..536184faec 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
@@ -21,6 +21,7 @@ import android.util.AttributeSet
 import androidx.constraintlayout.widget.ConstraintLayout
 import androidx.core.view.isVisible
 import im.vector.app.R
+import im.vector.app.core.extensions.setTextWithColoredPart
 import im.vector.app.databinding.ViewSessionInfoBinding
 import im.vector.app.features.themes.ThemeUtils
 import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
@@ -33,6 +34,8 @@ class SessionInfoView @JvmOverloads constructor(
 
     private val views: ViewSessionInfoBinding
 
+    var onLearnMoreClickListener: (() -> Unit)? = null
+
     init {
         inflate(context, R.layout.view_session_info, this)
         views = ViewSessionInfoBinding.bind(this)
@@ -42,17 +45,45 @@ class SessionInfoView @JvmOverloads constructor(
 
     fun render(sessionInfoViewState: SessionInfoViewState) {
         renderDeviceInfo(sessionInfoViewState.deviceFullInfo.deviceInfo.displayName.orEmpty())
-        renderVerificationStatus(sessionInfoViewState.deviceFullInfo.trustLevelForShield, sessionInfoViewState.isCurrentSession)
+        renderVerificationStatus(
+                sessionInfoViewState.deviceFullInfo.trustLevelForShield,
+                sessionInfoViewState.isCurrentSession,
+                sessionInfoViewState.hasLearnMoreLink
+        )
         renderDetailsButton(sessionInfoViewState.isDetailsButtonVisible)
     }
 
-    private fun renderVerificationStatus(encryptionTrustLevel: RoomEncryptionTrustLevel, isCurrentSession: Boolean) {
+    private fun renderVerificationStatus(
+            encryptionTrustLevel: RoomEncryptionTrustLevel,
+            isCurrentSession: Boolean,
+            hasLearnMoreLink: Boolean,
+    ) {
         views.sessionInfoVerificationStatusImageView.render(encryptionTrustLevel)
         if (encryptionTrustLevel == RoomEncryptionTrustLevel.Trusted) {
             renderCrossSigningVerified(isCurrentSession)
         } else {
             renderCrossSigningUnverified(isCurrentSession)
         }
+        if (hasLearnMoreLink) {
+            appendLearnMoreToVerificationStatus()
+        }
+    }
+
+    private fun appendLearnMoreToVerificationStatus() {
+        val status = views.sessionInfoVerificationStatusDetailTextView.text
+        val learnMore = context.getString(R.string.action_learn_more)
+        val stringBuilder = StringBuilder()
+        stringBuilder.append(status)
+        stringBuilder.append(" ")
+        stringBuilder.append(learnMore)
+
+        views.sessionInfoVerificationStatusDetailTextView.setTextWithColoredPart(
+                fullText = stringBuilder.toString(),
+                coloredPart = learnMore,
+                underline = false
+        ) {
+            onLearnMoreClickListener?.invoke()
+        }
     }
 
     private fun renderCrossSigningVerified(isCurrentSession: Boolean) {
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
index c9a351f568..cf7c6f0ae8 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
@@ -22,4 +22,5 @@ data class SessionInfoViewState(
         val isCurrentSession: Boolean,
         val deviceFullInfo: DeviceFullInfo,
         val isDetailsButtonVisible: Boolean = true,
+        val hasLearnMoreLink: Boolean = false
 )
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
index 60d58c8a8d..eb2a3aa93f 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
@@ -16,8 +16,11 @@
 
 package im.vector.app.features.settings.devices.v2.overview
 
+import android.os.Bundle
 import android.view.LayoutInflater
+import android.view.View
 import android.view.ViewGroup
+import android.widget.Toast
 import androidx.appcompat.app.AppCompatActivity
 import androidx.core.view.isGone
 import androidx.core.view.isVisible
@@ -44,6 +47,26 @@ class SessionOverviewFragment :
         return FragmentSessionOverviewBinding.inflate(inflater, container, false)
     }
 
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        initSessionInfoView()
+    }
+
+    private fun initSessionInfoView() {
+        views.sessionOverviewInfo.onLearnMoreClickListener = {
+            Toast.makeText(context, "Learn more verification status", Toast.LENGTH_LONG).show()
+        }
+    }
+
+    override fun onDestroyView() {
+        cleanUpSessionInfoView()
+        super.onDestroyView()
+    }
+
+    private fun cleanUpSessionInfoView() {
+        views.sessionOverviewInfo.onLearnMoreClickListener = null
+    }
+
     override fun invalidate() = withState(viewModel) { state ->
         updateToolbar(state.isCurrentSession)
         if (state.deviceInfo is Success) {
@@ -65,7 +88,8 @@ class SessionOverviewFragment :
         val viewState = SessionInfoViewState(
                 isCurrentSession = isCurrentSession,
                 deviceFullInfo = deviceFullInfo,
-                isDetailsButtonVisible = false
+                isDetailsButtonVisible = false,
+                hasLearnMoreLink = true
         )
         views.sessionOverviewInfo.render(viewState)
     }

From 1ad585e1546def6504ce10a9141da18996fddf49 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Fri, 2 Sep 2022 10:02:54 +0200
Subject: [PATCH 50/57] Adding last seen details + fix observation of wrong
 deviceId in ViewModel

---
 .../src/main/res/values/strings.xml           |  1 +
 .../v2/VectorSettingsDevicesFragment.kt       |  9 +++--
 .../v2/VectorSettingsDevicesViewNavigator.kt  |  4 +--
 .../devices/v2/list/SessionInfoView.kt        | 36 +++++++++++++++++--
 .../devices/v2/list/SessionInfoViewState.kt   |  3 +-
 .../v2/overview/SessionOverviewActivity.kt    |  4 +--
 .../v2/overview/SessionOverviewArgs.kt        |  2 +-
 .../v2/overview/SessionOverviewFragment.kt    |  9 +++--
 .../v2/overview/SessionOverviewViewModel.kt   |  4 +--
 .../v2/overview/SessionOverviewViewState.kt   |  4 +--
 .../src/main/res/layout/view_session_info.xml | 31 +++++++++++++++-
 .../overview/SessionOverviewViewModelTest.kt  |  4 +--
 12 files changed, 91 insertions(+), 20 deletions(-)

diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index e1c03da532..4035323332 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -3256,6 +3256,7 @@
     </plurals>
     <string name="device_manager_current_session_title">Current Session</string>
     <string name="device_manager_session_title">Session</string>
+    <string name="device_manager_session_last_activity">Last activity %1$s</string>
 
     <!-- Note to translators: %s will be replaces with selected space name -->
     <string name="home_empty_space_no_rooms_title">%s\nis looking a little empty.</string>
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
index f7f6ca6db4..2262f083da 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
@@ -31,6 +31,7 @@ import com.airbnb.mvrx.fragmentViewModel
 import com.airbnb.mvrx.withState
 import dagger.hilt.android.AndroidEntryPoint
 import im.vector.app.R
+import im.vector.app.core.date.VectorDateFormatter
 import im.vector.app.core.dialogs.ManuallyVerifyDialog
 import im.vector.app.core.platform.VectorBaseFragment
 import im.vector.app.databinding.FragmentSettingsDevicesBinding
@@ -55,6 +56,8 @@ class VectorSettingsDevicesFragment :
 
     @Inject lateinit var viewNavigator: VectorSettingsDevicesViewNavigator
 
+    @Inject lateinit var dateFormatter: VectorDateFormatter
+
     private val viewModel: DevicesViewModel by fragmentViewModel()
 
     override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSettingsDevicesBinding {
@@ -214,7 +217,7 @@ class VectorSettingsDevicesFragment :
                     isCurrentSession = true,
                     deviceFullInfo = it
             )
-            views.deviceListCurrentSession.render(viewState)
+            views.deviceListCurrentSession.render(viewState, dateFormatter)
             views.deviceListCurrentSession.debouncedClicks {
                 currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
             }
@@ -226,10 +229,10 @@ class VectorSettingsDevicesFragment :
         }
     }
 
-    private fun navigateToSessionOverview(sessionId: String) {
+    private fun navigateToSessionOverview(deviceId: String) {
         viewNavigator.navigateToSessionOverview(
                 context = requireActivity(),
-                sessionId = sessionId
+                deviceId = deviceId
         )
     }
 
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
index 25c971aacb..54eed3bc14 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesViewNavigator.kt
@@ -22,7 +22,7 @@ import javax.inject.Inject
 
 class VectorSettingsDevicesViewNavigator @Inject constructor() {
 
-    fun navigateToSessionOverview(context: Context, sessionId: String) {
-        context.startActivity(SessionOverviewActivity.newIntent(context, sessionId))
+    fun navigateToSessionOverview(context: Context, deviceId: String) {
+        context.startActivity(SessionOverviewActivity.newIntent(context, deviceId))
     }
 }
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
index 536184faec..df50666b3b 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
@@ -19,11 +19,15 @@ package im.vector.app.features.settings.devices.v2.list
 import android.content.Context
 import android.util.AttributeSet
 import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.core.view.isGone
 import androidx.core.view.isVisible
 import im.vector.app.R
+import im.vector.app.core.date.DateFormatKind
+import im.vector.app.core.date.VectorDateFormatter
 import im.vector.app.core.extensions.setTextWithColoredPart
 import im.vector.app.databinding.ViewSessionInfoBinding
 import im.vector.app.features.themes.ThemeUtils
+import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
 import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
 
 class SessionInfoView @JvmOverloads constructor(
@@ -43,13 +47,14 @@ class SessionInfoView @JvmOverloads constructor(
 
     val viewDetailsButton = views.sessionInfoViewDetailsButton
 
-    fun render(sessionInfoViewState: SessionInfoViewState) {
+    fun render(sessionInfoViewState: SessionInfoViewState, dateFormatter: VectorDateFormatter) {
         renderDeviceInfo(sessionInfoViewState.deviceFullInfo.deviceInfo.displayName.orEmpty())
         renderVerificationStatus(
                 sessionInfoViewState.deviceFullInfo.trustLevelForShield,
                 sessionInfoViewState.isCurrentSession,
-                sessionInfoViewState.hasLearnMoreLink
+                sessionInfoViewState.isLearnMoreLinkVisible
         )
+        renderDeviceLastSeenDetails(sessionInfoViewState.deviceFullInfo.deviceInfo, dateFormatter, sessionInfoViewState.isLastSeenDetailsVisible)
         renderDetailsButton(sessionInfoViewState.isDetailsButtonVisible)
     }
 
@@ -117,6 +122,33 @@ class SessionInfoView @JvmOverloads constructor(
         views.sessionInfoNameTextView.text = sessionName
     }
 
+    private fun renderDeviceLastSeenDetails(
+            deviceInfo: DeviceInfo,
+            dateFormatter: VectorDateFormatter,
+            isLastSeenDetailsVisible: Boolean,
+    ) {
+        deviceInfo.lastSeenTs
+                ?.takeIf { isLastSeenDetailsVisible }
+                ?.let { timestamp ->
+                    views.sessionInfoLastActivityTextView.isVisible = true
+                    val formattedTs = dateFormatter.format(timestamp, DateFormatKind.DEFAULT_DATE_AND_TIME)
+                    views.sessionInfoLastActivityTextView.text = context.getString(R.string.device_manager_session_last_activity, formattedTs)
+                }
+                ?: run {
+                    views.sessionInfoLastActivityTextView.isGone = true
+                }
+
+        deviceInfo.lastSeenIp
+                ?.takeIf { isLastSeenDetailsVisible }
+                ?.let { ipAddress ->
+                    views.sessionInfoLastIPAddressTextView.isVisible = true
+                    views.sessionInfoLastIPAddressTextView.text = ipAddress
+                }
+                ?: run {
+                    views.sessionInfoLastIPAddressTextView.isGone = true
+                }
+    }
+
     private fun renderDetailsButton(isDetailsButtonVisible: Boolean) {
         views.sessionInfoViewDetailsButton.isVisible = isDetailsButtonVisible
     }
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
index cf7c6f0ae8..22ad710676 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoViewState.kt
@@ -22,5 +22,6 @@ data class SessionInfoViewState(
         val isCurrentSession: Boolean,
         val deviceFullInfo: DeviceFullInfo,
         val isDetailsButtonVisible: Boolean = true,
-        val hasLearnMoreLink: Boolean = false
+        val isLearnMoreLinkVisible: Boolean = false,
+        val isLastSeenDetailsVisible: Boolean = false,
 )
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewActivity.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewActivity.kt
index a663c0ff2a..015fcccf51 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewActivity.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewActivity.kt
@@ -43,9 +43,9 @@ class SessionOverviewActivity : SimpleFragmentActivity() {
     }
 
     companion object {
-        fun newIntent(context: Context, sessionId: String): Intent {
+        fun newIntent(context: Context, deviceId: String): Intent {
             return Intent(context, SessionOverviewActivity::class.java).apply {
-                putExtra(Mavericks.KEY_ARG, SessionOverviewArgs(sessionId))
+                putExtra(Mavericks.KEY_ARG, SessionOverviewArgs(deviceId))
             }
         }
     }
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewArgs.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewArgs.kt
index 87ea883362..27c8d6fb2e 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewArgs.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewArgs.kt
@@ -21,5 +21,5 @@ import kotlinx.parcelize.Parcelize
 
 @Parcelize
 data class SessionOverviewArgs(
-        val sessionId: String
+        val deviceId: String
 ) : Parcelable
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
index eb2a3aa93f..dbe75c94cc 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
@@ -29,10 +29,12 @@ import com.airbnb.mvrx.fragmentViewModel
 import com.airbnb.mvrx.withState
 import dagger.hilt.android.AndroidEntryPoint
 import im.vector.app.R
+import im.vector.app.core.date.VectorDateFormatter
 import im.vector.app.core.platform.VectorBaseFragment
 import im.vector.app.databinding.FragmentSessionOverviewBinding
 import im.vector.app.features.settings.devices.DeviceFullInfo
 import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
+import javax.inject.Inject
 
 /**
  * Display the overview info about a Session.
@@ -41,6 +43,8 @@ import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
 class SessionOverviewFragment :
         VectorBaseFragment<FragmentSessionOverviewBinding>() {
 
+    @Inject lateinit var dateFormatter: VectorDateFormatter
+
     private val viewModel: SessionOverviewViewModel by fragmentViewModel()
 
     override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSessionOverviewBinding {
@@ -89,9 +93,10 @@ class SessionOverviewFragment :
                 isCurrentSession = isCurrentSession,
                 deviceFullInfo = deviceFullInfo,
                 isDetailsButtonVisible = false,
-                hasLearnMoreLink = true
+                isLearnMoreLinkVisible = true,
+                isLastSeenDetailsVisible = true,
         )
-        views.sessionOverviewInfo.render(viewState)
+        views.sessionOverviewInfo.render(viewState, dateFormatter)
     }
 
     private fun hideSessionInfo() {
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
index 9c40480270..1a1d3640a2 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModel.kt
@@ -46,10 +46,10 @@ class SessionOverviewViewModel @AssistedInject constructor(
     init {
         val currentDeviceId = session.sessionParams.deviceId.orEmpty()
         setState {
-            copy(isCurrentSession = sessionId.isNotEmpty() && sessionId == currentDeviceId)
+            copy(isCurrentSession = deviceId.isNotEmpty() && deviceId == currentDeviceId)
         }
 
-        observeSessionInfo(currentDeviceId)
+        observeSessionInfo(initialState.deviceId)
     }
 
     private fun observeSessionInfo(deviceId: String) {
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
index 8fa19a6eee..c9f5635cbd 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewState.kt
@@ -22,11 +22,11 @@ import com.airbnb.mvrx.Uninitialized
 import im.vector.app.features.settings.devices.DeviceFullInfo
 
 data class SessionOverviewViewState(
-        val sessionId: String,
+        val deviceId: String,
         val isCurrentSession: Boolean = false,
         val deviceInfo: Async<DeviceFullInfo> = Uninitialized,
 ) : MavericksState {
     constructor(args: SessionOverviewArgs) : this(
-            sessionId = args.sessionId
+            deviceId = args.deviceId
     )
 }
diff --git a/vector/src/main/res/layout/view_session_info.xml b/vector/src/main/res/layout/view_session_info.xml
index 02aad7b19d..49e1ebbb77 100644
--- a/vector/src/main/res/layout/view_session_info.xml
+++ b/vector/src/main/res/layout/view_session_info.xml
@@ -72,6 +72,35 @@
         app:layout_constraintTop_toBottomOf="@id/sessionInfoVerificationStatusContainer"
         tools:text="@string/device_manager_verification_status_detail_current_session_verified" />
 
+    <TextView
+        android:id="@+id/sessionInfoLastActivityTextView"
+        style="@style/TextAppearance.Vector.Body.DevicesManagement"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="32dp"
+        android:layout_marginTop="12dp"
+        android:gravity="center"
+        android:visibility="gone"
+        tools:visibility="visible"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/sessionInfoVerificationStatusDetailTextView"
+        tools:text="Last activity Fri 14:59" />
+
+    <TextView
+        android:id="@+id/sessionInfoLastIPAddressTextView"
+        style="@style/TextAppearance.Vector.Body.DevicesManagement"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="32dp"
+        android:gravity="center"
+        android:visibility="gone"
+        tools:visibility="visible"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@id/sessionInfoLastActivityTextView"
+        tools:text="81.235.41.100 (United Kingdom)" />
+
     <Button
         android:id="@+id/sessionInfoVerifySessionButton"
         android:layout_width="0dp"
@@ -81,7 +110,7 @@
         android:text="@string/device_manager_verify_session"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@id/sessionInfoVerificationStatusDetailTextView" />
+        app:layout_constraintTop_toBottomOf="@id/sessionInfoLastIPAddressTextView" />
 
     <Button
         android:id="@+id/sessionInfoViewDetailsButton"
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
index 10b1c0fdb1..735c553808 100644
--- a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewViewModelTest.kt
@@ -39,7 +39,7 @@ class SessionOverviewViewModelTest {
     val mvRxTestRule = MvRxTestRule(testDispatcher = UnconfinedTestDispatcher())
 
     private val args = SessionOverviewArgs(
-            sessionId = A_SESSION_ID
+            deviceId = A_SESSION_ID
     )
     private val fakeSession = FakeSession()
     private val getDeviceFullInfoUseCase = mockk<GetDeviceFullInfoUseCase>()
@@ -56,7 +56,7 @@ class SessionOverviewViewModelTest {
         val deviceFullInfo = mockk<DeviceFullInfo>()
         every { getDeviceFullInfoUseCase.execute(A_SESSION_ID) } returns flowOf(Optional(deviceFullInfo))
         val expectedState = SessionOverviewViewState(
-                sessionId = A_SESSION_ID,
+                deviceId = A_SESSION_ID,
                 isCurrentSession = true,
                 deviceInfo = Success(deviceFullInfo)
         )

From fb8d4668d810f33fd7b382c6b27fab64d7813cf0 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Fri, 2 Sep 2022 10:11:54 +0200
Subject: [PATCH 51/57] Fixing wrong copyright title

---
 .../crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt  | 2 +-
 .../store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt
index 76e3171f4d..38a7569aab 100644
--- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt
+++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapper.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 New Vector Ltd
+ * Copyright (c) 2022 The Matrix.org Foundation C.I.C.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt
index e706fd6622..a27f430edc 100644
--- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt
+++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/internal/crypto/store/db/mapper/MyDeviceLastSeenInfoEntityMapperTest.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2022 New Vector Ltd
+ * Copyright (c) 2022 The Matrix.org Foundation C.I.C.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.

From 52d05b373cb2e69fc16ae7401911f36cf298a36a Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Fri, 2 Sep 2022 16:45:00 +0200
Subject: [PATCH 52/57] Fix post rebase

---
 .../devices/v2/overview/GetDeviceFullInfoUseCase.kt        | 7 ++++++-
 vector/src/main/res/layout/fragment_settings_devices.xml   | 2 +-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
index 3cde519385..07d29fc4e8 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
@@ -21,6 +21,7 @@ import im.vector.app.core.di.ActiveSessionHolder
 import im.vector.app.features.settings.devices.DeviceFullInfo
 import im.vector.app.features.settings.devices.GetCurrentSessionCrossSigningInfoUseCase
 import im.vector.app.features.settings.devices.GetEncryptionTrustLevelForDeviceUseCase
+import im.vector.app.features.settings.devices.v2.list.CheckIfSessionIsInactiveUseCase
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.emptyFlow
@@ -32,8 +33,10 @@ class GetDeviceFullInfoUseCase @Inject constructor(
         private val activeSessionHolder: ActiveSessionHolder,
         private val getCurrentSessionCrossSigningInfoUseCase: GetCurrentSessionCrossSigningInfoUseCase,
         private val getEncryptionTrustLevelForDeviceUseCase: GetEncryptionTrustLevelForDeviceUseCase,
+        private val checkIfSessionIsInactiveUseCase: CheckIfSessionIsInactiveUseCase,
 ) {
 
+    // TODO update unit tests
     fun execute(deviceId: String): Flow<Optional<DeviceFullInfo>> {
         return activeSessionHolder.getSafeActiveSession()?.let { session ->
             val currentSessionCrossSigningInfo = getCurrentSessionCrossSigningInfoUseCase.execute()
@@ -45,10 +48,12 @@ class GetDeviceFullInfoUseCase @Inject constructor(
                 val cryptoInfo = cryptoDeviceInfo.getOrNull()
                 val fullInfo = if (info != null && cryptoInfo != null) {
                     val roomEncryptionTrustLevel = getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoInfo)
+                    val isInactive = checkIfSessionIsInactiveUseCase.execute(info.lastSeenTs ?: 0)
                     DeviceFullInfo(
                             deviceInfo = info,
                             cryptoDeviceInfo = cryptoInfo,
-                            trustLevelForShield = roomEncryptionTrustLevel
+                            trustLevelForShield = roomEncryptionTrustLevel,
+                            isInactive = isInactive
                     )
                 } else {
                     null
diff --git a/vector/src/main/res/layout/fragment_settings_devices.xml b/vector/src/main/res/layout/fragment_settings_devices.xml
index b4f47302e1..9cefd6aa24 100644
--- a/vector/src/main/res/layout/fragment_settings_devices.xml
+++ b/vector/src/main/res/layout/fragment_settings_devices.xml
@@ -8,7 +8,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
 
-        <im.vector.app.features.settings.devices.v2.list.DevicesListHeaderView
+        <im.vector.app.features.settings.devices.v2.list.SessionsListHeaderView
             android:id="@+id/deviceListHeaderSectionSecurityRecommendations"
             android:layout_width="0dp"
             android:layout_height="wrap_content"

From 0b105e2a7abe0c9ceb6dadfd024eb3353513177d Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Fri, 2 Sep 2022 16:59:49 +0200
Subject: [PATCH 53/57] Adding comment with examples of some parametrized
 strings

---
 library/ui-strings/src/main/res/values/strings.xml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index 4035323332..0e32171cd8 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -3238,7 +3238,9 @@
     <string name="device_manager_view_details">View Details</string>
     <string name="device_manager_header_section_current_session">Current Session</string>
     <string name="device_manager_other_sessions_view_all">View All (%1$d)</string>
+    <!--  Examples: Verified · Last activity Yesterday at 6PM, Verified · Last activity Aug 31 at 5:47PM -->
     <string name="device_manager_other_sessions_description_verified">Verified · Last activity %1$s</string>
+    <!--  Examples: Unverified · Last activity Yesterday at 6PM, Unverified · Last activity Aug 31 at 5:47PM -->
     <string name="device_manager_other_sessions_description_unverified">Unverified · Last activity %1$s</string>
     <!--  Example: Inactive for 90+ days (Dec 25, 2021) -->
     <plurals name="device_manager_other_sessions_description_inactive">
@@ -3256,6 +3258,7 @@
     </plurals>
     <string name="device_manager_current_session_title">Current Session</string>
     <string name="device_manager_session_title">Session</string>
+    <!--  Examples: Last activity Yesterday at 6PM, Last activity Aug 31 at 5:47PM -->
     <string name="device_manager_session_last_activity">Last activity %1$s</string>
 
     <!-- Note to translators: %s will be replaces with selected space name -->

From 6e9b2baf6f5b8f052c1bc01cf8c5a6b2d5bc3a36 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Mon, 5 Sep 2022 09:40:02 +0200
Subject: [PATCH 54/57] Rendering inactive status in SessionInfoView

---
 .../res/values/styles_devices_management.xml  |  1 +
 .../v2/VectorSettingsDevicesFragment.kt       | 10 +++-
 .../devices/v2/list/SessionInfoView.kt        | 46 ++++++++++++++++---
 .../v2/overview/SessionOverviewFragment.kt    |  8 +++-
 .../src/main/res/layout/view_session_info.xml | 10 ++--
 5 files changed, 61 insertions(+), 14 deletions(-)

diff --git a/library/ui-styles/src/main/res/values/styles_devices_management.xml b/library/ui-styles/src/main/res/values/styles_devices_management.xml
index 2a63c2ed36..6fb236d3e6 100644
--- a/library/ui-styles/src/main/res/values/styles_devices_management.xml
+++ b/library/ui-styles/src/main/res/values/styles_devices_management.xml
@@ -7,6 +7,7 @@
 
     <style name="TextAppearance.Vector.Body.DevicesManagement">
         <item name="android:textColor">?vctr_content_secondary</item>
+        <item name="android:drawablePadding">12dp</item>
     </style>
 
 </resources>
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
index 2262f083da..10ebf3a42f 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/VectorSettingsDevicesFragment.kt
@@ -34,6 +34,8 @@ import im.vector.app.R
 import im.vector.app.core.date.VectorDateFormatter
 import im.vector.app.core.dialogs.ManuallyVerifyDialog
 import im.vector.app.core.platform.VectorBaseFragment
+import im.vector.app.core.resources.ColorProvider
+import im.vector.app.core.resources.DrawableProvider
 import im.vector.app.databinding.FragmentSettingsDevicesBinding
 import im.vector.app.features.crypto.recover.SetupMode
 import im.vector.app.features.crypto.verification.VerificationBottomSheet
@@ -41,9 +43,9 @@ import im.vector.app.features.settings.devices.DeviceFullInfo
 import im.vector.app.features.settings.devices.DevicesAction
 import im.vector.app.features.settings.devices.DevicesViewEvents
 import im.vector.app.features.settings.devices.DevicesViewModel
+import im.vector.app.features.settings.devices.v2.list.OtherSessionsController
 import im.vector.app.features.settings.devices.v2.list.SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS
 import im.vector.app.features.settings.devices.v2.list.SecurityRecommendationViewState
-import im.vector.app.features.settings.devices.v2.list.OtherSessionsController
 import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
 import javax.inject.Inject
 
@@ -58,6 +60,10 @@ class VectorSettingsDevicesFragment :
 
     @Inject lateinit var dateFormatter: VectorDateFormatter
 
+    @Inject lateinit var drawableProvider: DrawableProvider
+
+    @Inject lateinit var colorProvider: ColorProvider
+
     private val viewModel: DevicesViewModel by fragmentViewModel()
 
     override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSettingsDevicesBinding {
@@ -217,7 +223,7 @@ class VectorSettingsDevicesFragment :
                     isCurrentSession = true,
                     deviceFullInfo = it
             )
-            views.deviceListCurrentSession.render(viewState, dateFormatter)
+            views.deviceListCurrentSession.render(viewState, dateFormatter, drawableProvider, colorProvider)
             views.deviceListCurrentSession.debouncedClicks {
                 currentDeviceInfo.deviceInfo.deviceId?.let { deviceId -> navigateToSessionOverview(deviceId) }
             }
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
index df50666b3b..767f09482b 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/list/SessionInfoView.kt
@@ -25,6 +25,8 @@ import im.vector.app.R
 import im.vector.app.core.date.DateFormatKind
 import im.vector.app.core.date.VectorDateFormatter
 import im.vector.app.core.extensions.setTextWithColoredPart
+import im.vector.app.core.resources.ColorProvider
+import im.vector.app.core.resources.DrawableProvider
 import im.vector.app.databinding.ViewSessionInfoBinding
 import im.vector.app.features.themes.ThemeUtils
 import org.matrix.android.sdk.api.session.crypto.model.DeviceInfo
@@ -47,14 +49,26 @@ class SessionInfoView @JvmOverloads constructor(
 
     val viewDetailsButton = views.sessionInfoViewDetailsButton
 
-    fun render(sessionInfoViewState: SessionInfoViewState, dateFormatter: VectorDateFormatter) {
+    fun render(
+            sessionInfoViewState: SessionInfoViewState,
+            dateFormatter: VectorDateFormatter,
+            drawableProvider: DrawableProvider,
+            colorProvider: ColorProvider,
+    ) {
         renderDeviceInfo(sessionInfoViewState.deviceFullInfo.deviceInfo.displayName.orEmpty())
         renderVerificationStatus(
                 sessionInfoViewState.deviceFullInfo.trustLevelForShield,
                 sessionInfoViewState.isCurrentSession,
-                sessionInfoViewState.isLearnMoreLinkVisible
+                sessionInfoViewState.isLearnMoreLinkVisible,
+        )
+        renderDeviceLastSeenDetails(
+                sessionInfoViewState.deviceFullInfo.isInactive,
+                sessionInfoViewState.deviceFullInfo.deviceInfo,
+                sessionInfoViewState.isLastSeenDetailsVisible,
+                dateFormatter,
+                drawableProvider,
+                colorProvider,
         )
-        renderDeviceLastSeenDetails(sessionInfoViewState.deviceFullInfo.deviceInfo, dateFormatter, sessionInfoViewState.isLastSeenDetailsVisible)
         renderDetailsButton(sessionInfoViewState.isDetailsButtonVisible)
     }
 
@@ -123,16 +137,36 @@ class SessionInfoView @JvmOverloads constructor(
     }
 
     private fun renderDeviceLastSeenDetails(
+            isInactive: Boolean,
             deviceInfo: DeviceInfo,
-            dateFormatter: VectorDateFormatter,
             isLastSeenDetailsVisible: Boolean,
+            dateFormatter: VectorDateFormatter,
+            drawableProvider: DrawableProvider,
+            colorProvider: ColorProvider,
     ) {
         deviceInfo.lastSeenTs
                 ?.takeIf { isLastSeenDetailsVisible }
                 ?.let { timestamp ->
                     views.sessionInfoLastActivityTextView.isVisible = true
-                    val formattedTs = dateFormatter.format(timestamp, DateFormatKind.DEFAULT_DATE_AND_TIME)
-                    views.sessionInfoLastActivityTextView.text = context.getString(R.string.device_manager_session_last_activity, formattedTs)
+                    views.sessionInfoLastActivityTextView.text = if (isInactive) {
+                        val formattedTs = dateFormatter.format(timestamp, DateFormatKind.TIMELINE_DAY_DIVIDER)
+                        context.resources.getQuantityString(
+                                R.plurals.device_manager_other_sessions_description_inactive,
+                                SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS,
+                                SESSION_IS_MARKED_AS_INACTIVE_AFTER_DAYS,
+                                formattedTs
+                        )
+                    } else {
+                        val formattedTs = dateFormatter.format(timestamp, DateFormatKind.DEFAULT_DATE_AND_TIME)
+                        context.getString(R.string.device_manager_session_last_activity, formattedTs)
+                    }
+                    val drawable = if (isInactive) {
+                        val drawableColor = colorProvider.getColorFromAttribute(R.attr.vctr_content_secondary)
+                        drawableProvider.getDrawable(R.drawable.ic_inactive_sessions, drawableColor)
+                    } else {
+                        null
+                    }
+                    views.sessionInfoLastActivityTextView.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null)
                 }
                 ?: run {
                     views.sessionInfoLastActivityTextView.isGone = true
diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
index dbe75c94cc..a6bac6087b 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/SessionOverviewFragment.kt
@@ -31,6 +31,8 @@ import dagger.hilt.android.AndroidEntryPoint
 import im.vector.app.R
 import im.vector.app.core.date.VectorDateFormatter
 import im.vector.app.core.platform.VectorBaseFragment
+import im.vector.app.core.resources.ColorProvider
+import im.vector.app.core.resources.DrawableProvider
 import im.vector.app.databinding.FragmentSessionOverviewBinding
 import im.vector.app.features.settings.devices.DeviceFullInfo
 import im.vector.app.features.settings.devices.v2.list.SessionInfoViewState
@@ -45,6 +47,10 @@ class SessionOverviewFragment :
 
     @Inject lateinit var dateFormatter: VectorDateFormatter
 
+    @Inject lateinit var drawableProvider: DrawableProvider
+
+    @Inject lateinit var colorProvider: ColorProvider
+
     private val viewModel: SessionOverviewViewModel by fragmentViewModel()
 
     override fun getBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentSessionOverviewBinding {
@@ -96,7 +102,7 @@ class SessionOverviewFragment :
                 isLearnMoreLinkVisible = true,
                 isLastSeenDetailsVisible = true,
         )
-        views.sessionOverviewInfo.render(viewState, dateFormatter)
+        views.sessionOverviewInfo.render(viewState, dateFormatter, drawableProvider, colorProvider)
     }
 
     private fun hideSessionInfo() {
diff --git a/vector/src/main/res/layout/view_session_info.xml b/vector/src/main/res/layout/view_session_info.xml
index 49e1ebbb77..18daae825a 100644
--- a/vector/src/main/res/layout/view_session_info.xml
+++ b/vector/src/main/res/layout/view_session_info.xml
@@ -79,13 +79,13 @@
         android:layout_height="wrap_content"
         android:layout_marginHorizontal="32dp"
         android:layout_marginTop="12dp"
-        android:gravity="center"
         android:visibility="gone"
-        tools:visibility="visible"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@id/sessionInfoVerificationStatusDetailTextView"
-        tools:text="Last activity Fri 14:59" />
+        app:layout_constraintWidth="wrap_content_constrained"
+        tools:text="Last activity Fri 14:59"
+        tools:visibility="visible" />
 
     <TextView
         android:id="@+id/sessionInfoLastIPAddressTextView"
@@ -95,11 +95,11 @@
         android:layout_marginHorizontal="32dp"
         android:gravity="center"
         android:visibility="gone"
-        tools:visibility="visible"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toBottomOf="@id/sessionInfoLastActivityTextView"
-        tools:text="81.235.41.100 (United Kingdom)" />
+        tools:text="81.235.41.100 (United Kingdom)"
+        tools:visibility="visible" />
 
     <Button
         android:id="@+id/sessionInfoVerifySessionButton"

From 21482707737480f5d12a98a4baf7bb42e3ecb650 Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Mon, 5 Sep 2022 09:50:16 +0200
Subject: [PATCH 55/57] Update unit tests

---
 .../v2/overview/GetDeviceFullInfoUseCase.kt   |  1 -
 .../overview/GetDeviceFullInfoUseCaseTest.kt  | 22 ++++++++++++++-----
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
index 07d29fc4e8..c3579b68c3 100644
--- a/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
+++ b/vector/src/main/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCase.kt
@@ -36,7 +36,6 @@ class GetDeviceFullInfoUseCase @Inject constructor(
         private val checkIfSessionIsInactiveUseCase: CheckIfSessionIsInactiveUseCase,
 ) {
 
-    // TODO update unit tests
     fun execute(deviceId: String): Flow<Optional<DeviceFullInfo>> {
         return activeSessionHolder.getSafeActiveSession()?.let { session ->
             val currentSessionCrossSigningInfo = getCurrentSessionCrossSigningInfoUseCase.execute()
diff --git a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt
index 3d56f4ff11..e3d62961a7 100644
--- a/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt
+++ b/vector/src/test/java/im/vector/app/features/settings/devices/v2/overview/GetDeviceFullInfoUseCaseTest.kt
@@ -22,6 +22,7 @@ import im.vector.app.features.settings.devices.CurrentSessionCrossSigningInfo
 import im.vector.app.features.settings.devices.DeviceFullInfo
 import im.vector.app.features.settings.devices.GetCurrentSessionCrossSigningInfoUseCase
 import im.vector.app.features.settings.devices.GetEncryptionTrustLevelForDeviceUseCase
+import im.vector.app.features.settings.devices.v2.list.CheckIfSessionIsInactiveUseCase
 import im.vector.app.test.fakes.FakeActiveSessionHolder
 import im.vector.app.test.fakes.FakeFlowLiveDataConversions
 import im.vector.app.test.fakes.givenAsFlow
@@ -41,18 +42,21 @@ import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel
 import org.matrix.android.sdk.api.util.Optional
 
 private const val A_DEVICE_ID = "device-id"
+private const val A_TIMESTAMP = 123L
 
 class GetDeviceFullInfoUseCaseTest {
 
     private val fakeActiveSessionHolder = FakeActiveSessionHolder()
     private val getCurrentSessionCrossSigningInfoUseCase = mockk<GetCurrentSessionCrossSigningInfoUseCase>()
     private val getEncryptionTrustLevelForDeviceUseCase = mockk<GetEncryptionTrustLevelForDeviceUseCase>()
+    private val checkIfSessionIsInactiveUseCase = mockk<CheckIfSessionIsInactiveUseCase>()
     private val fakeFlowLiveDataConversions = FakeFlowLiveDataConversions()
 
     private val getDeviceFullInfoUseCase = GetDeviceFullInfoUseCase(
             activeSessionHolder = fakeActiveSessionHolder.instance,
             getCurrentSessionCrossSigningInfoUseCase = getCurrentSessionCrossSigningInfoUseCase,
-            getEncryptionTrustLevelForDeviceUseCase = getEncryptionTrustLevelForDeviceUseCase
+            getEncryptionTrustLevelForDeviceUseCase = getEncryptionTrustLevelForDeviceUseCase,
+            checkIfSessionIsInactiveUseCase = checkIfSessionIsInactiveUseCase,
     )
 
     @Before
@@ -66,15 +70,19 @@ class GetDeviceFullInfoUseCaseTest {
     }
 
     @Test
-    fun `given an active session and info for device when getting device info then the result is correct`() = runTest {
+    fun `given current session and info for device when getting device info then the result is correct`() = runTest {
         val currentSessionCrossSigningInfo = givenCurrentSessionCrossSigningInfo()
-        val deviceInfo = DeviceInfo()
+        val deviceInfo = DeviceInfo(
+                lastSeenTs = A_TIMESTAMP
+        )
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData = MutableLiveData(Optional(deviceInfo))
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData.givenAsFlow()
         val cryptoDeviceInfo = CryptoDeviceInfo(deviceId = A_DEVICE_ID, userId = "")
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData = MutableLiveData(Optional(cryptoDeviceInfo))
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.cryptoDeviceInfoWithIdLiveData.givenAsFlow()
         val trustLevel = givenTrustLevel(currentSessionCrossSigningInfo, cryptoDeviceInfo)
+        val isInactive = false
+        every { checkIfSessionIsInactiveUseCase.execute(any()) } returns isInactive
 
         val deviceFullInfo = getDeviceFullInfoUseCase.execute(A_DEVICE_ID).firstOrNull()
 
@@ -82,7 +90,8 @@ class GetDeviceFullInfoUseCaseTest {
                 DeviceFullInfo(
                         deviceInfo = deviceInfo,
                         cryptoDeviceInfo = cryptoDeviceInfo,
-                        trustLevelForShield = trustLevel
+                        trustLevelForShield = trustLevel,
+                        isInactive = isInactive,
                 )
         )
         verify { fakeActiveSessionHolder.instance.getSafeActiveSession() }
@@ -90,10 +99,11 @@ class GetDeviceFullInfoUseCaseTest {
         verify { getEncryptionTrustLevelForDeviceUseCase.execute(currentSessionCrossSigningInfo, cryptoDeviceInfo) }
         verify { fakeActiveSessionHolder.fakeSession.fakeCryptoService.getMyDevicesInfoLive(A_DEVICE_ID).asFlow() }
         verify { fakeActiveSessionHolder.fakeSession.fakeCryptoService.getLiveCryptoDeviceInfoWithId(A_DEVICE_ID).asFlow() }
+        verify { checkIfSessionIsInactiveUseCase.execute(A_TIMESTAMP) }
     }
 
     @Test
-    fun `given an active session and no info for device when getting device info then the result is null`() = runTest {
+    fun `given current session and no info for device when getting device info then the result is null`() = runTest {
         givenCurrentSessionCrossSigningInfo()
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData = MutableLiveData(Optional(null))
         fakeActiveSessionHolder.fakeSession.fakeCryptoService.myDevicesInfoWithIdLiveData.givenAsFlow()
@@ -109,7 +119,7 @@ class GetDeviceFullInfoUseCaseTest {
     }
 
     @Test
-    fun `given no active session when getting device info then the result is empty`() = runTest {
+    fun `given no current session when getting device info then the result is empty`() = runTest {
         fakeActiveSessionHolder.givenGetSafeActiveSessionReturns(null)
 
         val deviceFullInfo = getDeviceFullInfoUseCase.execute(A_DEVICE_ID).firstOrNull()

From 682905df258146d88267297ed144ac683770954f Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Mon, 5 Sep 2022 10:54:38 +0200
Subject: [PATCH 56/57] Fix unused string warning

---
 library/ui-strings/src/main/res/values/strings.xml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/library/ui-strings/src/main/res/values/strings.xml b/library/ui-strings/src/main/res/values/strings.xml
index 0e32171cd8..0d05780407 100644
--- a/library/ui-strings/src/main/res/values/strings.xml
+++ b/library/ui-strings/src/main/res/values/strings.xml
@@ -3236,7 +3236,8 @@
     <string name="device_manager_verification_status_detail_other_session_unverified">Verify or sign out from this session for best security and reliability.</string>
     <string name="device_manager_verify_session">Verify Session</string>
     <string name="device_manager_view_details">View Details</string>
-    <string name="device_manager_header_section_current_session">Current Session</string>
+    <!-- TODO TO BE REMOVED: replaced by device_manager_current_session_title -->
+    <string name="device_manager_header_section_current_session" tools:ignore="UnusedResources">Current Session</string>
     <string name="device_manager_other_sessions_view_all">View All (%1$d)</string>
     <!--  Examples: Verified · Last activity Yesterday at 6PM, Verified · Last activity Aug 31 at 5:47PM -->
     <string name="device_manager_other_sessions_description_verified">Verified · Last activity %1$s</string>

From 669beb11569b5c0dbcb1c4aa402de127efed439e Mon Sep 17 00:00:00 2001
From: Maxime NATUREL <maxime.naturel@niji.fr>
Date: Wed, 7 Sep 2022 10:27:19 +0200
Subject: [PATCH 57/57] Fix missing mapper in CryptoStoreHelper for tests

---
 .../org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt
index ba1afd4758..48cfbebe5b 100644
--- a/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt
+++ b/matrix-sdk-android/src/androidTest/java/org/matrix/android/sdk/internal/crypto/CryptoStoreHelper.kt
@@ -21,6 +21,7 @@ import org.matrix.android.sdk.internal.crypto.store.IMXCryptoStore
 import org.matrix.android.sdk.internal.crypto.store.db.RealmCryptoStore
 import org.matrix.android.sdk.internal.crypto.store.db.RealmCryptoStoreModule
 import org.matrix.android.sdk.internal.crypto.store.db.mapper.CrossSigningKeysMapper
+import org.matrix.android.sdk.internal.crypto.store.db.mapper.MyDeviceLastSeenInfoEntityMapper
 import org.matrix.android.sdk.internal.di.MoshiProvider
 import org.matrix.android.sdk.internal.util.time.DefaultClock
 import kotlin.random.Random
@@ -37,6 +38,7 @@ internal class CryptoStoreHelper {
                 userId = "userId_" + Random.nextInt(),
                 deviceId = "deviceId_sample",
                 clock = DefaultClock(),
+                myDeviceLastSeenInfoEntityMapper = MyDeviceLastSeenInfoEntityMapper()
         )
     }
 }