forked from strongbox-password-safe/Strongbox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFreeTrialOnboardingViewController.m
115 lines (90 loc) · 3.21 KB
/
FreeTrialOnboardingViewController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
//
// WelcomeFreemiumViewController.m
// Strongbox
//
// Created by Mark on 03/04/2020.
// Copyright © 2014-2021 Mark McGuill. All rights reserved.
//
#import "FreeTrialOnboardingViewController.h"
#import "BiometricsManager.h"
#import "FreemiumStartFreeTrialViewController.h"
#import "ProUpgradeIAPManager.h"
#import "Alerts.h"
#import "SVProgressHUD.h"
#import "Model.h"
#import "AppPreferences.h"
@interface FreeTrialOnboardingViewController ()
@property (weak, nonatomic) IBOutlet UIButton *buttonTryPro;
@property (weak, nonatomic) IBOutlet UIButton *buttonUseFree;
@property (weak, nonatomic) IBOutlet UILabel *labelBiometricUnlockFeature;
@property (weak, nonatomic) IBOutlet UIImageView *imageViewOK1;
@property (weak, nonatomic) IBOutlet UIImageView *imageViewOK2;
@property (weak, nonatomic) IBOutlet UIImageView *imageViewOK3;
@property (weak, nonatomic) IBOutlet UIImageView *imageViewOK4;
@end
@implementation FreeTrialOnboardingViewController
- (BOOL)shouldAutorotate {
if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
return YES; /* Device is iPad */
}
else {
return NO;
}
}
- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
return UIInterfaceOrientationMaskAll; /* Device is iPad */
}
else {
return UIInterfaceOrientationMaskPortrait;
}
}
- (void)viewDidLoad {
[super viewDidLoad];
[self setupUi];
[NSNotificationCenter.defaultCenter addObserver:self selector:@selector(onProStatusChanged) name:kProStatusChangedNotificationKey object:nil];
}
- (void)setupUi {
self.buttonTryPro.layer.cornerRadius = 5.0f;
self.buttonUseFree.layer.cornerRadius = 5.0f;
self.imageViewOK1.image = [UIImage imageNamed:@"ok"];
self.imageViewOK2.image = [UIImage imageNamed:@"ok"];
self.imageViewOK3.image = [UIImage imageNamed:@"ok"];
self.imageViewOK4.image = [UIImage imageNamed:@"ok"];
NSString* loc = NSLocalizedString(@"generic_biometric_unlock_fmt", @"%@ Unlock");
NSString* fmt = [NSString stringWithFormat:loc, [BiometricsManager.sharedInstance getBiometricIdName]];
self.labelBiometricUnlockFeature.text = fmt;
}
- (IBAction)onTryPro:(id)sender {
[NSNotificationCenter.defaultCenter removeObserver:self];
[self performSegueWithIdentifier:@"segueToStartTrial" sender:nil];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
FreemiumStartFreeTrialViewController* vc = segue.destinationViewController;
vc.onDone = ^(BOOL purchasedOrRestoredFreeTrial) {
if ( purchasedOrRestoredFreeTrial ) {
[self onDismiss:nil];
}
};
}
- (void)onProStatusChanged {
if ( AppPreferences.sharedInstance.isProOrFreeTrial ) {
[self onDismiss:nil];
}
}
- (IBAction)onAskMeLater:(id)sender {
[self onDismiss:sender];
}
- (IBAction)onDismiss:(id)sender {
[NSNotificationCenter.defaultCenter removeObserver:self];
__weak FreeTrialOnboardingViewController* weakSelf = self;
dispatch_async(dispatch_get_main_queue(), ^{
if ( weakSelf.onDone ) {
weakSelf.onDone(NO, NO);
weakSelf.onDone = nil;
}
});
}
@end