@@ -15,13 +15,15 @@ enum PaykitFeatureFlags {
1515 isUIAvailable && UserDefaults . standard. bool ( forKey: uiEnabledKey)
1616 }
1717
18- static func enforceBuildAvailability( ) {
19- let defaults = UserDefaults . standard
20- let hasPublishedState = defaults. bool ( forKey: PublicPaykitService . publishingEnabledKey) ||
21- defaults. bool ( forKey: PrivatePaykitService . publishingEnabledKey) ||
18+ static func enforceBuildAvailability( defaults: UserDefaults = . standard, isUIEnabled: Bool = Self . isUIEnabled) {
19+ let hasPublicPublishedState = defaults. bool ( forKey: PublicPaykitService . publishingEnabledKey) ||
2220 defaults. bool ( forKey: " hasConfirmedPublicPaykitEndpoints " ) ||
2321 !( defaults. string ( forKey: " publicPaykitBolt11 " ) ?? " " ) . isEmpty
24-
22+ let hasPrivatePublishedState = defaults. bool ( forKey: PrivatePaykitService . publishingEnabledKey)
23+ let hasPublishedState = hasPublicPublishedState ||
24+ hasPrivatePublishedState ||
25+ defaults. bool ( forKey: PublicPaykitService . cleanupPendingKey) ||
26+ defaults. bool ( forKey: PrivatePaykitService . cleanupPendingKey)
2527 guard !isUIEnabled, hasPublishedState else { return }
2628
2729 defaults. set ( false , forKey: uiEnabledKey)
@@ -32,6 +34,11 @@ enum PaykitFeatureFlags {
3234 defaults. removeObject ( forKey: " publicPaykitBolt11PaymentHash " )
3335 defaults. removeObject ( forKey: " publicPaykitBolt11ExpiresAt " )
3436
35- PrivatePaykitService . setContactSharingCleanupPending ( true )
37+ if hasPublicPublishedState {
38+ defaults. set ( true , forKey: PublicPaykitService . cleanupPendingKey)
39+ }
40+ if hasPrivatePublishedState {
41+ defaults. set ( true , forKey: PrivatePaykitService . cleanupPendingKey)
42+ }
3643 }
3744}
0 commit comments