From 22480e0ed4fb9604b552bd19952e1a183d7fc294 Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Wed, 11 Jan 2023 19:08:20 +0200 Subject: [PATCH] Expose the current device identifier in settings (#442) --- ElementX/Sources/Screens/Settings/SettingsModels.swift | 1 + .../Sources/Screens/Settings/SettingsViewModel.swift | 2 +- .../Sources/Screens/Settings/View/SettingsScreen.swift | 10 ++++++++-- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/ElementX/Sources/Screens/Settings/SettingsModels.swift b/ElementX/Sources/Screens/Settings/SettingsModels.swift index 50962db31..51c326a0d 100644 --- a/ElementX/Sources/Screens/Settings/SettingsModels.swift +++ b/ElementX/Sources/Screens/Settings/SettingsModels.swift @@ -26,6 +26,7 @@ enum SettingsViewModelAction { struct SettingsViewState: BindableState { var bindings: SettingsViewStateBindings + var deviceID: String? var userID: String var userAvatar: UIImage? var userDisplayName: String? diff --git a/ElementX/Sources/Screens/Settings/SettingsViewModel.swift b/ElementX/Sources/Screens/Settings/SettingsViewModel.swift index bf534b34e..221cd2af6 100644 --- a/ElementX/Sources/Screens/Settings/SettingsViewModel.swift +++ b/ElementX/Sources/Screens/Settings/SettingsViewModel.swift @@ -26,7 +26,7 @@ class SettingsViewModel: SettingsViewModelType, SettingsViewModelProtocol { init(withUserSession userSession: UserSessionProtocol) { self.userSession = userSession let bindings = SettingsViewStateBindings() - super.init(initialViewState: .init(bindings: bindings, userID: userSession.userID)) + super.init(initialViewState: .init(bindings: bindings, deviceID: userSession.deviceId, userID: userSession.userID)) Task { if case let .success(userAvatarURLString) = await userSession.clientProxy.loadUserAvatarURLString() { diff --git a/ElementX/Sources/Screens/Settings/View/SettingsScreen.swift b/ElementX/Sources/Screens/Settings/View/SettingsScreen.swift index 9704e5d7a..341b4aceb 100644 --- a/ElementX/Sources/Screens/Settings/View/SettingsScreen.swift +++ b/ElementX/Sources/Screens/Settings/View/SettingsScreen.swift @@ -155,8 +155,14 @@ struct SettingsScreen: View { Text(ElementL10n.actionSignOutConfirmationSimple) } } footer: { - versionText - .frame(maxWidth: .infinity) + VStack { + versionText + .frame(maxWidth: .infinity) + + if let deviceId = context.viewState.deviceID { + Text(deviceId) + } + } } }