@@ -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//
475475private 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