Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the app version and the device ID copyable in the Settings screen. #1389

Merged
merged 3 commits into from
Jul 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,12 @@ struct SettingsScreen: View {
versionText
.frame(maxWidth: .infinity)

context.viewState.deviceID.map(Text.init)
if let deviceID = context.viewState.deviceID {
Text(deviceID)
}
}
.compoundFormSectionFooter()
.textSelection(.enabled)
.padding(.top, 24)
}
.compoundFormSection()
Expand Down Expand Up @@ -201,7 +204,8 @@ private extension TimelineStyle {

struct SettingsScreen_Previews: PreviewProvider {
static let viewModel = {
let userSession = MockUserSession(clientProxy: MockClientProxy(userID: "@userid:example.com"),
let userSession = MockUserSession(clientProxy: MockClientProxy(userID: "@userid:example.com",
deviceID: "AAAAAAAAAAA"),
mediaProvider: MockMediaProvider())
ServiceLocator.shared.settings.notificationSettingsEnabled = true
return SettingsScreenViewModel(userSession: userSession,
Expand Down
2 changes: 1 addition & 1 deletion ElementX/Sources/Services/Client/ClientProxy.swift
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ class ClientProxy: ClientProxyProtocol {
}
}

var deviceId: String? {
var deviceID: String? {
do {
return try client.deviceId()
} catch {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ protocol ClientProxyProtocol: AnyObject, MediaLoaderProtocol {

var userID: String { get }

var deviceId: String? { get }
var deviceID: String? { get }

var homeserver: String { get }

Expand Down
5 changes: 3 additions & 2 deletions ElementX/Sources/Services/Client/MockClientProxy.swift
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ class MockClientProxy: ClientProxyProtocol {
let callbacks = PassthroughSubject<ClientProxyCallback, Never>()

let userID: String
let deviceId: String? = nil
let deviceID: String?
let homeserver = ""
let restorationToken: RestorationToken? = nil

Expand All @@ -34,8 +34,9 @@ class MockClientProxy: ClientProxyProtocol {

var isSyncing: Bool { false }

internal init(userID: String, roomSummaryProvider: RoomSummaryProviderProtocol? = MockRoomSummaryProvider()) {
internal init(userID: String, deviceID: String? = nil, roomSummaryProvider: RoomSummaryProviderProtocol? = MockRoomSummaryProvider()) {
self.userID = userID
self.deviceID = deviceID
self.roomSummaryProvider = roomSummaryProvider
}

Expand Down
2 changes: 1 addition & 1 deletion ElementX/Sources/Services/Session/MockUserSession.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ struct MockUserSession: UserSessionProtocol {
let callbacks = PassthroughSubject<UserSessionCallback, Never>()
let sessionVerificationController: SessionVerificationControllerProxyProtocol? = nil
var userID: String { clientProxy.userID }
var deviceID: String? { clientProxy.deviceId }
var deviceID: String? { clientProxy.deviceID }
var homeserver: String { clientProxy.homeserver }
let clientProxy: ClientProxyProtocol
let mediaProvider: MediaProviderProtocol
Expand Down
2 changes: 1 addition & 1 deletion ElementX/Sources/Services/Session/UserSession.swift
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class UserSession: UserSessionProtocol {
private var authErrorCancellable: AnyCancellable?

var userID: String { clientProxy.userID }
var deviceID: String? { clientProxy.deviceId }
var deviceID: String? { clientProxy.deviceID }
var homeserver: String { clientProxy.homeserver }

let clientProxy: ClientProxyProtocol
Expand Down
1 change: 1 addition & 0 deletions changelog.d/623.change
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Make the app version and the device ID copyable in the Settings screen.