From 1eb3fd4de00ca26a1607f90aafc8fd03a5fc7c94 Mon Sep 17 00:00:00 2001 From: Roopesh Chander Date: Fri, 14 Dec 2018 16:33:31 +0530 Subject: [PATCH] Fix status switch weird state after an error occurs Signed-off-by: Roopesh Chander --- .../WireGuard/UI/iOS/TunnelDetail/TunnelDetailStatusCell.swift | 2 +- WireGuard/WireGuard/UI/iOS/TunnelList/TunnelListCell.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/WireGuard/WireGuard/UI/iOS/TunnelDetail/TunnelDetailStatusCell.swift b/WireGuard/WireGuard/UI/iOS/TunnelDetail/TunnelDetailStatusCell.swift index 855e3ed..0dd1ee9 100644 --- a/WireGuard/WireGuard/UI/iOS/TunnelDetail/TunnelDetailStatusCell.swift +++ b/WireGuard/WireGuard/UI/iOS/TunnelDetail/TunnelDetailStatusCell.swift @@ -59,7 +59,7 @@ class TunnelDetailStatusCell: UITableViewCell { text = "Waiting" } textLabel?.text = text - DispatchQueue.main.async { [weak statusSwitch] in + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(200)) { [weak statusSwitch] in guard let statusSwitch = statusSwitch else { return } statusSwitch.isOn = !(status == .deactivating || status == .inactive) statusSwitch.isUserInteractionEnabled = (status == .inactive || status == .active) diff --git a/WireGuard/WireGuard/UI/iOS/TunnelList/TunnelListCell.swift b/WireGuard/WireGuard/UI/iOS/TunnelList/TunnelListCell.swift index 95055c5..f0a16bf 100644 --- a/WireGuard/WireGuard/UI/iOS/TunnelList/TunnelListCell.swift +++ b/WireGuard/WireGuard/UI/iOS/TunnelList/TunnelListCell.swift @@ -82,7 +82,7 @@ class TunnelListCell: UITableViewCell { reset() return } - DispatchQueue.main.async { [weak statusSwitch, weak busyIndicator] in + DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(200)) { [weak statusSwitch, weak busyIndicator] in guard let statusSwitch = statusSwitch, let busyIndicator = busyIndicator else { return } statusSwitch.isOn = !(status == .deactivating || status == .inactive) statusSwitch.isUserInteractionEnabled = (status == .inactive || status == .active)