Skip to content

Commit c0ade33

Browse files
authored
Add new remote params (#707)
* Add locationShared remote param * Add requiresUserPrivacyConcent remote param * Keep public method * Add tests for new getters
1 parent f900b89 commit c0ade33

13 files changed

Lines changed: 632 additions & 167 deletions

iOS_SDK/OneSignalSDK/OneSignal.xcodeproj/project.pbxproj

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,11 @@
144144
7AECE59E23675F6300537907 /* OSFocusTimeProcessorFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AECE59D23675F6300537907 /* OSFocusTimeProcessorFactory.m */; };
145145
7AECE59F23675F6300537907 /* OSFocusTimeProcessorFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AECE59D23675F6300537907 /* OSFocusTimeProcessorFactory.m */; };
146146
7AECE5A023675F6300537907 /* OSFocusTimeProcessorFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AECE59D23675F6300537907 /* OSFocusTimeProcessorFactory.m */; };
147+
7AF5174524FDC2AA00B076BC /* OSRemoteParamController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7AF5174424FDC2A100B076BC /* OSRemoteParamController.h */; };
148+
7AF5174724FDC2C500B076BC /* OSRemoteParamController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AF5174624FDC2C500B076BC /* OSRemoteParamController.m */; };
149+
7AF5174824FDC2C500B076BC /* OSRemoteParamController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AF5174624FDC2C500B076BC /* OSRemoteParamController.m */; };
150+
7AF5174924FDC2C500B076BC /* OSRemoteParamController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AF5174624FDC2C500B076BC /* OSRemoteParamController.m */; };
151+
7AF5174C24FE980400B076BC /* RemoteParamsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AF5174B24FE980400B076BC /* RemoteParamsTests.m */; };
147152
7AF8FDBB2332A58900A19245 /* OSSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A12EBD523060A6F005C4FA5 /* OSSessionManager.m */; };
148153
7AF8FDBD2332A5C200A19245 /* OSIndirectInfluence.m in Sources */ = {isa = PBXBuildFile; fileRef = 7A12EBDC23060B37005C4FA5 /* OSIndirectInfluence.m */; };
149154
7AF986352444C41A00C36EAE /* OSChannelTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = 7AF986342444C41A00C36EAE /* OSChannelTracker.m */; };
@@ -385,9 +390,9 @@
385390
CAB269E021B2038B00F8A43C /* OSInAppMessageBridgeEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB269DE21B2038B00F8A43C /* OSInAppMessageBridgeEvent.m */; };
386391
CAB269E121B2038B00F8A43C /* OSInAppMessageBridgeEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB269DE21B2038B00F8A43C /* OSInAppMessageBridgeEvent.m */; };
387392
CAB269E221B2038B00F8A43C /* OSInAppMessageBridgeEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB269DE21B2038B00F8A43C /* OSInAppMessageBridgeEvent.m */; };
388-
CAB4112920852E48005A70D1 /* DelayedInitializationParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB4112820852E48005A70D1 /* DelayedInitializationParameters.m */; };
389-
CAB4112A20852E4C005A70D1 /* DelayedInitializationParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB4112820852E48005A70D1 /* DelayedInitializationParameters.m */; };
390-
CAB4112B20852E4C005A70D1 /* DelayedInitializationParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB4112820852E48005A70D1 /* DelayedInitializationParameters.m */; };
393+
CAB4112920852E48005A70D1 /* DelayedConsentInitializationParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB4112820852E48005A70D1 /* DelayedConsentInitializationParameters.m */; };
394+
CAB4112A20852E4C005A70D1 /* DelayedConsentInitializationParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB4112820852E48005A70D1 /* DelayedConsentInitializationParameters.m */; };
395+
CAB4112B20852E4C005A70D1 /* DelayedConsentInitializationParameters.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB4112820852E48005A70D1 /* DelayedConsentInitializationParameters.m */; };
391396
CAB411AE208931EE005A70D1 /* DummyNotificationCenterDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CAB411AD208931EE005A70D1 /* DummyNotificationCenterDelegate.m */; };
392397
CACBAA96218A6243000ACAA5 /* OSInAppMessageViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = CACBAA8D218A6242000ACAA5 /* OSInAppMessageViewController.h */; };
393398
CACBAA97218A6243000ACAA5 /* OSMessagingController.m in Sources */ = {isa = PBXBuildFile; fileRef = CACBAA8E218A6242000ACAA5 /* OSMessagingController.m */; };
@@ -535,6 +540,9 @@
535540
7AECE59923674ADC00537907 /* OSUnattributedFocusTimeProcessor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OSUnattributedFocusTimeProcessor.h; sourceTree = "<group>"; };
536541
7AECE59B23675F5700537907 /* OSFocusTimeProcessorFactory.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OSFocusTimeProcessorFactory.h; sourceTree = "<group>"; };
537542
7AECE59D23675F6300537907 /* OSFocusTimeProcessorFactory.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OSFocusTimeProcessorFactory.m; sourceTree = "<group>"; };
543+
7AF5174424FDC2A100B076BC /* OSRemoteParamController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OSRemoteParamController.h; sourceTree = "<group>"; };
544+
7AF5174624FDC2C500B076BC /* OSRemoteParamController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OSRemoteParamController.m; sourceTree = "<group>"; };
545+
7AF5174B24FE980400B076BC /* RemoteParamsTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RemoteParamsTests.m; sourceTree = "<group>"; };
538546
7AF986342444C41A00C36EAE /* OSChannelTracker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OSChannelTracker.m; sourceTree = "<group>"; };
539547
7AF986382444C42700C36EAE /* OSChannelTracker.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OSChannelTracker.h; sourceTree = "<group>"; };
540548
7AF9863A2444C43900C36EAE /* OSInAppMessageTracker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OSInAppMessageTracker.m; sourceTree = "<group>"; };
@@ -674,8 +682,8 @@
674682
CAB269D821B0B6F000F8A43C /* OSInAppMessageAction.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OSInAppMessageAction.m; sourceTree = "<group>"; };
675683
CAB269DD21B2038B00F8A43C /* OSInAppMessageBridgeEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = OSInAppMessageBridgeEvent.h; sourceTree = "<group>"; };
676684
CAB269DE21B2038B00F8A43C /* OSInAppMessageBridgeEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = OSInAppMessageBridgeEvent.m; sourceTree = "<group>"; };
677-
CAB4112720852E48005A70D1 /* DelayedInitializationParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DelayedInitializationParameters.h; sourceTree = "<group>"; };
678-
CAB4112820852E48005A70D1 /* DelayedInitializationParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DelayedInitializationParameters.m; sourceTree = "<group>"; };
685+
CAB4112720852E48005A70D1 /* DelayedConsentInitializationParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DelayedConsentInitializationParameters.h; sourceTree = "<group>"; };
686+
CAB4112820852E48005A70D1 /* DelayedConsentInitializationParameters.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DelayedConsentInitializationParameters.m; sourceTree = "<group>"; };
679687
CAB411AC208931EE005A70D1 /* DummyNotificationCenterDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DummyNotificationCenterDelegate.h; sourceTree = "<group>"; };
680688
CAB411AD208931EE005A70D1 /* DummyNotificationCenterDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DummyNotificationCenterDelegate.m; sourceTree = "<group>"; };
681689
CACBAA8D218A6242000ACAA5 /* OSInAppMessageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSInAppMessageViewController.h; sourceTree = "<group>"; };
@@ -914,6 +922,15 @@
914922
name = OutcomeEvents;
915923
sourceTree = "<group>";
916924
};
925+
7AF5174A24FDC2D000B076BC /* RemoteParams */ = {
926+
isa = PBXGroup;
927+
children = (
928+
7AF5174424FDC2A100B076BC /* OSRemoteParamController.h */,
929+
7AF5174624FDC2C500B076BC /* OSRemoteParamController.m */,
930+
);
931+
name = RemoteParams;
932+
sourceTree = "<group>";
933+
};
917934
7AF98632243F84AC00C36EAE /* Influence */ = {
918935
isa = PBXGroup;
919936
children = (
@@ -983,6 +1000,7 @@
9831000
4529DECD1FA81DE000CEAB1D /* Shadows */,
9841001
CA8E19012193C6B0009DA223 /* InAppMessagingIntegrationTests.m */,
9851002
911E2CBC1E398AB3003112A4 /* UnitTests.m */,
1003+
7AF5174B24FE980400B076BC /* RemoteParamsTests.m */,
9861004
CACBAAA9218A65AE000ACAA5 /* InAppMessagingTests.m */,
9871005
CA85C15220604AEA003AB529 /* RequestTests.m */,
9881006
CAA4ED0020646762005BD59B /* BadgeTests.m */,
@@ -1017,6 +1035,7 @@
10171035
912411EE1E73342200E41FD7 /* Source */ = {
10181036
isa = PBXGroup;
10191037
children = (
1038+
7AF5174A24FDC2D000B076BC /* RemoteParams */,
10201039
7AAA606B2485D0D70004FADE /* Migration */,
10211040
7AF98632243F84AC00C36EAE /* Influence */,
10221041
7A674F172360D7DB001F9ACD /* OnFocus */,
@@ -1034,8 +1053,8 @@
10341053
912411F11E73342200E41FD7 /* OneSignal.m */,
10351054
DE16C14624D3727200670EFA /* OneSignalLifecycleObserver.h */,
10361055
DE16C14324D3724700670EFA /* OneSignalLifecycleObserver.m */,
1037-
CAB4112720852E48005A70D1 /* DelayedInitializationParameters.h */,
1038-
CAB4112820852E48005A70D1 /* DelayedInitializationParameters.m */,
1056+
CAB4112720852E48005A70D1 /* DelayedConsentInitializationParameters.h */,
1057+
CAB4112820852E48005A70D1 /* DelayedConsentInitializationParameters.m */,
10391058
CA70E3332023D51000019273 /* OneSignalSetEmailParameters.h */,
10401059
CA70E3342023D51000019273 /* OneSignalSetEmailParameters.m */,
10411060
9D1BD96B237B57B400A064F7 /* OneSignalCacheCleaner.h */,
@@ -1263,6 +1282,7 @@
12631282
7AF98690244A566F00C36EAE /* OSOutcomeEventsCache.h in Headers */,
12641283
9DDFEEF223189C0800EAE0BB /* OneSignalViewHelper.h in Headers */,
12651284
9124124B1E7337A800E41FD7 /* OneSignal.h in Headers */,
1285+
7AF5174524FDC2AA00B076BC /* OSRemoteParamController.h in Headers */,
12661286
CA08FC781FE99B13004C445F /* OneSignalRequest.h in Headers */,
12671287
CACBAAA8218A6280000ACAA5 /* OSJSONHandling.h in Headers */,
12681288
912412211E73342200E41FD7 /* OneSignalLocation.h in Headers */,
@@ -1517,13 +1537,13 @@
15171537
CACBAA97218A6243000ACAA5 /* OSMessagingController.m in Sources */,
15181538
CA36F35921C33A2500300C77 /* OSInAppMessageController.m in Sources */,
15191539
CA08FC731FE99AFD004C445F /* OneSignalClient.m in Sources */,
1520-
7AF76E91234252210085F926 /* OSSessionResult.m in Sources */,
15211540
91F58D831E7C80DA0017D24D /* OneSignalNotificationSettingsIOS9.m in Sources */,
15221541
CAAEA68721ED68A40049CF15 /* OneSignalNotificationCategoryController.m in Sources */,
15231542
7AF98686244A32EF00C36EAE /* OSOutcomeEventsV2Repository.m in Sources */,
15241543
7AF9866A244975CF00C36EAE /* OSOutcomeSource.m in Sources */,
15251544
7A1F2D8F2406EFC5007799A9 /* OSInAppMessageTag.m in Sources */,
15261545
9D1BD9602379E7C300A064F7 /* OSOutcomeEvent.m in Sources */,
1546+
7AF5174724FDC2C500B076BC /* OSRemoteParamController.m in Sources */,
15271547
7AF9865124451F2800C36EAE /* OSInAppMessageTracker.m in Sources */,
15281548
7A600B442453790700514A53 /* OSFocusInfluenceParam.m in Sources */,
15291549
7AF986352444C41A00C36EAE /* OSChannelTracker.m in Sources */,
@@ -1555,7 +1575,7 @@
15551575
7AF9865824452A9600C36EAE /* OSInfluence.m in Sources */,
15561576
7AF98692244A567B00C36EAE /* OSOutcomeEventsCache.m in Sources */,
15571577
912412261E73342200E41FD7 /* OneSignalMobileProvision.m in Sources */,
1558-
CAB4112920852E48005A70D1 /* DelayedInitializationParameters.m in Sources */,
1578+
CAB4112920852E48005A70D1 /* DelayedConsentInitializationParameters.m in Sources */,
15591579
454F94F21FAD218000D74CCF /* OneSignalNotificationServiceExtensionHandler.m in Sources */,
15601580
7AF9867A24497A4D00C36EAE /* OSOutcomeEventsRepository.m in Sources */,
15611581
CA1A6E7020DC2E73001C41B9 /* OneSignalDialogRequest.m in Sources */,
@@ -1613,6 +1633,7 @@
16131633
7AF9866B244975CF00C36EAE /* OSOutcomeSource.m in Sources */,
16141634
7AA2848A2406FC6400C25D76 /* OSInAppMessageTag.m in Sources */,
16151635
CA08FC7A1FE99B13004C445F /* OneSignalRequest.m in Sources */,
1636+
7AF5174824FDC2C500B076BC /* OSRemoteParamController.m in Sources */,
16161637
7AF986362444C41A00C36EAE /* OSChannelTracker.m in Sources */,
16171638
7A600B452453790700514A53 /* OSFocusInfluenceParam.m in Sources */,
16181639
7A72EB0F23E252C700B4D50F /* OSInAppMessageDisplayStats.m in Sources */,
@@ -1639,10 +1660,10 @@
16391660
912412431E73342200E41FD7 /* UNUserNotificationCenter+OneSignal.m in Sources */,
16401661
CA47439F2190FEA80020DC8C /* OSTrigger.m in Sources */,
16411662
9124123B1E73342200E41FD7 /* OneSignalWebView.m in Sources */,
1642-
CAB4112A20852E4C005A70D1 /* DelayedInitializationParameters.m in Sources */,
16431663
7A1232A6235E17A1002B6CE3 /* OSIndirectInfluence.m in Sources */,
16441664
7AF9865924452A9600C36EAE /* OSInfluence.m in Sources */,
16451665
7AF98693244A567B00C36EAE /* OSOutcomeEventsCache.m in Sources */,
1666+
CAB4112A20852E4C005A70D1 /* DelayedConsentInitializationParameters.m in Sources */,
16461667
9124123F1E73342200E41FD7 /* UIApplicationDelegate+OneSignal.m in Sources */,
16471668
7AECE59F23675F6300537907 /* OSFocusTimeProcessorFactory.m in Sources */,
16481669
CA1A6E7120DC2E73001C41B9 /* OneSignalDialogRequest.m in Sources */,
@@ -1746,7 +1767,7 @@
17461767
5B58E4F8237CE7B4009401E0 /* UIDeviceOverrider.m in Sources */,
17471768
CA8E19022193C6B0009DA223 /* InAppMessagingIntegrationTests.m in Sources */,
17481769
7AA2848B2406FC6500C25D76 /* OSInAppMessageTag.m in Sources */,
1749-
CAB4112B20852E4C005A70D1 /* DelayedInitializationParameters.m in Sources */,
1770+
CAB4112B20852E4C005A70D1 /* DelayedConsentInitializationParameters.m in Sources */,
17501771
7AECE59223674A9700537907 /* OSAttributedFocusTimeProcessor.m in Sources */,
17511772
912412341E73342200E41FD7 /* OneSignalTracker.m in Sources */,
17521773
7AF98694244A567B00C36EAE /* OSOutcomeEventsCache.m in Sources */,
@@ -1772,10 +1793,12 @@
17721793
4529DEDE1FA828E500CEAB1D /* NSDateOverrider.m in Sources */,
17731794
CA08FC871FE99BB4004C445F /* OneSignalClientOverrider.m in Sources */,
17741795
CACBAAA3218A6243000ACAA5 /* OSInAppMessage.m in Sources */,
1796+
7AF5174C24FE980400B076BC /* RemoteParamsTests.m in Sources */,
17751797
CACBAAA6218A6243000ACAA5 /* OSInAppMessageViewController.m in Sources */,
17761798
912412401E73342200E41FD7 /* UIApplicationDelegate+OneSignal.m in Sources */,
17771799
1AF75EAF1E8569710097B315 /* NSString+OneSignal.m in Sources */,
17781800
CACBAAAA218A65AE000ACAA5 /* InAppMessagingTests.m in Sources */,
1801+
7AF5174924FDC2C500B076BC /* OSRemoteParamController.m in Sources */,
17791802
4529DEE71FA82CDC00CEAB1D /* UNUserNotificationCenterOverrider.m in Sources */,
17801803
4529DEDB1FA8284E00CEAB1D /* NSDataOverrider.m in Sources */,
17811804
7AD1723A2416D53B00A78B19 /* OSInAppMessageLocationPrompt.m in Sources */,
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* Modified MIT License
3+
*
4+
* Copyright 2017 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 "OneSignal.h"
30+
31+
@interface DelayedConsentInitializationParameters : NSObject
32+
33+
@property (strong, nonatomic, nullable) NSDictionary *launchOptions;
34+
@property (strong, nonatomic, nonnull) NSString *appId;
35+
36+
- (nonnull instancetype)initWithLaunchOptions:(nullable NSDictionary *)launchOptions withAppId:(nonnull NSString *)appId;
37+
38+
@end
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* Modified MIT License
3+
*
4+
* Copyright 2017 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 "DelayedConsentInitializationParameters.h"
29+
30+
@implementation DelayedConsentInitializationParameters
31+
32+
- (instancetype)initWithLaunchOptions:(NSDictionary *)launchOptions withAppId:(NSString *)appId {
33+
self.launchOptions = launchOptions;
34+
self.appId = appId;
35+
return self;
36+
}
37+
38+
@end

iOS_SDK/OneSignalSDK/Source/DelayedInitializationParameters.h

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

0 commit comments

Comments
 (0)