mirror of
https://github.com/xweiba/location-spoofer.git
synced 2026-09-26 16:41:54 +08:00
feat: drop script version detection; split motion vs perturbation by mode
Third-party mode no longer probes /wloc-settings/version or capability metadata since the upstream scripts are unmaintained. Settings now show: - APP mode: motion-state simulation toggle only - third-party mode: random-perturbation (randomRadius) toggle only save() sends randomRadius so upstream wloc.js applies the offset.
This commit is contained in:
@@ -66,6 +66,36 @@ final class MotionSimulationStore: ObservableObject {
|
||||
}
|
||||
}
|
||||
|
||||
@MainActor
|
||||
final class RandomRadiusStore: ObservableObject {
|
||||
static let shared = RandomRadiusStore()
|
||||
|
||||
private enum Key {
|
||||
static let isEnabled = "randomRadius.isEnabled"
|
||||
static let radius = "randomRadius.radius"
|
||||
}
|
||||
|
||||
@Published private(set) var isEnabled: Bool
|
||||
@Published private(set) var radius: Double
|
||||
private let defaults: UserDefaults
|
||||
|
||||
init(defaults: UserDefaults = AppGroup.defaults) {
|
||||
self.defaults = defaults
|
||||
isEnabled = defaults.bool(forKey: Key.isEnabled)
|
||||
radius = defaults.object(forKey: Key.radius) as? Double ?? 50
|
||||
}
|
||||
|
||||
func setEnabled(_ enabled: Bool) {
|
||||
isEnabled = enabled
|
||||
defaults.set(enabled, forKey: Key.isEnabled)
|
||||
}
|
||||
|
||||
func setRadius(_ radius: Double) {
|
||||
self.radius = radius
|
||||
defaults.set(radius, forKey: Key.radius)
|
||||
}
|
||||
}
|
||||
|
||||
@MainActor
|
||||
final class ThirdPartyModuleSourceStore: ObservableObject {
|
||||
static let shared = ThirdPartyModuleSourceStore()
|
||||
|
||||
Reference in New Issue
Block a user