Merge branch 'refactor-a-few-things'

This commit is contained in:
Davide De Rosa 2019-10-30 15:21:31 +01:00
commit 0ed3e4a116
7 changed files with 41 additions and 184 deletions

View File

@ -1,108 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="a3d-vD-Pr7"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14868" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="a3d-vD-Pr7">
<device id="retina6_1" orientation="portrait"> <device id="retina6_1" orientation="portrait" appearance="light"/>
<adaptation id="fullscreen"/>
</device>
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14824"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<scenes> <scenes>
<!--Version View Controller-->
<scene sceneID="dbE-eJ-wli">
<objects>
<viewController id="PMT-gj-ARE" customClass="VersionViewController" customModule="Passepartout" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="UOK-GX-kRH">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="olL-k1-XZi">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kan-Ro-DbI">
<rect key="frame" x="0.0" y="0.0" width="414" height="395"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="RP1-au-v0h">
<rect key="frame" x="28" y="40" width="358" height="315"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="logo" translatesAutoresizingMaskIntoConstraints="NO" id="eRj-AM-Edq">
<rect key="frame" x="79" y="0.0" width="200" height="200"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="&lt;title&gt;" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zek-qD-saW">
<rect key="frame" x="0.0" y="220" width="358" height="29"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="24"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="&lt;version&gt;" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tOJ-Gb-6TL">
<rect key="frame" x="0.0" y="254" width="358" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="&lt;intro&gt;" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="F6g-5X-yGY">
<rect key="frame" x="0.0" y="294.5" width="358" height="20.5"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="eRj-AM-Edq" firstAttribute="centerX" secondItem="RP1-au-v0h" secondAttribute="centerX" id="39V-6k-m1r"/>
<constraint firstAttribute="trailing" secondItem="F6g-5X-yGY" secondAttribute="trailing" id="4NF-Ha-rCB"/>
<constraint firstItem="Zek-qD-saW" firstAttribute="leading" secondItem="RP1-au-v0h" secondAttribute="leading" id="4r5-es-LKj"/>
<constraint firstItem="tOJ-Gb-6TL" firstAttribute="top" secondItem="Zek-qD-saW" secondAttribute="bottom" constant="5" id="5EV-6h-af6"/>
<constraint firstItem="F6g-5X-yGY" firstAttribute="leading" secondItem="RP1-au-v0h" secondAttribute="leading" id="Bbh-jl-eyk"/>
<constraint firstItem="Zek-qD-saW" firstAttribute="top" secondItem="eRj-AM-Edq" secondAttribute="bottom" constant="20" id="E5v-Gd-4FH"/>
<constraint firstItem="F6g-5X-yGY" firstAttribute="top" secondItem="tOJ-Gb-6TL" secondAttribute="bottom" constant="20" id="Vla-uy-lL8"/>
<constraint firstAttribute="trailing" secondItem="Zek-qD-saW" secondAttribute="trailing" id="WL1-SB-5gf"/>
<constraint firstAttribute="trailing" secondItem="tOJ-Gb-6TL" secondAttribute="trailing" id="a5o-c7-BD5"/>
<constraint firstItem="tOJ-Gb-6TL" firstAttribute="leading" secondItem="RP1-au-v0h" secondAttribute="leading" id="grT-YM-rGi"/>
<constraint firstItem="eRj-AM-Edq" firstAttribute="top" secondItem="RP1-au-v0h" secondAttribute="top" id="q35-KT-uTl"/>
<constraint firstAttribute="bottom" secondItem="F6g-5X-yGY" secondAttribute="bottom" id="tqI-4a-Mbr"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstAttribute="bottom" secondItem="RP1-au-v0h" secondAttribute="bottom" constant="40" id="1nJ-q3-71e"/>
<constraint firstItem="RP1-au-v0h" firstAttribute="top" secondItem="Kan-Ro-DbI" secondAttribute="top" constant="40" id="JpQ-Sm-6E9"/>
<constraint firstItem="RP1-au-v0h" firstAttribute="leading" secondItem="Kan-Ro-DbI" secondAttribute="leadingMargin" constant="20" id="QVw-kf-Ruk"/>
<constraint firstAttribute="trailingMargin" secondItem="RP1-au-v0h" secondAttribute="trailing" constant="20" id="uOx-j1-ncW"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="Kan-Ro-DbI" secondAttribute="trailing" id="Ce5-DN-GeK"/>
<constraint firstItem="Kan-Ro-DbI" firstAttribute="top" secondItem="olL-k1-XZi" secondAttribute="top" id="Smc-j7-mlw"/>
<constraint firstItem="Kan-Ro-DbI" firstAttribute="leading" secondItem="olL-k1-XZi" secondAttribute="leading" id="exE-qj-8Z3"/>
<constraint firstItem="Kan-Ro-DbI" firstAttribute="width" secondItem="olL-k1-XZi" secondAttribute="width" id="fTu-x9-FVW"/>
<constraint firstAttribute="bottom" secondItem="Kan-Ro-DbI" secondAttribute="bottom" id="hd1-bh-hFF"/>
</constraints>
</scrollView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<constraints>
<constraint firstItem="olL-k1-XZi" firstAttribute="leading" secondItem="UOK-GX-kRH" secondAttribute="leading" id="8cy-xd-xvK"/>
<constraint firstAttribute="trailing" secondItem="olL-k1-XZi" secondAttribute="trailing" id="WuP-mp-YXX"/>
<constraint firstAttribute="bottom" secondItem="olL-k1-XZi" secondAttribute="bottom" id="bYU-ed-Scg"/>
<constraint firstItem="olL-k1-XZi" firstAttribute="top" secondItem="UOK-GX-kRH" secondAttribute="top" id="hYG-bS-MUP"/>
</constraints>
<viewLayoutGuide key="safeArea" id="1um-xX-wxp"/>
</view>
<connections>
<outlet property="labelIntro" destination="F6g-5X-yGY" id="QSg-VO-Wf4"/>
<outlet property="labelTitle" destination="Zek-qD-saW" id="TL8-Vb-B58"/>
<outlet property="labelVersion" destination="tOJ-Gb-6TL" id="O7w-Ne-L0R"/>
<outlet property="scrollView" destination="olL-k1-XZi" id="4f7-Kw-k8j"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="n7m-Yv-Puo" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-2551" y="-2246"/>
</scene>
<!--Credits View Controller--> <!--Credits View Controller-->
<scene sceneID="fCJ-0P-4HO"> <scene sceneID="fCJ-0P-4HO">
<objects> <objects>
@ -113,10 +18,10 @@
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<prototypes> <prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="SettingTableViewCell" textLabel="Cs5-Oz-lZ4" detailTextLabel="6AN-wh-sIr" style="IBUITableViewCellStyleValue1" id="jQu-e3-15s" customClass="SettingTableViewCell" customModule="Passepartout" customModuleProvider="target"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" accessoryType="disclosureIndicator" indentationWidth="10" reuseIdentifier="SettingTableViewCell" textLabel="Cs5-Oz-lZ4" detailTextLabel="6AN-wh-sIr" style="IBUITableViewCellStyleValue1" id="jQu-e3-15s" customClass="SettingTableViewCell" customModule="Passepartout" customModuleProvider="target">
<rect key="frame" x="0.0" y="55.5" width="414" height="44"/> <rect key="frame" x="0.0" y="55.5" width="414" height="43.5"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="jQu-e3-15s" id="1nY-NX-ZWl"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="jQu-e3-15s" id="1nY-NX-ZWl">
<rect key="frame" x="0.0" y="0.0" width="376" height="43.5"/> <rect key="frame" x="0.0" y="0.0" width="382.5" height="43.5"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" insetsLayoutMarginsFromSafeArea="NO" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Cs5-Oz-lZ4"> <label opaque="NO" multipleTouchEnabled="YES" contentMode="left" insetsLayoutMarginsFromSafeArea="NO" text="Title" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Cs5-Oz-lZ4">
@ -127,7 +32,7 @@
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<label opaque="NO" multipleTouchEnabled="YES" contentMode="left" insetsLayoutMarginsFromSafeArea="NO" text="Detail" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="6AN-wh-sIr"> <label opaque="NO" multipleTouchEnabled="YES" contentMode="left" insetsLayoutMarginsFromSafeArea="NO" text="Detail" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="6AN-wh-sIr">
<rect key="frame" x="332" y="12" width="44" height="20.5"/> <rect key="frame" x="330.5" y="12" width="44" height="20.5"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/> <fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/> <nil key="textColor"/>
@ -176,7 +81,7 @@
<color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
<prototypes> <prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="SettingTableViewCell" textLabel="skM-jg-ICe" detailTextLabel="iON-s3-zdv" style="IBUITableViewCellStyleValue1" id="Ur6-zm-9xA" customClass="SettingTableViewCell" customModule="Passepartout" customModuleProvider="target"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="default" indentationWidth="10" reuseIdentifier="SettingTableViewCell" textLabel="skM-jg-ICe" detailTextLabel="iON-s3-zdv" style="IBUITableViewCellStyleValue1" id="Ur6-zm-9xA" customClass="SettingTableViewCell" customModule="Passepartout" customModuleProvider="target">
<rect key="frame" x="0.0" y="55.5" width="414" height="44"/> <rect key="frame" x="0.0" y="55.5" width="414" height="43.5"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Ur6-zm-9xA" id="k8G-g0-As7"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Ur6-zm-9xA" id="k8G-g0-As7">
<rect key="frame" x="0.0" y="0.0" width="414" height="43.5"/> <rect key="frame" x="0.0" y="0.0" width="414" height="43.5"/>
@ -208,12 +113,11 @@
<navigationItem key="navigationItem" id="SOR-2l-C78"> <navigationItem key="navigationItem" id="SOR-2l-C78">
<barButtonItem key="leftBarButtonItem" systemItem="stop" id="SJM-bE-0QY"> <barButtonItem key="leftBarButtonItem" systemItem="stop" id="SJM-bE-0QY">
<connections> <connections>
<action selector="dismiss" destination="SuC-Dh-OPk" id="F1n-Mk-Njo"/> <action selector="close" destination="SuC-Dh-OPk" id="5dH-2U-9tb"/>
</connections> </connections>
</barButtonItem> </barButtonItem>
</navigationItem> </navigationItem>
<connections> <connections>
<segue destination="PMT-gj-ARE" kind="show" identifier="VersionSegueIdentifier" id="uYt-4N-PPL"/>
<segue destination="duu-Yq-oor" kind="show" identifier="CreditsSegueIdentifier" id="8oK-Gy-3Vg"/> <segue destination="duu-Yq-oor" kind="show" identifier="CreditsSegueIdentifier" id="8oK-Gy-3Vg"/>
</connections> </connections>
</tableViewController> </tableViewController>
@ -296,7 +200,4 @@
<point key="canvasLocation" x="-1542" y="-1544"/> <point key="canvasLocation" x="-1542" y="-1544"/>
</scene> </scene>
</scenes> </scenes>
<resources>
<image name="logo" width="200" height="200"/>
</resources>
</document> </document>

