From 1736474b8b304b26347fa356ed2b98eabcd50cfa Mon Sep 17 00:00:00 2001 From: Soner Yuksel Date: Fri, 8 Sep 2023 17:48:49 -0400 Subject: [PATCH] Handling enum case and icons --- .../BrowserViewController+Callout.swift | 2 +- .../BrowserViewController+Menu.swift | 4 ++-- .../Toolbars/BottomToolbar/Menu/VPNMenuButton.swift | 2 +- .../Frontend/Settings/SettingsViewController.swift | 12 ++++++------ Sources/BraveVPN/BraveVPN.swift | 4 ++-- Sources/BraveVPN/BraveVPNPreferences.swift | 2 +- .../BraveVPN/BraveVPNSettingsViewController.swift | 6 +++--- .../Contents.json | 0 8 files changed, 16 insertions(+), 16 deletions(-) rename Sources/DesignSystem/Icons/Symbols.xcassets/{leo.vpn.error.symbolset => leo.warning.triangle-filled.symbolset}/Contents.json (100%) diff --git a/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+Callout.swift b/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+Callout.swift index 03b7fe6e697..b181d8a7714 100644 --- a/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+Callout.swift +++ b/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+Callout.swift @@ -260,7 +260,7 @@ extension BrowserViewController { return } - if receiptStatus != .retryPeriod { + if receiptStatus != BraveVPN.ReceiptResponse.Status.retryPeriod.rawValue { return } } diff --git a/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+Menu.swift b/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+Menu.swift index 5e3749c7c4c..e858a76cd6b 100644 --- a/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+Menu.swift +++ b/Sources/Brave/Frontend/Browser/BrowserViewController/BrowserViewController+Menu.swift @@ -18,7 +18,7 @@ extension BrowserViewController { func featuresMenuSection(_ menuController: MenuViewController) -> some View { VStack(alignment: .leading, spacing: 5) { VPNMenuButton( - retryStateActive: Preferences.VPN.vpnReceiptStatus.value == .retryPeriod, + retryStateActive: Preferences.VPN.vpnReceiptStatus.value == BraveVPN.ReceiptResponse.Status.retryPeriod.rawValue, vpnProductInfo: self.vpnProductInfo, displayVPNDestination: { [unowned self] vc in (self.presentedViewController as? MenuViewController)? @@ -55,7 +55,7 @@ extension BrowserViewController { .padding(.bottom, 5) VPNMenuButton( - retryStateActive: Preferences.VPN.vpnReceiptStatus.value == .retryPeriod, + retryStateActive: Preferences.VPN.vpnReceiptStatus.value == BraveVPN.ReceiptResponse.Status.retryPeriod.rawValue, vpnProductInfo: self.vpnProductInfo, description: Strings.OptionsMenu.braveVPNItemDescription, displayVPNDestination: { [unowned self] vc in diff --git a/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/VPNMenuButton.swift b/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/VPNMenuButton.swift index a036391daf4..a15e6bc311b 100644 --- a/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/VPNMenuButton.swift +++ b/Sources/Brave/Frontend/Browser/Toolbars/BottomToolbar/Menu/VPNMenuButton.swift @@ -124,7 +124,7 @@ struct VPNMenuButton: View { private var headerView: some View { HStack(spacing: 14) { - Image(braveSystemName: retryStateActive ? "leo.vpn.error" : "leo.product.vpn") + Image(braveSystemName: retryStateActive ? "leo.warning.triangle-filled" : "leo.product.vpn") .font(.body) .frame(width: 32, height: 32) .foregroundColor(retryStateActive ? Color(.braveErrorLabel) : Color(.braveLabel)) diff --git a/Sources/Brave/Frontend/Settings/SettingsViewController.swift b/Sources/Brave/Frontend/Settings/SettingsViewController.swift index c4649dcf3a7..e1167188401 100644 --- a/Sources/Brave/Frontend/Settings/SettingsViewController.swift +++ b/Sources/Brave/Frontend/Settings/SettingsViewController.swift @@ -557,7 +557,7 @@ class SettingsViewController: TableViewController { private func vpnSettingsRow() -> Row { let (text, color) = { () -> (String, UIColor) in - if Preferences.VPN.vpnReceiptStatus.value == .retryPeriod { + if Preferences.VPN.vpnReceiptStatus.value == BraveVPN.ReceiptResponse.Status.retryPeriod.rawValue { return (Strings.VPN.updateActionCellTitle, .braveErrorLabel) } @@ -597,11 +597,11 @@ class SettingsViewController: TableViewController { guard let vcToShow = vc else { return } self.navigationController?.pushViewController(vcToShow, animated: true) }, - image: Preferences.VPN.vpnReceiptStatus.value == .retryPeriod - ? UIImage(braveSystemNamed: "leo.product.vpn") - : UIImage(braveSystemNamed: "leo.vpn.error")? - .withRenderingMode(.alwaysOriginal) - .withTintColor(.braveErrorLabel), + image: Preferences.VPN.vpnReceiptStatus.value == BraveVPN.ReceiptResponse.Status.retryPeriod.rawValue + ? UIImage(braveSystemNamed: "leo.warning.triangle-filled")? + .withRenderingMode(.alwaysOriginal) + .withTintColor(.braveErrorLabel) + : UIImage(braveSystemNamed: "leo.product.vpn"), accessory: .disclosureIndicator, cellClass: ColoredDetailCell.self, context: [ColoredDetailCell.colorKey: color], uuid: "vpnrow") } diff --git a/Sources/BraveVPN/BraveVPN.swift b/Sources/BraveVPN/BraveVPN.swift index 15ddd137b89..adda7ea22fe 100644 --- a/Sources/BraveVPN/BraveVPN.swift +++ b/Sources/BraveVPN/BraveVPN.swift @@ -166,7 +166,7 @@ public class BraveVPN { GRDSubscriptionManager.setIsPayingUser(true) } - Preferences.VPN.vpnReceiptStatus.value = processedReceiptDetail.status + Preferences.VPN.vpnReceiptStatus.value = processedReceiptDetail.status.rawValue receiptResponse?(processedReceiptDetail) } @@ -283,7 +283,7 @@ public class BraveVPN { // MARK: - ReceiptResponse public struct ReceiptResponse { - public enum Status: UserDefaultsEncodable { + public enum Status: Int { case active, expired, retryPeriod } diff --git a/Sources/BraveVPN/BraveVPNPreferences.swift b/Sources/BraveVPN/BraveVPNPreferences.swift index 176ed9cd685..482d388b911 100644 --- a/Sources/BraveVPN/BraveVPNPreferences.swift +++ b/Sources/BraveVPN/BraveVPNPreferences.swift @@ -16,7 +16,7 @@ extension Preferences { /// to make sure vpn expiration logic will be called. public static let expirationDate = Option(key: "vpn.expiration-date", default: nil) /// The status of vpn receipt status, used to determine retry period - public static let vpnReceiptStatus = Option(key: "vpn.expiration-date", default: nil) + public static let vpnReceiptStatus = Option(key: "vpn.expiration-date", default: nil) /// Whether free trial for the vpn expired for the user. public static let freeTrialUsed = Option(key: "vpn.free-trial-used", default: false) /// First time after user background the app after after installing vpn, we show a notification to say that the vpn diff --git a/Sources/BraveVPN/BraveVPNSettingsViewController.swift b/Sources/BraveVPN/BraveVPNSettingsViewController.swift index 90cae864f96..55f8d8306df 100644 --- a/Sources/BraveVPN/BraveVPNSettingsViewController.swift +++ b/Sources/BraveVPN/BraveVPNSettingsViewController.swift @@ -108,8 +108,8 @@ public class BraveVPNSettingsViewController: TableViewController { } }) - if Preferences.VPN.vpnReceiptStatus.value == .retryPeriod { - switchView.tintColor = .braveErrorLabel + if Preferences.VPN.vpnReceiptStatus.value == BraveVPN.ReceiptResponse.Status.retryPeriod.rawValue { + switchView.onTintColor = .braveErrorLabel } self.vpnConnectionStatusSwitch = switchView @@ -120,7 +120,7 @@ public class BraveVPNSettingsViewController: TableViewController { ], uuid: vpnStatusSectionCellId) let (subscriptionStatus, statusDetailColor) = { () -> (String, UIColor) in - if Preferences.VPN.vpnReceiptStatus.value == .retryPeriod { + if Preferences.VPN.vpnReceiptStatus.value == BraveVPN.ReceiptResponse.Status.retryPeriod.rawValue { return (Strings.VPN.vpnActionUpdatePaymentMethodSettingsText, .braveErrorLabel) } diff --git a/Sources/DesignSystem/Icons/Symbols.xcassets/leo.vpn.error.symbolset/Contents.json b/Sources/DesignSystem/Icons/Symbols.xcassets/leo.warning.triangle-filled.symbolset/Contents.json similarity index 100% rename from Sources/DesignSystem/Icons/Symbols.xcassets/leo.vpn.error.symbolset/Contents.json rename to Sources/DesignSystem/Icons/Symbols.xcassets/leo.warning.triangle-filled.symbolset/Contents.json