Add option to ignore device sleep
This commit is contained in:
@@ -17,6 +17,7 @@ public enum SharedPreferences {
|
||||
|
||||
public static let maxLogLines = Preference<Int>("max_log_lines", defaultValue: 300)
|
||||
public static let alwaysOn = Preference<Bool>("always_on", defaultValue: false)
|
||||
public static let ignoreDeviceSleep = Preference<Bool>("ignore_device_sleep", defaultValue: false)
|
||||
|
||||
#if os(macOS)
|
||||
public static let showMenuBarExtra = Preference<Bool>("show_menu_bar_extra", defaultValue: true)
|
||||
|
||||
@@ -6,6 +6,7 @@ open class ExtensionProvider: NEPacketTunnelProvider {
|
||||
public var username: String? = nil
|
||||
private var commandServer: LibboxCommandServer!
|
||||
private var boxService: LibboxBoxService!
|
||||
private var ignoreDeviceSleep = false
|
||||
private var systemProxyAvailable = false
|
||||
private var systemProxyEnabled = false
|
||||
private var platformInterface: ExtensionPlatformInterface!
|
||||
@@ -35,6 +36,7 @@ open class ExtensionProvider: NEPacketTunnelProvider {
|
||||
}
|
||||
|
||||
await LibboxSetMemoryLimit(!SharedPreferences.disableMemoryLimit.get())
|
||||
ignoreDeviceSleep = await SharedPreferences.ignoreDeviceSleep.get()
|
||||
|
||||
if platformInterface == nil {
|
||||
platformInterface = ExtensionPlatformInterface(self)
|
||||
@@ -159,12 +161,18 @@ open class ExtensionProvider: NEPacketTunnelProvider {
|
||||
}
|
||||
|
||||
override open func sleep() async {
|
||||
if ignoreDeviceSleep {
|
||||
return
|
||||
}
|
||||
if let boxService {
|
||||
boxService.sleep()
|
||||
}
|
||||
}
|
||||
|
||||
override open func wake() {
|
||||
if ignoreDeviceSleep {
|
||||
return
|
||||
}
|
||||
if let boxService {
|
||||
boxService.wake()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user