summaryrefslogtreecommitdiffhomepage
path: root/ios/MullvadREST
diff options
context:
space:
mode:
Diffstat (limited to 'ios/MullvadREST')
-rw-r--r--ios/MullvadREST/Transport/Shadowsocks/ShadowsocksCacheCleaner.swift26
1 files changed, 26 insertions, 0 deletions
diff --git a/ios/MullvadREST/Transport/Shadowsocks/ShadowsocksCacheCleaner.swift b/ios/MullvadREST/Transport/Shadowsocks/ShadowsocksCacheCleaner.swift
new file mode 100644
index 0000000000..05af069fad
--- /dev/null
+++ b/ios/MullvadREST/Transport/Shadowsocks/ShadowsocksCacheCleaner.swift
@@ -0,0 +1,26 @@
+//
+// ShadowsocksCacheCleaner.swift
+// MullvadREST
+//
+// Created by Marco Nikic on 2025-09-18.
+// Copyright © 2025 Mullvad VPN AB. All rights reserved.
+//
+
+import Foundation
+import MullvadSettings
+
+public class ShadowsocksCacheCleaner: MullvadAccessMethodChangeListening {
+ let cache: ShadowsocksConfigurationCacheProtocol
+ var lastChangedUUID = UUID(uuidString: "00000000-0000-0000-0000-000000000000")!
+
+ public init(cache: ShadowsocksConfigurationCacheProtocol) {
+ self.cache = cache
+ }
+
+ public func accessMethodChangedTo(_ uuid: UUID) {
+ if lastChangedUUID == AccessMethodRepository.bridgeId {
+ try? cache.clear()
+ }
+ lastChangedUUID = uuid
+ }
+}