11#import " CMConfigurationsViewController.h"
22#import " InAppPurchasesManager.h"
33
4- #define kiAdsFeatureInstalled NSLocalizedString (@" Ads Removed" ,nil );
5- #define kiAdsRemovedANdVideoEnabledInstalled NSLocalizedString (@" Pro: All features enabled" ,nil );
4+ #define kiAdsFeatureInstalled NSLocalizedString (@" ✅ Ads Removed" ,nil );
5+ #define kiAdsRemovedANdVideoEnabledInstalled NSLocalizedString (@" ✅ Pro: All features enabled" ,nil );
6+ #define kTorchFeatureInstalled NSLocalizedString (@" ✅ Torch Feature Enabled" ,nil );
7+ #define kVideoFeatureEnabled NSLocalizedString (@" ✅ Video Feature Enabled" ,nil );
68#define SendMediaToRemoteDefault @" sendMediaToRemote"
79
810#import " AcknowledgmentsViewController.h"
@@ -93,7 +95,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
9395 UITableViewCell *cell = [tableView cellForRowAtIndexPath: indexPath];
9496 InAppPurchasesManager *manager = [InAppPurchasesManager sharedManager ];
9597 if ([cell isEqual: self .disableiAds]) {
96- if ([manager didUserBuyRemoveiAdsFeature ])
98+ if ([manager hasAdRemovalFeature ])
9799 return ;
98100 if ([[[cell textLabel ] text ] isEqualToString: NSLocalizedString(@" Tap to refresh from AppStore." , nil )]) {
99101 [manager reloadProductsWithHandler: ^(InAppPurchasesManager *purchasesManager, NSError *error) {
@@ -115,14 +117,14 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
115117 }];
116118 }
117119 } else if ([cell isEqual: self .disableAdsAndEnableVideoRecording]) {
118- if ([manager didUserBuyRemoveiAdsFeatureAndEnableVideo ])
120+ if ([manager hasProMode ])
119121 return ;
120122 if ([[[cell textLabel ] text ] isEqualToString: NSLocalizedString(@" Tap to refresh from AppStore." , nil )]) {
121123 [manager reloadProductsWithHandler: ^(InAppPurchasesManager *purchasesManager, NSError *error) {
122- if (!error) [self fillRestoreRemoveAdsAndEnableVideoRow ];
124+ if (!error) [self fillRestoreProModeAquiredRow ];
123125 }];
124126 } else {
125- [manager userWantsToBuyFeature: RemoveAdsAndEnableVideoIdentifier withHandler: ^(InAppPurchasesManager *purchasesManager, NSError *error) {
127+ [manager userWantsToBuyFeature: ProModeAquiredIdentifier withHandler: ^(InAppPurchasesManager *purchasesManager, NSError *error) {
126128 if (error) {
127129 UIAlertController *alert = [UIAlertController alertControllerWithTitle: NSLocalizedString(@" InApp Purchases:" , nil ) message: [error localizedDescription ] preferredStyle: UIAlertControllerStyleAlert];
128130 [alert addAction: [UIAlertAction actionWithTitle: NSLocalizedString(@" Ok" , nil ) style: UIAlertActionStyleDefault handler: ^(UIAlertAction *_Nonnull action) {
@@ -131,13 +133,30 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
131133
132134 [self presentViewController: alert animated: TRUE completion: NULL ];
133135 } else {
134- [self fillRestoreRemoveAdsAndEnableVideoRow ];
135- [[NSNotificationCenter defaultCenter ] postNotificationName: Constants.RemoveAdsAndEnableVideo object: nil ];
136+ InAppPurchasesManager *manager = [InAppPurchasesManager sharedManager ];
137+
138+ // Always refresh the Pro mode row
139+ [self fillRestoreProModeAquiredRow ];
140+
141+ // Check each feature and refresh if now available
142+ if ([manager hasAdRemovalFeature ]) {
143+ [self fillRestoreiAdsRow ];
144+ }
145+
146+ if ([manager hasTorchFeature ]) {
147+ [self fillRestoreEnableTorchFeatureRow ];
148+ }
149+
150+ if ([manager hasVideoRecordingFeature ]) {
151+ [self fillRestoreEnableVideoOnlyFeatureRow ];
152+ }
153+
154+ [[NSNotificationCenter defaultCenter ] postNotificationName: Constants.ProModeAquired object: nil ];
136155 }
137156 }];
138157 }
139158 } else if ([cell isEqual: self .enableTorchFeature]) {
140- if ([manager didUserBuyEnableTorchFeature ])
159+ if ([manager hasTorchFeature ])
141160 return ;
142161 if ([[[cell textLabel ] text ] isEqualToString: NSLocalizedString(@" Tap to refresh from AppStore." , nil )]) {
143162 [manager reloadProductsWithHandler: ^(InAppPurchasesManager *purchasesManager, NSError *error) {
@@ -155,7 +174,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath
155174 }];
156175 }
157176 } else if ([cell isEqual: self .enableVideoOnlyFeature]) {
158- if ([manager didUserBuyEnableVideoOnlyFeature ])
177+ if ([manager hasVideoRecordingFeature ])
159178 return ;
160179 if ([[[cell textLabel ] text ] isEqualToString: NSLocalizedString(@" Tap to refresh from AppStore." , nil )]) {
161180 [manager reloadProductsWithHandler: ^(InAppPurchasesManager *purchasesManager, NSError *error) {
@@ -204,11 +223,11 @@ - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)ce
204223 InAppPurchasesManager *manager = [InAppPurchasesManager sharedManager ];
205224 NSArray *products = [manager products ];
206225 if ([products count ] > 0 ) {
207- [self fillRestoreRemoveAdsAndEnableVideoRow ];
226+ [self fillRestoreProModeAquiredRow ];
208227 } else {
209228 [manager reloadProductsWithHandler: ^(InAppPurchasesManager *purchasesManager, NSError *error) {
210229 if (!error) {
211- [self fillRestoreRemoveAdsAndEnableVideoRow ];
230+ [self fillRestoreProModeAquiredRow ];
212231 }
213232 }];
214233 }
@@ -251,7 +270,7 @@ - (void)fillRestoreiAdsRow {
251270 InAppPurchasesManager *manager = [InAppPurchasesManager sharedManager ];
252271 NSArray *products = [manager products ];
253272
254- if ([manager didUserBuyProBundle ] || [manager didUserBuyRemoveiAdsFeature ]) {
273+ if ([manager hasAdRemovalFeature ]) {
255274 self.disableiAds .textLabel .text = kiAdsFeatureInstalled;
256275 self.disableiAds .detailTextLabel .text = @" " ;
257276 [self .disableiAds setNeedsDisplay ];
@@ -265,16 +284,16 @@ - (void)fillRestoreiAdsRow {
265284 });
266285}
267286
268- - (void )fillRestoreRemoveAdsAndEnableVideoRow {
287+ - (void )fillRestoreProModeAquiredRow {
269288 dispatch_async (dispatch_get_main_queue (), ^{
270289 InAppPurchasesManager *manager = [InAppPurchasesManager sharedManager ];
271290 NSArray *products = [manager products ];
272291 UITableViewCell * disableAdsAndEnableVideo = self.disableAdsAndEnableVideoRecording ;
273- if ([manager didUserBuyRemoveiAdsFeatureAndEnableVideo ]) {
292+ if ([manager hasProMode ]) {
274293 disableAdsAndEnableVideo.textLabel .text = kiAdsRemovedANdVideoEnabledInstalled;
275294 disableAdsAndEnableVideo.detailTextLabel .text = @" " ;
276295 } else if ([products count ] > 0 ) {
277- SKProduct *disableAdsAndEnableVideoProduct = [manager productWithIdentifier: RemoveAdsAndEnableVideoIdentifier ];
296+ SKProduct *disableAdsAndEnableVideoProduct = [manager productWithIdentifier: ProModeAquiredIdentifier ];
278297 if (disableAdsAndEnableVideoProduct == nil ) {
279298 return ;
280299 }
@@ -293,8 +312,8 @@ - (void)fillRestoreEnableTorchFeatureRow {
293312 UITableViewCell * enableTorchFeature = self.enableTorchFeature ;
294313
295314
296- if ([manager didUserBuyProBundle ] || [manager didUserBuyEnableTorchFeature ]) {
297- enableTorchFeature.textLabel .text = NSLocalizedString( @" Torch Feature Enabled " , nil ) ;
315+ if ([manager hasTorchFeature ]) {
316+ enableTorchFeature.textLabel .text = kTorchFeatureInstalled ;
298317 enableTorchFeature.detailTextLabel .text = @" " ;
299318 } else if ([products count ] > 0 ) {
300319 SKProduct *enableTorchFeatureProduct = [manager productWithIdentifier: EnableTorchFeatureIdentifier];
@@ -315,8 +334,8 @@ - (void)fillRestoreEnableVideoOnlyFeatureRow {
315334 NSArray *products = [manager products ];
316335 UITableViewCell * enableVideoOnlyFeature = self.enableVideoOnlyFeature ;
317336
318- if ([manager didUserBuyProBundle ] || [manager didUserBuyEnableVideoOnlyFeature ]) {
319- enableVideoOnlyFeature.textLabel .text = @" Video Feature Enabled " ;
337+ if ([manager hasVideoRecordingFeature ]) {
338+ enableVideoOnlyFeature.textLabel .text = kVideoFeatureEnabled ;
320339 enableVideoOnlyFeature.detailTextLabel .text = @" " ;
321340 } else if ([products count ] > 0 ) {
322341 SKProduct *enableVideoOnlyFeatureProduct = [manager productWithIdentifier: EnableVideoOnlyFeatureIdentifier];
@@ -370,7 +389,7 @@ - (void)restoreThePurchases {
370389 [[InAppPurchasesManager sharedManager ] restorePurchasesWithHandler: ^(InAppPurchasesManager *purchasesManager, NSError *error) {
371390 if (!error) {
372391 [self fillRestoreiAdsRow ];
373- [self fillRestoreRemoveAdsAndEnableVideoRow ];
392+ [self fillRestoreProModeAquiredRow ];
374393 [self fillRestoreEnableTorchFeatureRow ];
375394 [self fillRestoreEnableVideoOnlyFeatureRow ];
376395 }
0 commit comments