View File

@ -61,3 +61,9 @@ extension UIColor {
self.init(red: r, green: g, blue: b, alpha: alpha) self.init(red: r, green: g, blue: b, alpha: alpha)
} }
} }
func delay(_ block: @escaping () -> Void) {
DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(500)) {
block()
}
}

View File

@ -14,7 +14,6 @@ import UIKit
internal enum StoryboardSegue { internal enum StoryboardSegue {
internal enum About: String, SegueType { internal enum About: String, SegueType {
case creditsSegueIdentifier = "CreditsSegueIdentifier" case creditsSegueIdentifier = "CreditsSegueIdentifier"
case versionSegueIdentifier = "VersionSegueIdentifier"
} }
internal enum Main: String, SegueType { internal enum Main: String, SegueType {
case accountSegueIdentifier = "AccountSegueIdentifier" case accountSegueIdentifier = "AccountSegueIdentifier"

View File

@ -68,7 +68,12 @@ class AboutViewController: UITableViewController, StrongTableHost {
// MARK: Actions // MARK: Actions
private func showVersion() { private func showVersion() {
perform(segue: StoryboardSegue.About.versionSegueIdentifier) let vc = VersionViewController()
vc.appIcon = Asset.Assets.logo.image
vc.extraText = L10n.Core.Version.Labels.intro
vc.backgroundColor = Theme.current.palette.primaryBackground
vc.textColor = Theme.current.palette.primaryLightText
navigationController?.pushViewController(vc, animated: true)
} }
private func openCredits() { private func openCredits() {
@ -86,7 +91,7 @@ class AboutViewController: UITableViewController, StrongTableHost {
present(vc, animated: true, completion: nil) present(vc, animated: true, completion: nil)
} }
@IBAction private func dismiss() { @IBAction private func close() {
dismiss(animated: true, completion: nil) dismiss(animated: true, completion: nil)
} }
} }

View File

@ -1,58 +0,0 @@
//
// VersionViewController.swift
// Passepartout-iOS
//
// Created by Davide De Rosa on 9/27/18.
// Copyright (c) 2019 Davide De Rosa. All rights reserved.
//
// https://github.com/passepartoutvpn
//
// This file is part of Passepartout.
//
// Passepartout is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Passepartout is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Passepartout. If not, see <http://www.gnu.org/licenses/>.
//
import UIKit
import PassepartoutCore
import Convenience
class VersionViewController: UIViewController {
@IBOutlet private weak var scrollView: UIScrollView?
@IBOutlet private weak var labelTitle: UILabel?
@IBOutlet private weak var labelVersion: UILabel?
@IBOutlet private weak var labelIntro: UILabel?
override func awakeFromNib() {
super.awakeFromNib()
applyDetailTitle(.current)
}
override func viewDidLoad() {
super.viewDidLoad()
title = L10n.Core.Version.title
labelTitle?.text = GroupConstants.App.name
labelVersion?.text = ApplicationInfo.appVersion
labelIntro?.text = L10n.Core.Version.Labels.intro
scrollView?.applyPrimaryBackground(.current)
for label in [labelTitle, labelVersion, labelIntro] {
label?.applyLight(.current)
}
}
}

View File

@ -273,7 +273,7 @@ class ServiceViewController: UIViewController, StrongTableHost {
guard error == nil else { guard error == nil else {
// XXX: delay to avoid weird toggle state // XXX: delay to avoid weird toggle state
DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(500)) { delay {
cell.setOn(false, animated: true) cell.setOn(false, animated: true)
if error as? ApplicationError == .externalResources { if error as? ApplicationError == .externalResources {
self.requireDownload() self.requireDownload()
@ -346,6 +346,15 @@ class ServiceViewController: UIViewController, StrongTableHost {
} }
} }
private func trustMobileNetwork(cell: ToggleTableViewCell) {
if #available(iOS 12, *) {
IntentDispatcher.donateTrustCellularNetwork()
IntentDispatcher.donateUntrustCellularNetwork()
}
trustedNetworks.setMobile(cell.isOn)
}
private func trustCurrentWiFi() { private func trustCurrentWiFi() {
if #available(iOS 13, *) { if #available(iOS 13, *) {
let auth = CLLocationManager.authorizationStatus() let auth = CLLocationManager.authorizationStatus()
@ -390,6 +399,14 @@ class ServiceViewController: UIViewController, StrongTableHost {
} }
} }
private func toggleTrustWiFi(cell: ToggleTableViewCell, at row: Int) {
if cell.isOn {
trustedNetworks.enableWifi(at: row)
} else {
trustedNetworks.disableWifi(at: row)
}
}
private func toggleTrustedConnectionPolicy(_ isOn: Bool, sender: ToggleTableViewCell) { private func toggleTrustedConnectionPolicy(_ isOn: Bool, sender: ToggleTableViewCell) {
let completionHandler: () -> Void = { let completionHandler: () -> Void = {
self.service.preferences.trustPolicy = isOn ? .disconnect : .ignore self.service.preferences.trustPolicy = isOn ? .disconnect : .ignore
@ -1071,22 +1088,13 @@ extension ServiceViewController: UITableViewDataSource, UITableViewDelegate, Tog
toggleDisconnectsOnSleep(cell.isOn) toggleDisconnectsOnSleep(cell.isOn)
case .trustedMobile: case .trustedMobile:
if #available(iOS 12, *) { trustMobileNetwork(cell: cell)
IntentDispatcher.donateTrustCellularNetwork()
IntentDispatcher.donateUntrustCellularNetwork()
}
trustedNetworks.setMobile(cell.isOn)
case .trustedWiFi: case .trustedWiFi:
guard let indexPath = tableView.indexPath(for: cell) else { guard let indexPath = tableView.indexPath(for: cell) else {
return return
} }
if cell.isOn { toggleTrustWiFi(cell: cell, at: indexPath.row)
trustedNetworks.enableWifi(at: indexPath.row)
} else {
trustedNetworks.disableWifi(at: indexPath.row)
}
case .trustedPolicy: case .trustedPolicy:
toggleTrustedConnectionPolicy(cell.isOn, sender: cell) toggleTrustedConnectionPolicy(cell.isOn, sender: cell)

View File

@ -64,7 +64,6 @@
0E36D25C224034AD006AF062 /* ShortcutsConnectToViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E36D25B224034AD006AF062 /* ShortcutsConnectToViewController.swift */; }; 0E36D25C224034AD006AF062 /* ShortcutsConnectToViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E36D25B224034AD006AF062 /* ShortcutsConnectToViewController.swift */; };
0E3CAFC0229AAE770008E5C8 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 0E3CAFAD229AAE760008E5C8 /* Intents.intentdefinition */; }; 0E3CAFC0229AAE770008E5C8 /* Intents.intentdefinition in Sources */ = {isa = PBXBuildFile; fileRef = 0E3CAFAD229AAE760008E5C8 /* Intents.intentdefinition */; };
0E3CAFC4229AAF8E0008E5C8 /* API in Resources */ = {isa = PBXBuildFile; fileRef = 0E3CAFC3229AAF8E0008E5C8 /* API */; }; 0E3CAFC4229AAF8E0008E5C8 /* API in Resources */ = {isa = PBXBuildFile; fileRef = 0E3CAFC3229AAF8E0008E5C8 /* API */; };
0E3DA371215CB5BF00B40FC9 /* VersionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E3DA370215CB5BF00B40FC9 /* VersionViewController.swift */; };
0E45E6E022BD793800F19312 /* App.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0E45E6E222BD793800F19312 /* App.strings */; }; 0E45E6E022BD793800F19312 /* App.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0E45E6E222BD793800F19312 /* App.strings */; };
0E45E6E422BD799700F19312 /* SwiftGen+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E45E6E322BD799700F19312 /* SwiftGen+Strings.swift */; }; 0E45E6E422BD799700F19312 /* SwiftGen+Strings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0E45E6E322BD799700F19312 /* SwiftGen+Strings.swift */; };
0E45E6FA22BD8FC500F19312 /* Core.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0E3CAF98229AAE760008E5C8 /* Core.strings */; }; 0E45E6FA22BD8FC500F19312 /* Core.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0E3CAF98229AAE760008E5C8 /* Core.strings */; };
@ -197,7 +196,6 @@
0E3CAFB3229AAE760008E5C8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Core.strings; sourceTree = "<group>"; }; 0E3CAFB3229AAE760008E5C8 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = fr.lproj/Core.strings; sourceTree = "<group>"; };
0E3CAFB5229AAE760008E5C8 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Core.strings; sourceTree = "<group>"; }; 0E3CAFB5229AAE760008E5C8 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/Core.strings; sourceTree = "<group>"; };
0E3CAFC3229AAF8E0008E5C8 /* API */ = {isa = PBXFileReference; lastKnownFileType = folder; path = API; sourceTree = "<group>"; }; 0E3CAFC3229AAF8E0008E5C8 /* API */ = {isa = PBXFileReference; lastKnownFileType = folder; path = API; sourceTree = "<group>"; };
0E3DA370215CB5BF00B40FC9 /* VersionViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VersionViewController.swift; sourceTree = "<group>"; };
0E45E6E122BD793800F19312 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/App.strings; sourceTree = "<group>"; }; 0E45E6E122BD793800F19312 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/App.strings; sourceTree = "<group>"; };
0E45E6E322BD799700F19312 /* SwiftGen+Strings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SwiftGen+Strings.swift"; sourceTree = "<group>"; }; 0E45E6E322BD799700F19312 /* SwiftGen+Strings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SwiftGen+Strings.swift"; sourceTree = "<group>"; };
0E45E6F122BD897E00F19312 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/App.strings; sourceTree = "<group>"; }; 0E45E6F122BD897E00F19312 /* it */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it; path = it.lproj/App.strings; sourceTree = "<group>"; };
@ -361,7 +359,6 @@
0EE3BBB1215ED3A900F30952 /* AboutViewController.swift */, 0EE3BBB1215ED3A900F30952 /* AboutViewController.swift */,
0EFBFAC021AC464800887A8C /* CreditsViewController.swift */, 0EFBFAC021AC464800887A8C /* CreditsViewController.swift */,
0EFD943F215BED8E00529B64 /* LabelViewController.swift */, 0EFD943F215BED8E00529B64 /* LabelViewController.swift */,
0E3DA370215CB5BF00B40FC9 /* VersionViewController.swift */,
); );
path = About; path = About;
sourceTree = "<group>"; sourceTree = "<group>";
@ -985,7 +982,6 @@
0E242740225951B00064A1A3 /* ProductManager.swift in Sources */, 0E242740225951B00064A1A3 /* ProductManager.swift in Sources */,
0E1066C920E0F84A004F98B7 /* Cells.swift in Sources */, 0E1066C920E0F84A004F98B7 /* Cells.swift in Sources */,
0EF56BBB2185AC8500B0C8AB /* SwiftGen+Segues.swift in Sources */, 0EF56BBB2185AC8500B0C8AB /* SwiftGen+Segues.swift in Sources */,
0E3DA371215CB5BF00B40FC9 /* VersionViewController.swift in Sources */,
0E05C5D620D1645F006EE732 /* SwiftGen+Scenes.swift in Sources */, 0E05C5D620D1645F006EE732 /* SwiftGen+Scenes.swift in Sources */,
0E773BF8224BF37600CDDC8E /* ShortcutsViewController.swift in Sources */, 0E773BF8224BF37600CDDC8E /* ShortcutsViewController.swift in Sources */,
0E3419AD2350815E00419E18 /* Donation.swift in Sources */, 0E3419AD2350815E00419E18 /* Donation.swift in Sources */,