Skip to content

Commit 57287d9

Browse files
authored
Merge pull request #1221 from OneSignal/5.0.0/move_language_to_user
[5.0.0] Delete language classes and let properties model itself handle language
2 parents afedcb4 + f3cfa15 commit 57287d9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1126
-1043
lines changed

MIGRATION_GUIDE.md

Lines changed: 54 additions & 61 deletions
Large diffs are not rendered by default.

iOS_SDK/OneSignalDevApp/OneSignalDevApp/AppDelegate.m

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
5151

5252
NSLog(@"Bundle URL: %@", [[NSBundle mainBundle] bundleURL]);
5353
[OneSignal.Debug setLogLevel:ONE_S_LL_VERBOSE];
54-
[OneSignal.Debug setVisualLevel:ONE_S_LL_NONE];
54+
[OneSignal.Debug setAlertLevel:ONE_S_LL_NONE];
5555

5656
[OneSignal initialize:[AppDelegate getOneSignalAppId] withLaunchOptions:launchOptions];
5757

@@ -84,19 +84,14 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
8484
[OneSignal setLaunchURLsInApp:YES];
8585
[OneSignal setProvidesNotificationSettingsView:NO];
8686

87-
88-
[OneSignal.Notifications requestPermission:^(BOOL accepted) {
89-
NSLog(@"OneSignal Demo App requestPermission: %d", accepted);
90-
}];
91-
9287
[OneSignal.InAppMessages setLifecycleHandler:self];
9388
[OneSignal.InAppMessages paused:true];
9489

9590
[OneSignal.Notifications setNotificationWillShowInForegroundHandler:notificationReceiverBlock];
9691
[OneSignal.Notifications setNotificationOpenedHandler:openNotificationHandler];
9792

98-
OSPushSubscriptionState* state = [OneSignal.User.pushSubscription addObserver:self];
99-
NSLog(@"OneSignal Demo App push subscription observer added, current state: %@", state);
93+
[OneSignal.User.pushSubscription addObserver:self];
94+
NSLog(@"OneSignal Demo App push subscription observer added");
10095

10196
[OneSignal.Notifications addPermissionObserver:self];
10297

@@ -122,12 +117,12 @@ + (void) setOneSignalAppId:(NSString*)onesignalAppId {
122117
// [OneSignal setAppId:onesignalAppId];
123118
}
124119

