diff --git a/DuckDuckGo/Debug.storyboard b/DuckDuckGo/Debug.storyboard index a3bf02c05e..ba66cfd846 100644 --- a/DuckDuckGo/Debug.storyboard +++ b/DuckDuckGo/Debug.storyboard @@ -1,9 +1,9 @@ - + - + @@ -21,9 +21,18 @@ - + + + + + + + + + + @@ -31,7 +40,7 @@ - + @@ -48,7 +57,7 @@ - + @@ -68,7 +77,7 @@ - + @@ -88,7 +97,7 @@ - + @@ -108,7 +117,7 @@ - + @@ -128,7 +137,7 @@ - + @@ -148,7 +157,7 @@ - + @@ -168,7 +177,7 @@ - + @@ -188,7 +197,7 @@ - + @@ -208,7 +217,7 @@ - + @@ -228,7 +237,7 @@ - + @@ -240,7 +249,7 @@ - + @@ -252,7 +261,7 @@ - + @@ -261,7 +270,7 @@ - + @@ -270,7 +279,7 @@ - + @@ -279,7 +288,7 @@ - + @@ -288,7 +297,7 @@ - + @@ -889,17 +898,17 @@ - + - + - + - + diff --git a/DuckDuckGo/RootDebugViewController.swift b/DuckDuckGo/RootDebugViewController.swift index f7eda55ecc..a12bccf6db 100644 --- a/DuckDuckGo/RootDebugViewController.swift +++ b/DuckDuckGo/RootDebugViewController.swift @@ -37,6 +37,7 @@ class RootDebugViewController: UITableViewController { case toggleInspectableWebViews = 668 case toggleInternalUserState = 669 case openVanillaBrowser = 670 + case refreshConfig = 671 } @IBOutlet weak var shareButton: UIBarButtonItem! @@ -52,6 +53,9 @@ class RootDebugViewController: UITableViewController { private var internalUserDecider: DefaultInternalUserDecider? var tabManager: TabManager? + @UserDefaultsWrapper(key: .lastConfigurationRefreshDate, defaultValue: .distantPast) + private var lastConfigurationRefreshDate: Date + init?(coder: NSCoder, sync: DDGSyncing, bookmarksDatabase: CoreDataDatabase, @@ -143,6 +147,26 @@ class RootDebugViewController: UITableViewController { NotificationCenter.default.post(Notification(name: AppUserDefaults.Notifications.inspectableWebViewsToggled)) case .openVanillaBrowser: openVanillaBrowser(nil) + case .refreshConfig: + fetchAssets() + } + } + } + + func fetchAssets() { + self.lastConfigurationRefreshDate = Date.distantPast + AppConfigurationFetch().start(isDebug: true) { [weak tableView] result in + switch result { + case .assetsUpdated(let protectionsUpdated): + if protectionsUpdated { + ContentBlocking.shared.contentBlockingManager.scheduleCompilation() + } + DispatchQueue.main.async { + tableView?.reloadData() + } + + case .noData: + break } } }