Skip to content

Commit b71351c

Browse files
committed
Update Language implementation
* Move Language implementation to new group without folder * Update copyright text on each Language implementation file * Move all OSUD_LANGUAGE and DEFAULT_LANGUAGE defines to LanguageContext.h
1 parent fcf406b commit b71351c

14 files changed

+295
-170
lines changed

iOS_SDK/OneSignalSDK/Source/Language/LanguageContext.h

Lines changed: 0 additions & 29 deletions
This file was deleted.

iOS_SDK/OneSignalSDK/Source/Language/LanguageContext.m

Lines changed: 0 additions & 31 deletions
This file was deleted.

iOS_SDK/OneSignalSDK/Source/Language/LanguageProvider.h

Lines changed: 0 additions & 17 deletions
This file was deleted.

iOS_SDK/OneSignalSDK/Source/Language/LanguageProviderAppDefined.h

Lines changed: 0 additions & 28 deletions
This file was deleted.

iOS_SDK/OneSignalSDK/Source/Language/LanguageProviderAppDefined.m

Lines changed: 0 additions & 22 deletions
This file was deleted.

iOS_SDK/OneSignalSDK/Source/Language/LanguageProviderDevice.h

Lines changed: 0 additions & 22 deletions
This file was deleted.

iOS_SDK/OneSignalSDK/Source/Language/LanguageProviderDevice.m

Lines changed: 0 additions & 21 deletions
This file was deleted.
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
/**
2+
* Modified MIT License
3+
*
4+
* Copyright 2021 OneSignal
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* 1. The above copyright notice and this permission notice shall be included in
14+
* all copies or substantial portions of the Software.
15+
*
16+
* 2. All copies of substantial portions of the Software may only be used in connection
17+
* with services provided by OneSignal.
18+
*
19+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25+
* THE SOFTWARE.
26+
*/
27+
28+
#import <Foundation/Foundation.h>
29+
#import "LanguageProvider.h"
30+
31+
#define OSUD_LANGUAGE @"OSUD_LANGUAGE" // * OSUD_LANGUAGE
32+
#define DEFAULT_LANGUAGE @"en" // * OSUD_LANGUAGE
33+
34+
NS_ASSUME_NONNULL_BEGIN
35+
36+
@interface LanguageContext : NSObject
37+
38+
- (void)setStrategy:(NSObject<LanguageProvider>*)strategy;
39+
40+
@property (nonatomic, nonnull)NSString* language;
41+
42+
@end
43+
44+
NS_ASSUME_NONNULL_END
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/**
2+
* Modified MIT License
3+
*
4+
* Copyright 2021 OneSignal
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* 1. The above copyright notice and this permission notice shall be included in
14+
* all copies or substantial portions of the Software.
15+
*
16+
* 2. All copies of substantial portions of the Software may only be used in connection
17+
* with services provided by OneSignal.
18+
*
19+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25+
* THE SOFTWARE.
26+
*/
27+
28+
#import "LanguageContext.h"
29+
#import "LanguageProvider.h"
30+
#import "OneSignalUserDefaults.h"
31+
#import "OneSignalHelper.h"
32+
#import "LanguageProviderDevice.h"
33+
#import "LanguageProviderAppDefined.h"
34+
35+
@implementation LanguageContext {
36+
37+
NSObject<LanguageProvider> *strategy;
38+
}
39+
40+
- (instancetype)init {
41+
self = [super init];
42+
let languageAppDefined = [OneSignalUserDefaults.initStandard getSavedStringForKey:OSUD_LANGUAGE defaultValue:nil];
43+
if (languageAppDefined == nil) {
44+
strategy = [LanguageProviderDevice new];
45+
} else {
46+
strategy = [LanguageProviderAppDefined new];
47+
}
48+
return self;
49+
}
50+
51+
- (void)setStrategy:(NSObject<LanguageProvider>*)newStrategy {
52+
strategy = newStrategy;
53+
}
54+
55+
- (NSString *)language {
56+
return strategy.language;
57+
}
58+
@end
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* Modified MIT License
3+
*
4+
* Copyright 2021 OneSignal
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* 1. The above copyright notice and this permission notice shall be included in
14+
* all copies or substantial portions of the Software.
15+
*
16+
* 2. All copies of substantial portions of the Software may only be used in connection
17+
* with services provided by OneSignal.
18+
*
19+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25+
* THE SOFTWARE.
26+
*/
27+
28+
@protocol LanguageProvider <NSObject>
29+
30+
@property (readonly, nonnull)NSString* language;
31+
32+
@end

0 commit comments

Comments
 (0)