125-
- (void) onOSPermissionChanged:(OSPermissionStateChanges*)stateChanges {
126-
NSLog(@"onOSPermissionChanged: %@", stateChanges);
120+
- (void)onOSPermissionChanged:(OSPermissionState*)state {
121+
NSLog(@"Dev App onOSPermissionChanged: %@", state);
127122
}
128123

129124
- (void)onOSPushSubscriptionChangedWithStateChanges:(OSPushSubscriptionStateChanges *)stateChanges {
130-
NSLog(@"onOSPushSubscriptionChangedWithStateChanges: %@", stateChanges);
125+
NSLog(@"Dev App onOSPushSubscriptionChangedWithStateChanges: %@", stateChanges);
131126
ViewController* mainController = (ViewController*) self.window.rootViewController;
132127
mainController.subscriptionSegmentedControl.selectedSegmentIndex = (NSInteger) stateChanges.to.optedIn;
133128
}

iOS_SDK/OneSignalDevApp/OneSignalDevApp/Base.lproj/Main.storyboard

Lines changed: 294 additions & 157 deletions
Large diffs are not rendered by default.

iOS_SDK/OneSignalDevApp/OneSignalDevApp/LiveActivityController.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class LiveActivityController: NSObject {
4646
@objc
4747
static func createActivity() async -> String? {
4848
if #available(iOS 16.1, *) {
49-
counter += 1;
49+
counter += 1
5050
let attributes = OneSignalWidgetAttributes(title: "#" + String(counter) + " OneSignal Dev App Live Activity")
5151
let contentState = OneSignalWidgetAttributes.ContentState(message: "Update this message through push or with Activity Kit")
5252
do {
@@ -58,7 +58,7 @@ class LiveActivityController: NSObject {
5858
let myToken = data.map {String(format: "%02x", $0)}.joined()
5959
return myToken
6060
}
61-
} catch (let error) {
61+
} catch let error {
6262
print(error.localizedDescription)
6363
return nil
6464
}

iOS_SDK/OneSignalDevApp/OneSignalDevApp/ViewController.h

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,17 +38,29 @@
3838
@property (weak, nonatomic) IBOutlet UITextField *appIdTextField;
3939
@property (weak, nonatomic) IBOutlet UIButton *updateAppIdButton;
4040
@property (weak, nonatomic) IBOutlet UIButton *sendTagButton;
41-
@property (weak, nonatomic) IBOutlet UIButton *getTagsButton;
41+
@property (weak, nonatomic) IBOutlet UIButton *getInfoButton;
4242
@property (weak, nonatomic) IBOutlet UIButton *sendTagsButton;
4343
@property (weak, nonatomic) IBOutlet UIButton *promptPushButton;
4444
@property (weak, nonatomic) IBOutlet UIButton *promptLocationButton;
4545
@property (weak, nonatomic) IBOutlet UISegmentedControl *subscriptionSegmentedControl;
4646
@property (weak, nonatomic) IBOutlet UITextField *emailTextField;
47-
@property (weak, nonatomic) IBOutlet UIButton *setEmailButton;
48-
@property (weak, nonatomic) IBOutlet UIButton *logoutEmailButton;
47+
@property (weak, nonatomic) IBOutlet UIButton *addEmailButton;
48+
@property (weak, nonatomic) IBOutlet UIButton *removeEmailButton;
49+
50+
@property (weak, nonatomic) IBOutlet UITextField *smsTextField;
51+
@property (weak, nonatomic) IBOutlet UIButton *addSmsButton;
52+
@property (weak, nonatomic) IBOutlet UIButton *removeSmsButton;
53+
4954
@property (weak, nonatomic) IBOutlet UITextField *externalUserIdTextField;
50-
@property (weak, nonatomic) IBOutlet UIButton *setExternalUserIdButton;
51-
@property (weak, nonatomic) IBOutlet UIButton *removeExternalUserIdButton;
55+
@property (weak, nonatomic) IBOutlet UIButton *loginExternalUserIdButton;
56+
@property (weak, nonatomic) IBOutlet UIButton *logoutButton;
57+
58+
@property (weak, nonatomic) IBOutlet UITextField *addAliasLabelTextField;
59+
@property (weak, nonatomic) IBOutlet UITextField *addAliasIdTextField;
60+
@property (weak, nonatomic) IBOutlet UIButton *addAliasButton;
61+
@property (weak, nonatomic) IBOutlet UITextField *removeAliasLabelTextField;
62+
@property (weak, nonatomic) IBOutlet UIButton *removeAliasButton;
63+
5264
@property (weak, nonatomic) IBOutlet UISegmentedControl *locationSharedSegementedControl;
5365
@property (weak, nonatomic) IBOutlet UISegmentedControl *inAppMessagingSegmentedControl;
5466
@property (weak, nonatomic) IBOutlet UITextField *addTriggerKey;
@@ -61,10 +73,11 @@
6173
@property (weak, nonatomic) IBOutlet UITextField *outcomeValueName;
6274
@property (weak, nonatomic) IBOutlet UITextField *outcomeValue;
6375
@property (weak, nonatomic) IBOutlet UITextField *outcomeUniqueName;
64-
@property (weak, nonatomic) IBOutlet UITextView *result;
6576
@property (weak, nonatomic) IBOutlet UITextField *tagKey;
6677
@property (weak, nonatomic) IBOutlet UITextField *tagValue;
6778
@property (weak, nonatomic) IBOutlet UITextField *activityId;
6879

80+
@property (weak, nonatomic) IBOutlet UITextField *languageTextField;
81+
6982
@end
7083

iOS_SDK/OneSignalDevApp/OneSignalDevApp/ViewController.m

Lines changed: 65 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ - (void)viewDidLoad {
4242

4343
self.consentSegmentedControl.selectedSegmentIndex = (NSInteger) ![OneSignal requiresPrivacyConsent];
4444

45-
// self.subscriptionSegmentedControl.selectedSegmentIndex = (NSInteger) OneSignal.getDeviceState.isSubscribed;
45+
self.subscriptionSegmentedControl.selectedSegmentIndex = (NSInteger) OneSignal.User.pushSubscription.optedIn;
4646

4747
self.locationSharedSegementedControl.selectedSegmentIndex = (NSInteger) [OneSignal.Location isShared];
4848

@@ -60,7 +60,8 @@ - (void)changeAnimationState:(BOOL)animating {
6060
}
6161

6262
- (IBAction)updateAppId:(id)sender {
63-
[AppDelegate setOneSignalAppId:self.appIdTextField.text];
63+
// [AppDelegate setOneSignalAppId:self.appIdTextField.text];
64+
NSLog(@"Dev App: Not a feature, can't change app id, no op!");
6465
}
6566

6667
- (IBAction)addTriggerAction:(id)sender {
@@ -84,16 +85,41 @@ - (IBAction)getTriggersAction:(id)sender {
8485
NSLog(@"Getting triggers no longer supported");
8586
}
8687

87-
- (IBAction)setEmailButton:(id)sender {
88+
- (IBAction)addEmailButton:(id)sender {
8889
NSString *email = self.emailTextField.text;
89-
NSLog(@"Adding email with email: %@", email);
90+
NSLog(@"Dev App: add email: %@", email);
9091
[OneSignal.User addEmail:email];
9192
}
9293

93-
- (IBAction)logoutEmailButton:(id)sender {
94+
- (IBAction)removeEmailButton:(id)sender {
9495
NSString *email = self.emailTextField.text;
95-
BOOL canRemove = [OneSignal.User removeEmail:email];
96-
NSLog(@"Removing email with email: %@ and canRemove: %d", email, canRemove);
96+
NSLog(@"Dev App: Removing email: %@", email);
97+
[OneSignal.User removeEmail:email];
98+
}
99+
100+
- (IBAction)addSmsButton:(id)sender {
101+
NSString *sms = self.smsTextField.text;
102+
NSLog(@"Dev App: Add sms: %@", sms);
103+
[OneSignal.User addSms:sms];
104+
}
105+
106+
- (IBAction)removeSmsButton:(id)sender {
107+
NSString *sms = self.smsTextField.text;
108+
NSLog(@"Dev App: Removing sms: %@", sms);
109+
[OneSignal.User removeSms:sms];
110+
}
111+
112+
- (IBAction)addAliasButton:(UIButton *)sender {
113+
NSString* label = self.addAliasLabelTextField.text;
114+
NSString* id = self.addAliasIdTextField.text;
115+
NSLog(@"Dev App: Add alias with label %@ and ID %@", label, id);
116+
[OneSignal.User addAliasWithLabel:label id:id];
117+
}
118+
119+
- (IBAction)removeAliasButton:(UIButton *)sender {
120+
NSString* label = self.removeAliasLabelTextField.text;
121+
NSLog(@"Dev App: Removing alias with label %@", label);
122+
[OneSignal.User removeAlias:label];
97123
}
98124

99125
- (IBAction)sendTagButton:(id)sender {
@@ -104,8 +130,8 @@ - (IBAction)sendTagButton:(id)sender {
104130
}
105131
}
106132

107-
- (IBAction)getTagsButton:(id)sender {
108-
NSLog(@"getTags no longer supported");
133+
- (IBAction)getInfoButton:(id)sender {
134+
NSLog(@"Dev App: get User and Device information, you need to fill in");
109135
}
110136

111137
- (IBAction)sendTagsButton:(id)sender {
@@ -147,7 +173,13 @@ - (IBAction)consentSegmentedControlValueChanged:(UISegmentedControl *)sender {
147173

148174
- (IBAction)subscriptionSegmentedControlValueChanged:(UISegmentedControl *)sender {
149175
NSLog(@"View controller subscription status: %i", (int) sender.selectedSegmentIndex);
150-
// [OneSignal disablePush:(bool) !sender.selectedSegmentIndex];
176+
if (sender.selectedSegmentIndex) {
177+
[OneSignal.User.pushSubscription optIn];
178+
} else {
179+
[OneSignal.User.pushSubscription optOut];
180+
}
181+
sender.selectedSegmentIndex = (NSInteger) OneSignal.User.pushSubscription.optedIn;
182+
151183
}
152184

153185
- (IBAction)locationSharedSegmentedControlValueChanged:(UISegmentedControl *)sender {
@@ -164,13 +196,13 @@ - (void)handleMessageAction:(NSString *)actionId {
164196
NSLog(@"View controller did get action: %@", actionId);
165197
}
166198

167-
- (IBAction)setExternalUserId:(UIButton *)sender {
199+
- (IBAction)loginExternalUserId:(UIButton *)sender {
168200
NSString* externalUserId = self.externalUserIdTextField.text;
169201
NSLog(@"Dev App: Logging in to external user ID %@", externalUserId);
170202
[OneSignal login:externalUserId];
171203
}
172204

173-
- (IBAction)removeExternalUserId:(UIButton *)sender {
205+
- (IBAction)logout:(UIButton *)sender {
174206
NSLog(@"Dev App: Logout called.");
175207
[OneSignal logout];
176208
}
@@ -223,4 +255,25 @@ - (IBAction)exitLiveActivity:(id)sender {
223255
}
224256
}
225257

258+
- (IBAction)setLanguage:(id)sender {
259+
NSLog(@"Dev App: set language called.");
260+
NSString *language = self.languageTextField.text;
261+
[OneSignal.User setLanguage:language];
262+
}
263+
264+
- (IBAction)clearAllNotifications:(id)sender {
265+
NSLog(@"Dev App: clear All Notifications called.");
266+
[OneSignal.Notifications clearAll];
267+
}
268+
269+
- (IBAction)requireConsent:(id)sender {
270+
NSLog(@"Dev App: setting setRequiresPrivacyConsent to true.");
271+
[OneSignal setRequiresPrivacyConsent:true];
272+
}
273+
274+
- (IBAction)dontRequireConsent:(id)sender {
275+
NSLog(@"Dev App: setting setRequiresPrivacyConsent to false.");
276+
[OneSignal setRequiresPrivacyConsent:false];
277+
}
278+
226279
@end

iOS_SDK/OneSignalDevApp/OneSignalDevAppClip/AppDelegate.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(
5252
NSLog(@"Bundle URL: %@", [[NSBundle mainBundle] bundleURL]);
5353

5454
[OneSignal.Debug setLogLevel:ONE_S_LL_VERBOSE];
55-
[OneSignal.Debug setVisualLevel:ONE_S_LL_NONE];
55+
[OneSignal.Debug setAlertLevel:ONE_S_LL_NONE];
5656
_notificationDelegate = [OneSignalNotificationCenterDelegate new];
5757

5858
id openNotificationHandler = ^(OSNotificationOpenedResult *result) {
@@ -112,8 +112,8 @@ + (void) setOneSignalAppId:(NSString*)onesignalAppId {
112112
[OneSignal initialize:onesignalAppId withLaunchOptions:nil];
113113
}
114114

115-
- (void) onOSPermissionChanged:(OSPermissionStateChanges*)stateChanges {
116-
NSLog(@"onOSPermissionChanged: %@", stateChanges);
115+
- (void) onOSPermissionChanged:(OSPermissionState*)state {
116+
NSLog(@"onOSPermissionChanged: %@", state);
117117
}
118118

119119
// TODO: Add push sub observer

0 commit comments

Comments
 (0)