From 2e2ec42cfdbff7eeb846bef9b33e4cbae54258f6 Mon Sep 17 00:00:00 2001 From: Nan Date: Sun, 29 Jan 2023 17:12:31 -0800 Subject: [PATCH] update `setLanguage` method * Don't allow setting language to nil (language param is not optional) * Don't let setting language to "" --- .../Source/OneSignalUserManagerImpl.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/iOS_SDK/OneSignalSDK/OneSignalUser/Source/OneSignalUserManagerImpl.swift b/iOS_SDK/OneSignalSDK/OneSignalUser/Source/OneSignalUserManagerImpl.swift index 477a4b2fb..40d11d845 100644 --- a/iOS_SDK/OneSignalSDK/OneSignalUser/Source/OneSignalUserManagerImpl.swift +++ b/iOS_SDK/OneSignalSDK/OneSignalUser/Source/OneSignalUserManagerImpl.swift @@ -65,7 +65,7 @@ import OneSignalNotifications func addSmsNumber(_ number: String) func removeSmsNumber(_ number: String) -> Bool // Language - func setLanguage(_ language: String?) // TODO: why optional? As a remove? + func setLanguage(_ language: String) // JWT Token Expire typealias OSJwtCompletionBlock = (_ newJwtToken: String) -> Void typealias OSJwtExpiredHandler = (_ externalId: String, _ completion: OSJwtCompletionBlock) -> Void @@ -646,10 +646,16 @@ extension OneSignalUserManagerImpl: OSUser { return self.subscriptionModelStore.remove(number) } - public func setLanguage(_ language: String?) { + public func setLanguage(_ language: String) { guard !OneSignalConfigManager.shouldAwaitAppIdAndLogMissingPrivacyConsent(forMethod: "setLanguage") else { return } + + if language == "" { + OneSignalLog.onesignalLog(.LL_ERROR, message: "OneSignal.User.setLanguage cannot be called with an empty language code.") + return + } + user.setLanguage(language) } }