Skip to content

Commit cc70060

Browse files
authored
Merge pull request #9816 from woocommerce/issue/reset-defaults-setting
[Privacy Choices] Add hidden setting to reset the privacy banner presentation settings
2 parents ecaf868 + 333f246 commit cc70060

File tree

1 file changed

+22
-15
lines changed

1 file changed

+22
-15
lines changed

WooCommerce/Classes/ViewRelated/Dashboard/Settings/Settings/SettingsViewController.swift

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ private extension SettingsViewController {
115115
footerView.iconColor = .primary
116116
footerView.footnote.textAlignment = .center
117117
footerView.footnote.delegate = self
118-
footerView.icon.addGestureRecognizer(crashDebugMenuGestureRecognizer)
118+
footerView.icon.addGestureRecognizer(hiddenSettingsGestureRecognizer)
119119
footerView.icon.isUserInteractionEnabled = true
120120

121121
tableView.tableFooterView = footerContainer
@@ -470,32 +470,39 @@ private extension SettingsViewController {
470470
}
471471

472472

473-
// MARK: - Crash Debug Menu
473+
// MARK: - Hidden Settings Debug Menu
474474
//
475475
private extension SettingsViewController {
476476

477-
var crashDebugMenuGestureRecognizer: UITapGestureRecognizer {
478-
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(didInvokeCrashDebugMenu))
477+
var hiddenSettingsGestureRecognizer: UITapGestureRecognizer {
478+
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(didInvokeHiddenSettings))
479479
gestureRecognizer.numberOfTapsRequired = 4
480480
return gestureRecognizer
481481
}
482482

483-
@objc func didInvokeCrashDebugMenu(_ sender: UITapGestureRecognizer? = nil) {
484-
let crashDebugMenu = UIAlertController(title: Localization.CrashDebugMenu.title, message: nil, preferredStyle: .actionSheet)
485-
crashDebugMenu.addAction(crashDebugMenuCrashAction)
486-
crashDebugMenu.addAction(crashDebugMenuCancelAction)
483+
@objc func didInvokeHiddenSettings(_ sender: UITapGestureRecognizer? = nil) {
484+
let hiddenSettingsMenu = UIAlertController(title: nil, message: nil, preferredStyle: .actionSheet)
485+
hiddenSettingsMenu.addAction(resetPrivacyChoicesAction)
486+
hiddenSettingsMenu.addAction(crashDebugMenuCrashAction)
487+
hiddenSettingsMenu.addAction(crashDebugMenuCancelAction)
487488

488-
present(crashDebugMenu, animated: true, completion: nil)
489+
present(hiddenSettingsMenu, animated: true, completion: nil)
490+
}
491+
492+
var resetPrivacyChoicesAction: UIAlertAction {
493+
return UIAlertAction(title: Localization.HiddenSettingsMenu.resetPrivacyChoices, style: .default) { _ in
494+
UserDefaults.standard[.hasSavedPrivacyBannerSettings] = false
495+
}
489496
}
490497

491498
var crashDebugMenuCrashAction: UIAlertAction {
492-
return UIAlertAction(title: Localization.CrashDebugMenu.crashImmediately, style: .destructive) { _ in
499+
return UIAlertAction(title: Localization.HiddenSettingsMenu.crashImmediately, style: .destructive) { _ in
493500
ServiceLocator.crashLogging.crash()
494501
}
495502
}
496503

497504
var crashDebugMenuCancelAction: UIAlertAction {
498-
return UIAlertAction(title: Localization.CrashDebugMenu.cancel, style: .cancel, handler: nil)
505+
return UIAlertAction(title: Localization.HiddenSettingsMenu.cancel, style: .cancel, handler: nil)
499506
}
500507
}
501508

@@ -831,10 +838,10 @@ private extension SettingsViewController {
831838
comment: "It reads 'Made with love by Automattic. We’re hiring!'. Place \'We’re hiring!' between `<a>` and `</a>`"
832839
)
833840

834-
enum CrashDebugMenu {
835-
static let title = NSLocalizedString(
836-
"Crash Debug Menu",
837-
comment: "The title for a menu that helps debug crashes in production builds"
841+
enum HiddenSettingsMenu {
842+
static let resetPrivacyChoices = NSLocalizedString(
843+
"Reset Privacy Choice Banner State",
844+
comment: "The title for a menu to reset the privacy choice banner presentation"
838845
)
839846

840847
static let crashImmediately = NSLocalizedString(

0 commit comments

Comments
 (0)