From 433e8e069216dab01efc7acac44f0aa9f190bd51 Mon Sep 17 00:00:00 2001 From: Said Rehouni Date: Wed, 9 Oct 2024 16:05:55 +0300 Subject: [PATCH] Implement force update --- PIA VPN.xcodeproj/project.pbxproj | 20 ++++ PIA VPN/AppDelegate.swift | 1 - PIA VPN/Bootstrapper.swift | 17 +++- PIA VPN/DashboardViewController.swift | 9 ++ PIA VPN/ForceUpdateViewController.swift | 40 ++++++++ PIA VPN/ForceUpdateViewController.xib | 90 ++++++++++++++++++ .../Contents.json | 15 +++ .../force_update_shield.imageset/shield.pdf | Bin 0 -> 81265 bytes PIA VPN/PIAHotspotHelper.swift | 3 + PIA VPN/PIAWelcomeViewController.swift | 10 +- 10 files changed, 201 insertions(+), 4 deletions(-) create mode 100644 PIA VPN/ForceUpdateViewController.swift create mode 100644 PIA VPN/ForceUpdateViewController.xib create mode 100644 PIA VPN/Images.xcassets/force_update_shield.imageset/Contents.json create mode 100644 PIA VPN/Images.xcassets/force_update_shield.imageset/shield.pdf diff --git a/PIA VPN.xcodeproj/project.pbxproj b/PIA VPN.xcodeproj/project.pbxproj index 22bfed95..4e2a1250 100644 --- a/PIA VPN.xcodeproj/project.pbxproj +++ b/PIA VPN.xcodeproj/project.pbxproj @@ -715,6 +715,10 @@ E53627372BE802200064DEDF /* SignupUseCaseMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = E53627362BE802200064DEDF /* SignupUseCaseMock.swift */; }; E548E1FF2C1238BD001E9874 /* SnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = E548E1FE2C1238BD001E9874 /* SnapshotTesting */; }; E548E2002C1238CD001E9874 /* WelcomeViewSnapshotTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = E548E1EC2C123782001E9874 /* WelcomeViewSnapshotTest.swift */; }; + E55188932CB66BCA00E4C241 /* ForceUpdateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E55188912CB66BCA00E4C241 /* ForceUpdateViewController.swift */; }; + E55188942CB66BCA00E4C241 /* ForceUpdateViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E55188922CB66BCA00E4C241 /* ForceUpdateViewController.xib */; }; + E55188952CB66BCA00E4C241 /* ForceUpdateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E55188912CB66BCA00E4C241 /* ForceUpdateViewController.swift */; }; + E55188962CB66BCA00E4C241 /* ForceUpdateViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E55188922CB66BCA00E4C241 /* ForceUpdateViewController.xib */; }; E55216342BEF63EA001A287F /* SignupIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E55216332BEF63EA001A287F /* SignupIntegrationTests.swift */; }; E55216362BF1393C001A287F /* SignupEmailIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E55216352BF1393C001A287F /* SignupEmailIntegrationTests.swift */; }; E55216382BF14A5B001A287F /* SignupDomainErrorMapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = E55216372BF14A5B001A287F /* SignupDomainErrorMapper.swift */; }; @@ -1685,6 +1689,8 @@ E548E1EC2C123782001E9874 /* WelcomeViewSnapshotTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelcomeViewSnapshotTest.swift; sourceTree = ""; }; E548E1F52C1238B5001E9874 /* PIA VPN-tvOS snapshot.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "PIA VPN-tvOS snapshot.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; E548E2012C124AA0001E9874 /* PIA VPN-tvOS snapshot.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = "PIA VPN-tvOS snapshot.xctestplan"; sourceTree = ""; }; + E55188912CB66BCA00E4C241 /* ForceUpdateViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ForceUpdateViewController.swift; sourceTree = ""; }; + E55188922CB66BCA00E4C241 /* ForceUpdateViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ForceUpdateViewController.xib; sourceTree = ""; }; E55216332BEF63EA001A287F /* SignupIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignupIntegrationTests.swift; sourceTree = ""; }; E55216352BF1393C001A287F /* SignupEmailIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignupEmailIntegrationTests.swift; sourceTree = ""; }; E55216372BF14A5B001A287F /* SignupDomainErrorMapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignupDomainErrorMapper.swift; sourceTree = ""; }; @@ -2373,6 +2379,7 @@ 296BBFEE1840066A00944151 /* UI */ = { isa = PBXGroup; children = ( + E55188902CB66B7900E4C241 /* Force update */, E5217F5C2AEAE01400123442 /* NotificationCategory.swift */, E5217F532AEAD54600123442 /* WalkthroughPageView.swift */, E5217F4A2AEAD29F00123442 /* PurchasePlanCell.swift */, @@ -3567,6 +3574,15 @@ path = "PIA VPNTests snapshot"; sourceTree = ""; }; + E55188902CB66B7900E4C241 /* Force update */ = { + isa = PBXGroup; + children = ( + E55188912CB66BCA00E4C241 /* ForceUpdateViewController.swift */, + E55188922CB66BCA00E4C241 /* ForceUpdateViewController.xib */, + ); + name = "Force update"; + sourceTree = ""; + }; E55216322BEF63AD001A287F /* Integration */ = { isa = PBXGroup; children = ( @@ -5007,6 +5023,7 @@ 0ED66BD020A9918000333B35 /* staging.endpoint in Resources */, DD76292021ECCD510092DF50 /* UsageTileCollectionViewCell.xib in Resources */, E501CBB72AE97EC800515006 /* Welcome.storyboard in Resources */, + E55188962CB66BCA00E4C241 /* ForceUpdateViewController.xib in Resources */, DD6DC5C321B6C27F00F9D538 /* pia-spinner.json in Resources */, 0E0715E7201CBB7100D6F666 /* Flags-dev.plist in Resources */, DD1C138A21E60C63004004B3 /* IPTile.xib in Resources */, @@ -5103,6 +5120,7 @@ 291C6398183EBC210039EC03 /* Images.xcassets in Resources */, 82183D9625014FDC0033023F /* NetworkCollectionViewCell.xib in Resources */, 82183D9825014FDC0033023F /* CustomNetworkCollectionViewCell.xib in Resources */, + E55188942CB66BCA00E4C241 /* ForceUpdateViewController.xib in Resources */, E501CBF72AE9806800515006 /* Signup.strings in Resources */, 0E0786DE1EFA7EAE00F77466 /* Components.plist in Resources */, E501CBB32AE97EBA00515006 /* Signup.storyboard in Resources */, @@ -5422,6 +5440,7 @@ E5C507702B0DEC2400200A6A /* AutolayoutViewController.swift in Sources */, 82CAB8F3255C0CD100BB08EF /* MessagesTileCollectionViewCell.swift in Sources */, E5217F462AEACE0200123442 /* NavigationLogoView.swift in Sources */, + E55188952CB66BCA00E4C241 /* ForceUpdateViewController.swift in Sources */, E58A45622BA8E373002A0704 /* LoginProvider.swift in Sources */, E59E8FB02AEA7A81009278F5 /* MagicLinkLoginViewController.swift in Sources */, 0E3A352D1FD9CDC5000B0F99 /* Theme+App.swift in Sources */, @@ -5516,6 +5535,7 @@ 8272C6332657EE4E00D846A8 /* AutomationSettingsViewController.swift in Sources */, E59E8FBB2AEA7A81009278F5 /* GDPRViewController.swift in Sources */, DDF7F755240D35BA00A671C7 /* CustomServerSettingsViewController.swift in Sources */, + E55188932CB66BCA00E4C241 /* ForceUpdateViewController.swift in Sources */, 0ECF5C082017EBAD0047596C /* ThemeCode.swift in Sources */, 3545E98026AAD60C00B812CC /* ServerSelectionDelegate.swift in Sources */, E5217F402AEAC7A900123442 /* Theme+LightPalette.swift in Sources */, diff --git a/PIA VPN/AppDelegate.swift b/PIA VPN/AppDelegate.swift index b6b37d15..e83248c4 100644 --- a/PIA VPN/AppDelegate.swift +++ b/PIA VPN/AppDelegate.swift @@ -230,7 +230,6 @@ class AppDelegate: NSObject, UIApplicationDelegate { let accountInformationVerifier = AccountInformationAvailabilityFactory.makeAccountInformationAvailabilityVerifier() accountInformationVerifier.verifyAccountInformationAvailabity(after: AccountInformationAvailabilityVerifier.defaultDeadlineInSeconds, completion: nil) - } private func refreshShortcutItems(in application: UIApplication) { diff --git a/PIA VPN/Bootstrapper.swift b/PIA VPN/Bootstrapper.swift index a4ae51ff..39c7978c 100644 --- a/PIA VPN/Bootstrapper.swift +++ b/PIA VPN/Bootstrapper.swift @@ -28,7 +28,11 @@ import TunnelKitOpenVPN import PIAWireguard #endif import SwiftyBeaver +import UIKit +extension NSNotification.Name { + public static let __AppDidFetchForceUpdateFeatureFlag = Notification.Name("__AppDidFetchForceUpdateFeatureFlag") +} class Bootstrapper { @@ -105,7 +109,8 @@ class Bootstrapper { Client.configuration.rsa4096Certificate = rsa4096Certificate() #if PIA_DEV - Client.environment = AppPreferences.shared.appEnvironmentIsProduction ? .production : .staging + //Client.environment = AppPreferences.shared.appEnvironmentIsProduction ? .production : .staging + Client.environment = .staging #else Client.environment = AppConfiguration.clientEnvironment #endif @@ -163,11 +168,11 @@ class Bootstrapper { AppPreferences.shared.disablesMultiDipTokens = Client.configuration.featureFlags.contains(Client.FeatureFlags.disableMultiDipTokens) AppPreferences.shared.showNewInitialScreen = Client.configuration.featureFlags.contains(Client.FeatureFlags.showNewInitialScreen) - /// Updates the feature flags values to the ones set on the server only on Release builds. /// (like Leak protection feature) self.updateFeatureFlagsForReleaseIfNeeded() + self.checkForceUpdateIfNeeded() }) //FORCE THE MIGRATION TO GEN4 @@ -327,3 +332,11 @@ class Bootstrapper { #endif } } + +extension Bootstrapper { + func checkForceUpdateIfNeeded() { + if Client.configuration.featureFlags.contains("force_update") { + NotificationCenter.default.post(name: Notification.Name.__AppDidFetchForceUpdateFeatureFlag, object: nil) + } + } +} diff --git a/PIA VPN/DashboardViewController.swift b/PIA VPN/DashboardViewController.swift index 63350f74..15dbf182 100644 --- a/PIA VPN/DashboardViewController.swift +++ b/PIA VPN/DashboardViewController.swift @@ -133,6 +133,7 @@ class DashboardViewController: AutolayoutViewController { nc.addObserver(self, selector: #selector(connectionVPNStatusDidChange(_:)), name: NSNotification.Name.NEVPNStatusDidChange, object: nil) nc.addObserver(self, selector: #selector(handleDidConnectToRFC1918CompliantWifi(_:)), name: NSNotification.Name.DeviceDidConnectToRFC1918CompliantWifi, object: nil) nc.addObserver(self, selector: #selector(checkConnectToRFC1918VulnerableWifi(_:)), name: NSNotification.Name.DeviceDidConnectToRFC1918VulnerableWifi, object: nil) + nc.addObserver(self, selector: #selector(presentForceUpdate), name: NSNotification.Name.__AppDidFetchForceUpdateFeatureFlag, object: nil) self.viewContentHeight = self.viewContentHeightConstraint.constant } @@ -701,6 +702,14 @@ class DashboardViewController: AutolayoutViewController { } } + @objc func presentForceUpdate() { + let forceUpdate = ForceUpdateViewController() + forceUpdate.modalPresentationStyle = .fullScreen + DispatchQueue.main.async { [weak self] in + self?.present(forceUpdate, animated: false) + } + } + //MARK: Non compliant Wifi alert private struct WifiAlertAction { diff --git a/PIA VPN/ForceUpdateViewController.swift b/PIA VPN/ForceUpdateViewController.swift new file mode 100644 index 00000000..f9d9ba30 --- /dev/null +++ b/PIA VPN/ForceUpdateViewController.swift @@ -0,0 +1,40 @@ +// +// ForceUpdateViewController.swift +// PIA VPN +// +// Created by Said Rehouni on 9/10/24. +// Copyright © 2024 Private Internet Access Inc. All rights reserved. +// + +import UIKit +import PIALibrary + +class ForceUpdateViewController: UIViewController { + @IBOutlet weak var updateButton: PIAButton! + @IBOutlet weak var titleLabel: UILabel! + @IBOutlet weak var descriptionLabel: UILabel! + + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + + styleUpdateButton() + + updateButton.addTarget(self, action: #selector(updateButtonTapped), for: .touchUpInside) + updateButton.setTitle("Update Now", for: .normal) + } + + @objc func updateButtonTapped() { + Client.providers.vpnProvider.uninstallAll() + UIApplication.shared.open(URL(string: "https://itunes.apple.com/app/private-internet-access-anonymous/id955626407")!) + } + + private func styleUpdateButton() { + updateButton.setRounded() + updateButton.style(style: TextStyle.Buttons.piaGreenButton) + updateButton.setTitle(L10n.Welcome.Purchase.submit.uppercased(), + for: []) + } +} diff --git a/PIA VPN/ForceUpdateViewController.xib b/PIA VPN/ForceUpdateViewController.xib new file mode 100644 index 00000000..c4eb2520 --- /dev/null +++ b/PIA VPN/ForceUpdateViewController.xib @@ -0,0 +1,90 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PIA VPN/Images.xcassets/force_update_shield.imageset/Contents.json b/PIA VPN/Images.xcassets/force_update_shield.imageset/Contents.json new file mode 100644 index 00000000..379b270c --- /dev/null +++ b/PIA VPN/Images.xcassets/force_update_shield.imageset/Contents.json @@ -0,0 +1,15 @@ +{ + "images" : [ + { + "filename" : "shield.pdf", + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + }, + "properties" : { + "preserves-vector-representation" : true + } +} diff --git a/PIA VPN/Images.xcassets/force_update_shield.imageset/shield.pdf b/PIA VPN/Images.xcassets/force_update_shield.imageset/shield.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e775919c2538d22f756dd0c8b3fd251a11630e07 GIT binary patch literal 81265 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 VJ-q%U9Wj1!5ikKO>l1Z_{{y)Z6r=zE literal 0 HcmV?d00001 diff --git a/PIA VPN/PIAHotspotHelper.swift b/PIA VPN/PIAHotspotHelper.swift index 9d6eee4b..22e54517 100644 --- a/PIA VPN/PIAHotspotHelper.swift +++ b/PIA VPN/PIAHotspotHelper.swift @@ -71,6 +71,9 @@ class PIAHotspotHelper { } return NEHotspotHelper.register(options: options, queue: DispatchQueue.main) { [weak self] (cmd: NEHotspotHelperCommand) in + + guard !Client.configuration.featureFlags.contains("force_update") else { return } + if let weakSelf = self { if cmd.commandType == .filterScanList { log.info("filtering ssid list") diff --git a/PIA VPN/PIAWelcomeViewController.swift b/PIA VPN/PIAWelcomeViewController.swift index 4d93cfbe..b346d82d 100644 --- a/PIA VPN/PIAWelcomeViewController.swift +++ b/PIA VPN/PIAWelcomeViewController.swift @@ -83,8 +83,8 @@ public class PIAWelcomeViewController: AutolayoutViewController, WelcomeCompleti #if os(iOS) let nc = NotificationCenter.default nc.addObserver(self, selector: #selector(inAppDidAddUncredited(notification:)), name: .__InAppDidAddUncredited, object: nil) + nc.addObserver(self, selector: #selector(presentForceUpdate(notification:)), name: .__AppDidFetchForceUpdateFeatureFlag, object: nil) #endif - } /// :nodoc: @@ -204,6 +204,14 @@ public class PIAWelcomeViewController: AutolayoutViewController, WelcomeCompleti } #endif + @objc func presentForceUpdate(notification: Notification) { + let forceUpdate = ForceUpdateViewController() + forceUpdate.modalPresentationStyle = .fullScreen + DispatchQueue.main.async { [weak self] in + self?.present(forceUpdate, animated: false) + } + } + // MARK: Size classes // consider compact height in landscape