summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakamitsu Yoshii <tyoshii@xevo.com>2018-11-12 12:14:20 +0900
committerTakamitsu Yoshii <tyoshii@xevo.com>2018-11-13 16:59:57 +0900
commita7c7454e6af1473516d5367e7279a9854a1aff60 (patch)
tree7de435d850d86e4bba1f22f0e43759ce71ba1ae6
parent4741ad60a90dbcc9d2065b1cdd4954486773d9b5 (diff)
downloadsdl_ios-a7c7454e6af1473516d5367e7279a9854a1aff60.tar.gz
check class type to take care of language enum being “-1”
-rw-r--r--SmartDeviceLink/SDLLifecycleManager.m50
1 files changed, 26 insertions, 24 deletions
diff --git a/SmartDeviceLink/SDLLifecycleManager.m b/SmartDeviceLink/SDLLifecycleManager.m
index c05ac986e..885f686a3 100644
--- a/SmartDeviceLink/SDLLifecycleManager.m
+++ b/SmartDeviceLink/SDLLifecycleManager.m
@@ -313,7 +313,7 @@ SDLLifecycleState *const SDLLifecycleStateReady = @"Ready";
BOOL delegateCanUpdateLifecycle = [self.delegate respondsToSelector:@selector(managerShouldUpdateLifecycleToLanguage:)];
// language mismatch? but actual language is a supported language? and delegate has implemented method?
- if (![actualLanguage isEqualToEnum:desiredLanguage] && [supportedLanguages containsObject:actualLanguage] && delegateCanUpdateLifecycle) {
+ if ([actualLanguage isKindOfClass:[NSString class]] && ![actualLanguage isEqualToEnum:desiredLanguage] && [supportedLanguages containsObject:actualLanguage] && delegateCanUpdateLifecycle) {
[self sdl_transitionToState:SDLLifecycleStateUpdatingConfiguration];
} else {
[self sdl_transitionToState:SDLLifecycleStateSettingUpManagers];
@@ -324,30 +324,32 @@ SDLLifecycleState *const SDLLifecycleStateReady = @"Ready";
// we can expect that the delegate has implemented the update method and the actual language is a supported language
SDLLanguage actualLanguage = self.registerResponse.language;
- SDLLifecycleConfigurationUpdate *configUpdate = [self.delegate managerShouldUpdateLifecycleToLanguage:actualLanguage];
-
- if (configUpdate) {
- self.configuration.lifecycleConfig.language = actualLanguage;
- if (configUpdate.appName) {
- self.configuration.lifecycleConfig.appName = configUpdate.appName;
- }
- if (configUpdate.shortAppName) {
- self.configuration.lifecycleConfig.shortAppName = configUpdate.shortAppName;
- }
- if (configUpdate.ttsName) {
- self.configuration.lifecycleConfig.ttsName = configUpdate.ttsName;
- }
- if (configUpdate.voiceRecognitionCommandNames) {
- self.configuration.lifecycleConfig.voiceRecognitionCommandNames = configUpdate.voiceRecognitionCommandNames;
+ if ([actualLanguage isKindOfClass:[NSString class]]) {
+ SDLLifecycleConfigurationUpdate *configUpdate = [self.delegate managerShouldUpdateLifecycleToLanguage:actualLanguage];
+
+ if (configUpdate) {
+ self.configuration.lifecycleConfig.language = actualLanguage;
+ if (configUpdate.appName) {
+ self.configuration.lifecycleConfig.appName = configUpdate.appName;
+ }
+ if (configUpdate.shortAppName) {
+ self.configuration.lifecycleConfig.shortAppName = configUpdate.shortAppName;
+ }
+ if (configUpdate.ttsName) {
+ self.configuration.lifecycleConfig.ttsName = configUpdate.ttsName;
+ }
+ if (configUpdate.voiceRecognitionCommandNames) {
+ self.configuration.lifecycleConfig.voiceRecognitionCommandNames = configUpdate.voiceRecognitionCommandNames;
+ }
+
+ SDLChangeRegistration *changeRegistration = [[SDLChangeRegistration alloc] initWithLanguage:actualLanguage hmiDisplayLanguage:actualLanguage];
+ changeRegistration.appName = configUpdate.appName;
+ changeRegistration.ngnMediaScreenAppName = configUpdate.shortAppName;
+ changeRegistration.ttsName = configUpdate.ttsName;
+ changeRegistration.vrSynonyms = configUpdate.voiceRecognitionCommandNames;
+
+ [self sendConnectionManagerRequest:changeRegistration withResponseHandler:nil];
}
-
- SDLChangeRegistration *changeRegistration = [[SDLChangeRegistration alloc] initWithLanguage:actualLanguage hmiDisplayLanguage:actualLanguage];
- changeRegistration.appName = configUpdate.appName;
- changeRegistration.ngnMediaScreenAppName = configUpdate.shortAppName;
- changeRegistration.ttsName = configUpdate.ttsName;
- changeRegistration.vrSynonyms = configUpdate.voiceRecognitionCommandNames;
-
- [self sendConnectionManagerRequest:changeRegistration withResponseHandler:nil];
}
[self sdl_transitionToState:SDLLifecycleStateSettingUpManagers];