Skip to content
This repository was archived by the owner on Feb 24, 2025. It is now read-only.

Commit 8a89014

Browse files
authored
sync update device model / poll for devices (#1191)
1 parent 0ba4168 commit 8a89014

File tree

5 files changed

+10
-4
lines changed

5 files changed

+10
-4
lines changed

DuckDuckGo.xcodeproj/project.pbxproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8659,7 +8659,7 @@
86598659
repositoryURL = "https://github.com/duckduckgo/BrowserServicesKit";
86608660
requirement = {
86618661
kind = exactVersion;
8662-
version = 57.4.4;
8662+
version = 57.4.5;
86638663
};
86648664
};
86658665
AA06B6B52672AF8100F541C5 /* XCRemoteSwiftPackageReference "Sparkle" */ = {

DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

DuckDuckGo/Preferences/Model/SyncPreferences.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ final class SyncPreferences: ObservableObject, SyncUI.ManagementViewModel {
146146
})
147147
}
148148

149-
private func refreshDevices() {
149+
func refreshDevices() {
150150
if syncService.account != nil {
151151
Task { @MainActor in
152152
do {

LocalPackages/SyncUI/Sources/SyncUI/ViewModels/ManagementViewModel.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,5 @@ public protocol ManagementViewModel: ObservableObject {
3737
func presentRemoveDevice(_ device: SyncDevice)
3838

3939
func saveRecoveryPDF()
40+
func refreshDevices()
4041
}

LocalPackages/SyncUI/Sources/SyncUI/Views/ManagementView/SyncedDevicesView.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,15 @@ struct SyncedDevicesView<ViewModel>: View where ViewModel: ManagementViewModel {
2222

2323
@EnvironmentObject var model: ViewModel
2424

25+
let timer = Timer.publish(every: 10, on: .main, in: .common).autoconnect()
26+
2527
var body: some View {
2628
SyncedDevicesList(devices: model.devices,
2729
presentDeviceDetails: model.presentDeviceDetails,
2830
presentRemoveDevice: model.presentRemoveDevice)
31+
.onReceive(timer) { _ in
32+
model.refreshDevices()
33+
}
2934
}
3035
}
3136

0 commit comments

Comments
 (0)