summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicoleYarroch <nicole@livio.io>2020-12-16 07:57:45 -0500
committerNicoleYarroch <nicole@livio.io>2020-12-16 07:57:45 -0500
commitd2bf78e40aed91fdea32ca9a03e21d6a9169ce4f (patch)
tree6ed18e00d1ee4f542dc847c5fca68023c38b1420
parent6ed231c2345e8eacdeebe2e568d34f44cbc987bb (diff)
parentc3dded18f53910caf5d8f07fe00a4ce89ec3c80b (diff)
downloadsdl_ios-d2bf78e40aed91fdea32ca9a03e21d6a9169ce4f.tar.gz
Merge branch 'develop' into bugfix/generator/issue_1751_default_value
Signed-off-by: NicoleYarroch <nicole@livio.io> # Conflicts: # generator/transformers/common_producer.py
-rw-r--r--.github/PULL_REQUEST_TEMPLATE.md2
-rw-r--r--.github/workflows/test.yml23
-rw-r--r--CHANGELOG.md8
-rw-r--r--Example Apps/Example ObjC/AlertManager.m2
-rw-r--r--Example Apps/Example ObjC/ProxyManager.m12
-rw-r--r--Example Apps/Example Swift/AlertManager.swift2
-rw-r--r--Example Apps/Example Swift/ProxyManager.swift12
-rw-r--r--Package.swift2
-rw-r--r--SmartDeviceLink-iOS.podspec4
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/project.pbxproj104
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink-Example-ObjC.xcscheme2
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink.xcscheme2
-rw-r--r--SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLinkSwift.xcscheme2
-rw-r--r--SmartDeviceLink.podspec4
-rw-r--r--SmartDeviceLink/private/SDLChoiceSetManager.m5
-rw-r--r--SmartDeviceLink/private/SDLError.h1
-rw-r--r--SmartDeviceLink/private/SDLError.m7
-rw-r--r--SmartDeviceLink/private/SDLGlobals.h2
-rw-r--r--SmartDeviceLink/private/SDLGlobals.m6
-rw-r--r--SmartDeviceLink/private/SDLLifecycleManager.m2
-rw-r--r--SmartDeviceLink/private/SDLLifecycleProtocolHandler.m1
-rw-r--r--SmartDeviceLink/private/SDLLogFileModuleMap.m2
-rw-r--r--SmartDeviceLink/private/SDLMenuManager.m17
-rw-r--r--SmartDeviceLink/private/SDLPreloadChoicesOperation.m8
-rw-r--r--SmartDeviceLink/private/SDLPresentChoiceSetOperation.m3
-rw-r--r--SmartDeviceLink/private/SDLPresentKeyboardOperation.m3
-rw-r--r--SmartDeviceLink/private/SDLSoftButtonManager.m3
-rw-r--r--SmartDeviceLink/private/SDLSoftButtonReplaceOperation.m10
-rw-r--r--SmartDeviceLink/private/SDLTextAndGraphicManager.m2
-rw-r--r--SmartDeviceLink/private/SDLTextAndGraphicUpdateOperation.m24
-rw-r--r--SmartDeviceLink/private/SDLVoiceCommandManager.h7
-rw-r--r--SmartDeviceLink/private/SDLVoiceCommandManager.m192
-rw-r--r--SmartDeviceLink/private/SDLVoiceCommandUpdateOperation.h38
-rw-r--r--SmartDeviceLink/private/SDLVoiceCommandUpdateOperation.m227
-rw-r--r--SmartDeviceLink/public/SDLArtwork.m14
-rw-r--r--SmartDeviceLink/public/SDLDisplayCapabilities.h2
-rw-r--r--SmartDeviceLink/public/SDLDisplayCapabilities.m3
-rw-r--r--SmartDeviceLink/public/SDLErrorConstants.h3
-rw-r--r--SmartDeviceLink/public/SDLFileManager.h12
-rw-r--r--SmartDeviceLink/public/SDLFileManager.m19
-rw-r--r--SmartDeviceLink/public/SDLKeyboardProperties.h24
-rw-r--r--SmartDeviceLink/public/SDLKeyboardProperties.m13
-rw-r--r--SmartDeviceLink/public/SDLMsgVersion.m2
-rw-r--r--SmartDeviceLink/public/SDLScreenManager.h2
-rw-r--r--SmartDeviceLink/public/SDLSystemCapabilityManager.m9
-rw-r--r--SmartDeviceLink/public/SDLTouchManager.m16
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLArtworkSpec.m33
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLChoiceSetManagerSpec.m2
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLFileManagerSpec.m60
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleMobileHMIStateHandlerSpec.m2
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLMenuManagerSpec.m27
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLPreloadChoicesOperationSpec.m22
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLPresentChoiceSetOperationSpec.m5
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLPresentKeyboardOperationSpec.m5
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLSoftButtonManagerSpec.m4
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m6
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicUpdateOperationSpec.m29
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandManagerSpec.m127
-rw-r--r--SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandUpdateOperationSpec.m249
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppServiceDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnInteriorVehicleDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnRCStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemCapabilityUpdatedSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnWaypointChangeSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCancelInteractionSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCloseApplicationSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m3
-rwxr-xr-xSmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m3
-rwxr-xr-xSmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m3
-rwxr-xr-xSmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m3
-rwxr-xr-xSmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetAppServiceDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetCloudAppPropertiesSpec.m3
-rwxr-xr-xSmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetFileSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetInteriorVehicleDataConsentSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitySpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetWaypointsSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAppServiceInteractionSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPublishAppServiceSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReleaseInteriorVehicleDataModuleSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendHapticDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetCloudAppPropertiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetInteriorVehicleDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowAppMenuSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnpublishAppServiceSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCancelInteractionResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCloseApplicationResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetAppServiceDataResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetCloudAppPropertiesResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetFileResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataConsentResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetSystemCapabilityResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetWaypointsResponseSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAppServiceInteractionResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPublishAppServiceResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetCloudAppPropertiesResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetInteriorVehicleDataResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnpublishAppServiceResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppInfoSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceRecordSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioControlDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLCloudAppPropertiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDateTimeSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEqualizerSettingsSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLFuelRangeSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGearStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMISettingsControlDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHapticRectSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageResolutionSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m54
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightControlDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightStateSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationCoordinateSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationDetailsSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageCushionFirmnessSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageModeDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMediaServiceManifestSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLModuleDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationCapabilitySpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationInstructionSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceManifestSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLOasisAddressSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPhoneCapabilitySpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRDSDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRGBColorSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRectangleSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRemoteControlCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSISDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatControlCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationCapabilitySpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatMemoryActionSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStationIDNumberSpec.m3
-rwxr-xr-xSmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSystemCapabilitySpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemperatureSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemplateColorSchemeSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingFormatSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherAlertSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherDataSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceDataSpec.m6
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceManifestSpec.m3
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m3
-rw-r--r--SmartDeviceLinkTests/SDLSoftButtonReplaceOperationSpec.m30
-rw-r--r--SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m13
-rw-r--r--SmartDeviceLinkTests/TestConnectionRequestObject.h23
-rw-r--r--SmartDeviceLinkTests/TestConnectionRequestObject.m23
-rw-r--r--SmartDeviceLinkTests/TestUtilities/TestConnectionManager.h8
-rw-r--r--SmartDeviceLinkTests/TestUtilities/TestConnectionManager.m43
-rw-r--r--SmartDeviceLinkTests/UtilitiesSpecs/SDLGlobalsSpec.m13
m---------bson_c_lib0
-rw-r--r--docs/Classes.html6
-rw-r--r--docs/Classes/SDLOnDriverDistraction.html8
-rw-r--r--generator/generator.py4
m---------generator/rpc_spec0
-rw-r--r--generator/templates/SDLRPCFunctionNames.h.jinja22
-rw-r--r--generator/templates/SDLRPCParameterNames.h.jinja22
-rw-r--r--generator/templates/enums/template.h.jinja22
-rw-r--r--generator/templates/enums/template.m.jinja22
-rw-r--r--generator/test/runner.py7
-rwxr-xr-xgenerator/test/test_CodeFormatAndQuality.py2
-rw-r--r--generator/test/test_enums.py26
-rw-r--r--generator/test/test_functions.py152
-rw-r--r--generator/test/test_structs.py39
-rw-r--r--generator/transformers/common_producer.py15
256 files changed, 1496 insertions, 961 deletions
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index a980c7629..3a169cd81 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,6 +1,6 @@
[Things to note: Pull Requests **must** fix an issue. Discussion about the feature / bug takes place in the issue, discussion of the implementation takes place in the PR. Please also see the [Contributing Guide](https://github.com/smartdevicelink/sdl_ios/blob/master/.github/CONTRIBUTING.md) for information on branch naming and the CLA, and the [SmartDeviceLink GitHub Best Practices](https://d83tozu1c8tt6.cloudfront.net/media/resources/SDL_GitHub_BestPractices.pdf) document for more information on how to enter a pull request. Please create the PR as a draft until it is ready for review. Once this PR is ready for review, please request one from @smartdevicelink/ios and mark the PR as ready for review.
-Also, remember that all new public file headers should be added as public in the `File Inspector / Target Membership` pane, added to `SmartDeviceLink.h` and to *both* `.podspec` files.
+Also, remember that all new public file headers should be added as public in the `File Inspector / Target Membership` pane, placed in the `SmartDeviceLink/public` folder on the file system, and added to `SmartDeviceLink.h`. Private files should be placed in the `SmartDeviceLink/private` folder.
Delete the above section when you've read it.]
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 97f5ca6ac..cf53b5bda 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -5,7 +5,7 @@ on: [push, pull_request]
env:
PROJECT: 'SmartDeviceLink-iOS.xcodeproj'
- DESTINATION: 'platform=iOS Simulator,name=iPhone 11,OS=14.0'
+ DESTINATION: 'platform=iOS Simulator,name=iPhone 11,OS=14.1'
jobs:
build:
@@ -27,7 +27,7 @@ jobs:
# Select the Xcode version (the platform/simulator/OS available for testing depend on the Xcode version)
- name: Select Xcode version
- run: sudo xcode-select -switch /Applications/Xcode_12.0.0.app
+ run: sudo xcode-select -switch /Applications/Xcode_12.1.app
- name: Build
run: set -o pipefail && xcodebuild -scheme "${{ matrix.scheme }}" -destination "$DESTINATION" build | xcpretty --color --simple
@@ -46,7 +46,7 @@ jobs:
# Select the Xcode version (the platform/simulator/OS available for testing depend on the Xcode version)
- name: Select Xcode version
- run: sudo xcode-select -switch /Applications/Xcode_12.0.0.app
+ run: sudo xcode-select -switch /Applications/Xcode_12.1.app
- name: Checkout repository
uses: actions/checkout@v2.3.1
@@ -78,3 +78,20 @@ jobs:
uses: codecov/codecov-action@v1.0.10
with:
yml: ./codecov.yml
+
+ rpcTest:
+ name: RPC Generator Tests
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v2.3.1
+ with:
+ submodules: true
+
+ - name: Install dependencies
+ run: python3 -m pip install -r generator/requirements.txt
+
+ - name: Run RPC generator tests
+ run: python3 generator/test/runner.py
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8bfa008a1..45e312fa6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,7 @@
* Updated max URL lengths in `SystemRequest` to be unlimited (https://github.com/smartdevicelink/sdl_ios/issues/1110).
* Added support for new types of character sets (https://github.com/smartdevicelink/sdl_ios/issues/1139).
* Added new RPC for `SubtleAlert`, a notification-like alert (https://github.com/smartdevicelink/sdl_ios/issues/1355).
+* Added support to Swift Package Manager (https://github.com/smartdevicelink/sdl_ios/issues/1387).
* Added new vehicle data `StabilityControlsStatus` (https://github.com/smartdevicelink/sdl_ios/issues/1449).
* Changed fuel-related vehicle data RPCs (https://github.com/smartdevicelink/sdl_ios/issues/1472).
* Added new vehicle data `HandsOffSteering` (https://github.com/smartdevicelink/sdl_ios/issues/1473).
@@ -29,6 +30,8 @@
* Added support for new WebEngine projection hmi types and templates (note that this is not properly supported in this library outside of the RPCs; look at the JavaScript Suite library for more information) (https://github.com/smartdevicelink/sdl_ios/issues/1681).
* Added a `reason` parameter to protocol NAKs (https://github.com/smartdevicelink/sdl_ios/issues/1684).
* Update the minimum required iOS version to 10.0 (https://github.com/smartdevicelink/sdl_ios/issues/1738).
+* `SDLSetDisplayLayout(+Response)` is now deprecated (https://github.com/smartdevicelink/sdl_ios/issues/1785).
+* `SDLLockScreenViewController` now defaults to modal presentation style `.fullScreen` (https://github.com/smartdevicelink/sdl_ios/issues/1794).
### Bug Fixes
* `SDLServiceUpdateReason` enums are now named properly (https://github.com/smartdevicelink/sdl_ios/issues/1502).
@@ -36,6 +39,7 @@
* Consolidated logic for saving the dynamic MTU size (https://github.com/smartdevicelink/sdl_ios/issues/1615).
* Fixed example app files not in the proper folder (https://github.com/smartdevicelink/sdl_ios/issues/1765).
* Fixed `SDLSetGlobalProperties` init missing `userLocation` (https://github.com/smartdevicelink/sdl_ios/issues/1771).
+* Fixed `SDLOnDriverDistraction` properties missing `nullable` (https://github.com/smartdevicelink/sdl_ios/issues/1813).
### RPC Generator
* Fixed generator not sorting imports (https://github.com/smartdevicelink/sdl_ios/issues/1720).
@@ -51,8 +55,12 @@
### Other
* Moved files around to simplify distribution (https://github.com/smartdevicelink/sdl_ios/issues/568).
* Fixed warnings in Objective-C example app (https://github.com/smartdevicelink/sdl_ios/issues/1772).
+* Fixed example apps resetting soft buttons whenever going to HMI FULL (https://github.com/smartdevicelink/sdl_ios/issues/1782).
* Cleaned up inline documentation grammar and spelling issues (https://github.com/smartdevicelink/sdl_ios/issues/1787).
* Update CI to Xcode 12 and fix screenshot failures (https://github.com/smartdevicelink/sdl_ios/issues/1801).
+* Fixed unit tests crashing (https://github.com/smartdevicelink/sdl_ios/issues/1802).
+* README updates to point to testing YAML (https://github.com/smartdevicelink/sdl_ios/issues/1816).
+* Removed some unnecessary warning suppression (https://github.com/smartdevicelink/sdl_ios/issues/1819).
## 6.7.0
### Versions
diff --git a/Example Apps/Example ObjC/AlertManager.m b/Example Apps/Example ObjC/AlertManager.m
index 9ee13fcdd..df902dc0a 100644
--- a/Example Apps/Example ObjC/AlertManager.m
+++ b/Example Apps/Example ObjC/AlertManager.m
@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
@implementation AlertManager
+ (void)sendAlertWithManager:(SDLManager *)sdlManager image:(nullable NSString *)imageName textField1:(NSString *)textField1 textField2:(nullable NSString *)textField2 {
- SDLSoftButton *okSoftButton = [[SDLSoftButton alloc] initWithType:SDLSoftButtonTypeText text:AlertOKButtonText image:nil highlighted:YES buttonId:1 systemAction:nil handler:nil];
+ SDLSoftButton *okSoftButton = [[SDLSoftButton alloc] initWithType:SDLSoftButtonTypeText text:AlertOKButtonText image:nil highlighted:YES buttonId:10000 systemAction:nil handler:nil];
SDLAlert *alert = [[SDLAlert alloc] initWithAlertText1:textField1 alertText2:textField2 alertText3:nil softButtons:@[okSoftButton] playTone:YES ttsChunks:nil duration:5000 progressIndicator:NO alertIcon:nil cancelID:0];
if (imageName == nil) {
diff --git a/Example Apps/Example ObjC/ProxyManager.m b/Example Apps/Example ObjC/ProxyManager.m
index ed2c057e3..0d13454d7 100644
--- a/Example Apps/Example ObjC/ProxyManager.m
+++ b/Example Apps/Example ObjC/ProxyManager.m
@@ -164,6 +164,10 @@ NS_ASSUME_NONNULL_BEGIN
}
- (void)sdlex_showInitialData {
+ // Send static menu items and soft buttons
+ [self sdlex_createMenus];
+ self.sdlManager.screenManager.softButtonObjects = [self.buttonManager allScreenSoftButtons];
+
if (![self.sdlManager.hmiLevel isEqualToEnum:SDLHMILevelFull]) { return; }
[self.sdlManager.screenManager changeLayout:[[SDLTemplateConfiguration alloc] initWithPredefinedLayout:SDLPredefinedLayoutNonMedia] withCompletionHandler:nil];
@@ -243,17 +247,15 @@ NS_ASSUME_NONNULL_BEGIN
// This is our first time in a non-NONE state
self.firstHMILevel = newLevel;
- // Send static menu items and soft buttons
- [self sdlex_createMenus];
- self.sdlManager.screenManager.softButtonObjects = [self.buttonManager allScreenSoftButtons];
-
// Subscribe to vehicle data.
[self.vehicleDataManager subscribeToVehicleOdometer];
+
+ //Handle initial launch
+ [self sdlex_showInitialData];
}
if ([newLevel isEqualToEnum:SDLHMILevelFull]) {
// The SDL app is in the foreground. Always try to show the initial state to guard against some possible weird states. Duplicates will be ignored by Core.
- [self sdlex_showInitialData];
[self.subscribeButtonManager subscribeToAllPresetButtons];
} else if ([newLevel isEqualToEnum:SDLHMILevelLimited]) {
// An active NAV or MEDIA SDL app is in the background
diff --git a/Example Apps/Example Swift/AlertManager.swift b/Example Apps/Example Swift/AlertManager.swift
index 9e37dd1c5..bf0f1af96 100644
--- a/Example Apps/Example Swift/AlertManager.swift
+++ b/Example Apps/Example Swift/AlertManager.swift
@@ -17,7 +17,7 @@ class AlertManager {
/// - textField2: The second line of text in the alert
/// - sdlManager: The SDLManager
class func sendAlert(imageName: String? = nil, textField1: String, textField2: String? = nil, sdlManager: SDLManager) {
- let okSoftButton = SDLSoftButton(type: .text, text: AlertOKButtonText, image: nil, highlighted: true, buttonId: 1, systemAction: nil, handler: nil)
+ let okSoftButton = SDLSoftButton(type: .text, text: AlertOKButtonText, image: nil, highlighted: true, buttonId: 10000, systemAction: nil, handler: nil)
let alert = SDLAlert(alertText1: textField1, alertText2: textField2, alertText3: nil, softButtons: [okSoftButton], playTone: true, ttsChunks: nil, duration: 5000, progressIndicator: false, alertIcon: nil, cancelID: 0)
if let imageName = imageName {
diff --git a/Example Apps/Example Swift/ProxyManager.swift b/Example Apps/Example Swift/ProxyManager.swift
index bce2617ad..8a53e7c76 100644
--- a/Example Apps/Example Swift/ProxyManager.swift
+++ b/Example Apps/Example Swift/ProxyManager.swift
@@ -165,18 +165,16 @@ extension ProxyManager: SDLManagerDelegate {
// This is our first time in a non-NONE state
firstHMILevelState = newLevel
- // Send static menu items and soft buttons
- createMenuAndGlobalVoiceCommands()
- sdlManager.screenManager.softButtonObjects = buttonManager.allScreenSoftButtons()
-
// Subscribe to vehicle data.
vehicleDataManager.subscribeToVehicleOdometer()
+
+ //Handle initial launch
+ showInitialData()
}
switch newLevel {
case .full:
// The SDL app is in the foreground. Always try to show the initial state to guard against some possible weird states. Duplicates will be ignored by Core.
- showInitialData()
subscribeButtonManager.subscribeToPresetButtons()
case .limited: break // An active NAV or MEDIA SDL app is in the background
case .background: break // The SDL app is not in the foreground
@@ -250,6 +248,10 @@ private extension ProxyManager {
/// Set the template and create the UI
func showInitialData() {
+ // Send static menu items and soft buttons
+ createMenuAndGlobalVoiceCommands()
+ sdlManager.screenManager.softButtonObjects = buttonManager.allScreenSoftButtons()
+
guard sdlManager.hmiLevel == .full else { return }
sdlManager.screenManager.changeLayout(SDLTemplateConfiguration(predefinedLayout: .nonMedia), withCompletionHandler: nil)
diff --git a/Package.swift b/Package.swift
index 56b8926d2..0b7fda6d4 100644
--- a/Package.swift
+++ b/Package.swift
@@ -12,7 +12,7 @@ let package = Package(
.library(name: "SmartDeviceLinkSwift", targets: ["SmartDeviceLinkSwift"])
],
dependencies: [
- .package(name: "BiSON", url: "https://github.com/smartdevicelink/bson_c_lib.git", .branch("feature/swift_pm_support"))
+ .package(name: "BiSON", url: "https://github.com/smartdevicelink/bson_c_lib.git", from: "1.2.2")
],
targets: [
.target(
diff --git a/SmartDeviceLink-iOS.podspec b/SmartDeviceLink-iOS.podspec
index 83b4a9449..2426b129c 100644
--- a/SmartDeviceLink-iOS.podspec
+++ b/SmartDeviceLink-iOS.podspec
@@ -1,13 +1,13 @@
Pod::Spec.new do |s|
s.name = "SmartDeviceLink-iOS"
-s.version = "7.0.0-rc.2"
+s.version = "7.0.0"
s.summary = "Connect your app with cars!"
s.homepage = "https://github.com/smartdevicelink/SmartDeviceLink-iOS"
s.license = { :type => "New BSD", :file => "LICENSE" }
s.author = { "SmartDeviceLink Team" => "developer@smartdevicelink.com" }
s.platform = :ios, "10.0"
-s.dependency 'BiSON', '~> 1.2.0'
+s.dependency 'BiSON', '~> 1.2.2'
s.source = { :git => "https://github.com/smartdevicelink/sdl_ios.git", :tag => s.version.to_s }
s.requires_arc = true
diff --git a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
index a19cd499a..2773665f2 100644
--- a/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
+++ b/SmartDeviceLink-iOS.xcodeproj/project.pbxproj
@@ -294,6 +294,7 @@
4A402561250134CB0080E159 /* SDLStabilityControlsStatus.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A40255F250134CA0080E159 /* SDLStabilityControlsStatus.h */; settings = {ATTRIBUTES = (Public, ); }; };
4A404C66250BBE11003AB65D /* SDLTextAndGraphicUpdateOperationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A404C65250BBE11003AB65D /* SDLTextAndGraphicUpdateOperationSpec.m */; };
4A404C68250BBE2B003AB65D /* SDLTextAndGraphicStateSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A404C67250BBE2B003AB65D /* SDLTextAndGraphicStateSpec.m */; };
+ 4A41430D255F0A090039C267 /* TestConnectionRequestObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A41430C255F0A090039C267 /* TestConnectionRequestObject.m */; };
4A457DC324A2933E00386CBA /* SDLLifecycleRPCAdapterSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DC224A2933E00386CBA /* SDLLifecycleRPCAdapterSpec.m */; };
4A457DD324A3886700386CBA /* SDLLifecycleSyncPDataHandlerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DD224A3886700386CBA /* SDLLifecycleSyncPDataHandlerSpec.m */; };
4A457DD524A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4A457DD424A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m */; };
@@ -1383,6 +1384,9 @@
4ABB2BA724F850AE0061BF55 /* SDLImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABB2B9924F850AD0061BF55 /* SDLImage.h */; settings = {ATTRIBUTES = (Public, ); }; };
4ABB2BA824F850AE0061BF55 /* SDLLightState.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ABB2B9A24F850AD0061BF55 /* SDLLightState.m */; };
4ABB2BA924F850AE0061BF55 /* SDLImageResolution.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABB2B9B24F850AD0061BF55 /* SDLImageResolution.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4ABED25B257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */; };
+ 4ABED25C257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */; };
+ 4AD1F1742559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */; };
4AE8A7022537796E000666C0 /* SmartDeviceLink.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AE8A7012537796E000666C0 /* SmartDeviceLink.h */; settings = {ATTRIBUTES = (Public, ); }; };
5D0A9F911F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A9F901F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m */; };
5D0A9F931F15560B00CC80DD /* SDLNavigationCapabilitySpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D0A9F921F15560B00CC80DD /* SDLNavigationCapabilitySpec.m */; };
@@ -2059,6 +2063,7 @@
2BF2F85120ED068200A26EF2 /* SDLAudioStreamingIndicatorSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLAudioStreamingIndicatorSpec.m; sourceTree = "<group>"; };
4A1B036E24CF484E008C6B13 /* SDLDriverDistractionCapabilitySpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLDriverDistractionCapabilitySpec.m; sourceTree = "<group>"; };
4A1FA09A25114833006B7851 /* SDLErrorConstants.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLErrorConstants.m; path = public/SDLErrorConstants.m; sourceTree = "<group>"; };
+ 4A316E0A253F316700D4DDC7 /* test.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; name = test.yml; path = .github/workflows/test.yml; sourceTree = SOURCE_ROOT; };
4A40253D24FFDA660080E159 /* SDLTextAndGraphicState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLTextAndGraphicState.m; path = private/SDLTextAndGraphicState.m; sourceTree = "<group>"; };
4A40253E24FFDA660080E159 /* SDLTextAndGraphicUpdateOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLTextAndGraphicUpdateOperation.h; path = private/SDLTextAndGraphicUpdateOperation.h; sourceTree = "<group>"; };
4A40253F24FFDA660080E159 /* SDLTextAndGraphicUpdateOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLTextAndGraphicUpdateOperation.m; path = private/SDLTextAndGraphicUpdateOperation.m; sourceTree = "<group>"; };
@@ -2070,6 +2075,8 @@
4A40255F250134CA0080E159 /* SDLStabilityControlsStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLStabilityControlsStatus.h; path = public/SDLStabilityControlsStatus.h; sourceTree = "<group>"; };
4A404C65250BBE11003AB65D /* SDLTextAndGraphicUpdateOperationSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLTextAndGraphicUpdateOperationSpec.m; path = DevAPISpecs/SDLTextAndGraphicUpdateOperationSpec.m; sourceTree = "<group>"; };
4A404C67250BBE2B003AB65D /* SDLTextAndGraphicStateSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLTextAndGraphicStateSpec.m; path = DevAPISpecs/SDLTextAndGraphicStateSpec.m; sourceTree = "<group>"; };
+ 4A41430B255F0A090039C267 /* TestConnectionRequestObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestConnectionRequestObject.h; sourceTree = "<group>"; };
+ 4A41430C255F0A090039C267 /* TestConnectionRequestObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestConnectionRequestObject.m; sourceTree = "<group>"; };
4A457DC224A2933E00386CBA /* SDLLifecycleRPCAdapterSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleRPCAdapterSpec.m; path = DevAPISpecs/SDLLifecycleRPCAdapterSpec.m; sourceTree = "<group>"; };
4A457DD224A3886700386CBA /* SDLLifecycleSyncPDataHandlerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleSyncPDataHandlerSpec.m; path = DevAPISpecs/SDLLifecycleSyncPDataHandlerSpec.m; sourceTree = "<group>"; };
4A457DD424A3C16E00386CBA /* SDLLifecycleMobileHMIStateHandlerSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLLifecycleMobileHMIStateHandlerSpec.m; path = DevAPISpecs/SDLLifecycleMobileHMIStateHandlerSpec.m; sourceTree = "<group>"; };
@@ -3165,6 +3172,9 @@
4ABB2B9924F850AD0061BF55 /* SDLImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLImage.h; path = public/SDLImage.h; sourceTree = "<group>"; };
4ABB2B9A24F850AD0061BF55 /* SDLLightState.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLLightState.m; path = public/SDLLightState.m; sourceTree = "<group>"; };
4ABB2B9B24F850AD0061BF55 /* SDLImageResolution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLImageResolution.h; path = public/SDLImageResolution.h; sourceTree = "<group>"; };
+ 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SDLVoiceCommandUpdateOperation.m; path = private/SDLVoiceCommandUpdateOperation.m; sourceTree = "<group>"; };
+ 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDLVoiceCommandUpdateOperation.h; path = private/SDLVoiceCommandUpdateOperation.h; sourceTree = "<group>"; };
+ 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SDLVoiceCommandUpdateOperationSpec.m; path = DevAPISpecs/SDLVoiceCommandUpdateOperationSpec.m; sourceTree = "<group>"; };
4AE8A7012537796E000666C0 /* SmartDeviceLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SmartDeviceLink.h; path = public/SmartDeviceLink.h; sourceTree = "<group>"; };
4AE8A707253779F9000666C0 /* EAAccessory+OCMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "EAAccessory+OCMock.h"; sourceTree = "<group>"; };
5D0A9F901F15550400CC80DD /* SDLSystemCapabilityTypeSpec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SDLSystemCapabilityTypeSpec.m; sourceTree = "<group>"; };
@@ -4117,6 +4127,47 @@
path = MessageSpecs;
sourceTree = "<group>";
};
+ 4A32B3E425559D93001FFA26 /* Voice Cammands */ = {
+ isa = PBXGroup;
+ children = (
+ 4A32B3E525559DA4001FFA26 /* Cells */,
+ 4A32B3E625559DAC001FFA26 /* Operations */,
+ 4ABB25A824F7E6E10061BF55 /* SDLVoiceCommandManager.h */,
+ 4ABB25A724F7E6E10061BF55 /* SDLVoiceCommandManager.m */,
+ );
+ name = "Voice Cammands";
+ sourceTree = "<group>";
+ };
+ 4A32B3E525559DA4001FFA26 /* Cells */ = {
+ isa = PBXGroup;
+ children = (
+ 4ABB259124F7E6820061BF55 /* SDLVoiceCommand.h */,
+ 4ABB259024F7E6820061BF55 /* SDLVoiceCommand.m */,
+ );
+ name = Cells;
+ sourceTree = "<group>";
+ };
+ 4A32B3E625559DAC001FFA26 /* Operations */ = {
+ isa = PBXGroup;
+ children = (
+ 4ABED25A257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h */,
+ 4ABED259257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m */,
+ );
+ name = Operations;
+ sourceTree = "<group>";
+ };
+ 4A32B3F325559F37001FFA26 /* Menu */ = {
+ isa = PBXGroup;
+ children = (
+ 5D76751022D907F500E8D71A /* Configuration */,
+ 755F175E229F14F70041B9CB /* Dynamic Menu Update Utilities */,
+ 5D339CEC207C08AB000CC364 /* Cells */,
+ 4ABB25A924F7E6E10061BF55 /* SDLMenuManager.h */,
+ 4ABB25A624F7E6E10061BF55 /* SDLMenuManager.m */,
+ );
+ name = Menu;
+ sourceTree = "<group>";
+ };
4A3BA4D9248E8EBB003E56B8 /* SystemRequest Handler */ = {
isa = PBXGroup;
children = (
@@ -4210,6 +4261,16 @@
name = "Status Manager";
sourceTree = "<group>";
};
+ 4AD1F16A2559952D00637FE1 /* Voice Command */ = {
+ isa = PBXGroup;
+ children = (
+ 5DF40B27208FDA9700DD6FDA /* SDLVoiceCommandManagerSpec.m */,
+ 5DAB5F5220989A8300A020C8 /* SDLVoiceCommandSpec.m */,
+ 4AD1F1732559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m */,
+ );
+ name = "Voice Command";
+ sourceTree = "<group>";
+ };
5D0218EB1A8E795700D1BF62 /* UI */ = {
isa = PBXGroup;
children = (
@@ -4381,13 +4442,8 @@
5D339CE5207C0651000CC364 /* Menu */ = {
isa = PBXGroup;
children = (
- 5D76751022D907F500E8D71A /* Configuration */,
- 755F175E229F14F70041B9CB /* Dynamic Menu Update Utilities */,
- 5D339CEC207C08AB000CC364 /* Cells */,
- 4ABB25A924F7E6E10061BF55 /* SDLMenuManager.h */,
- 4ABB25A624F7E6E10061BF55 /* SDLMenuManager.m */,
- 4ABB25A824F7E6E10061BF55 /* SDLVoiceCommandManager.h */,
- 4ABB25A724F7E6E10061BF55 /* SDLVoiceCommandManager.m */,
+ 4A32B3F325559F37001FFA26 /* Menu */,
+ 4A32B3E425559D93001FFA26 /* Voice Cammands */,
);
name = Menu;
sourceTree = "<group>";
@@ -4397,8 +4453,6 @@
children = (
4ABB259424F7E6880061BF55 /* SDLMenuCell.h */,
4ABB259524F7E6880061BF55 /* SDLMenuCell.m */,
- 4ABB259124F7E6820061BF55 /* SDLVoiceCommand.h */,
- 4ABB259024F7E6820061BF55 /* SDLVoiceCommand.m */,
);
name = Cells;
sourceTree = "<group>";
@@ -4439,8 +4493,8 @@
children = (
5D4019B11A76EC350006B0C2 /* Examples */,
5D61FA1D1A84237100846EE7 /* SmartDeviceLink */,
- 5D61FA2C1A84237100846EE7 /* SmartDeviceLinkTests */,
5D4346621E6F38E600B639C6 /* SmartDeviceLinkSwift */,
+ 5D61FA2C1A84237100846EE7 /* SmartDeviceLinkTests */,
5D4019B01A76EC350006B0C2 /* Products */,
);
sourceTree = "<group>";
@@ -5603,6 +5657,7 @@
5D5934EE1A85160900687FB9 /* Protocol */,
5D5934F01A85161A00687FB9 /* Transport */,
5D1665A01CF5D5DA00CC4CA1 /* .gitignore */,
+ 4A316E0A253F316700D4DDC7 /* test.yml */,
5D1665A21CF5D5DA00CC4CA1 /* Cartfile.private */,
5D1665A31CF5D5DA00CC4CA1 /* CHANGELOG.md */,
5D1665A41CF5D5DA00CC4CA1 /* DEPENDENCIES.md */,
@@ -6081,6 +6136,7 @@
5DAD5F8220507DED0025624C /* Soft Button */,
88D0E5D42478656B009469AB /* Subscribe Button */,
5DAD5F8320507DF30025624C /* Text and Graphic */,
+ 4AD1F16A2559952D00637FE1 /* Voice Command */,
5DAD5F8420507E1F0025624C /* SDLScreenManagerSpec.m */,
);
name = Screen;
@@ -6151,6 +6207,8 @@
8850DB5F1F4475D30053A48D /* TestMultipleFilesConnectionManager.m */,
5D6035D3202CE4A500A429C9 /* TestMultipleRequestsConnectionManager.h */,
5D6035D4202CE4A500A429C9 /* TestMultipleRequestsConnectionManager.m */,
+ 4A41430B255F0A090039C267 /* TestConnectionRequestObject.h */,
+ 4A41430C255F0A090039C267 /* TestConnectionRequestObject.m */,
);
name = "Connection Manager";
sourceTree = "<group>";
@@ -6441,9 +6499,7 @@
isa = PBXGroup;
children = (
5DF40B25208FA7DE00DD6FDA /* SDLMenuManagerSpec.m */,
- 5DF40B27208FDA9700DD6FDA /* SDLVoiceCommandManagerSpec.m */,
5DAB5F502098994C00A020C8 /* SDLMenuCellSpec.m */,
- 5DAB5F5220989A8300A020C8 /* SDLVoiceCommandSpec.m */,
752ECDB8228C42E100D945F4 /* SDLMenuRunScoreSpec.m */,
752ECDBA228C532600D945F4 /* SDLMenuUpdateAlgorithmSpec.m */,
5D76751522D920FD00E8D71A /* SDLMenuConfigurationSpec.m */,
@@ -7336,6 +7392,7 @@
4ABB26BA24F7FA1C0061BF55 /* SDLLogConstants.h in Headers */,
4ABB28DB24F82A6A0061BF55 /* SDLOnSystemCapabilityUpdated.h in Headers */,
4ABB269324F7F9060061BF55 /* SDLTimer.h in Headers */,
+ 4ABED25C257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.h in Headers */,
4A8BD2F924F93872000945E3 /* SDLVehicleDataType.h in Headers */,
4ABB279924F7FF0B0061BF55 /* SDLLanguage.h in Headers */,
4ABB285F24F828E00061BF55 /* SDLVehicleDataActiveStatus.h in Headers */,
@@ -7525,7 +7582,7 @@
attributes = {
CLASSPREFIX = SDL;
LastSwiftUpdateCheck = 0710;
- LastUpgradeCheck = 1200;
+ LastUpgradeCheck = 1210;
ORGANIZATIONNAME = smartdevicelink;
TargetAttributes = {
5D4019AE1A76EC350006B0C2 = {
@@ -7541,7 +7598,7 @@
};
5D61FA1B1A84237100846EE7 = {
CreatedOnToolsVersion = 6.1.1;
- LastSwiftMigration = 1170;
+ LastSwiftMigration = 1210;
};
5D61FA251A84237100846EE7 = {
CreatedOnToolsVersion = 6.1.1;
@@ -7698,6 +7755,7 @@
4ABB264524F7F5340061BF55 /* SDLSystemCapabilityManager.m in Sources */,
4A8BD2B124F935BC000945E3 /* SDLSoftButtonCapabilities.m in Sources */,
4ABB2A5524F847B10061BF55 /* SDLGetInteriorVehicleDataConsentResponse.m in Sources */,
+ 4ABED25B257681ED005BDF61 /* SDLVoiceCommandUpdateOperation.m in Sources */,
4ABB2AA924F847F40061BF55 /* SDLSetAppIconResponse.m in Sources */,
4A8BD2D224F93803000945E3 /* SDLTemplateColorScheme.m in Sources */,
4A8BD3C124F994D5000945E3 /* SDLFileManager.m in Sources */,
@@ -8300,6 +8358,7 @@
162E83181A9BDE8B00906325 /* SDLOnKeyboardInputSpec.m in Sources */,
1EE8C4441F34A1B900FDC2CF /* SDLClimateControlDataSpec.m in Sources */,
162E83701A9BDE8B00906325 /* SDLUpdateTurnListResponseSpec.m in Sources */,
+ 4A41430D255F0A090039C267 /* TestConnectionRequestObject.m in Sources */,
88C23E8822297C6000EA171F /* SDLRPCResponseNotificationSpec.m in Sources */,
162E833B1A9BDE8B00906325 /* SDLSetGlobalPropertiesSpec.m in Sources */,
884AF94C220B3FCC00E22928 /* SDLGetSystemCapabilitySpec.m in Sources */,
@@ -8694,6 +8753,7 @@
162E831E1A9BDE8B00906325 /* SDLOnTBTClientStateSpec.m in Sources */,
162E83351A9BDE8B00906325 /* SDLReadDIDSpec.m in Sources */,
5DF40B28208FDA9700DD6FDA /* SDLVoiceCommandManagerSpec.m in Sources */,
+ 4AD1F1742559957100637FE1 /* SDLVoiceCommandUpdateOperationSpec.m in Sources */,
88B3BFA020DA8FD000943565 /* SDLFuelTypeSpec.m in Sources */,
162E836F1A9BDE8B00906325 /* SDLUnsubscribeVehicleDataResponseSpec.m in Sources */,
162E82DB1A9BDE8B00906325 /* SDLECallConfirmationStatusSpec.m in Sources */,
@@ -8955,7 +9015,7 @@
INFOPLIST_FILE = "$(SRCROOT)/Example Apps/Example ObjC/SmartDeviceLink-Example-ObjC-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = "7.0.0-rc.2";
+ MARKETING_VERSION = 7.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SDLTestApp;
PRODUCT_NAME = "SDL Example";
SWIFT_VERSION = 5.0;
@@ -8971,7 +9031,7 @@
INFOPLIST_FILE = "$(SRCROOT)/Example Apps/Example ObjC/SmartDeviceLink-Example-ObjC-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = "7.0.0-rc.2";
+ MARKETING_VERSION = 7.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SDLTestApp;
PRODUCT_NAME = "SDL Example";
SWIFT_VERSION = 5.0;
@@ -9014,7 +9074,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
- MARKETING_VERSION = "7.0.0-rc.2";
+ MARKETING_VERSION = 7.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.smartdevicelink;
PRODUCT_NAME = "$(TARGET_NAME)";
RUN_CLANG_STATIC_ANALYZER = YES;
@@ -9060,7 +9120,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
- MARKETING_VERSION = "7.0.0-rc.2";
+ MARKETING_VERSION = 7.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.smartdevicelink;
PRODUCT_NAME = "$(TARGET_NAME)";
RUN_CLANG_STATIC_ANALYZER = YES;
@@ -9154,7 +9214,7 @@
INFOPLIST_FILE = "$(SRCROOT)/Example Apps/Example Swift/SmartDeviceLink-Example-Swift-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = "7.0.0-rc.2";
+ MARKETING_VERSION = 7.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SDLTestApp;
PRODUCT_NAME = "SDL Example Swift";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -9176,7 +9236,7 @@
INFOPLIST_FILE = "$(SRCROOT)/Example Apps/Example Swift/SmartDeviceLink-Example-Swift-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = "7.0.0-rc.2";
+ MARKETING_VERSION = 7.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SDLTestApp;
PRODUCT_NAME = "SDL Example Swift";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -9223,7 +9283,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
- MARKETING_VERSION = "7.0.0-rc.2";
+ MARKETING_VERSION = 7.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SmartDeviceLinkSwift;
PRODUCT_NAME = "$(TARGET_NAME)";
RUN_CLANG_STATIC_ANALYZER = YES;
@@ -9274,7 +9334,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
LIBRARY_SEARCH_PATHS = "$(inherited)";
- MARKETING_VERSION = "7.0.0-rc.2";
+ MARKETING_VERSION = 7.0.0;
PRODUCT_BUNDLE_IDENTIFIER = com.smartdevicelink.SmartDeviceLinkSwift;
PRODUCT_NAME = "$(TARGET_NAME)";
RUN_CLANG_STATIC_ANALYZER = YES;
diff --git a/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink-Example-ObjC.xcscheme b/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink-Example-ObjC.xcscheme
index ace9007ab..144ab0c4b 100644
--- a/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink-Example-ObjC.xcscheme
+++ b/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink-Example-ObjC.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1200"
+ LastUpgradeVersion = "1210"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink.xcscheme b/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink.xcscheme
index fd8fd90e9..a9b412148 100644
--- a/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink.xcscheme
+++ b/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLink.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1200"
+ LastUpgradeVersion = "1210"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLinkSwift.xcscheme b/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLinkSwift.xcscheme
index 3151474db..55446e4f2 100644
--- a/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLinkSwift.xcscheme
+++ b/SmartDeviceLink-iOS.xcodeproj/xcshareddata/xcschemes/SmartDeviceLinkSwift.xcscheme
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
- LastUpgradeVersion = "1200"
+ LastUpgradeVersion = "1210"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
diff --git a/SmartDeviceLink.podspec b/SmartDeviceLink.podspec
index df142eaa0..87028fab6 100644
--- a/SmartDeviceLink.podspec
+++ b/SmartDeviceLink.podspec
@@ -1,13 +1,13 @@
Pod::Spec.new do |s|
s.name = "SmartDeviceLink"
-s.version = "7.0.0-rc.2"
+s.version = "7.0.0"
s.summary = "Connect your app with cars!"
s.homepage = "https://github.com/smartdevicelink/SmartDeviceLink-iOS"
s.license = { :type => "New BSD", :file => "LICENSE" }
s.author = { "SmartDeviceLink Team" => "developer@smartdevicelink.com" }
s.platform = :ios, "10.0"
-s.dependency 'BiSON', '~> 1.2.0'
+s.dependency 'BiSON', '~> 1.2.2'
s.source = { :git => "https://github.com/smartdevicelink/sdl_ios.git", :tag => s.version.to_s }
s.requires_arc = true
s.swift_version = '5.2'
diff --git a/SmartDeviceLink/private/SDLChoiceSetManager.m b/SmartDeviceLink/private/SDLChoiceSetManager.m
index 80d691b87..a8a0de0e7 100644
--- a/SmartDeviceLink/private/SDLChoiceSetManager.m
+++ b/SmartDeviceLink/private/SDLChoiceSetManager.m
@@ -502,7 +502,10 @@ UInt16 const ChoiceCellCancelIdMin = 1;
_keyboardConfiguration = [self sdl_defaultKeyboardConfiguration];
} else {
SDLLogD(@"Updating keyboard configuration to a new configuration: %@", keyboardConfiguration);
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
_keyboardConfiguration = [[SDLKeyboardProperties alloc] initWithLanguage:keyboardConfiguration.language layout:keyboardConfiguration.keyboardLayout keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:keyboardConfiguration.limitedCharacterList autoCompleteText:keyboardConfiguration.autoCompleteText autoCompleteList:keyboardConfiguration.autoCompleteList];
+#pragma clang diagnostic pop
if (keyboardConfiguration.keypressMode != SDLKeypressModeResendCurrentEntry) {
SDLLogW(@"Attempted to set a keyboard configuration with an invalid keypress mode; only .resentCurrentEntry is valid. This value will be ignored, the rest of the properties will be set.");
@@ -511,7 +514,7 @@ UInt16 const ChoiceCellCancelIdMin = 1;
}
- (SDLKeyboardProperties *)sdl_defaultKeyboardConfiguration {
- return [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageEnUs layout:SDLKeyboardLayoutQWERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteText:nil autoCompleteList:nil];
+ return [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageEnUs keyboardLayout:SDLKeyboardLayoutQWERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteList:nil];
}
#pragma mark - Getters
diff --git a/SmartDeviceLink/private/SDLError.h b/SmartDeviceLink/private/SDLError.h
index b7fb5997c..fae799fe9 100644
--- a/SmartDeviceLink/private/SDLError.h
+++ b/SmartDeviceLink/private/SDLError.h
@@ -55,6 +55,7 @@ NS_ASSUME_NONNULL_BEGIN
#pragma mark Menu Manager
+ (NSError *)sdl_menuManager_failedToUpdateWithDictionary:(NSDictionary *)userInfo;
++ (NSError *)sdl_voiceCommandManager_pendingUpdateSuperseded;
#pragma mark Choice Set Manager
diff --git a/SmartDeviceLink/private/SDLError.m b/SmartDeviceLink/private/SDLError.m
index 7000d49b8..a54cee83e 100644
--- a/SmartDeviceLink/private/SDLError.m
+++ b/SmartDeviceLink/private/SDLError.m
@@ -262,6 +262,13 @@ NS_ASSUME_NONNULL_BEGIN
return [NSError errorWithDomain:SDLErrorDomainMenuManager code:SDLMenuManagerErrorRPCsFailed userInfo:userInfo];
}
++ (NSError *)sdl_voiceCommandManager_pendingUpdateSuperseded {
+ return [NSError errorWithDomain:SDLErrorDomainMenuManager code:SDLMenuManagerErrorPendingUpdateSuperseded userInfo:@{
+ NSLocalizedDescriptionKey: @"Voice Command Manager error",
+ NSLocalizedFailureReasonErrorKey: @"Voice command operation was cancelled because it was superseded by another update"
+ }];
+}
+
#pragma mark Choice Set Manager
+ (NSError *)sdl_choiceSetManager_choicesDeletedBeforePresentation:(NSDictionary *)userInfo {
diff --git a/SmartDeviceLink/private/SDLGlobals.h b/SmartDeviceLink/private/SDLGlobals.h
index 321fc60b4..eb1969a96 100644
--- a/SmartDeviceLink/private/SDLGlobals.h
+++ b/SmartDeviceLink/private/SDLGlobals.h
@@ -48,6 +48,8 @@ extern void *const SDLConcurrentQueueName;
/// @param block The block to run on the serial sub-queue.
+ (void)runSyncOnSerialSubQueue:(dispatch_queue_t)queue block:(void (^)(void))block;
+- (void)reset;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLGlobals.m b/SmartDeviceLink/private/SDLGlobals.m
index 00d764edb..d99f6230e 100644
--- a/SmartDeviceLink/private/SDLGlobals.m
+++ b/SmartDeviceLink/private/SDLGlobals.m
@@ -131,6 +131,12 @@ typedef NSNumber *MTUBox;
}
}
+- (void)reset {
+ _protocolVersion = [[SDLVersion alloc] initWithString:@"1.0.0"];
+ _maxHeadUnitProtocolVersion = [[SDLVersion alloc] initWithString:@"0.0.0"];
+ _rpcVersion = [[SDLVersion alloc] initWithString:@"1.0.0"];
+}
+
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLLifecycleManager.m b/SmartDeviceLink/private/SDLLifecycleManager.m
index 8d25b79f7..b08cb8758 100644
--- a/SmartDeviceLink/private/SDLLifecycleManager.m
+++ b/SmartDeviceLink/private/SDLLifecycleManager.m
@@ -395,6 +395,8 @@ NSString *const BackgroundTaskTransportName = @"com.sdl.transport.backgroundTask
weakSelf.registerResponse = (SDLRegisterAppInterfaceResponse *)response;
[SDLGlobals sharedGlobals].rpcVersion = [SDLVersion versionWithSDLMsgVersion:weakSelf.registerResponse.sdlMsgVersion];
+ SDLLogD(@"Did register app; RPC version: %@, SDL version: %@, starting languages: (VR) %@, (HMI) %@, vehicle type: %@", weakSelf.registerResponse.sdlMsgVersion, (weakSelf.registerResponse.sdlVersion ?: @"unavailable"), weakSelf.registerResponse.language, weakSelf.registerResponse.hmiDisplayLanguage, weakSelf.registerResponse.vehicleType);
+
[weakSelf sdl_transitionToState:SDLLifecycleStateRegistered];
}];
}
diff --git a/SmartDeviceLink/private/SDLLifecycleProtocolHandler.m b/SmartDeviceLink/private/SDLLifecycleProtocolHandler.m
index 858b0bdaf..e415af391 100644
--- a/SmartDeviceLink/private/SDLLifecycleProtocolHandler.m
+++ b/SmartDeviceLink/private/SDLLifecycleProtocolHandler.m
@@ -92,6 +92,7 @@ NS_ASSUME_NONNULL_BEGIN
/// Called when the transport is closed.
- (void)protocolDidClose:(SDLProtocol *)protocol {
if (self.protocol != protocol) { return; }
+ [[SDLGlobals sharedGlobals] reset];
SDLLogW(@"Transport disconnected");
[self.notificationDispatcher postNotificationName:SDLTransportDidDisconnect infoObject:nil];
diff --git a/SmartDeviceLink/private/SDLLogFileModuleMap.m b/SmartDeviceLink/private/SDLLogFileModuleMap.m
index 403a82258..29834a1d0 100644
--- a/SmartDeviceLink/private/SDLLogFileModuleMap.m
+++ b/SmartDeviceLink/private/SDLLogFileModuleMap.m
@@ -130,7 +130,7 @@
}
+ (SDLLogFileModule *)sdl_screenManagerMenuModule {
- return [SDLLogFileModule moduleWithName:@"Screen/Menu" files:[NSSet setWithArray:@[@"SDLMenuManager", @"SDLVoiceCommandManager"]]];
+ return [SDLLogFileModule moduleWithName:@"Screen/Menu" files:[NSSet setWithArray:@[@"SDLMenuManager", @"SDLVoiceCommandManager", @"SDLVoiceCommandUpdateOperation"]]];
}
+ (SDLLogFileModule *)sdl_screenManagerChoiceSetModule {
diff --git a/SmartDeviceLink/private/SDLMenuManager.m b/SmartDeviceLink/private/SDLMenuManager.m
index af91dc3a1..b78f8ee99 100644
--- a/SmartDeviceLink/private/SDLMenuManager.m
+++ b/SmartDeviceLink/private/SDLMenuManager.m
@@ -472,7 +472,7 @@ UInt32 const MenuCellIdMin = 1;
NSArray<SDLRPCRequest *> *mainMenuCommands = nil;
NSArray<SDLRPCRequest *> *subMenuCommands = nil;
- if ([self sdl_findAllArtworksToBeUploadedFromCells:self.menuCells].count > 0 || ![self.windowCapability hasImageFieldOfName:SDLImageFieldNameCommandIcon]) {
+ if (![self sdl_shouldRPCsIncludeImages:self.menuCells] || ![self.windowCapability hasImageFieldOfName:SDLImageFieldNameCommandIcon]) {
// Send artwork-less menu
mainMenuCommands = [self sdl_mainMenuCommandsForCells:updatedMenu withArtwork:NO usingIndexesFrom:menu];
subMenuCommands = [self sdl_subMenuCommandsForCells:updatedMenu withArtwork:NO];
@@ -539,7 +539,7 @@ UInt32 const MenuCellIdMin = 1;
NSMutableSet<SDLArtwork *> *mutableArtworks = [NSMutableSet set];
for (SDLMenuCell *cell in cells) {
- if ([self sdl_artworkNeedsUpload:cell.icon]) {
+ if ([self.fileManager fileNeedsUpload:cell.icon]) {
[mutableArtworks addObject:cell.icon];
}
@@ -551,8 +551,17 @@ UInt32 const MenuCellIdMin = 1;
return [mutableArtworks allObjects];
}
-- (BOOL)sdl_artworkNeedsUpload:(SDLArtwork *)artwork {
- return (artwork != nil && ![self.fileManager hasUploadedFile:artwork] && !artwork.isStaticIcon);
+- (BOOL)sdl_shouldRPCsIncludeImages:(NSArray<SDLMenuCell *> *)cells {
+ for (SDLMenuCell *cell in cells) {
+ SDLArtwork *artwork = cell.icon;
+ if (artwork != nil && !artwork.isStaticIcon && ![self.fileManager hasUploadedFile:artwork]) {
+ return NO;
+ } else if (cell.subCells.count > 0) {
+ return [self sdl_shouldRPCsIncludeImages:cell.subCells];
+ }
+ }
+
+ return YES;
}
#pragma mark IDs
diff --git a/SmartDeviceLink/private/SDLPreloadChoicesOperation.m b/SmartDeviceLink/private/SDLPreloadChoicesOperation.m
index 82f7435ff..b52a82f70 100644
--- a/SmartDeviceLink/private/SDLPreloadChoicesOperation.m
+++ b/SmartDeviceLink/private/SDLPreloadChoicesOperation.m
@@ -87,10 +87,10 @@ NS_ASSUME_NONNULL_BEGIN
NSMutableArray<SDLArtwork *> *artworksToUpload = [NSMutableArray arrayWithCapacity:self.cellsToUpload.count];
for (SDLChoiceCell *cell in self.cellsToUpload) {
- if ([self sdl_shouldSendChoicePrimaryImage] && [self sdl_artworkNeedsUpload:cell.artwork]) {
+ if ([self sdl_shouldSendChoicePrimaryImage] && [self.fileManager fileNeedsUpload:cell.artwork]) {
[artworksToUpload addObject:cell.artwork];
}
- if ([self sdl_shouldSendChoiceSecondaryImage] && [self sdl_artworkNeedsUpload:cell.secondaryArtwork]) {
+ if ([self sdl_shouldSendChoiceSecondaryImage] && [self.fileManager fileNeedsUpload:cell.secondaryArtwork]) {
[artworksToUpload addObject:cell.secondaryArtwork];
}
}
@@ -113,10 +113,6 @@ NS_ASSUME_NONNULL_BEGIN
}];
}
-- (BOOL)sdl_artworkNeedsUpload:(SDLArtwork *)artwork {
- return (artwork != nil && ![self.fileManager hasUploadedFile:artwork] && !artwork.isStaticIcon);
-}
-
- (void)sdl_preloadCells {
_currentState = SDLPreloadChoicesOperationStatePreloadingChoices;
diff --git a/SmartDeviceLink/private/SDLPresentChoiceSetOperation.m b/SmartDeviceLink/private/SDLPresentChoiceSetOperation.m
index 0788b0b97..f0fbbf28a 100644
--- a/SmartDeviceLink/private/SDLPresentChoiceSetOperation.m
+++ b/SmartDeviceLink/private/SDLPresentChoiceSetOperation.m
@@ -278,7 +278,10 @@ NS_ASSUME_NONNULL_BEGIN
}
weakself.keyboardProperties.autoCompleteList = (newList.count > 0) ? newList : @[];
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
weakself.keyboardProperties.autoCompleteText = (newList.count > 0) ? newList.firstObject : nil;
+#pragma clang diagnostic pop
[weakself sdl_updateKeyboardPropertiesWithCompletionHandler:nil];
}];
}
diff --git a/SmartDeviceLink/private/SDLPresentKeyboardOperation.m b/SmartDeviceLink/private/SDLPresentKeyboardOperation.m
index 633ccfba6..798e046af 100644
--- a/SmartDeviceLink/private/SDLPresentKeyboardOperation.m
+++ b/SmartDeviceLink/private/SDLPresentKeyboardOperation.m
@@ -192,7 +192,10 @@ NS_ASSUME_NONNULL_BEGIN
}
weakself.keyboardProperties.autoCompleteList = (newList.count > 0) ? newList : @[];
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
weakself.keyboardProperties.autoCompleteText = (newList.count > 0) ? newList.firstObject : nil;
+#pragma clang diagnostic pop
[weakself sdl_updateKeyboardPropertiesWithCompletionHandler:nil];
}];
}
diff --git a/SmartDeviceLink/private/SDLSoftButtonManager.m b/SmartDeviceLink/private/SDLSoftButtonManager.m
index 01a8d0c05..97b233aa6 100644
--- a/SmartDeviceLink/private/SDLSoftButtonManager.m
+++ b/SmartDeviceLink/private/SDLSoftButtonManager.m
@@ -125,7 +125,8 @@ NS_ASSUME_NONNULL_BEGIN
// Set the soft button ids. Check to make sure no two soft buttons have the same name, there aren't many soft buttons, so n^2 isn't going to be bad
for (NSUInteger i = 0; i < softButtonObjects.count; i++) {
NSString *buttonName = softButtonObjects[i].name;
- softButtonObjects[i].buttonId = i * 100;
+ // HAX: Due to a SYNC 3.0 bug (https://github.com/smartdevicelink/sdl_ios/issues/1793#issue-708356008), a `buttonId` can not be zero. As a workaround we will start the `buttonId`s from 1.
+ softButtonObjects[i].buttonId = i + 1;
for (NSUInteger j = (i + 1); j < softButtonObjects.count; j++) {
if ([softButtonObjects[j].name isEqualToString:buttonName]) {
_softButtonObjects = @[];
diff --git a/SmartDeviceLink/private/SDLSoftButtonReplaceOperation.m b/SmartDeviceLink/private/SDLSoftButtonReplaceOperation.m
index d3a68735c..65285f830 100644
--- a/SmartDeviceLink/private/SDLSoftButtonReplaceOperation.m
+++ b/SmartDeviceLink/private/SDLSoftButtonReplaceOperation.m
@@ -103,7 +103,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)sdl_uploadInitialStateImagesWithCompletionHandler:(void (^)(void))handler {
NSMutableArray<SDLArtwork *> *initialStatesToBeUploaded = [NSMutableArray array];
for (SDLSoftButtonObject *object in self.softButtonObjects) {
- if ([self sdl_artworkNeedsUpload:object.currentState.artwork]) {
+ if ([self.fileManager fileNeedsUpload:object.currentState.artwork]) {
[initialStatesToBeUploaded addObject:object.currentState.artwork];
}
}
@@ -118,7 +118,7 @@ NS_ASSUME_NONNULL_BEGIN
for (SDLSoftButtonObject *object in self.softButtonObjects) {
for (SDLSoftButtonState *state in object.states) {
if ([state.name isEqualToString:object.currentState.name]) { continue; }
- if ([self sdl_artworkNeedsUpload:state.artwork]) {
+ if ([self.fileManager fileNeedsUpload:state.artwork]) {
[otherStatesToBeUploaded addObject:state.artwork];
}
}
@@ -227,17 +227,13 @@ NS_ASSUME_NONNULL_BEGIN
#pragma mark - Images
-- (BOOL)sdl_artworkNeedsUpload:(SDLArtwork *)artwork {
- return (artwork != nil && ![self.fileManager hasUploadedFile:artwork] && self.softButtonCapabilities.imageSupported.boolValue && !artwork.isStaticIcon);
-}
-
/// Checks all the button states for images that need to be uploaded.
/// @return True if all images have been uploaded; false at least one image needs to be uploaded
- (BOOL)sdl_allStateImagesAreUploaded {
for (SDLSoftButtonObject *button in self.softButtonObjects) {
for (SDLSoftButtonState *state in button.states) {
SDLArtwork *artwork = state.artwork;
- if (![self sdl_artworkNeedsUpload:artwork]) { continue; }
+ if (![self.fileManager fileNeedsUpload:artwork]) { continue; }
return NO;
}
}
diff --git a/SmartDeviceLink/private/SDLTextAndGraphicManager.m b/SmartDeviceLink/private/SDLTextAndGraphicManager.m
index cd6ad0894..de8e87111 100644
--- a/SmartDeviceLink/private/SDLTextAndGraphicManager.m
+++ b/SmartDeviceLink/private/SDLTextAndGraphicManager.m
@@ -366,7 +366,7 @@ NS_ASSUME_NONNULL_BEGIN
UIImage *blankImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
- _blankArtwork = [SDLArtwork artworkWithImage:blankImage name:@"sdl_BlankArt" asImageFormat:SDLArtworkImageFormatPNG];
+ _blankArtwork = [SDLArtwork persistentArtworkWithImage:blankImage name:@"sdl_BlankArt" asImageFormat:SDLArtworkImageFormatPNG];
return _blankArtwork;
}
diff --git a/SmartDeviceLink/private/SDLTextAndGraphicUpdateOperation.m b/SmartDeviceLink/private/SDLTextAndGraphicUpdateOperation.m
index 990df13f2..cd47531e2 100644
--- a/SmartDeviceLink/private/SDLTextAndGraphicUpdateOperation.m
+++ b/SmartDeviceLink/private/SDLTextAndGraphicUpdateOperation.m
@@ -111,7 +111,7 @@ NS_ASSUME_NONNULL_BEGIN
}
[strongSelf finishOperation];
}];
- } else if (![self sdl_artworkNeedsUpload:self.updatedState.primaryGraphic] && ![self sdl_artworkNeedsUpload:self.updatedState.secondaryGraphic]) {
+ } else if (![self.fileManager fileNeedsUpload:self.updatedState.primaryGraphic] && ![self.fileManager fileNeedsUpload:self.updatedState.secondaryGraphic]) {
SDLLogV(@"Images already uploaded, sending full update");
// The files to be updated are already uploaded, send the full show immediately
[self sdl_sendShow:show withHandler:^(NSError * _Nullable error) {
@@ -263,8 +263,8 @@ NS_ASSUME_NONNULL_BEGIN
- (nullable SDLShow *)sdl_createImageOnlyShowWithPrimaryArtwork:(nullable SDLArtwork *)primaryArtwork secondaryArtwork:(nullable SDLArtwork *)secondaryArtwork {
SDLShow *newShow = [[SDLShow alloc] init];
- newShow.graphic = ![self sdl_artworkNeedsUpload:primaryArtwork] ? primaryArtwork.imageRPC : nil;
- newShow.secondaryGraphic = ![self sdl_artworkNeedsUpload:secondaryArtwork] ? secondaryArtwork.imageRPC : nil;
+ newShow.graphic = [self sdl_shouldRPCIncludeImage:primaryArtwork] ? primaryArtwork.imageRPC : nil;
+ newShow.secondaryGraphic = [self sdl_shouldRPCIncludeImage:secondaryArtwork] ? secondaryArtwork.imageRPC : nil;
if (newShow.graphic == nil && newShow.secondaryGraphic == nil) {
SDLLogV(@"No graphics to upload");
@@ -515,30 +515,34 @@ NS_ASSUME_NONNULL_BEGIN
#pragma mark - Should Update
-- (BOOL)sdl_artworkNeedsUpload:(SDLArtwork *)artwork {
- return (artwork != nil && ![self.fileManager hasUploadedFile:artwork] && !artwork.isStaticIcon);
+- (BOOL)sdl_shouldRPCIncludeImage:(nullable SDLArtwork *)artwork {
+ if (artwork == nil) { return NO; }
+
+ return (artwork.isStaticIcon || [self.fileManager hasUploadedFile:artwork]);
}
- (BOOL)sdl_shouldUpdatePrimaryImage {
// If the template is updating, we don't yet know it's capabilities. Just assume the template supports the primary image.
BOOL templateSupportsPrimaryArtwork = [self.currentCapabilities hasImageFieldOfName:SDLImageFieldNameGraphic] || [self sdl_shouldUpdateTemplateConfig];
- BOOL graphicMatchesExisting = [self.currentScreenData.primaryGraphic.name isEqualToString:self.updatedState.primaryGraphic.name];
+ BOOL graphicNameMatchesExisting = [self.currentScreenData.primaryGraphic.name isEqualToString:self.updatedState.primaryGraphic.name];
+ BOOL shouldOverwriteGraphic = self.updatedState.primaryGraphic.overwrite;
BOOL graphicExists = (self.updatedState.primaryGraphic != nil);
- return (templateSupportsPrimaryArtwork && !graphicMatchesExisting && graphicExists);
+ return (templateSupportsPrimaryArtwork && (shouldOverwriteGraphic || !graphicNameMatchesExisting) && graphicExists);
}
- (BOOL)sdl_shouldUpdateSecondaryImage {
// If the template is updating, we don't yet know it's capabilities. Just assume the template supports the secondary image.
BOOL templateSupportsSecondaryArtwork = [self.currentCapabilities hasImageFieldOfName:SDLImageFieldNameSecondaryGraphic] || [self sdl_shouldUpdateTemplateConfig];
- BOOL graphicMatchesExisting = [self.currentScreenData.secondaryGraphic.name isEqualToString:self.updatedState.secondaryGraphic.name];
+ BOOL graphicNameMatchesExisting = [self.currentScreenData.secondaryGraphic.name isEqualToString:self.updatedState.secondaryGraphic.name];
+ BOOL shouldOverwriteGraphic = self.updatedState.secondaryGraphic != nil && self.updatedState.secondaryGraphic.overwrite;
BOOL graphicExists = (self.updatedState.secondaryGraphic != nil);
// Cannot detect if there is a secondary image below v5.0, so we'll just try to detect if the primary image is allowed and allow the secondary image if it is.
if ([[SDLGlobals sharedGlobals].rpcVersion isGreaterThanOrEqualToVersion:[SDLVersion versionWithMajor:5 minor:0 patch:0]]) {
- return (templateSupportsSecondaryArtwork && !graphicMatchesExisting && graphicExists);
+ return (templateSupportsSecondaryArtwork && (shouldOverwriteGraphic || !graphicNameMatchesExisting) && graphicExists);
} else {
- return ([self.currentCapabilities hasImageFieldOfName:SDLImageFieldNameGraphic] && !graphicMatchesExisting && graphicExists);
+ return ([self.currentCapabilities hasImageFieldOfName:SDLImageFieldNameGraphic] && (shouldOverwriteGraphic || !graphicNameMatchesExisting) && graphicExists);
}
}
diff --git a/SmartDeviceLink/private/SDLVoiceCommandManager.h b/SmartDeviceLink/private/SDLVoiceCommandManager.h
index 8c3f3f78f..1bd9a6567 100644
--- a/SmartDeviceLink/private/SDLVoiceCommandManager.h
+++ b/SmartDeviceLink/private/SDLVoiceCommandManager.h
@@ -15,13 +15,6 @@
NS_ASSUME_NONNULL_BEGIN
-/**
- The handler run when the update has completed
-
- @param error An error if the update failed and an error occurred
- */
-typedef void(^SDLMenuUpdateCompletionHandler)(NSError *__nullable error);
-
@interface SDLVoiceCommandManager : NSObject
- (instancetype)initWithConnectionManager:(id<SDLConnectionManagerType>)connectionManager;
diff --git a/SmartDeviceLink/private/SDLVoiceCommandManager.m b/SmartDeviceLink/private/SDLVoiceCommandManager.m
index e9bd3d5e6..fc0048736 100644
--- a/SmartDeviceLink/private/SDLVoiceCommandManager.m
+++ b/SmartDeviceLink/private/SDLVoiceCommandManager.m
@@ -21,6 +21,7 @@
#import "SDLRPCNotificationNotification.h"
#import "SDLRPCRequest.h"
#import "SDLVoiceCommand.h"
+#import "SDLVoiceCommandUpdateOperation.h"
NS_ASSUME_NONNULL_BEGIN
@@ -33,15 +34,12 @@ NS_ASSUME_NONNULL_BEGIN
@interface SDLVoiceCommandManager()
@property (weak, nonatomic) id<SDLConnectionManagerType> connectionManager;
+@property (strong, nonatomic) NSOperationQueue *transactionQueue;
-@property (assign, nonatomic) BOOL waitingOnHMIUpdate;
-@property (copy, nonatomic, nullable) SDLHMILevel currentHMILevel;
-
-@property (strong, nonatomic, nullable) NSArray<SDLRPCRequest *> *inProgressUpdate;
-@property (assign, nonatomic) BOOL hasQueuedUpdate;
+@property (copy, nonatomic, nullable) SDLHMILevel currentLevel;
@property (assign, nonatomic) UInt32 lastVoiceCommandId;
-@property (copy, nonatomic) NSArray<SDLVoiceCommand *> *oldVoiceCommands;
+@property (copy, nonatomic) NSArray<SDLVoiceCommand *> *currentVoiceCommands;
@end
@@ -54,8 +52,9 @@ UInt32 const VoiceCommandIdMin = 1900000000;
if (!self) { return nil; }
_lastVoiceCommandId = VoiceCommandIdMin;
+ _transactionQueue = [self sdl_newTransactionQueue];
_voiceCommands = @[];
- _oldVoiceCommands = @[];
+ _currentVoiceCommands = @[];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_hmiStatusNotification:) name:SDLDidChangeHMIStatusNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sdl_commandNotification:) name:SDLDidReceiveCommandNotification object:nil];
@@ -75,120 +74,70 @@ UInt32 const VoiceCommandIdMin = 1900000000;
- (void)stop {
_lastVoiceCommandId = VoiceCommandIdMin;
_voiceCommands = @[];
- _oldVoiceCommands = @[];
+ _currentVoiceCommands = @[];
+ _transactionQueue = [self sdl_newTransactionQueue];
+
+ _currentLevel = nil;
+}
+
+- (NSOperationQueue *)sdl_newTransactionQueue {
+ NSOperationQueue *queue = [[NSOperationQueue alloc] init];
+ queue.name = @"SDLVoiceCommandManager Transaction Queue";
+ queue.maxConcurrentOperationCount = 1;
+ queue.qualityOfService = NSQualityOfServiceUserInitiated;
+ queue.suspended = YES;
- _waitingOnHMIUpdate = NO;
- _currentHMILevel = nil;
- _inProgressUpdate = nil;
- _hasQueuedUpdate = NO;
+ return queue;
+}
+
+/// Suspend the queue if the HMI level is NONE since we want to delay sending RPCs until we're in non-NONE
+- (void)sdl_updateTransactionQueueSuspended {
+ if ([self.currentLevel isEqualToEnum:SDLHMILevelNone]) {
+ SDLLogD(@"Suspending the transaction queue. Current HMI level is NONE: %@", ([self.currentLevel isEqualToEnum:SDLHMILevelNone] ? @"YES" : @"NO"));
+ self.transactionQueue.suspended = YES;
+ } else {
+ SDLLogD(@"Starting the transaction queue");
+ self.transactionQueue.suspended = NO;
+ }
}
#pragma mark - Setters
- (void)setVoiceCommands:(NSArray<SDLVoiceCommand *> *)voiceCommands {
- if (self.currentHMILevel == nil || [self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) {
- self.waitingOnHMIUpdate = YES;
+ if (voiceCommands == self.voiceCommands) {
+ SDLLogD(@"New voice commands are equal to the existing voice commands, skipping...");
return;
}
- self.waitingOnHMIUpdate = NO;
-
// Set the ids
- self.lastVoiceCommandId = VoiceCommandIdMin;
[self sdl_updateIdsOnVoiceCommands:voiceCommands];
- _oldVoiceCommands = _voiceCommands;
+ // Set the new voice commands internally
_voiceCommands = voiceCommands;
- [self sdl_updateWithCompletionHandler:nil];
-}
-
-#pragma mark - Updating System
-
-- (void)sdl_updateWithCompletionHandler:(nullable SDLMenuUpdateCompletionHandler)completionHandler {
- if (self.currentHMILevel == nil || [self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) {
- self.waitingOnHMIUpdate = YES;
- return;
- }
-
- if (self.inProgressUpdate != nil) {
- // There's an in progress update, we need to put this on hold
- self.hasQueuedUpdate = YES;
- return;
- }
-
- __weak typeof(self) weakself = self;
- [self sdl_sendDeleteCurrentVoiceCommands:^(NSError * _Nullable error) {
- [weakself sdl_sendCurrentVoiceCommands:^(NSError * _Nullable error) {
- weakself.inProgressUpdate = nil;
-
- if (completionHandler != nil) {
- completionHandler(error);
- }
-
- if (weakself.hasQueuedUpdate) {
- [weakself sdl_updateWithCompletionHandler:nil];
- weakself.hasQueuedUpdate = NO;
- }
- }];
+ // Create the operation, cancel previous ones and set this one
+ __weak typeof(self) weakSelf = self;
+ SDLVoiceCommandUpdateOperation *updateOperation = [[SDLVoiceCommandUpdateOperation alloc] initWithConnectionManager:self.connectionManager pendingVoiceCommands:voiceCommands oldVoiceCommands:_currentVoiceCommands updateCompletionHandler:^(NSArray<SDLVoiceCommand *> *newCurrentVoiceCommands, NSError * _Nullable error) {
+ weakSelf.currentVoiceCommands = newCurrentVoiceCommands;
+ [weakSelf sdl_updatePendingOperationsWithNewCurrentVoiceCommands:newCurrentVoiceCommands];
}];
-}
-
-#pragma mark Delete Old Menu Items
-
-- (void)sdl_sendDeleteCurrentVoiceCommands:(SDLMenuUpdateCompletionHandler)completionHandler {
- if (self.oldVoiceCommands.count == 0) {
- completionHandler(nil);
-
- return;
- }
-
- NSArray<SDLRPCRequest *> *deleteVoiceCommands = [self sdl_deleteCommandsForVoiceCommands:self.oldVoiceCommands];
- self.oldVoiceCommands = @[];
- [self.connectionManager sendRequests:deleteVoiceCommands progressHandler:nil completionHandler:^(BOOL success) {
- if (!success) {
- SDLLogE(@"Error deleting old voice commands");
- } else {
- SDLLogD(@"Finished deleting old voice commands");
- }
- completionHandler(nil);
- }];
+ [self.transactionQueue cancelAllOperations];
+ [self.transactionQueue addOperation:updateOperation];
}
-#pragma mark Send New Menu Items
-
-- (void)sdl_sendCurrentVoiceCommands:(SDLMenuUpdateCompletionHandler)completionHandler {
- if (self.voiceCommands.count == 0) {
- SDLLogD(@"No voice commands to send");
- completionHandler(nil);
+/// Update currently pending operations with a new set of "current" voice commands (the current state of the head unit) based on a previous completed operation
+/// @param currentVoiceCommands The new current voice commands
+- (void)sdl_updatePendingOperationsWithNewCurrentVoiceCommands:(NSArray<SDLVoiceCommand *> *)currentVoiceCommands {
+ for (NSOperation *operation in self.transactionQueue.operations) {
+ if (operation.isExecuting) { continue; }
- return;
+ SDLVoiceCommandUpdateOperation *updateOp = (SDLVoiceCommandUpdateOperation *)operation;
+ updateOp.oldVoiceCommands = currentVoiceCommands;
}
-
- self.inProgressUpdate = [self sdl_addCommandsForVoiceCommands:self.voiceCommands];
-
- __block NSMutableDictionary<SDLRPCRequest *, NSError *> *errors = [NSMutableDictionary dictionary];
- __weak typeof(self) weakSelf = self;
- [self.connectionManager sendRequests:self.inProgressUpdate progressHandler:^(__kindof SDLRPCRequest * _Nonnull request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error, float percentComplete) {
- if (error != nil) {
- errors[request] = error;
- }
- } completionHandler:^(BOOL success) {
- if (!success) {
- SDLLogE(@"Failed to send main menu commands: %@", errors);
- completionHandler([NSError sdl_menuManager_failedToUpdateWithDictionary:errors]);
- return;
- }
-
- SDLLogD(@"Finished updating voice commands");
- weakSelf.oldVoiceCommands = weakSelf.voiceCommands;
- completionHandler(nil);
- }];
}
#pragma mark - Helpers
-
#pragma mark IDs
- (void)sdl_updateIdsOnVoiceCommands:(NSArray<SDLVoiceCommand *> *)voiceCommands {
@@ -197,37 +146,6 @@ UInt32 const VoiceCommandIdMin = 1900000000;
}
}
-#pragma mark Deletes
-
-- (NSArray<SDLDeleteCommand *> *)sdl_deleteCommandsForVoiceCommands:(NSArray<SDLVoiceCommand *> *)voiceCommands {
- NSMutableArray<SDLDeleteCommand *> *mutableDeletes = [NSMutableArray array];
- for (SDLVoiceCommand *command in voiceCommands) {
- SDLDeleteCommand *delete = [[SDLDeleteCommand alloc] initWithId:command.commandId];
- [mutableDeletes addObject:delete];
- }
-
- return [mutableDeletes copy];
-}
-
-#pragma mark Commands
-
-- (NSArray<SDLAddCommand *> *)sdl_addCommandsForVoiceCommands:(NSArray<SDLVoiceCommand *> *)voiceCommands {
- NSMutableArray<SDLAddCommand *> *mutableCommands = [NSMutableArray array];
- for (SDLVoiceCommand *command in voiceCommands) {
- [mutableCommands addObject:[self sdl_commandForVoiceCommand:command]];
- }
-
- return [mutableCommands copy];
-}
-
-- (SDLAddCommand *)sdl_commandForVoiceCommand:(SDLVoiceCommand *)voiceCommand {
- SDLAddCommand *command = [[SDLAddCommand alloc] init];
- command.vrCommands = voiceCommand.voiceCommands;
- command.cmdID = @(voiceCommand.commandId);
-
- return command;
-}
-
#pragma mark - Observers
- (void)sdl_commandNotification:(SDLRPCNotificationNotification *)notification {
@@ -243,22 +161,12 @@ UInt32 const VoiceCommandIdMin = 1900000000;
- (void)sdl_hmiStatusNotification:(SDLRPCNotificationNotification *)notification {
SDLOnHMIStatus *hmiStatus = (SDLOnHMIStatus *)notification.notification;
-
if (hmiStatus.windowID != nil && hmiStatus.windowID.integerValue != SDLPredefinedWindowsDefaultWindow) {
return;
}
-
- SDLHMILevel oldHMILevel = self.currentHMILevel;
- self.currentHMILevel = hmiStatus.hmiLevel;
-
- // Auto-send an updated show if we were in NONE and now we are not
- if ([oldHMILevel isEqualToEnum:SDLHMILevelNone] && ![self.currentHMILevel isEqualToEnum:SDLHMILevelNone]) {
- if (self.waitingOnHMIUpdate) {
- [self setVoiceCommands:_voiceCommands];
- } else {
- [self sdl_updateWithCompletionHandler:nil];
- }
- }
+
+ self.currentLevel = hmiStatus.hmiLevel;
+ [self sdl_updateTransactionQueueSuspended];
}
@end
diff --git a/SmartDeviceLink/private/SDLVoiceCommandUpdateOperation.h b/SmartDeviceLink/private/SDLVoiceCommandUpdateOperation.h
new file mode 100644
index 000000000..ec0cf86ec
--- /dev/null
+++ b/SmartDeviceLink/private/SDLVoiceCommandUpdateOperation.h
@@ -0,0 +1,38 @@
+//
+// SDLVoiceCommandUpdateOperation.h
+// SmartDeviceLink
+//
+// Created by Joel Fischer on 11/6/20.
+// Copyright © 2020 smartdevicelink. All rights reserved.
+//
+
+#import "SDLAsynchronousOperation.h"
+
+@class SDLVoiceCommand;
+
+@protocol SDLConnectionManagerType;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// A handler run when the operation completes, containing the new voice commands that are available on the head unit
+///
+/// @param newCurrentVoiceCommands The voice commands currently present on the head unit
+/// @param error The error if one occurred
+typedef void(^SDLVoiceCommandUpdateCompletionHandler)(NSArray<SDLVoiceCommand *> *newCurrentVoiceCommands, NSError *__nullable error);
+
+/// An operation that handles changing voice commands on the head unit
+@interface SDLVoiceCommandUpdateOperation : SDLAsynchronousOperation
+
+/// The voice commands currently on the head unit
+@property (strong, nonatomic, nullable) NSArray<SDLVoiceCommand *> *oldVoiceCommands;
+
+/// Initialize a voice command update operation
+/// @param connectionManager The connection manager for sending RPCs
+/// @param pendingVoiceCommands The voice commands that should be on the head unit when this operation completes
+/// @param oldVoiceCommands The voice commands currently on the head unit
+/// @param completionHandler A handler called right before the update operation finishes
+- (instancetype)initWithConnectionManager:(id<SDLConnectionManagerType>)connectionManager pendingVoiceCommands:(NSArray<SDLVoiceCommand *> *)pendingVoiceCommands oldVoiceCommands:(NSArray<SDLVoiceCommand *> *)oldVoiceCommands updateCompletionHandler:(SDLVoiceCommandUpdateCompletionHandler)completionHandler;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/private/SDLVoiceCommandUpdateOperation.m b/SmartDeviceLink/private/SDLVoiceCommandUpdateOperation.m
new file mode 100644
index 000000000..184615d63
--- /dev/null
+++ b/SmartDeviceLink/private/SDLVoiceCommandUpdateOperation.m
@@ -0,0 +1,227 @@
+//
+// SDLVoiceCommandUpdateOperation.m
+// SmartDeviceLink
+//
+// Created by Joel Fischer on 11/6/20.
+// Copyright © 2020 smartdevicelink. All rights reserved.
+//
+
+#import "SDLVoiceCommandUpdateOperation.h"
+
+#import "SDLAddCommand.h"
+#import "SDLConnectionManagerType.h"
+#import "SDLDeleteCommand.h"
+#import "SDLError.h"
+#import "SDLLogMacros.h"
+#import "SDLVoiceCommand.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface SDLVoiceCommand()
+
+@property (assign, nonatomic) UInt32 commandId;
+
+@end
+
+@interface SDLVoiceCommandUpdateOperation ()
+
+@property (weak, nonatomic) id<SDLConnectionManagerType> connectionManager;
+@property (copy, nonatomic) NSArray<SDLVoiceCommand *> *pendingVoiceCommands;
+@property (strong, nonatomic) NSMutableArray<SDLVoiceCommand *> *currentVoiceCommands;
+@property (copy, nonatomic) SDLVoiceCommandUpdateCompletionHandler completionHandler;
+
+@property (copy, nonatomic, nullable) NSError *internalError;
+
+@end
+
+@implementation SDLVoiceCommandUpdateOperation
+
+- (instancetype)initWithConnectionManager:(id<SDLConnectionManagerType>)connectionManager pendingVoiceCommands:(NSArray<SDLVoiceCommand *> *)pendingVoiceCommands oldVoiceCommands:(NSArray<SDLVoiceCommand *> *)oldVoiceCommands updateCompletionHandler:(SDLVoiceCommandUpdateCompletionHandler)completionHandler {
+ self = [self init];
+ if (!self) { return nil; }
+
+ _connectionManager = connectionManager;
+ _pendingVoiceCommands = pendingVoiceCommands;
+ _oldVoiceCommands = oldVoiceCommands;
+ _currentVoiceCommands = oldVoiceCommands.mutableCopy;
+ _completionHandler = completionHandler;
+
+ return self;
+}
+
+- (void)start {
+ [super start];
+ if (self.isCancelled) {
+ [self finishOperation];
+ return;
+ }
+
+ __weak typeof(self) weakSelf = self;
+ [self sdl_sendDeleteCurrentVoiceCommands:^{
+ // If the operation has been canceled, then don't send the new commands and finish the operation
+ if (self.isCancelled) {
+ [weakSelf finishOperation];
+ return;
+ }
+
+ // Send the new commands
+ [weakSelf sdl_sendCurrentVoiceCommands:^{
+ [weakSelf finishOperation];
+ }];
+ }];
+}
+
+#pragma mark - Sending RPCs
+
+/// Send DeleteCommand RPCs for voice commands that should be deleted
+/// @param completionHandler A handler called when all DeleteCommands have completed
+- (void)sdl_sendDeleteCurrentVoiceCommands:(void(^)(void))completionHandler {
+ if (self.oldVoiceCommands.count == 0) {
+ SDLLogD(@"No voice commands to delete");
+ return completionHandler();
+ }
+
+ NSArray<SDLDeleteCommand *> *deleteVoiceCommands = [self sdl_deleteCommandsForVoiceCommands:self.oldVoiceCommands];
+ __block NSMutableDictionary<SDLDeleteCommand *, NSError *> *errors = [NSMutableDictionary dictionary];
+ __weak typeof(self) weakSelf = self;
+ [self.connectionManager sendRequests:deleteVoiceCommands progressHandler:^(__kindof SDLRPCRequest * _Nonnull request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error, float percentComplete) {
+ // Add the request to the error dict or remove it from the current voice commands array
+ if (error != nil) {
+ errors[request] = error;
+ } else {
+ [weakSelf sdl_removeCurrentVoiceCommandWithCommandId:((SDLDeleteCommand *)request).cmdID.unsignedIntValue];
+ }
+
+ SDLLogV(@"Deleting voice commands progress: %f", percentComplete);
+ } completionHandler:^(BOOL success) {
+ if (!success) {
+ SDLLogE(@"Failed to send voice commands: %@", errors.allKeys);
+ SDLLogE(@"Failure reasons: %@", errors.allValues);
+ weakSelf.internalError = [NSError sdl_menuManager_failedToUpdateWithDictionary:errors];
+ return completionHandler();
+ }
+
+ SDLLogD(@"Finished deleting old voice commands");
+ return completionHandler();
+ }];
+}
+
+/// Send AddCommand RPCs for voice commands that should be added
+/// @param completionHandler A handler called when all AddCommands have completed
+- (void)sdl_sendCurrentVoiceCommands:(void(^)(void))completionHandler {
+ if (self.pendingVoiceCommands.count == 0) {
+ SDLLogD(@"No voice commands to send");
+ return completionHandler();
+ }
+
+ NSArray<SDLAddCommand *> *addCommandsToSend = [self sdl_addCommandsForVoiceCommands:self.pendingVoiceCommands];
+ __block NSMutableDictionary<SDLAddCommand *, NSError *> *errors = [NSMutableDictionary dictionary];
+ __weak typeof(self) weakSelf = self;
+ [self.connectionManager sendRequests:addCommandsToSend progressHandler:^(__kindof SDLRPCRequest * _Nonnull request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error, float percentComplete) {
+ // Add the request to the error dict or add it to the current voice commands array
+ if (error != nil) {
+ errors[request] = error;
+ } else {
+ [weakSelf.currentVoiceCommands addObject:[weakSelf sdl_pendingVoiceCommandWithCommandId:((SDLAddCommand *)request).cmdID.unsignedIntValue]];
+ }
+
+ SDLLogV(@"Sending voice commands progress: %f", percentComplete);
+ } completionHandler:^(BOOL success) {
+ if (!success) {
+ SDLLogE(@"Failed to send voice commands: %@", errors.allKeys);
+ SDLLogE(@"Failure reasons: %@", errors.allValues);
+ weakSelf.internalError = [NSError sdl_menuManager_failedToUpdateWithDictionary:errors];
+ return completionHandler();
+ }
+
+ SDLLogD(@"Finished updating voice commands");
+ return completionHandler();
+ }];
+}
+
+#pragma mark - Helpers
+#pragma mark Deletes
+
+/// Create DeleteCommand RPCs for passed voice commands
+/// @param voiceCommands The voice commands that should be deleted
+/// @return The DeleteCommand RPCs for the passed voice commands
+- (NSArray<SDLDeleteCommand *> *)sdl_deleteCommandsForVoiceCommands:(NSArray<SDLVoiceCommand *> *)voiceCommands {
+ NSMutableArray<SDLDeleteCommand *> *mutableDeletes = [NSMutableArray array];
+ for (SDLVoiceCommand *command in voiceCommands) {
+ SDLDeleteCommand *delete = [[SDLDeleteCommand alloc] initWithId:command.commandId];
+ [mutableDeletes addObject:delete];
+ }
+
+ return [mutableDeletes copy];
+}
+
+#pragma mark Commands
+
+/// Create AddCommand RPCs for passed voice commands
+/// @param voiceCommands The voice commands that should be added
+/// @return The AddCommand RPCs for the passed voice commands
+- (NSArray<SDLAddCommand *> *)sdl_addCommandsForVoiceCommands:(NSArray<SDLVoiceCommand *> *)voiceCommands {
+ NSMutableArray<SDLAddCommand *> *mutableCommands = [NSMutableArray array];
+ for (SDLVoiceCommand *voiceCommand in voiceCommands) {
+ SDLAddCommand *command = [[SDLAddCommand alloc] init];
+ command.vrCommands = voiceCommand.voiceCommands;
+ command.cmdID = @(voiceCommand.commandId);
+
+ [mutableCommands addObject:command];
+ }
+
+ return [mutableCommands copy];
+}
+
+#pragma mark - Managing list of commands on head unit
+
+/// Remove a voice command from the array of voice commands on the head unit based on a command id
+/// @param commandId The command id to use to remove a voice command
+- (void)sdl_removeCurrentVoiceCommandWithCommandId:(UInt32)commandId {
+ for (SDLVoiceCommand *voiceCommand in self.currentVoiceCommands) {
+ if (voiceCommand.commandId == commandId) {
+ [self.currentVoiceCommands removeObject:voiceCommand];
+ break;
+ }
+ }
+}
+
+/// Find a voice command in the pending voice command array based on a command id
+/// @param commandId The command id to use to find a voice command
+- (nullable SDLVoiceCommand *)sdl_pendingVoiceCommandWithCommandId:(UInt32)commandId {
+ for (SDLVoiceCommand *voiceCommand in self.pendingVoiceCommands) {
+ if (voiceCommand.commandId == commandId) {
+ return voiceCommand;
+ }
+ }
+
+ return nil;
+}
+
+#pragma mark - Operation Overrides
+
+- (void)finishOperation {
+ SDLLogV(@"Finishing voice command update operation");
+ if (self.isCancelled) {
+ self.internalError = [NSError sdl_voiceCommandManager_pendingUpdateSuperseded];
+ }
+
+ self.completionHandler(self.currentVoiceCommands.copy, self.error);
+ [super finishOperation];
+}
+
+- (nullable NSString *)name {
+ return @"com.sdl.voicecommand.update";
+}
+
+- (NSOperationQueuePriority)queuePriority {
+ return NSOperationQueuePriorityNormal;
+}
+
+- (nullable NSError *)error {
+ return self.internalError;
+}
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLArtwork.m b/SmartDeviceLink/public/SDLArtwork.m
index 85dd4705a..9ac173307 100644
--- a/SmartDeviceLink/public/SDLArtwork.m
+++ b/SmartDeviceLink/public/SDLArtwork.m
@@ -156,9 +156,17 @@ NS_ASSUME_NONNULL_BEGIN
#pragma mark - NSObject overrides
- (id)copyWithZone:(nullable NSZone *)zone {
- SDLArtworkImageFormat imageFormat = self.fileType == SDLFileTypePNG ? SDLArtworkImageFormatPNG : SDLArtworkImageFormatJPG;
+ SDLArtwork *artwork = nil;
+ if (self.isStaticIcon) {
+ artwork = [[SDLArtwork allocWithZone:zone] initWithStaticIcon:[[NSString alloc] initWithData:self.data encoding:NSASCIIStringEncoding]];
+ } else {
+ SDLArtworkImageFormat imageFormat = self.fileType == SDLFileTypePNG ? SDLArtworkImageFormatPNG : SDLArtworkImageFormatJPG;
+ artwork = [[SDLArtwork allocWithZone:zone] initWithImage:[self.image copy] name:[self.name copy] persistent:self.isPersistent asImageFormat:imageFormat];
+ }
+
+ artwork.overwrite = self.overwrite;
- return [[SDLArtwork allocWithZone:zone] initWithImage:[self.image copy] name:[self.name copy] persistent:self.isPersistent asImageFormat:imageFormat];
+ return artwork;
}
- (NSUInteger)hash {
@@ -184,7 +192,7 @@ NS_ASSUME_NONNULL_BEGIN
}
- (NSString *)description {
- return [NSString stringWithFormat:@"SDLArtwork name: %@, image: %@, isTemplate: %@, isStaticIcon: %@", self.name, self.image, (self.isTemplate ? @"YES" : @"NO"), (self.isStaticIcon ? @"YES" : @"NO")];
+ return [NSString stringWithFormat:@"SDLArtwork name: %@, image: %@, isTemplate: %@, isStaticIcon: %@, isOverwrite: %@", self.name, self.image, (self.isTemplate ? @"YES" : @"NO"), (self.isStaticIcon ? @"YES" : @"NO"), (self.overwrite ? @"YES" : @"NO")];
}
@end
diff --git a/SmartDeviceLink/public/SDLDisplayCapabilities.h b/SmartDeviceLink/public/SDLDisplayCapabilities.h
index b5644379f..42fa9723c 100644
--- a/SmartDeviceLink/public/SDLDisplayCapabilities.h
+++ b/SmartDeviceLink/public/SDLDisplayCapabilities.h
@@ -17,7 +17,7 @@
*/
NS_ASSUME_NONNULL_BEGIN
-
+__deprecated_msg("Use SDLSystemCapabilityManager.defaultMainWindowCapability instead")
@interface SDLDisplayCapabilities : SDLRPCStruct
/**
diff --git a/SmartDeviceLink/public/SDLDisplayCapabilities.m b/SmartDeviceLink/public/SDLDisplayCapabilities.m
index b85208a83..78534d9a2 100644
--- a/SmartDeviceLink/public/SDLDisplayCapabilities.m
+++ b/SmartDeviceLink/public/SDLDisplayCapabilities.m
@@ -11,6 +11,8 @@
NS_ASSUME_NONNULL_BEGIN
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-implementations"
@implementation SDLDisplayCapabilities
- (void)setDisplayType:(SDLDisplayType)displayType {
@@ -90,5 +92,6 @@ NS_ASSUME_NONNULL_BEGIN
}
@end
+#pragma clang diagnostic pop
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/public/SDLErrorConstants.h b/SmartDeviceLink/public/SDLErrorConstants.h
index ea594ceff..12bb1c235 100644
--- a/SmartDeviceLink/public/SDLErrorConstants.h
+++ b/SmartDeviceLink/public/SDLErrorConstants.h
@@ -186,7 +186,8 @@ typedef NS_ENUM(NSInteger, SDLSubscribeButtonManagerError) {
*/
typedef NS_ENUM(NSInteger, SDLMenuManagerError) {
/// Sending menu-related RPCs returned an error from the remote system
- SDLMenuManagerErrorRPCsFailed = -1
+ SDLMenuManagerErrorRPCsFailed = -1,
+ SDLMenuManagerErrorPendingUpdateSuperseded = -2
};
/// Errors associated with Choice Set class
diff --git a/SmartDeviceLink/public/SDLFileManager.h b/SmartDeviceLink/public/SDLFileManager.h
index 24b589a2a..5010b89e4 100644
--- a/SmartDeviceLink/public/SDLFileManager.h
+++ b/SmartDeviceLink/public/SDLFileManager.h
@@ -137,6 +137,18 @@ typedef void (^SDLFileManagerStartupCompletionHandler)(BOOL success, NSError *__
- (void)uploadFiles:(NSArray<SDLFile *> *)files completionHandler:(nullable SDLFileManagerMultiUploadCompletionHandler)completionHandler NS_SWIFT_NAME(upload(files:completionHandler:));
/**
+ * Check if an SDLFile needs to be uploaded to Core or not. This method differs from hasUploadedFile() because it takes the `isStaticIcon` and `overwrite` properties into consideration.
+ *
+ * For example, if the file is static icon, the method always returns false.
+ *
+ * If the file is dynamic, it returns true in one of these situations: 1) the file has the overwrite property set to true, 2) the file hasn't been uploaded to Core before.
+ *
+ * @param file the SDLFile that needs to be checked
+ * @return BOOL that tells whether file needs to be uploaded to Core or not
+ */
+- (BOOL)fileNeedsUpload:(SDLFile *)file;
+
+/**
* Uploads an artwork file to the remote file system and returns the name of the uploaded artwork once completed. If an artwork with the same name is already on the remote system, the artwork is not uploaded and the artwork name is simply returned.
*
* @param artwork A SDLArwork containing an image to be sent
diff --git a/SmartDeviceLink/public/SDLFileManager.m b/SmartDeviceLink/public/SDLFileManager.m
index 2acafe62b..58ed6a547 100644
--- a/SmartDeviceLink/public/SDLFileManager.m
+++ b/SmartDeviceLink/public/SDLFileManager.m
@@ -22,6 +22,7 @@
#import "SDLPutFile.h"
#import "SDLStateMachine.h"
#import "SDLUploadFileOperation.h"
+#import "SDLVersion.h"
NS_ASSUME_NONNULL_BEGIN
@@ -284,13 +285,13 @@ SDLFileManagerState *const SDLFileManagerStateStartupError = @"StartupError";
// HAX: [#827](https://github.com/smartdevicelink/sdl_ios/issues/827) Older versions of Core had a bug where list files would cache incorrectly.
if (file.persistent && [self.remoteFileNames containsObject:file.name]) {
// If it's a persistant file, the bug won't present itself; just check if it's on the remote system
- return true;
+ return YES;
} else if (!file.persistent && [self.remoteFileNames containsObject:file.name] && [self.uploadedEphemeralFileNames containsObject:file.name]) {
// If it's an ephemeral file, the bug will present itself; check that it's a remote file AND that we've uploaded it this session
- return true;
+ return YES;
}
- return false;
+ return NO;
}
- (void)uploadFiles:(NSArray<SDLFile *> *)files completionHandler:(nullable SDLFileManagerMultiUploadCompletionHandler)completionHandler {
@@ -377,9 +378,9 @@ SDLFileManagerState *const SDLFileManagerStateStartupError = @"StartupError";
return;
}
- // HAX: [#827](https://github.com/smartdevicelink/sdl_ios/issues/827) Older versions of Core had a bug where list files would cache incorrectly. This led to attempted uploads failing due to the system thinking they were already there when they were not.
- if (!file.persistent && ![self hasUploadedFile:file]) {
- file.overwrite = true;
+ // HAX: [#827](https://github.com/smartdevicelink/sdl_ios/issues/827) Older versions of Core had a bug where list files would cache incorrectly. This led to attempted uploads failing due to the system thinking they were already there when they were not. This is only needed if connecting to Core v4.3.1 or less which corresponds to RPC v4.3.1 or less
+ if (!file.persistent && ![self hasUploadedFile:file] && [[SDLGlobals sharedGlobals].rpcVersion isLessThanVersion:[SDLVersion versionWithMajor:4 minor:4 patch:0]]) {
+ file.overwrite = YES;
}
// Check our overwrite settings and error out if it would overwrite
@@ -426,6 +427,12 @@ SDLFileManagerState *const SDLFileManagerStateStartupError = @"StartupError";
#pragma mark Artworks
+- (BOOL)fileNeedsUpload:(SDLFile *)file {
+ if (file == nil || file.isStaticIcon) { return NO; }
+
+ return (file.overwrite || ![self hasUploadedFile:file]);
+}
+
- (void)uploadArtwork:(SDLArtwork *)artwork completionHandler:(nullable SDLFileManagerUploadArtworkCompletionHandler)completion {
__weak typeof(self) weakself = self;
[self uploadFile:artwork completionHandler:^(BOOL success, NSUInteger bytesAvailable, NSError * _Nullable error) {
diff --git a/SmartDeviceLink/public/SDLKeyboardProperties.h b/SmartDeviceLink/public/SDLKeyboardProperties.h
index 5939d398f..a538b52bd 100644
--- a/SmartDeviceLink/public/SDLKeyboardProperties.h
+++ b/SmartDeviceLink/public/SDLKeyboardProperties.h
@@ -25,7 +25,19 @@ NS_ASSUME_NONNULL_BEGIN
@param autoCompleteList A list of strings to show the user to complete what they are typing.
@return The RPC object
*/
-- (instancetype)initWithLanguage:(nullable SDLLanguage)language layout:(nullable SDLKeyboardLayout)layout keypressMode:(nullable SDLKeypressMode)keypressMode limitedCharacterList:(nullable NSArray<NSString *> *)limitedCharacterList autoCompleteText:(nullable NSString *)autoCompleteText autoCompleteList:(nullable NSArray<NSString *> *)autoCompleteList;
+- (instancetype)initWithLanguage:(nullable SDLLanguage)language layout:(nullable SDLKeyboardLayout)layout keypressMode:(nullable SDLKeypressMode)keypressMode limitedCharacterList:(nullable NSArray<NSString *> *)limitedCharacterList autoCompleteText:(nullable NSString *)autoCompleteText autoCompleteList:(nullable NSArray<NSString *> *)autoCompleteList __deprecated_msg("Use initWithLanguage:keyboardLayout:keypressMode:limitedCharacterList:autoCompleteList: instead");
+
+/**
+ * Convenience init with all properties.
+ *
+ * @param language - language
+ * @param keyboardLayout - keyboardLayout
+ * @param keypressMode - keypressMode
+ * @param limitedCharacterList - limitedCharacterList
+ * @param autoCompleteList - autoCompleteList
+ * @return A SDLKeyboardProperties object
+ */
+- (instancetype)initWithLanguage:(nullable SDLLanguage)language keyboardLayout:(nullable SDLKeyboardLayout)keyboardLayout keypressMode:(nullable SDLKeypressMode)keypressMode limitedCharacterList:(nullable NSArray<NSString *> *)limitedCharacterList autoCompleteList:(nullable NSArray<NSString *> *)autoCompleteList;
/**
The keyboard language
@@ -58,11 +70,13 @@ NS_ASSUME_NONNULL_BEGIN
@property (nullable, strong, nonatomic) NSArray<NSString *> *limitedCharacterList;
/**
- Allows an app to prepopulate the text field with a suggested or completed entry as the user types
-
- Optional
+ * Deprecated, use autoCompleteList instead.
+ * {"string_min_length": 1, "string_max_length": 1000}
+ *
+ * @deprecated in SmartDeviceLink 6.0.0
+ * @added in SmartDeviceLink 3.0.0
*/
-@property (nullable, strong, nonatomic) NSString *autoCompleteText;
+@property (nullable, strong, nonatomic) NSString *autoCompleteText __deprecated_msg("Use autoCompleteList instead");
/**
Allows an app to show a list of possible autocomplete suggestions as the user types
diff --git a/SmartDeviceLink/public/SDLKeyboardProperties.m b/SmartDeviceLink/public/SDLKeyboardProperties.m
index 5f6fa82dd..c21c91bc7 100644
--- a/SmartDeviceLink/public/SDLKeyboardProperties.m
+++ b/SmartDeviceLink/public/SDLKeyboardProperties.m
@@ -11,16 +11,23 @@ NS_ASSUME_NONNULL_BEGIN
@implementation SDLKeyboardProperties
- (instancetype)initWithLanguage:(nullable SDLLanguage)language layout:(nullable SDLKeyboardLayout)layout keypressMode:(nullable SDLKeypressMode)keypressMode limitedCharacterList:(nullable NSArray<NSString *> *)limitedCharacterList autoCompleteText:(nullable NSString *)autoCompleteText autoCompleteList:(nullable NSArray<NSString *> *)autoCompleteList {
+ self = [[self init] initWithLanguage:language keyboardLayout:layout keypressMode:keypressMode limitedCharacterList:limitedCharacterList autoCompleteList:autoCompleteList];
+ if (!self) { return nil; }
+ self.autoCompleteText = autoCompleteText;
+
+ return self;
+}
+
+- (instancetype)initWithLanguage:(nullable SDLLanguage)language keyboardLayout:(nullable SDLKeyboardLayout)keyboardLayout keypressMode:(nullable SDLKeypressMode)keypressMode limitedCharacterList:(nullable NSArray<NSString *> *)limitedCharacterList autoCompleteList:(nullable NSArray<NSString *> *)autoCompleteList {
self = [self init];
if (!self) {
return nil;
}
self.language = language;
- self.keyboardLayout = layout;
+ self.keyboardLayout = keyboardLayout;
self.keypressMode = keypressMode;
- self.limitedCharacterList = [limitedCharacterList mutableCopy];
- self.autoCompleteText = autoCompleteText;
+ self.limitedCharacterList = limitedCharacterList;
self.autoCompleteList = autoCompleteList;
return self;
diff --git a/SmartDeviceLink/public/SDLMsgVersion.m b/SmartDeviceLink/public/SDLMsgVersion.m
index dce291b1b..ee0dc04fa 100644
--- a/SmartDeviceLink/public/SDLMsgVersion.m
+++ b/SmartDeviceLink/public/SDLMsgVersion.m
@@ -52,7 +52,7 @@
}
- (NSString *)description {
- return [NSString stringWithFormat:@"%@.%@.%@", self.majorVersion, self.minorVersion, self.patchVersion];
+ return [NSString stringWithFormat:@"%@.%@.%@", self.majorVersion, self.minorVersion, (self.patchVersion ?: @"0")];
}
@end
diff --git a/SmartDeviceLink/public/SDLScreenManager.h b/SmartDeviceLink/public/SDLScreenManager.h
index bd1c9597f..5da5a1cbe 100644
--- a/SmartDeviceLink/public/SDLScreenManager.h
+++ b/SmartDeviceLink/public/SDLScreenManager.h
@@ -197,6 +197,8 @@ If set to `SDLDynamicMenuUpdatesModeForceOff`, menu updates will work the legacy
/**
The current list of voice commands available for the user to speak and be recognized by the IVI's voice recognition engine.
+
+ @warning May not be an empty string
*/
@property (copy, nonatomic) NSArray<SDLVoiceCommand *> *voiceCommands;
diff --git a/SmartDeviceLink/public/SDLSystemCapabilityManager.m b/SmartDeviceLink/public/SDLSystemCapabilityManager.m
index 8d7e14a78..bd61a2e05 100644
--- a/SmartDeviceLink/public/SDLSystemCapabilityManager.m
+++ b/SmartDeviceLink/public/SDLSystemCapabilityManager.m
@@ -53,7 +53,10 @@ typedef NSString * SDLServiceID;
@property (weak, nonatomic) id<SDLConnectionManagerType> connectionManager;
@property (nullable, strong, nonatomic, readwrite) NSArray<SDLDisplayCapability *> *displays;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
@property (nullable, strong, nonatomic, readwrite) SDLDisplayCapabilities *displayCapabilities;
+#pragma clang diagnostic pop
@property (nullable, strong, nonatomic, readwrite) SDLHMICapabilities *hmiCapabilities;
@property (nullable, copy, nonatomic, readwrite) NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities;
@property (nullable, copy, nonatomic, readwrite) NSArray<SDLButtonCapabilities *> *buttonCapabilities;
@@ -200,6 +203,8 @@ typedef NSString * SDLServiceID;
/// @param display The old-style `SDLDisplayCapabilities` object to convert
/// @param buttons The old-style `SDLButtonCapabilities` object to convert
/// @param softButtons The old-style `SDLSoftButtonCapabilities` to convert
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
- (NSArray<SDLDisplayCapability *> *)sdl_createDisplayCapabilityListFromDeprecatedDisplayCapabilities:(SDLDisplayCapabilities *)display buttons:(NSArray<SDLButtonCapabilities *> *)buttons softButtons:(NSArray<SDLSoftButtonCapabilities *> *)softButtons {
SDLLogV(@"Creating display capability from deprecated display capabilities");
// Based on deprecated Display capabilities we don't know if widgets are supported. The default MAIN window is the only window we know is supported, so it's the only one we will expose.
@@ -245,6 +250,7 @@ typedef NSString * SDLServiceID;
displayCapability.windowCapabilities = @[defaultWindowCapability];
return @[displayCapability];
}
+#pragma clang diagnostic pop
#pragma mark Convert New to Deprecated
@@ -257,7 +263,10 @@ typedef NSString * SDLServiceID;
}
// Create the deprecated capabilities for backward compatibility if developers try to access them
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDisplayCapabilities *convertedCapabilities = [[SDLDisplayCapabilities alloc] init];
+#pragma clang diagnostic pop
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
convertedCapabilities.displayType = SDLDisplayTypeGeneric; // deprecated but it is mandatory
diff --git a/SmartDeviceLink/public/SDLTouchManager.m b/SmartDeviceLink/public/SDLTouchManager.m
index ad9eb4703..25b88d6fa 100644
--- a/SmartDeviceLink/public/SDLTouchManager.m
+++ b/SmartDeviceLink/public/SDLTouchManager.m
@@ -434,12 +434,16 @@ static NSUInteger const MaximumNumberOfTouches = 2;
[self sdl_cancelSingleTapTimer];
}
- __weak typeof(self) weakSelf = self;
- self.singleTapTimer = [[SDLTimer alloc] initWithDuration:self.tapTimeThreshold];
- self.singleTapTimer.elapsedBlock = ^{
- [weakSelf sdl_singleTapTimerCallbackWithPoint:point];
- };
- [self.singleTapTimer start];
+ if (self.tapTimeThreshold == 0.0) {
+ [self sdl_singleTapTimerCallbackWithPoint:point];
+ } else {
+ __weak typeof(self) weakSelf = self;
+ self.singleTapTimer = [[SDLTimer alloc] initWithDuration:self.tapTimeThreshold];
+ self.singleTapTimer.elapsedBlock = ^{
+ [weakSelf sdl_singleTapTimerCallbackWithPoint:point];
+ };
+ [self.singleTapTimer start];
+ }
}
/**
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLArtworkSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLArtworkSpec.m
index afd6a783b..986accda5 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLArtworkSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLArtworkSpec.m
@@ -162,6 +162,39 @@ describe(@"SDLArtwork Tests", ^{
expect(expectedName1).toNot(equal(expectedName2));
});
});
+
+ describe(@"copying the image", ^{
+ context(@"a dynamic image", ^{
+ beforeEach(^{
+ expectedArtwork = [[SDLArtwork alloc] initWithImage:testImagePNGTemplate persistent:YES asImageFormat:SDLArtworkImageFormatPNG];
+ expectedArtwork.overwrite = YES;
+ });
+
+ it(@"should copy correctly", ^{
+ SDLArtwork *copiedArtwork = [expectedArtwork copy];
+ expect(copiedArtwork.isTemplate).to(equal(expectedArtwork.isTemplate));
+ expect(copiedArtwork.data).to(equal(expectedArtwork.data));
+ expect(copiedArtwork.imageRPC).to(equal(expectedArtwork.imageRPC));
+ expect(copiedArtwork.overwrite).to(equal(expectedArtwork.overwrite));
+ expect(copiedArtwork.isStaticIcon).to(equal(expectedArtwork.isStaticIcon));
+ });
+ });
+
+ context(@"a static image", ^{
+ beforeEach(^{
+ expectedArtwork = [[SDLArtwork alloc] initWithStaticIcon:SDLStaticIconNameKey];
+ });
+
+ it(@"should copy correctly", ^{
+ SDLArtwork *copiedArtwork = [expectedArtwork copy];
+ expect(copiedArtwork.isTemplate).to(equal(expectedArtwork.isTemplate));
+ expect(copiedArtwork.data).to(equal(expectedArtwork.data));
+ expect(copiedArtwork.imageRPC).to(equal(expectedArtwork.imageRPC));
+ expect(copiedArtwork.overwrite).to(equal(expectedArtwork.overwrite));
+ expect(copiedArtwork.isStaticIcon).to(equal(expectedArtwork.isStaticIcon));
+ });
+ });
+ });
});
QuickSpecEnd
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLChoiceSetManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLChoiceSetManagerSpec.m
index 47156d1c0..321a2dde6 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLChoiceSetManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLChoiceSetManagerSpec.m
@@ -105,7 +105,7 @@ describe(@"choice set manager tests", ^{
it(@"should be in the correct startup state", ^{
expect(testManager.currentState).to(equal(SDLChoiceManagerStateShutdown));
- SDLKeyboardProperties *defaultProperties = [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageEnUs layout:SDLKeyboardLayoutQWERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteText:nil autoCompleteList:nil];
+ SDLKeyboardProperties *defaultProperties = [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageEnUs keyboardLayout:SDLKeyboardLayoutQWERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteList:nil];
expect(testManager.keyboardConfiguration).to(equal(defaultProperties));
});
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLFileManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLFileManagerSpec.m
index af5f443a7..f7ea93fc8 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLFileManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLFileManagerSpec.m
@@ -466,6 +466,66 @@ describe(@"uploading / deleting single files with the file manager", ^{
expect(testFileManager.pendingTransactions.count).to(equal(1));
});
});
+
+ describe(@"checking if files and artworks needs upload", ^{
+ __block UIImage *testUIImage = nil;
+ __block NSString *expectedArtworkName = nil;
+ __block SDLArtwork *artwork = nil;
+
+ context(@"when artwork is nil", ^{
+ it(@"should not allow file to be uploaded", ^{
+ expect(artwork).to(beNil());
+ BOOL testFileNeedsUpload = [testFileManager fileNeedsUpload:artwork];
+ expect(testFileNeedsUpload).to(beFalse());
+ });
+ });
+
+ context(@"when artwork is static", ^{
+ it(@"should not allow file to be uploaded", ^{
+ artwork = [[SDLArtwork alloc] initWithStaticIcon:SDLStaticIconNameKey];
+
+ BOOL testFileNeedsUpload = [testFileManager fileNeedsUpload:artwork];
+ expect(testFileNeedsUpload).to(beFalse());
+ });
+ });
+
+ context(@"when artwork is dynamic", ^{
+ beforeEach(^{
+ testUIImage = [FileManagerSpecHelper imagesForCount:1].firstObject;
+ expectedArtworkName = testInitialFileNames.firstObject;
+ artwork = [SDLArtwork artworkWithImage:testUIImage name:expectedArtworkName asImageFormat:SDLArtworkImageFormatPNG];
+ });
+
+ context(@"when uploading artwork for the first time", ^{
+ it(@"should allow file to be uploaded", ^{
+ BOOL testFileNeedsUpload = [testFileManager fileNeedsUpload:artwork];
+ expect(testFileNeedsUpload).to(beTrue());
+ });
+ });
+
+ context(@"when artwork is previously uploaded", ^{
+ beforeEach(^{
+ testFileManager.uploadedEphemeralFileNames = [NSMutableSet setWithArray:testInitialFileNames];
+ testFileManager.mutableRemoteFileNames = [NSMutableSet setWithArray:testInitialFileNames];
+ [testFileManager.stateMachine setToState:SDLFileManagerStateReady fromOldState:SDLFileManagerStateShutdown callEnterTransition:NO];
+ });
+
+ it(@"should not allow file to be uploaded when overwrite is set to false", ^{
+ artwork.overwrite = NO;
+
+ BOOL testFileNeedsUpload = [testFileManager fileNeedsUpload:artwork];
+ expect(testFileNeedsUpload).to(beFalse());
+ });
+
+ it(@"should allow file to be uploaded when overwrite is set to true", ^{
+ artwork.overwrite = YES;
+
+ BOOL testFileNeedsUpload = [testFileManager fileNeedsUpload:artwork];
+ expect(testFileNeedsUpload).to(beTrue());
+ });
+ });
+ });
+ });
});
describe(@"uploading/deleting multiple files in the file manager", ^{
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleMobileHMIStateHandlerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleMobileHMIStateHandlerSpec.m
index f2ff80c99..505edd4d5 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleMobileHMIStateHandlerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLLifecycleMobileHMIStateHandlerSpec.m
@@ -71,7 +71,7 @@ describe(@"SDLLifecycleMobileHMIStateHandler tests", ^{
describe(@"after the manager is stopped", ^{
beforeEach(^{
- [mockConnectionManager.receivedRequests removeAllObjects];
+ [mockConnectionManager reset];
[testManager stop];
});
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLMenuManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLMenuManagerSpec.m
index ff9c4e7bb..9bde38ac7 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLMenuManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLMenuManagerSpec.m
@@ -35,6 +35,8 @@
@property (assign, nonatomic) UInt32 lastMenuId;
@property (copy, nonatomic) NSArray<SDLMenuCell *> *oldMenuCells;
+- (BOOL)sdl_shouldRPCsIncludeImages:(NSArray<SDLMenuCell *> *)cells;
+
@end
QuickSpecBegin(SDLMenuManagerSpec)
@@ -46,6 +48,7 @@ describe(@"menu manager", ^{
__block SDLSystemCapabilityManager *mockSystemCapabilityManager = nil;
__block SDLArtwork *testArtwork = nil;
__block SDLArtwork *testArtwork2 = nil;
+ __block SDLArtwork *testArtwork3 = nil;
__block SDLMenuCell *textOnlyCell = nil;
__block SDLMenuCell *textOnlyCell2 = nil;
@@ -58,6 +61,8 @@ describe(@"menu manager", ^{
beforeEach(^{
testArtwork = [[SDLArtwork alloc] initWithData:[@"Test data" dataUsingEncoding:NSUTF8StringEncoding] name:@"some artwork name" fileExtension:@"png" persistent:NO];
testArtwork2 = [[SDLArtwork alloc] initWithData:[@"Test data 2" dataUsingEncoding:NSUTF8StringEncoding] name:@"some artwork name 2" fileExtension:@"png" persistent:NO];
+ testArtwork3 = [[SDLArtwork alloc] initWithData:[@"Test data 3" dataUsingEncoding:NSUTF8StringEncoding] name:@"some artwork name" fileExtension:@"png" persistent:NO];
+ testArtwork3.overwrite = YES;
textOnlyCell = [[SDLMenuCell alloc] initWithTitle:@"Test 1" icon:nil voiceCommands:nil handler:^(SDLTriggerSource _Nonnull triggerSource) {}];
textAndImageCell = [[SDLMenuCell alloc] initWithTitle:@"Test 2" icon:testArtwork voiceCommands:nil handler:^(SDLTriggerSource _Nonnull triggerSource) {}];
@@ -180,6 +185,13 @@ describe(@"menu manager", ^{
});
});
+ it(@"should check if all artworks are uploaded and return NO", ^{
+ textAndImageCell = [[SDLMenuCell alloc] initWithTitle:@"Test 2" icon:testArtwork3 voiceCommands:nil handler:^(SDLTriggerSource _Nonnull triggerSource) {}];
+ testManager.menuCells = @[textAndImageCell, textOnlyCell];
+ OCMVerify([testManager sdl_shouldRPCsIncludeImages:testManager.menuCells]);
+ expect([testManager sdl_shouldRPCsIncludeImages:testManager.menuCells]).to(beFalse());
+ });
+
it(@"should properly update a text cell", ^{
testManager.menuCells = @[textOnlyCell];
@@ -213,6 +225,13 @@ describe(@"menu manager", ^{
OCMStub([mockFileManager hasUploadedFile:[OCMArg isNotNil]]).andReturn(YES);
});
+ it(@"should check if all artworks are uploaded", ^{
+ textAndImageCell = [[SDLMenuCell alloc] initWithTitle:@"Test 2" icon:testArtwork3 voiceCommands:nil handler:^(SDLTriggerSource _Nonnull triggerSource) {}];
+ testManager.menuCells = @[textAndImageCell, textOnlyCell];
+ OCMVerify([testManager sdl_shouldRPCsIncludeImages:testManager.menuCells]);
+ expect([testManager sdl_shouldRPCsIncludeImages:testManager.menuCells]).to(beTrue());
+ });
+
it(@"should properly update an image cell", ^{
testManager.menuCells = @[textAndImageCell, submenuImageCell];
@@ -228,6 +247,14 @@ describe(@"menu manager", ^{
expect(submenu).to(haveCount(1));
expect(sentCommand.cmdIcon.value).to(equal(testArtwork.name));
expect(sentSubmenu.menuIcon.value).to(equal(testArtwork2.name));
+ OCMReject([mockFileManager uploadArtworks:[OCMArg any] completionHandler:[OCMArg any]]);
+ });
+
+ it(@"should properly overwrite an image cell", ^{
+ OCMStub([mockFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
+ textAndImageCell = [[SDLMenuCell alloc] initWithTitle:@"Test 2" icon:testArtwork3 voiceCommands:nil handler:^(SDLTriggerSource _Nonnull triggerSource) {}];
+ testManager.menuCells = @[textAndImageCell, submenuImageCell];
+ OCMVerify([mockFileManager uploadArtworks:[OCMArg any] completionHandler:[OCMArg any]]);
});
});
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLPreloadChoicesOperationSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLPreloadChoicesOperationSpec.m
index c36e574fe..144f54e3d 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLPreloadChoicesOperationSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLPreloadChoicesOperationSpec.m
@@ -25,6 +25,7 @@ describe(@"a preload choices operation", ^{
__block NSString *testDisplayName = @"SDL_GENERIC";
__block NSData *cellArtData = [@"testart" dataUsingEncoding:NSUTF8StringEncoding];
+ __block NSData *cellArtData2 = [@"testart2" dataUsingEncoding:NSUTF8StringEncoding];
__block BOOL hasCalledOperationCompletionHandler = NO;
__block NSError *resultError = nil;
@@ -53,6 +54,7 @@ describe(@"a preload choices operation", ^{
windowCapability.textFields = @[primaryTextField];
OCMStub([testFileManager uploadArtworks:[OCMArg any] completionHandler:[OCMArg invokeBlock]]);
+ OCMStub([testFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
});
context(@"with artworks", ^{
@@ -60,6 +62,7 @@ describe(@"a preload choices operation", ^{
__block NSSet<SDLChoiceCell *> *cellsWithStaticIcon = nil;
__block NSString *art1Name = @"Art1Name";
__block NSString *art2Name = @"Art2Name";
+ __block SDLArtwork *cell1Art2 = [[SDLArtwork alloc] initWithData:cellArtData2 name:art1Name fileExtension:@"png" persistent:NO];
beforeEach(^{
SDLArtwork *cell1Art = [[SDLArtwork alloc] initWithData:cellArtData name:art1Name fileExtension:@"png" persistent:NO];
@@ -145,6 +148,25 @@ describe(@"a preload choices operation", ^{
}] completionHandler:[OCMArg any]]);
expect(@(testOp.currentState)).to(equal(SDLPreloadChoicesOperationStatePreloadingChoices));
});
+
+ it(@"should properly overwrite artwork", ^{
+ cell1Art2.overwrite = YES;
+ SDLChoiceCell *cell1WithArt = [[SDLChoiceCell alloc] initWithText:@"Cell1" artwork:cell1Art2 voiceCommands:nil];
+
+ SDLArtwork *cell2Art = [[SDLArtwork alloc] initWithData:cellArtData name:art2Name fileExtension:@"png" persistent:NO];
+ SDLChoiceCell *cell2WithArtAndSecondary = [[SDLChoiceCell alloc] initWithText:@"Cell2" secondaryText:nil tertiaryText:nil voiceCommands:nil artwork:cell2Art secondaryArtwork:cell2Art];
+
+ SDLArtwork *staticIconArt = [SDLArtwork artworkWithStaticIcon:SDLStaticIconNameDate];
+ SDLChoiceCell *cellWithStaticIcon = [[SDLChoiceCell alloc] initWithText:@"Static Icon" secondaryText:nil tertiaryText:nil voiceCommands:nil artwork:staticIconArt secondaryArtwork:nil];
+
+ cellsWithArtwork = [NSSet setWithArray:@[cell1WithArt, cell2WithArtAndSecondary]];
+ cellsWithStaticIcon = [NSSet setWithArray:@[cellWithStaticIcon]];
+ testOp = [[SDLPreloadChoicesOperation alloc] initWithConnectionManager:testConnectionManager fileManager:testFileManager displayName:testDisplayName windowCapability:windowCapability isVROptional:NO cellsToPreload:cellsWithArtwork];
+ [testOp start];
+
+ OCMExpect([testFileManager uploadArtworks:[OCMArg any] completionHandler:[OCMArg any]]);
+ OCMVerify([testFileManager uploadArtworks:[OCMArg any] completionHandler:[OCMArg any]]);
+ });
});
context(@"when artworks are static icons", ^{
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLPresentChoiceSetOperationSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLPresentChoiceSetOperationSpec.m
index 7ca891608..883720b82 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLPresentChoiceSetOperationSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLPresentChoiceSetOperationSpec.m
@@ -60,7 +60,7 @@ describe(@"present choice operation", ^{
testKeyboardDelegate = OCMProtocolMock(@protocol(SDLKeyboardDelegate));
OCMStub([testKeyboardDelegate customKeyboardConfiguration]).andReturn(nil);
- testKeyboardProperties = [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageArSa layout:SDLKeyboardLayoutAZERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteText:nil autoCompleteList:nil];
+ testKeyboardProperties = [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageArSa keyboardLayout:SDLKeyboardLayoutAZERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteList:nil];
});
it(@"should have a priority of 'normal'", ^{
@@ -460,7 +460,10 @@ describe(@"present choice operation", ^{
expect(testConnectionManager.receivedRequests.lastObject).to(beAnInstanceOf([SDLSetGlobalProperties class]));
SDLSetGlobalProperties *setProperties = testConnectionManager.receivedRequests.lastObject;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(setProperties.keyboardProperties.autoCompleteText).to(equal(inputData));
+#pragma clang diagnostic pop
});
it(@"should respond to text input notification with character set", ^{
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLPresentKeyboardOperationSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLPresentKeyboardOperationSpec.m
index 08424949d..29ed6d0b0 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLPresentKeyboardOperationSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLPresentKeyboardOperationSpec.m
@@ -43,7 +43,7 @@ describe(@"present keyboard operation", ^{
testDelegate = OCMProtocolMock(@protocol(SDLKeyboardDelegate));
OCMStub([testDelegate customKeyboardConfiguration]).andReturn(nil);
- testInitialProperties = [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageArSa layout:SDLKeyboardLayoutAZERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteText:nil autoCompleteList:nil];
+ testInitialProperties = [[SDLKeyboardProperties alloc] initWithLanguage:SDLLanguageArSa keyboardLayout:SDLKeyboardLayoutAZERTY keypressMode:SDLKeypressModeResendCurrentEntry limitedCharacterList:nil autoCompleteList:nil];
});
it(@"should have a priority of 'normal'", ^{
@@ -194,7 +194,10 @@ describe(@"present keyboard operation", ^{
expect(testConnectionManager.receivedRequests.lastObject).to(beAnInstanceOf([SDLSetGlobalProperties class]));
SDLSetGlobalProperties *setProperties = testConnectionManager.receivedRequests.lastObject;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(setProperties.keyboardProperties.autoCompleteText).to(equal(inputData));
+#pragma clang diagnostic pop
});
it(@"should respond to text input notification with character set", ^{
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLSoftButtonManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLSoftButtonManagerSpec.m
index 4f708087b..6a5996116 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLSoftButtonManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLSoftButtonManagerSpec.m
@@ -172,8 +172,8 @@ describe(@"a soft button manager", ^{
it(@"should set soft buttons correctly", ^{
expect(testManager.softButtonObjects).toNot(beNil());
- expect(testObject1.buttonId).to(equal(0));
- expect(testObject2.buttonId).to(equal(100));
+ expect(testObject1.buttonId).to(equal(1));
+ expect(testObject2.buttonId).to(equal(2));
expect(testObject1.manager).to(equal(testManager));
expect(testObject2.manager).to(equal(testManager));
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m
index c42e10961..e444ba473 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLStreamingVideoLifecycleManagerSpec.m
@@ -151,7 +151,10 @@ describe(@"the streaming video manager", ^{
describe(@"after receiving a register app interface response", ^{
__block SDLRegisterAppInterfaceResponse *someRegisterAppInterfaceResponse = nil;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
__block SDLDisplayCapabilities *someDisplayCapabilities = nil;
+#pragma clang diagnostic pop
__block SDLScreenParams *someScreenParams = nil;
__block SDLImageResolution *someImageResolution = nil;
__block SDLHMICapabilities *someHMICapabilities = nil;
@@ -194,7 +197,10 @@ describe(@"the streaming video manager", ^{
someHMICapabilities = [[SDLHMICapabilities alloc] init];
someHMICapabilities.videoStreaming = @YES;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
someDisplayCapabilities = [[SDLDisplayCapabilities alloc] init];
+#pragma clang diagnostic pop
someDisplayCapabilities.screenParams = someScreenParams;
someRegisterAppInterfaceResponse = [[SDLRegisterAppInterfaceResponse alloc] init];
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicUpdateOperationSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicUpdateOperationSpec.m
index 77760bb07..b03252c25 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicUpdateOperationSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLTextAndGraphicUpdateOperationSpec.m
@@ -820,18 +820,37 @@ describe(@"the text and graphic operation", ^{
updatedState.textField1 = field1String;
updatedState.primaryGraphic = testArtwork;
updatedState.secondaryGraphic = testArtwork2;
+ });
+ it(@"should send a show and not upload any artworks", ^{
testOp = [[SDLTextAndGraphicUpdateOperation alloc] initWithConnectionManager:testConnectionManager fileManager:mockFileManager currentCapabilities:windowCapability currentScreenData:emptyCurrentData newState:updatedState currentScreenDataUpdatedHandler:^(SDLTextAndGraphicState * _Nullable newScreenData, NSError * _Nullable error) {} updateCompletionHandler:nil];
[testOp start];
- });
- it(@"should send a show and not upload any artworks", ^{
expect(testConnectionManager.receivedRequests).to(haveCount(1));
SDLShow *firstSentRequest = testConnectionManager.receivedRequests[0];
expect(firstSentRequest.mainField1).to(equal(field1String));
expect(firstSentRequest.mainField2).to(beEmpty());
expect(firstSentRequest.graphic).toNot(beNil());
expect(firstSentRequest.secondaryGraphic).to(beNil());
+ OCMReject([mockFileManager uploadArtworks:[OCMArg any] progressHandler:[OCMArg any] completionHandler:[OCMArg any]]);
+ });
+
+ it(@"should properly overwrite artwork", ^{
+ OCMStub([mockFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
+ SDLArtwork *testArtwork3 = [[SDLArtwork alloc] initWithData:[@"Test data 3" dataUsingEncoding:NSUTF8StringEncoding] name:testArtworkName fileExtension:@"png" persistent:NO];
+ testArtwork3.overwrite = YES;
+
+ SDLTextAndGraphicState *updatedState2 = [[SDLTextAndGraphicState alloc] init];
+ updatedState2.textField1 = field1String;
+ updatedState2.primaryGraphic = testArtwork3;
+ updatedState2.secondaryGraphic = testArtwork2;
+
+ SDLTextAndGraphicUpdateOperation *testOp2 = [[SDLTextAndGraphicUpdateOperation alloc] initWithConnectionManager:testConnectionManager fileManager:mockFileManager currentCapabilities:windowCapability currentScreenData:updatedState newState:updatedState2 currentScreenDataUpdatedHandler:^(SDLTextAndGraphicState * _Nullable newScreenData, NSError * _Nullable error) {} updateCompletionHandler:nil];
+ [testOp2 start];
+
+ [testConnectionManager respondToLastRequestWithResponse:successShowResponse];
+
+ OCMVerify([mockFileManager uploadArtworks:[OCMArg any] progressHandler:[OCMArg any] completionHandler:[OCMArg any]]);
});
});
@@ -868,6 +887,7 @@ describe(@"the text and graphic operation", ^{
// when there is text to update as well
context(@"when there is text to update as well", ^{
beforeEach(^{
+ OCMStub([mockFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
updatedState = [[SDLTextAndGraphicState alloc] init];
updatedState.textField1 = field1String;
updatedState.primaryGraphic = testArtwork;
@@ -943,6 +963,7 @@ describe(@"the text and graphic operation", ^{
// when there is no text to update
context(@"when there is no text to update", ^{
beforeEach(^{
+ OCMStub([mockFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
updatedState = [[SDLTextAndGraphicState alloc] init];
updatedState.primaryGraphic = testArtwork;
@@ -972,6 +993,7 @@ describe(@"the text and graphic operation", ^{
// when the image is a static icon
context(@"when the image is a static icon", ^{
beforeEach(^{
+ OCMStub([mockFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(NO);
updatedState = [[SDLTextAndGraphicState alloc] init];
updatedState.primaryGraphic = testStaticIcon;
@@ -998,6 +1020,7 @@ describe(@"the text and graphic operation", ^{
context(@"if the images for the primary and secondary graphics fail the upload process", ^{
beforeEach(^{
OCMStub([mockFileManager hasUploadedFile:[OCMArg isNotNil]]).andReturn(NO);
+ OCMStub([mockFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
NSArray<NSString *> *testSuccessfulArtworks = @[];
NSError *testError = [NSError errorWithDomain:@"errorDomain"
code:9
@@ -1030,6 +1053,7 @@ describe(@"the text and graphic operation", ^{
NSArray<NSString *> *testSuccessfulArtworks = @[testArtwork.name];
NSError *testError = [NSError errorWithDomain:@"errorDomain" code:9 userInfo:@{testArtwork2.name:@"error 2"}];
OCMStub([mockFileManager uploadArtworks:[OCMArg isNotNil] progressHandler:[OCMArg isNotNil] completionHandler:([OCMArg invokeBlockWithArgs:testSuccessfulArtworks, testError, nil])]);
+ OCMStub([mockFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
updatedState = [[SDLTextAndGraphicState alloc] init];
updatedState.textField1 = field1String;
updatedState.primaryGraphic = testArtwork;
@@ -1058,6 +1082,7 @@ describe(@"the text and graphic operation", ^{
NSArray<NSString *> *testSuccessfulArtworks = @[testArtwork2.name];
NSError *testError = [NSError errorWithDomain:@"errorDomain" code:9 userInfo:@{testArtwork.name:@"error 2"}];
OCMStub([mockFileManager uploadArtworks:[OCMArg isNotNil] progressHandler:[OCMArg isNotNil] completionHandler:([OCMArg invokeBlockWithArgs:testSuccessfulArtworks, testError, nil])]);
+ OCMStub([mockFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
updatedState = [[SDLTextAndGraphicState alloc] init];
updatedState.textField1 = field1String;
updatedState.primaryGraphic = testArtwork;
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandManagerSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandManagerSpec.m
index c5e275843..8b808273e 100644
--- a/SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandManagerSpec.m
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandManagerSpec.m
@@ -7,10 +7,20 @@
#import "SDLDeleteCommand.h"
#import "SDLFileManager.h"
#import "SDLHMILevel.h"
+#import "SDLOnHMIStatus.h"
+#import "SDLPredefinedWindows.h"
+#import "SDLRPCNotificationNotification.h"
#import "SDLVoiceCommand.h"
#import "SDLVoiceCommandManager.h"
+#import "SDLVoiceCommandUpdateOperation.h"
#import "TestConnectionManager.h"
+@interface SDLVoiceCommandUpdateOperation ()
+
+@property (strong, nonatomic) NSMutableArray<SDLVoiceCommand *> *currentVoiceCommands;
+
+@end
+
@interface SDLVoiceCommand()
@property (assign, nonatomic) UInt32 commandId;
@@ -21,14 +31,11 @@
@property (weak, nonatomic) id<SDLConnectionManagerType> connectionManager;
-@property (assign, nonatomic) BOOL waitingOnHMIUpdate;
-@property (copy, nonatomic, nullable) SDLHMILevel currentHMILevel;
-
-@property (strong, nonatomic, nullable) NSArray<SDLRPCRequest *> *inProgressUpdate;
-@property (assign, nonatomic) BOOL hasQueuedUpdate;
+@property (strong, nonatomic) NSOperationQueue *transactionQueue;
+@property (copy, nonatomic, nullable) SDLHMILevel currentLevel;
@property (assign, nonatomic) UInt32 lastVoiceCommandId;
-@property (copy, nonatomic) NSArray<SDLVoiceCommand *> *oldVoiceCommands;
+@property (copy, nonatomic) NSArray<SDLVoiceCommand *> *currentVoiceCommands;
@end
@@ -42,104 +49,126 @@ describe(@"voice command manager", ^{
__block SDLVoiceCommand *testVoiceCommand = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[@"Test 1"] handler:^{}];
__block SDLVoiceCommand *testVoiceCommand2 = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[@"Test 2"] handler:^{}];
+ __block SDLOnHMIStatus *newHMIStatus = [[SDLOnHMIStatus alloc] init];
+ __block NSArray<SDLVoiceCommand *> *testVCArray = nil;
beforeEach(^{
+ testVCArray = @[testVoiceCommand];
mockConnectionManager = [[TestConnectionManager alloc] init];
testManager = [[SDLVoiceCommandManager alloc] initWithConnectionManager:mockConnectionManager];
});
+ // should instantiate correctly
it(@"should instantiate correctly", ^{
expect(testManager.connectionManager).to(equal(mockConnectionManager));
-
+ expect(testManager.currentLevel).to(beNil());
expect(testManager.voiceCommands).to(beEmpty());
- expect(testManager.connectionManager).to(equal(mockConnectionManager));
- expect(testManager.currentHMILevel).to(beNil());
- expect(testManager.inProgressUpdate).to(beNil());
- expect(testManager.hasQueuedUpdate).to(beFalse());
- expect(testManager.waitingOnHMIUpdate).to(beFalse());
expect(testManager.lastVoiceCommandId).to(equal(VoiceCommandIdMin));
- expect(testManager.oldVoiceCommands).to(beEmpty());
+ expect(testManager.currentVoiceCommands).to(beEmpty());
+ expect(testManager.transactionQueue).toNot(beNil());
});
+ // updating voice commands before HMI is ready
describe(@"updating voice commands before HMI is ready", ^{
+
+ // when in HMI NONE
context(@"when in HMI NONE", ^{
beforeEach(^{
- testManager.currentHMILevel = SDLHMILevelNone;
+ newHMIStatus.hmiLevel = SDLHMILevelNone;
+ newHMIStatus.windowID = @(SDLPredefinedWindowsDefaultWindow);
+
+ SDLRPCNotificationNotification *notification = [[SDLRPCNotificationNotification alloc] initWithName:SDLDidChangeHMIStatusNotification object:nil rpcNotification:newHMIStatus];
+ [[NSNotificationCenter defaultCenter] postNotification:notification];
});
it(@"should not update", ^{
testManager.voiceCommands = @[testVoiceCommand];
- expect(testManager.inProgressUpdate).to(beNil());
+ expect(testManager.transactionQueue.isSuspended).to(beTrue());
+ expect(testManager.transactionQueue.operationCount).to(equal(1));
});
});
+ // when no HMI level has been received
context(@"when no HMI level has been received", ^{
- beforeEach(^{
- testManager.currentHMILevel = nil;
- });
-
it(@"should not update", ^{
testManager.voiceCommands = @[testVoiceCommand];
- expect(testManager.inProgressUpdate).to(beNil());
+ expect(testManager.transactionQueue.isSuspended).to(beTrue());
+ expect(testManager.transactionQueue.operationCount).to(equal(1));
});
});
});
- describe(@"updating voice commands", ^{
+ // updating voice commands
+ describe(@"when voice commands are set", ^{
beforeEach(^{
- testManager.currentHMILevel = SDLHMILevelFull;
+ newHMIStatus.hmiLevel = SDLHMILevelFull;
+ newHMIStatus.windowID = @(SDLPredefinedWindowsDefaultWindow);
+
+ SDLRPCNotificationNotification *notification = [[SDLRPCNotificationNotification alloc] initWithName:SDLDidChangeHMIStatusNotification object:nil rpcNotification:newHMIStatus];
+ [[NSNotificationCenter defaultCenter] postNotification:notification];
+
+ testManager.voiceCommands = testVCArray;
});
+ // should properly update a command
it(@"should properly update a command", ^{
- testManager.voiceCommands = @[testVoiceCommand];
+ expect(testManager.voiceCommands.firstObject.commandId).to(equal(VoiceCommandIdMin));
+ expect(testManager.transactionQueue.isSuspended).to(beFalse());
+ expect(testManager.transactionQueue.operations).to(haveCount(1));
+ });
- NSPredicate *deleteCommandPredicate = [NSPredicate predicateWithFormat:@"self isMemberOfClass: %@", [SDLDeleteCommand class]];
- NSArray *deletes = [[mockConnectionManager.receivedRequests copy] filteredArrayUsingPredicate:deleteCommandPredicate];
- expect(deletes).to(beEmpty());
+ // when new voice commands is identical to the existing ones
+ describe(@"when new voice commands is identical to the existing ones", ^{
+ beforeEach(^{
+ testManager.voiceCommands = testVCArray;
+ });
- NSPredicate *addCommandPredicate = [NSPredicate predicateWithFormat:@"self isMemberOfClass: %@", [SDLAddCommand class]];
- NSArray *add = [[mockConnectionManager.receivedRequests copy] filteredArrayUsingPredicate:addCommandPredicate];
- expect(add).toNot(beEmpty());
+ // should only have one operation
+ it(@"should only have one operation", ^{
+ expect(testManager.transactionQueue.operations).to(haveCount(1));
+ });
});
- context(@"when a menu already exists", ^{
+ // when new voice commands are set
+ describe(@"when new voice commands are set", ^{
beforeEach(^{
- testManager.voiceCommands = @[testVoiceCommand];
- [mockConnectionManager respondToLastMultipleRequestsWithSuccess:YES]; // Add
-
testManager.voiceCommands = @[testVoiceCommand2];
- [mockConnectionManager respondToLastMultipleRequestsWithSuccess:YES]; // Delete
});
- it(@"should send deletes first", ^{
- NSPredicate *deleteCommandPredicate = [NSPredicate predicateWithFormat:@"self isMemberOfClass:%@", [SDLDeleteCommand class]];
- NSArray *deletes = [[mockConnectionManager.receivedRequests copy] filteredArrayUsingPredicate:deleteCommandPredicate];
+ // should queue another operation
+ it(@"should queue another operation", ^{
+ expect(testManager.transactionQueue.operations).to(haveCount(2));
+ });
+
+ // when the first operation finishes and updates the current voice commands
+ describe(@"when the first operation finishes and updates the current voice commands", ^{
+ beforeEach(^{
+ SDLVoiceCommandUpdateOperation *firstOp = testManager.transactionQueue.operations[0];
+ firstOp.currentVoiceCommands = [@[testVoiceCommand2] mutableCopy];
+ [firstOp finishOperation];
+ });
- NSPredicate *addCommandPredicate = [NSPredicate predicateWithFormat:@"self isMemberOfClass:%@", [SDLAddCommand class]];
- NSArray *adds = [[mockConnectionManager.receivedRequests copy] filteredArrayUsingPredicate:addCommandPredicate];
+ it(@"should update the second operation", ^{
+ SDLVoiceCommandUpdateOperation *secondOp = testManager.transactionQueue.operations[0];
- expect(deletes).to(haveCount(1));
- expect(adds).to(haveCount(2));
+ expect(secondOp.oldVoiceCommands.firstObject).to(equal(testVoiceCommand2));
+ });
});
});
});
- context(@"On disconnects", ^{
+ // on disconnect
+ context(@"on disconnect", ^{
beforeEach(^{
[testManager stop];
});
it(@"should reset correctly", ^{
expect(testManager.connectionManager).to(equal(mockConnectionManager));
-
expect(testManager.voiceCommands).to(beEmpty());
- expect(testManager.connectionManager).to(equal(mockConnectionManager));
- expect(testManager.currentHMILevel).to(beNil());
- expect(testManager.inProgressUpdate).to(beNil());
- expect(testManager.hasQueuedUpdate).to(beFalse());
- expect(testManager.waitingOnHMIUpdate).to(beFalse());
+ expect(testManager.currentLevel).to(beNil());
expect(testManager.lastVoiceCommandId).to(equal(VoiceCommandIdMin));
- expect(testManager.oldVoiceCommands).to(beEmpty());
+ expect(testManager.currentVoiceCommands).to(beEmpty());
});
});
});
diff --git a/SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandUpdateOperationSpec.m b/SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandUpdateOperationSpec.m
new file mode 100644
index 000000000..ca8c9cfbd
--- /dev/null
+++ b/SmartDeviceLinkTests/DevAPISpecs/SDLVoiceCommandUpdateOperationSpec.m
@@ -0,0 +1,249 @@
+#import <Quick/Quick.h>
+#import <Nimble/Nimble.h>
+
+#import "SDLAddCommand.h"
+#import "SDLAddCommandResponse.h"
+#import "SDLDeleteCommand.h"
+#import "SDLDeleteCommandResponse.h"
+#import "SDLError.h"
+#import "SDLFileManager.h"
+#import "SDLHMILevel.h"
+#import "SDLVoiceCommand.h"
+#import "SDLVoiceCommandManager.h"
+#import "SDLVoiceCommandUpdateOperation.h"
+#import "TestConnectionManager.h"
+
+@interface SDLVoiceCommand()
+
+@property (assign, nonatomic) UInt32 commandId;
+
+@end
+
+QuickSpecBegin(SDLVoiceCommandUpdateOperationSpec)
+
+__block SDLDeleteCommandResponse *successDelete = nil;
+__block SDLDeleteCommandResponse *failDelete = nil;
+__block SDLAddCommandResponse *successAdd = nil;
+__block SDLAddCommandResponse *failAdd = nil;
+
+__block SDLVoiceCommand *newVoiceCommand1 = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[@"NewVC1"] handler:^{}];
+__block SDLVoiceCommand *newVoiceCommand2 = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[@"NewVC2"] handler:^{}];
+__block SDLVoiceCommand *oldVoiceCommand1 = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[@"OldVC1"] handler:^{}];
+__block SDLVoiceCommand *oldVoiceCommand2 = [[SDLVoiceCommand alloc] initWithVoiceCommands:@[@"OldVC2"] handler:^{}];
+
+
+describe(@"a voice command operation", ^{
+ __block TestConnectionManager *testConnectionManager = nil;
+ __block SDLVoiceCommandUpdateOperation *testOp = nil;
+
+ __block NSError *callbackError = nil;
+ __block NSArray<SDLVoiceCommand *> *callbackCurrentVoiceCommands = nil;
+
+ beforeEach(^{
+ successDelete = [[SDLDeleteCommandResponse alloc] init];
+ successDelete.success = @YES;
+ successDelete.resultCode = SDLResultSuccess;
+
+ failDelete = [[SDLDeleteCommandResponse alloc] init];
+ failDelete.success = @NO;
+ failDelete.resultCode = SDLResultDisallowed;
+
+ successAdd = [[SDLAddCommandResponse alloc] init];
+ successAdd.success = @YES;
+ successAdd.resultCode = SDLResultSuccess;
+
+ failAdd = [[SDLAddCommandResponse alloc] init];
+ failAdd.success = @NO;
+ failAdd.resultCode = SDLResultDisallowed;
+
+ newVoiceCommand1.commandId = 1;
+ newVoiceCommand2.commandId = 2;
+ oldVoiceCommand1.commandId = 3;
+ oldVoiceCommand2.commandId = 4;
+
+ testConnectionManager = [[TestConnectionManager alloc] init];
+ testOp = nil;
+
+ callbackError = nil;
+ callbackCurrentVoiceCommands = nil;
+ });
+
+ // should have a priority of 'normal'
+ it(@"should have a priority of 'normal'", ^{
+ testOp = [[SDLVoiceCommandUpdateOperation alloc] initWithConnectionManager:testConnectionManager pendingVoiceCommands:@[] oldVoiceCommands:@[] updateCompletionHandler:^(NSArray<SDLVoiceCommand *> * _Nonnull newCurrentVoiceCommands, NSError * _Nullable error) {
+ }];
+
+ expect(@(testOp.queuePriority)).to(equal(@(NSOperationQueuePriorityNormal)));
+ });
+
+ // initializing the operation
+ describe(@"initializing the operation", ^{
+ testOp = [[SDLVoiceCommandUpdateOperation alloc] initWithConnectionManager:testConnectionManager pendingVoiceCommands:@[newVoiceCommand1, newVoiceCommand2] oldVoiceCommands:@[oldVoiceCommand1, oldVoiceCommand2] updateCompletionHandler:^(NSArray<SDLVoiceCommand *> * _Nonnull newCurrentVoiceCommands, NSError * _Nullable error) {}];
+
+ expect(testOp.oldVoiceCommands).to(equal(@[oldVoiceCommand1, oldVoiceCommand2]));
+ });
+
+ // starting the operation
+ describe(@"starting the operation", ^{
+
+ // if it starts cancelled
+ context(@"if it starts cancelled", ^{
+ beforeEach(^{
+ testOp = [[SDLVoiceCommandUpdateOperation alloc] initWithConnectionManager:testConnectionManager pendingVoiceCommands:@[newVoiceCommand1, newVoiceCommand2] oldVoiceCommands:@[oldVoiceCommand1, oldVoiceCommand2] updateCompletionHandler:^(NSArray<SDLVoiceCommand *> * _Nonnull newCurrentVoiceCommands, NSError * _Nullable error) {
+ callbackCurrentVoiceCommands = newCurrentVoiceCommands;
+ callbackError = error;
+ }];
+ [testOp cancel];
+ [testOp start];
+ });
+
+ it(@"should return immediately with an error", ^{
+ expect(callbackError).toEventuallyNot(beNil());
+ });
+ });
+
+ // if it has voice commands to delete
+ context(@"if it has voice commands to delete", ^{
+ beforeEach(^{
+ testOp = [[SDLVoiceCommandUpdateOperation alloc] initWithConnectionManager:testConnectionManager pendingVoiceCommands:@[] oldVoiceCommands:@[oldVoiceCommand1, oldVoiceCommand2] updateCompletionHandler:^(NSArray<SDLVoiceCommand *> * _Nonnull newCurrentVoiceCommands, NSError * _Nullable error) {
+ callbackCurrentVoiceCommands = newCurrentVoiceCommands;
+ callbackError = error;
+ }];
+ [testOp start];
+ });
+
+ // and the delete succeeds
+ context(@"and the delete succeeds", ^{
+ beforeEach(^{
+ SDLDeleteCommandResponse *deleteOld1 = [[SDLDeleteCommandResponse alloc] init];
+ deleteOld1.success = @YES;
+ deleteOld1.resultCode = SDLResultSuccess;
+
+ SDLDeleteCommandResponse *deleteOld2 = [[SDLDeleteCommandResponse alloc] init];
+ deleteOld2.success = @YES;
+ deleteOld2.resultCode = SDLResultSuccess;
+
+ [testConnectionManager respondToRequestWithResponse:deleteOld1 requestNumber:0 error:nil];
+ [testConnectionManager respondToRequestWithResponse:deleteOld2 requestNumber:1 error:nil];
+ [testConnectionManager respondToLastMultipleRequestsWithSuccess:YES];
+ });
+
+ it(@"should update the current voice commands", ^{
+ expect(callbackCurrentVoiceCommands).to(haveCount(0));
+ expect(callbackError).to(beNil());
+ expect(testConnectionManager.receivedRequests).to(haveCount(2));
+ });
+ });
+
+ // and the delete fails
+ context(@"and the delete fails", ^{
+ beforeEach(^{
+ [testConnectionManager respondToRequestWithResponse:failDelete requestNumber:0 error:[NSError sdl_lifecycle_failedWithBadResult:SDLResultDisallowed info:nil]];
+ [testConnectionManager respondToRequestWithResponse:failDelete requestNumber:1 error:[NSError sdl_lifecycle_failedWithBadResult:SDLResultDisallowed info:nil]];
+ [testConnectionManager respondToLastMultipleRequestsWithSuccess:NO];
+ });
+
+ it(@"should update the current voice commands and attempt to send the adds", ^{
+ expect(callbackCurrentVoiceCommands).to(haveCount(2));
+ expect(callbackError).toNot(beNil());
+ expect(testConnectionManager.receivedRequests).to(haveCount(2));
+ });
+ });
+
+ // and the delete partially fails
+ context(@"and the delete partially fails", ^{
+ beforeEach(^{
+ [testConnectionManager respondToRequestWithResponse:failDelete requestNumber:0 error:[NSError sdl_lifecycle_failedWithBadResult:SDLResultDisallowed info:nil]];
+ [testConnectionManager respondToRequestWithResponse:successDelete requestNumber:1 error:nil];
+ [testConnectionManager respondToLastMultipleRequestsWithSuccess:NO];
+ });
+
+ it(@"should update the current voice commands and attempt to send the adds", ^{
+ expect(callbackCurrentVoiceCommands).to(haveCount(1));
+ expect(callbackError).toNot(beNil());
+ expect(testConnectionManager.receivedRequests).to(haveCount(2));
+ });
+ });
+ });
+
+ context(@"if it doesn't have any voice commands to delete", ^{
+ beforeEach(^{
+ testOp = [[SDLVoiceCommandUpdateOperation alloc] initWithConnectionManager:testConnectionManager pendingVoiceCommands:@[newVoiceCommand1, newVoiceCommand2] oldVoiceCommands:@[] updateCompletionHandler:^(NSArray<SDLVoiceCommand *> * _Nonnull newCurrentVoiceCommands, NSError * _Nullable error) {
+ callbackCurrentVoiceCommands = newCurrentVoiceCommands;
+ callbackError = error;
+ }];
+ [testOp start];
+ });
+
+ context(@"adding voice commands", ^{
+ context(@"and the add succeeds", ^{
+ beforeEach(^{
+ SDLAddCommandResponse *addNew1 = [[SDLAddCommandResponse alloc] init];
+ addNew1.success = @YES;
+ addNew1.resultCode = SDLResultSuccess;
+
+ SDLAddCommandResponse *addNew2 = [[SDLAddCommandResponse alloc] init];
+ addNew2.success = @YES;
+ addNew2.resultCode = SDLResultSuccess;
+
+ [testConnectionManager respondToRequestWithResponse:addNew1 requestNumber:0 error:nil];
+ [testConnectionManager respondToRequestWithResponse:addNew2 requestNumber:1 error:nil];
+ [testConnectionManager respondToLastMultipleRequestsWithSuccess:YES];
+ });
+
+ it(@"should update the current voice commands", ^{
+ expect(callbackCurrentVoiceCommands).to(haveCount(2));
+ expect(callbackError).to(beNil());
+ expect(testConnectionManager.receivedRequests).to(haveCount(2));
+ });
+ });
+
+ context(@"and the add fails", ^{
+ beforeEach(^{
+ SDLAddCommandResponse *addNew1 = [[SDLAddCommandResponse alloc] init];
+ addNew1.success = @NO;
+ addNew1.resultCode = SDLResultDisallowed;
+
+ SDLAddCommandResponse *addNew2 = [[SDLAddCommandResponse alloc] init];
+ addNew2.success = @NO;
+ addNew2.resultCode = SDLResultDisallowed;
+
+ [testConnectionManager respondToRequestWithResponse:addNew1 requestNumber:0 error:[NSError sdl_lifecycle_failedWithBadResult:SDLResultDisallowed info:nil]];
+ [testConnectionManager respondToRequestWithResponse:addNew2 requestNumber:1 error:[NSError sdl_lifecycle_failedWithBadResult:SDLResultDisallowed info:nil]];
+ [testConnectionManager respondToLastMultipleRequestsWithSuccess:NO];
+ });
+
+ it(@"should update the current voice commands", ^{
+ expect(callbackCurrentVoiceCommands).to(haveCount(0));
+ expect(callbackError).toNot(beNil());
+ expect(testConnectionManager.receivedRequests).to(haveCount(2));
+ });
+ });
+
+ context(@"and the add partially fails", ^{
+ beforeEach(^{
+ SDLAddCommandResponse *addNew1 = [[SDLAddCommandResponse alloc] init];
+ addNew1.success = @NO;
+ addNew1.resultCode = SDLResultDisallowed;
+
+ SDLAddCommandResponse *addNew2 = [[SDLAddCommandResponse alloc] init];
+ addNew2.success = @YES;
+ addNew2.resultCode = SDLResultSuccess;
+
+ [testConnectionManager respondToRequestWithResponse:addNew1 requestNumber:0 error:[NSError sdl_lifecycle_failedWithBadResult:SDLResultDisallowed info:nil]];
+ [testConnectionManager respondToRequestWithResponse:addNew2 requestNumber:1 error:nil];
+ [testConnectionManager respondToLastMultipleRequestsWithSuccess:NO];
+ });
+
+ it(@"should update the current voice commands", ^{
+ expect(callbackCurrentVoiceCommands).to(haveCount(1));
+ expect(callbackError).toNot(beNil());
+ expect(testConnectionManager.receivedRequests).to(haveCount(2));
+ });
+ });
+ });
+ });
+ });
+});
+
+QuickSpecEnd
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m
index 334e9fe8b..fd5980b58 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppInterfaceUnregisteredSpec.m
@@ -29,10 +29,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameReason:SDLAppInterfaceUnregisteredReasonAppUnauthorized},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnAppInterfaceUnregistered}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnAppInterfaceUnregistered* testNotification = [[SDLOnAppInterfaceUnregistered alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.reason).to(equal(SDLAppInterfaceUnregisteredReasonAppUnauthorized));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppServiceDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppServiceDataSpec.m
index 35e43e2ab..b5fe3fff0 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppServiceDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnAppServiceDataSpec.m
@@ -37,10 +37,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameServiceData:testAppServiceData
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnAppServiceData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnAppServiceData *testNotification = [[SDLOnAppServiceData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.serviceData).to(equal(testAppServiceData));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m
index 55d11cc3f..2a298eb5e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonEventSpec.m
@@ -37,10 +37,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameButtonEventMode:SDLButtonEventModeButtonDown,
SDLRPCParameterNameCustomButtonId:@4252},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnButtonEvent}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnButtonEvent* testNotification = [[SDLOnButtonEvent alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.buttonName).to(equal(SDLButtonNameCustomButton));
expect(testNotification.buttonEventMode).to(equal(SDLButtonEventModeButtonDown));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m
index 4bc510738..1b098318b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnButtonPressSpec.m
@@ -37,10 +37,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameButtonPressMode:SDLButtonPressModeLong,
SDLRPCParameterNameCustomButtonId:@5642},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnButtonPress}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnButtonPress* testNotification = [[SDLOnButtonPress alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.buttonName).to(equal(SDLButtonNameCustomButton));
expect(testNotification.buttonPressMode).to(equal(SDLButtonPressModeLong));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m
index d815683b1..aac8b32b1 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnCommandSpec.m
@@ -32,10 +32,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameCommandId:@5676544,
SDLRPCParameterNameTriggerSource:SDLTriggerSourceKeyboard},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnCommand}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnCommand* testNotification = [[SDLOnCommand alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.cmdID).to(equal(@5676544));
expect(testNotification.triggerSource).to(equal(SDLTriggerSourceKeyboard));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m
index 33836f9fb..2a5ef88dd 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnDriverDistractionSpec.m
@@ -39,8 +39,8 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnDriverDistraction}};
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+
SDLOnDriverDistraction* testNotificationOn = [[SDLOnDriverDistraction alloc] initWithDictionary:dictOn];
-#pragma clang diagnostic pop
expect(testNotificationOn.state).to(equal(SDLDriverDistractionStateOn));
expect(testNotificationOn.lockScreenDismissalEnabled).to(beTrue());
@@ -54,7 +54,6 @@ describe(@"Getter/Setter Tests", ^ {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnDriverDistraction *testNotificationOff = [[SDLOnDriverDistraction alloc] initWithDictionary:dictOff];
-#pragma clang diagnostic pop
expect(testNotificationOff.state).to(equal(SDLDriverDistractionStateOff));
expect(testNotificationOff.lockScreenDismissalEnabled).to(beFalse());
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m
index 918a34667..ee58c0bec 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHMIStatusSpec.m
@@ -58,10 +58,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameVideoStreamingState: testVideoState,
SDLRPCParameterNameWindowId: testWindowID},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnHMIStatus}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnHMIStatus* testNotification = [[SDLOnHMIStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.hmiLevel).to(equal(testLevel));
expect(testNotification.audioStreamingState).to(equal(testAudioState));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m
index b76ef13fc..035afda9d 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnHashChangeSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameHashId:@"hash"},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnHashChange}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnHashChange* testNotification = [[SDLOnHashChange alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.hashID).to(equal(@"hash"));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnInteriorVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnInteriorVehicleDataSpec.m
index 1afa25d05..45ae4c993 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnInteriorVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnInteriorVehicleDataSpec.m
@@ -35,10 +35,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameModuleData:someModuleData},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnInteriorVehicleData}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnInteriorVehicleData* testNotification = [[SDLOnInteriorVehicleData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.moduleData).to(equal(someModuleData));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m
index 899ccf768..baec5f3c7 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnKeyboardInputSpec.m
@@ -32,10 +32,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameEvent:SDLKeyboardEventSubmitted,
SDLRPCParameterNameData:@"qwertyg"},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnKeyboardInput}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnKeyboardInput* testNotification = [[SDLOnKeyboardInput alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.event).to(equal(SDLKeyboardEventSubmitted));
expect(testNotification.data).to(equal(@"qwertyg"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m
index d371737a1..c8e589a54 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnLanguageChangeSpec.m
@@ -33,10 +33,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameLanguage:SDLLanguageEsEs,
SDLRPCParameterNameHMIDisplayLanguage:SDLLanguageDeDe},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnLanguageChange}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnLanguageChange* testNotification = [[SDLOnLanguageChange alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.language).to(equal(SDLLanguageEsEs));
expect(testNotification.hmiDisplayLanguage).to(equal(SDLLanguageDeDe));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m
index 7b316929c..5eb7698aa 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnPermissionsChangeSpec.m
@@ -37,10 +37,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNamePermissionItem:@[testPermissionItem],
SDLRPCParameterNameRequireEncryption:@YES}, SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnPermissionsChange}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnPermissionsChange* testNotification = [[SDLOnPermissionsChange alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.permissionItem).to(equal([@[testPermissionItem] mutableCopy]));
expect(testNotification.requireEncryption.boolValue).to(beTrue());
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnRCStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnRCStatusSpec.m
index 618950bd0..584bcd3ec 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnRCStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnRCStatusSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameAllowed:@YES
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnRCStatus}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnRCStatus* testNotification = [[SDLOnRCStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.allowed).to(equal(@YES));
expect(testNotification.allocatedModules).to(equal([@[allocatedModule] copy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemCapabilityUpdatedSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemCapabilityUpdatedSpec.m
index 2c1844a80..b6102042d 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemCapabilityUpdatedSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemCapabilityUpdatedSpec.m
@@ -38,10 +38,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameSystemCapability:testSystemCapability
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnSystemCapabilityUpdated}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnSystemCapabilityUpdated *testNotification = [[SDLOnSystemCapabilityUpdated alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.systemCapability).to(equal(testSystemCapability));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m
index a4a21e7c4..c523fed67 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnSystemRequestSpec.m
@@ -48,10 +48,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameOffset:@2532678684,
SDLRPCParameterNameLength:@50000000000},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnSystemRequest}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnSystemRequest* testNotification = [[SDLOnSystemRequest alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.requestType).to(equal(SDLRequestTypeFileResume));
expect(testNotification.requestSubType).to(equal(@"subtype"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m
index fdbe9039c..f0a39c387 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTBTClientStateSpec.m
@@ -30,10 +30,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameState:SDLTBTStateETARequest},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnTBTClientState}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnTBTClientState* testNotification = [[SDLOnTBTClientState alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.state).to(equal(SDLTBTStateETARequest));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m
index 72377a740..6445c2e64 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnTouchEventSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameType:SDLTouchTypeBegin,
SDLRPCParameterNameEvent:[@[event] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnTouchEvent}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnTouchEvent* testNotification = [[SDLOnTouchEvent alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testNotification.type).to(equal(SDLTouchTypeBegin));
expect(testNotification.event).to(equal([@[event] mutableCopy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m
index f42283b01..b42482828 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnVehicleDataSpec.m
@@ -183,10 +183,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameWiperStatus:wiperStatus,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnVehicleData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOnVehicleData* testResponse = [[SDLOnVehicleData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(@(accPedalPosition)));
diff --git a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnWaypointChangeSpec.m b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnWaypointChangeSpec.m
index 48a9b5668..1f3973c66 100644
--- a/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnWaypointChangeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/NotificationSpecs/SDLOnWaypointChangeSpec.m
@@ -71,10 +71,7 @@ describe(@"Getter/Setter Tests", ^ {
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameOnWayPointChange
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testNotification = [[SDLOnWayPointChange alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
// Since all the properties are immutable, a copy should be executed as a retain, which means they should be identical
@@ -91,10 +88,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameParameters: @{}
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testNotification = [[SDLOnWayPointChange alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
it(@"should return nil for waypoints", ^{
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m
index d036ba1ec..3d636db9e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAddCommandSpec.m
@@ -42,10 +42,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameVRCommands:[@[@"name", @"anotherName"] mutableCopy],
SDLRPCParameterNameCommandIcon:image},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameAddCommand}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLAddCommand* testRequest = [[SDLAddCommand alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.cmdID).to(equal(@434577));
expect(testRequest.menuParams).to(equal(menu));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m
index a17065993..63ee96868 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLAlertManeuverSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameTTSChunks:[@[tts] mutableCopy],
SDLRPCParameterNameSoftButtons:[@[button] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameAlertManeuver}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLAlertManeuver* testRequest = [[SDLAlertManeuver alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.ttsChunks).to(equal([@[tts] mutableCopy]));
expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCancelInteractionSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCancelInteractionSpec.m
index f8f1be402..f40df436c 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCancelInteractionSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCancelInteractionSpec.m
@@ -50,10 +50,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameFunctionID:@(testFunctionID)
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameCancelInteraction}};
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
testRequest = [[SDLCancelInteraction alloc] initWithDictionary:dict];
- #pragma clang diagnostic pop
expect(testRequest.cancelID).to(equal(testCancelID));
expect(testRequest.functionID).to(equal(testFunctionID));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m
index 8fac41395..8696920a2 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLChangeRegistrationSpec.m
@@ -122,10 +122,7 @@ describe(@"change registration", ^ {
SDLRPCParameterNameNGNMediaScreenAppName:someNGNMediaAppName,
SDLRPCParameterNameVRSynonyms:someVRSynonyms},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameChangeRegistration}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testRequest = [[SDLChangeRegistration alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
});
// Since the properties are immutable, a copy should be executed as a retain, so they should be identical
@@ -156,10 +153,7 @@ describe(@"change registration", ^ {
context(@"when no parameters are set", ^{
beforeEach(^{
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testRequest = [[SDLChangeRegistration alloc] initWithDictionary:[NSMutableDictionary dictionary]];
-#pragma clang diagnostic pop
});
it(@"Should return nil if for language", ^ {
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCloseApplicationSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCloseApplicationSpec.m
index 122adcee4..5938bbf58 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCloseApplicationSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCloseApplicationSpec.m
@@ -25,10 +25,7 @@ describe(@"Getter/Setter Tests", ^{
NSDictionary *dict = @{SDLRPCParameterNameRequest:@{
SDLRPCParameterNameParameters:@{},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameCloseApplication}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLCloseApplication *testRequest = [[SDLCloseApplication alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.name).to(equal(SDLRPCFunctionNameCloseApplication));
expect(testRequest.parameters).to(beEmpty());
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m
index c4c20ea47..973189701 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLCreateInteractionChoiceSetSpec.m
@@ -34,10 +34,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameInteractionChoiceSetId:@141414,
SDLRPCParameterNameChoiceSet:[@[choice] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameCreateInteractionChoiceSet}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLCreateInteractionChoiceSet* testRequest = [[SDLCreateInteractionChoiceSet alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.interactionChoiceSetID).to(equal(@141414));
expect(testRequest.choiceSet).to(equal([@[choice] mutableCopy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m
index 42b036672..fc275fd96 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteCommandSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameCommandId:@11223344},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameDeleteCommand}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDeleteCommand* testRequest = [[SDLDeleteCommand alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.cmdID).to(equal(@11223344));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m
index 50e5d2af3..bb07a874d 100755
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteFileSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameSyncFileName:@"synchro"},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameDeleteFile}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDeleteFile* testRequest = [[SDLDeleteFile alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.syncFileName).to(equal(@"synchro"));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m
index a06bd3836..81e6f9d2c 100755
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteInteractionChoiceSetSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameInteractionChoiceSetId:@20314},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameDeleteInteractionChoiceSet}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDeleteInteractionChoiceSet* testRequest = [[SDLDeleteInteractionChoiceSet alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.interactionChoiceSetID).to(equal(@20314));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m
index 494988a7b..e35c7a64b 100755
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDeleteSubMenuSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameMenuID:@25614},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameDeleteSubMenu}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDeleteSubMenu* testRequest = [[SDLDeleteSubMenu alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.menuID).to(equal(@25614));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m
index 045840b41..bd75d5853 100755
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDiagnosticMessageSpec.m
@@ -34,10 +34,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameMessageLength:@55555,
SDLRPCParameterNameMessageData:[@[@1, @4, @16, @64] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameDiagnosticMessage}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDiagnosticMessage* testRequest = [[SDLDiagnosticMessage alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.targetID).to(equal(@3562));
expect(testRequest.messageLength).to(equal(@55555));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m
index dcb2c211c..2cd67989b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLDialNumberSpec.m
@@ -49,10 +49,7 @@ describe(@"Dial Number RPC", ^{
}
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testRequest = [[SDLDialNumber alloc] initWithDictionary:[initDict mutableCopy]];
-#pragma clang diagnostic pop
});
it(@"should get 'number' correctly", ^{
@@ -69,10 +66,7 @@ describe(@"Dial Number RPC", ^{
}
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testRequest = [[SDLDialNumber alloc] initWithDictionary:[initDict mutableCopy]];
-#pragma clang diagnostic pop
});
it(@"should return nil for number", ^{
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetAppServiceDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetAppServiceDataSpec.m
index a02387d79..a217223a8 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetAppServiceDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetAppServiceDataSpec.m
@@ -43,10 +43,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameSubscribe:@(testSubscribe)
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetAppServiceData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetAppServiceData *testRequest = [[SDLGetAppServiceData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.serviceType).to(equal(testServiceType));
expect(testRequest.subscribe).to(beTrue());
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetCloudAppPropertiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetCloudAppPropertiesSpec.m
index b831c1f00..efc1b4a80 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetCloudAppPropertiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetCloudAppPropertiesSpec.m
@@ -37,10 +37,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameAppId:testAppID
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetCloudAppProperties}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetCloudAppProperties *testRequest = [[SDLGetCloudAppProperties alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.appID).to(equal(testAppID));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m
index b1b4cb5df..25e489c46 100755
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetDTCsSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameECUName:@4321,
SDLRPCParameterNameDTCMask:@22},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameEndAudioPassThru}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetDTCs* testRequest = [[SDLGetDTCs alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.ecuName).to(equal(@4321));
expect(testRequest.dtcMask).to(equal(@22));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetFileSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetFileSpec.m
index 9f795546c..d2c6e39cc 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetFileSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetFileSpec.m
@@ -54,10 +54,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameLength:@(testLength)
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetFile}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetFile *testRequest = [[SDLGetFile alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.fileName).to(equal(testFileName));
expect(testRequest.appServiceId).to(equal(testAppServiceId));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetInteriorVehicleDataConsentSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetInteriorVehicleDataConsentSpec.m
index bc9d19774..98153b0f1 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetInteriorVehicleDataConsentSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetInteriorVehicleDataConsentSpec.m
@@ -34,10 +34,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameModuleType : SDLModuleTypeRadio,
SDLRPCParameterNameModuleIds: @[@"123", @"456"]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetInteriorVehicleData}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetInteriorVehicleDataConsent *testRequest = [[SDLGetInteriorVehicleDataConsent alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.moduleType).to(equal(SDLModuleTypeRadio));
expect(testRequest.moduleIds).to(equal(@[@"123", @"456"]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitiesSpec.m
index 13f9f156a..a5cbac428 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitiesSpec.m
@@ -28,10 +28,7 @@ describe(@"Initialization tests", ^{
}
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetSystemCapability *testRequest = [[SDLGetSystemCapability alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.systemCapabilityType).to(equal(SDLSystemCapabilityTypePhoneCall));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitySpec.m
index 3fe6ca695..77d175818 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetSystemCapabilitySpec.m
@@ -49,10 +49,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameSubscribe:@(testSubcribe)
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetSystemCapability}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetSystemCapability *testRequest = [[SDLGetSystemCapability alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.systemCapabilityType).to(equal(testSystemCapabilityType));
expect(testRequest.subscribe).to(beFalse());
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m
index 84d1806df..2872c6cee 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetVehicleDataSpec.m
@@ -144,10 +144,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameWiperStatus:@YES,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetVehicleData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetVehicleData* testRequest = [[SDLGetVehicleData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetWaypointsSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetWaypointsSpec.m
index f22c4722e..3b0c706c3 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetWaypointsSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLGetWaypointsSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameWayPointType:SDLWayPointTypeAll},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetWayPoints}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetWayPoints* testRequest = [[SDLGetWayPoints alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.waypointType).to(equal(SDLWayPointTypeAll));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAppServiceInteractionSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAppServiceInteractionSpec.m
index 56b4b7584..7d5cde77a 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAppServiceInteractionSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAppServiceInteractionSpec.m
@@ -50,10 +50,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameRequestServiceActive:@(testRequestServiceActive)
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNamePerformAppServiceInteraction}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPerformAppServiceInteraction *testRequest = [[SDLPerformAppServiceInteraction alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.serviceUri).to(equal(testServiceUri));
expect(testRequest.serviceID).to(equal(testServiceID));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m
index 539fbe77a..ec8799689 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPerformAudioPassThruSpec.m
@@ -50,10 +50,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameAudioType:SDLAudioTypePCM,
SDLRPCParameterNameMuteAudio:@NO},
SDLRPCParameterNameOperationName:SDLRPCFunctionNamePerformAudioPassThru}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPerformAudioPassThru* testRequest = [[SDLPerformAudioPassThru alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.audioPassThruDisplayText1).to(equal(@"passthru#1"));
expect(testRequest.audioPassThruDisplayText2).to(equal(@"passthru#2"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPublishAppServiceSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPublishAppServiceSpec.m
index 2268eea1e..a11ec3fb0 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPublishAppServiceSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLPublishAppServiceSpec.m
@@ -43,10 +43,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameAppServiceManifest:testAppServiceManifest
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNamePublishAppService}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPublishAppService *testRequest = [[SDLPublishAppService alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.appServiceManifest).to(equal(testAppServiceManifest));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m
index d255c8dbc..a5ee105d1 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReadDIDSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameECUName:@33112,
SDLRPCParameterNameDIDLocation:[@[@200, @201, @205] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameEndAudioPassThru}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLReadDID* testRequest = [[SDLReadDID alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.ecuName).to(equal(@33112));
expect(testRequest.didLocation).to(equal([@[@200, @201, @205] mutableCopy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReleaseInteriorVehicleDataModuleSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReleaseInteriorVehicleDataModuleSpec.m
index 6f98c4f28..6ce3b5f97 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReleaseInteriorVehicleDataModuleSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLReleaseInteriorVehicleDataModuleSpec.m
@@ -34,10 +34,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameModuleType: SDLModuleTypeRadio,
SDLRPCParameterNameModuleId: @"123"},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetInteriorVehicleData}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLReleaseInteriorVehicleDataModule *testRequest = [[SDLReleaseInteriorVehicleDataModule alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.moduleType).to(equal(SDLModuleTypeRadio));
expect(testRequest.moduleId).to(equal(@"123"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m
index 2a13731f8..67ffbbec9 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLResetGlobalPropertiesSpec.m
@@ -29,10 +29,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameProperties:[@[SDLGlobalPropertyMenuName, SDLGlobalPropertyVoiceRecognitionHelpTitle] copy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameResetGlobalProperties}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLResetGlobalProperties* testRequest = [[SDLResetGlobalProperties alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.properties).to(equal([@[SDLGlobalPropertyMenuName, SDLGlobalPropertyVoiceRecognitionHelpTitle] copy]));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendHapticDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendHapticDataSpec.m
index d6fba321a..d02e8f9bb 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendHapticDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendHapticDataSpec.m
@@ -41,10 +41,7 @@ describe(@"Initialization Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameHapticRectData:@[testStruct]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSendHapticData}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSendHapticData *testRequest = [[SDLSendHapticData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.hapticRectData).to(equal(@[testStruct]));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m
index d7e15a019..7f63fba09 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSendLocationSpec.m
@@ -164,10 +164,7 @@ describe(@"Send Location RPC", ^{
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSendLocation
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testRequest = [[SDLSendLocation alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
// Since all the properties are immutable, a copy should be executed as a retain, which means they should be identical
@@ -192,10 +189,7 @@ describe(@"Send Location RPC", ^{
SDLRPCParameterNameParameters: @{}
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testRequest = [[SDLSendLocation alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
it(@"should return nil for parameters", ^{
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m
index 12b66d4a7..983d79eeb 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetAppIconSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameSyncFileName:@"A/File/Name"},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSetAppIcon}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSetAppIcon* testRequest = [[SDLSetAppIcon alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.syncFileName).to(equal(@"A/File/Name"));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetCloudAppPropertiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetCloudAppPropertiesSpec.m
index 3068de94c..974170a3d 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetCloudAppPropertiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetCloudAppPropertiesSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameProperties:testProperties
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSetCloudAppProperties}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSetCloudAppProperties *testRequest = [[SDLSetCloudAppProperties alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.properties).to(equal(testProperties));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m
index 5871e4291..c5a5d817c 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetDisplayLayoutSpec.m
@@ -50,10 +50,7 @@ describe(@"SetDisplayLayout Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameDisplayLayout:@"wat"},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSetDisplayLayout}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSetDisplayLayout* testRequest = [[SDLSetDisplayLayout alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.displayLayout).to(equal(@"wat"));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetInteriorVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetInteriorVehicleDataSpec.m
index 99d30b21f..d77ce6a89 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetInteriorVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSetInteriorVehicleDataSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameModuleData : someModuleData},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSetInteriorVehicleData}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSetInteriorVehicleData* testRequest = [[SDLSetInteriorVehicleData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.moduleData).to(equal(someModuleData));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowAppMenuSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowAppMenuSpec.m
index d88e335a9..7c873dac6 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowAppMenuSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowAppMenuSpec.m
@@ -33,10 +33,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameMenuID:@4345645,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameShowAppMenu}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLShowAppMenu* testRequest = [[SDLShowAppMenu alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.menuID).to(equal(@(menuId)));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m
index 69c9195eb..451dece6d 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowConstantTBTSpec.m
@@ -65,10 +65,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameManeuverComplete:@NO,
SDLRPCParameterNameSoftButtons:[@[button] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameShowConstantTBT}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLShowConstantTBT* testRequest = [[SDLShowConstantTBT alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.navigationText1).to(equal(@"nav1"));
expect(testRequest.navigationText2).to(equal(@"nav2"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m
index 0122c1a65..8cd897977 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLShowSpec.m
@@ -362,10 +362,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameTemplateConfiguration:testTemplateConfig
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameShow}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLShow* testRequest = [[SDLShow alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.mainField1).to(equal(@"field1"));
expect(testRequest.mainField2).to(equal(@"field2"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m
index b8478240d..d695130be 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSliderSpec.m
@@ -71,10 +71,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameCancelID:@(testCancelID)
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSlider}};
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
testRequest = [[SDLSlider alloc] initWithDictionary:dict];
- #pragma clang diagnostic pop
expect(testRequest.numTicks).to(equal(testNumTicks));
expect(testRequest.position).to(equal(testPosition));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m
index 8642bb4a2..761c10505 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSpeakSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameTTSChunks:[@[chunk] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSpeak}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSpeak* testRequest = [[SDLSpeak alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.ttsChunks).to(equal([@[chunk] mutableCopy]));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m
index 67a99173b..d748e24bd 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeButtonSpec.m
@@ -30,10 +30,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameButtonName:SDLButtonNamePreset5},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSubscribeButton}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSubscribeButton* testRequest = [[SDLSubscribeButton alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.buttonName).to(equal(SDLButtonNamePreset5));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m
index d7a6753f1..7e3a98f36 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSubscribeVehicleDataSpec.m
@@ -144,10 +144,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameWiperStatus:@YES,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSubscribeVehicleData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSubscribeVehicleData* testRequest = [[SDLSubscribeVehicleData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m
index ea86ebb89..759b4a166 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLSystemRequestSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameRequestSubType: testSubType,
SDLRPCParameterNameFileName:testFileName},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSystemRequest}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSystemRequest* testRequest = [[SDLSystemRequest alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.requestType).to(equal(testRequestType));
expect(testRequest.requestSubType).to(equal(testSubType));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnpublishAppServiceSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnpublishAppServiceSpec.m
index fa2c66c22..3820aefe6 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnpublishAppServiceSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnpublishAppServiceSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameServiceID:@"idToUnpublish"},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameUnpublishAppService}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLUnpublishAppService* testRequest = [[SDLUnpublishAppService alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.serviceID).to(equal(@"idToUnpublish"));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m
index 48f6ef76b..dd7f72d28 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeButtonSpec.m
@@ -30,10 +30,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameButtonName:SDLButtonNamePreset0},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameUnsubscribeButton}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLUnsubscribeButton* testRequest = [[SDLUnsubscribeButton alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.buttonName).to(equal(SDLButtonNamePreset0));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m
index 2023224e9..f71889b5f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUnsubscribeVehicleDataSpec.m
@@ -143,10 +143,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameWiperStatus:@YES,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameUnsubscribeVehicleData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLUnsubscribeVehicleData* testRequest = [[SDLUnsubscribeVehicleData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testRequest.accPedalPosition).to(equal(@YES));
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m
index ec31cd98f..1fe93731f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLUpdateTurnListSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameTurnList:[@[turn] mutableCopy],
SDLRPCParameterNameSoftButtons:[@[button] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameUpdateTurnList}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLUpdateTurnList* testRequest = [[SDLUpdateTurnList alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testRequest.turnList).to(equal([@[turn] mutableCopy]));
expect(testRequest.softButtons).to(equal([@[button] mutableCopy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCancelInteractionResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCancelInteractionResponseSpec.m
index f1f677cba..ed33df94d 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCancelInteractionResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCancelInteractionResponseSpec.m
@@ -26,10 +26,7 @@ describe(@"Getter/Setter Tests", ^{
NSDictionary *dict = @{SDLRPCParameterNameRequest:@{
SDLRPCParameterNameParameters:@{},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameCancelInteraction}};
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
testResponse = [[SDLCancelInteractionResponse alloc] initWithDictionary:dict];
- #pragma clang diagnostic pop
});
afterEach(^{
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCloseApplicationResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCloseApplicationResponseSpec.m
index 71b239b0d..b91dff521 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCloseApplicationResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLCloseApplicationResponseSpec.m
@@ -25,10 +25,7 @@ describe(@"Getter/Setter Tests", ^{
NSDictionary *dict = @{SDLRPCParameterNameRequest:@{
SDLRPCParameterNameParameters:@{},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameCloseApplication}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLCloseApplicationResponse *testResponse = [[SDLCloseApplicationResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.name).to(equal(SDLRPCFunctionNameCloseApplication));
expect(testResponse.parameters).to(beEmpty());
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m
index 9ff80e15a..6eb54798e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDeleteFileResponseSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameSpaceAvailable:@0},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameDeleteFile}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDeleteFileResponse* testResponse = [[SDLDeleteFileResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.spaceAvailable).to(equal(@0));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m
index 239581a67..b8efd9c97 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLDiagnosticMessageResponseSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameMessageDataResult:@[@3, @9, @27, @81]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameDiagnosticMessage}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDiagnosticMessageResponse* testResponse = [[SDLDiagnosticMessageResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.messageDataResult).to(equal(@[@3, @9, @27, @81]));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetAppServiceDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetAppServiceDataResponseSpec.m
index 2df52a5ab..53b04382b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetAppServiceDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetAppServiceDataResponseSpec.m
@@ -38,10 +38,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameServiceData:testAppServiceData
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetAppServiceData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetAppServiceDataResponse *testResponse = [[SDLGetAppServiceDataResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.serviceData).to(equal(testAppServiceData));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetCloudAppPropertiesResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetCloudAppPropertiesResponseSpec.m
index 0109daf10..4da3f7c89 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetCloudAppPropertiesResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetCloudAppPropertiesResponseSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameProperties:testProperties
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSetCloudAppProperties}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetCloudAppPropertiesResponse *testResponse = [[SDLGetCloudAppPropertiesResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.properties).to(equal(testProperties));
expect(testResponse.name).to(equal(SDLRPCFunctionNameSetCloudAppProperties));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m
index ec2afbdb5..5c6ea8658 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetDTCsResponseSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameECUHeader:@404,
SDLRPCParameterNameDTC:[@[@"FFFF", @"FFFE", @"FFFD"] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetDTCs}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetDTCsResponse* testResponse = [[SDLGetDTCsResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.ecuHeader).to(equal(@404));
expect(testResponse.dtc).to(equal([@[@"FFFF", @"FFFE", @"FFFD"] mutableCopy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetFileResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetFileResponseSpec.m
index 908a88a60..04bc119be 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetFileResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetFileResponseSpec.m
@@ -48,10 +48,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameCRC:@(testCrc)
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetFile}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetFileResponse *testResponse = [[SDLGetFileResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.offset).to(equal(testOffset));
expect(testResponse.length).to(equal(testLength));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataConsentResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataConsentResponseSpec.m
index 4d92cd188..27f10bb6f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataConsentResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataConsentResponseSpec.m
@@ -40,10 +40,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameAllowed:allowed},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetInteriorVehicleData}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetInteriorVehicleDataConsentResponse *testResponse = [[SDLGetInteriorVehicleDataConsentResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.allowed).to(equal(allowed));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataResponseSpec.m
index 94d086cff..7541d2625 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetInteriorVehicleDataResponseSpec.m
@@ -40,10 +40,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameModuleData:someModuleData,
SDLRPCParameterNameIsSubscribed:@NO},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetInteriorVehicleData}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetInteriorVehicleDataResponse* testResponse = [[SDLGetInteriorVehicleDataResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.moduleData).to(equal(someModuleData));
expect(testResponse.isSubscribed).to(equal(@NO));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetSystemCapabilityResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetSystemCapabilityResponseSpec.m
index 96f69128e..54d9c561e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetSystemCapabilityResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetSystemCapabilityResponseSpec.m
@@ -41,10 +41,7 @@ describe(@"Initialization tests", ^{
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetSystemCapability
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetSystemCapabilityResponse *testResponse = [[SDLGetSystemCapabilityResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.systemCapability.systemCapabilityType).to(equal(SDLSystemCapabilityTypeNavigation));
expect(testResponse.systemCapability.navigationCapability.sendLocationEnabled).to(equal(YES));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m
index d22045edd..091dd83ba 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetVehicleDataResponseSpec.m
@@ -184,10 +184,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameWiperStatus:wiperStatus,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameGetVehicleData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGetVehicleDataResponse* testResponse = [[SDLGetVehicleDataResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(@(accPedalPosition)));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetWaypointsResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetWaypointsResponseSpec.m
index a5dcf14ea..ed4762cf0 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetWaypointsResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLGetWaypointsResponseSpec.m
@@ -69,10 +69,7 @@ describe(@"Getter/Setter Tests", ^ {
}
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testResponse = [[SDLGetWayPointsResponse alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
// Since all the properties are immutable, a copy should be executed as a retain, which means they should be identical
@@ -89,10 +86,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameParameters: @{}
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testResponse = [[SDLGetWayPointsResponse alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
it(@"should return nil for waypoints", ^{
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m
index dd2b83867..02ab663c8 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLListFilesResponseSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameFilenames:[@[@"Music/music.mp3", @"Documents/document.txt", @"Downloads/format.exe"] mutableCopy],
SDLRPCParameterNameSpaceAvailable:@500000000},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameListFiles}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLListFilesResponse* testResponse = [[SDLListFilesResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.filenames).to(equal([@[@"Music/music.mp3", @"Documents/document.txt", @"Downloads/format.exe"] mutableCopy]));
expect(testResponse.spaceAvailable).to(equal(@500000000));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAppServiceInteractionResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAppServiceInteractionResponseSpec.m
index aa3eefcf7..9ac23a78f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAppServiceInteractionResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformAppServiceInteractionResponseSpec.m
@@ -35,10 +35,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameServiceSpecificResult:testServiceSpecificResult
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNamePublishAppService}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPerformAppServiceInteractionResponse *testResponse = [[SDLPerformAppServiceInteractionResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.serviceSpecificResult).to(equal(testServiceSpecificResult));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m
index 073c7bbcd..832ed3e44 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPerformInteractionResponseSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameManualTextEntry:@"entry",
SDLRPCParameterNameTriggerSource:SDLTriggerSourceKeyboard},
SDLRPCParameterNameOperationName:SDLRPCFunctionNamePerformInteraction}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPerformInteractionResponse* testResponse = [[SDLPerformInteractionResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.choiceID).to(equal(@25));
expect(testResponse.manualTextEntry).to(equal(@"entry"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPublishAppServiceResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPublishAppServiceResponseSpec.m
index 2ab9c517a..7c3e84317 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPublishAppServiceResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPublishAppServiceResponseSpec.m
@@ -37,10 +37,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameAppServiceRecord:testAppServiceRecord
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNamePublishAppService}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPublishAppServiceResponse *testResponse = [[SDLPublishAppServiceResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.appServiceRecord).to(equal(testAppServiceRecord));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m
index 575dc0f6b..347be0314 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLPutFileResponseSpec.m
@@ -29,10 +29,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameSpaceAvailable:@1248,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNamePutFile}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPutFileResponse* testResponse = [[SDLPutFileResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.spaceAvailable).to(equal(@1248));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m
index 05626af68..1ecc59fc9 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLReadDIDResponseSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameDIDResult:[@[result] mutableCopy]},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameReadDID}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLReadDIDResponse* testResponse = [[SDLReadDIDResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.didResult).to(equal([@[result] mutableCopy]));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m
index d7e776aab..1b00938fb 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLRegisterAppInterfaceResponseSpec.m
@@ -16,7 +16,10 @@
QuickSpecBegin(SDLRegisterAppInterfaceResponseSpec)
__block SDLMsgVersion *sdlVersion = [[SDLMsgVersion alloc] initWithMajorVersion:0 minorVersion:0 patchVersion:0];
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
__block SDLDisplayCapabilities* info = [[SDLDisplayCapabilities alloc] init];
+#pragma clang diagnostic pop
__block SDLButtonCapabilities* button = [[SDLButtonCapabilities alloc] init];
__block SDLSoftButtonCapabilities* softButton = [[SDLSoftButtonCapabilities alloc] init];
__block SDLPresetBankCapabilities* presetBank = [[SDLPresetBankCapabilities alloc] init];__block
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetCloudAppPropertiesResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetCloudAppPropertiesResponseSpec.m
index 4a49b7d6b..fdcf9144e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetCloudAppPropertiesResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetCloudAppPropertiesResponseSpec.m
@@ -26,10 +26,7 @@ describe(@"Getter/Setter Tests", ^ {
NSDictionary *dict = @{SDLRPCParameterNameResponse:@{
SDLRPCParameterNameParameters:@{},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSetCloudAppProperties}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSetCloudAppPropertiesResponse *testResponse = [[SDLSetCloudAppPropertiesResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse).toNot(beNil());
expect(testResponse.name).to(equal(SDLRPCFunctionNameSetCloudAppProperties));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m
index 99a89526b..ff1a249f7 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetDisplayLayoutResponseSpec.m
@@ -19,7 +19,10 @@
QuickSpecBegin(SDLSetDisplayLayoutResponseSpec)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDisplayCapabilities* info = [[SDLDisplayCapabilities alloc] init];
+#pragma clang diagnostic pop
SDLButtonCapabilities* button = [[SDLButtonCapabilities alloc] init];
SDLSoftButtonCapabilities* softButton = [[SDLSoftButtonCapabilities alloc] init];
SDLPresetBankCapabilities* presetBank = [[SDLPresetBankCapabilities alloc] init];
@@ -49,10 +52,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameSoftButtonCapabilities:[@[softButton] mutableCopy],
SDLRPCParameterNamePresetBankCapabilities:presetBank},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSetDisplayLayout}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSetDisplayLayoutResponse* testResponse = [[SDLSetDisplayLayoutResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.displayCapabilities).to(equal(info));
expect(testResponse.buttonCapabilities).to(equal([@[button] mutableCopy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetInteriorVehicleDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetInteriorVehicleDataResponseSpec.m
index ae989b0a9..cbb26be8b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetInteriorVehicleDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSetInteriorVehicleDataResponseSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameModuleData:someModuleData},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSetInteriorVehicleData}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSetInteriorVehicleDataResponse* testResponse = [[SDLSetInteriorVehicleDataResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.moduleData).to(equal(someModuleData));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m
index b1e269dfc..bddbb04a4 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSliderResponseSpec.m
@@ -29,10 +29,7 @@ describe(@"Getter/Setter Tests", ^ {
@{SDLRPCParameterNameParameters:
@{SDLRPCParameterNameSliderPosition:@13},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSlider}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSliderResponse* testResponse = [[SDLSliderResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.sliderPosition).to(equal(@13));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m
index a548b09c5..4a240d32c 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLSubscribeVehicleDataResponseSpec.m
@@ -151,10 +151,7 @@ describe(@"getter/setter tests", ^{
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameSubscribeVehicleData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSubscribeVehicleDataResponse* testResponse = [[SDLSubscribeVehicleDataResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnpublishAppServiceResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnpublishAppServiceResponseSpec.m
index 4a09c39a0..74bc39a3f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnpublishAppServiceResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnpublishAppServiceResponseSpec.m
@@ -25,10 +25,7 @@ describe(@"Getter/Setter Tests", ^{
NSDictionary *dict = @{SDLRPCParameterNameRequest:@{
SDLRPCParameterNameParameters:@{},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameUnpublishAppService}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLUnpublishAppServiceResponse *testResponse = [[SDLUnpublishAppServiceResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.name).to(equal(SDLRPCFunctionNameUnpublishAppService));
expect(testResponse.parameters).to(beEmpty());
diff --git a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m
index 390e780e3..d7833ab2d 100644
--- a/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/ResponseSpecs/SDLUnsubscribeVehicleDataResponseSpec.m
@@ -149,10 +149,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameWiperStatus:vehicleDataResult,
},
SDLRPCParameterNameOperationName:SDLRPCFunctionNameUnsubscribeVehicleData}};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLUnsubscribeVehicleDataResponse* testResponse = [[SDLUnsubscribeVehicleDataResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testResponse.accPedalPosition).to(equal(vehicleDataResult));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m
index ca3f98a20..032857f4b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAirbagStatusSpec.m
@@ -47,10 +47,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameDriverKneeAirbagDeployed:SDLVehicleDataEventStatusNo,
SDLRPCParameterNamePassengerSideAirbagDeployed:SDLVehicleDataEventStatusYes,
SDLRPCParameterNamePassengerKneeAirbagDeployed:SDLVehicleDataEventStatusNoEvent} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLAirbagStatus* testStruct = [[SDLAirbagStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.driverAirbagDeployed).to(equal(SDLVehicleDataEventStatusYes));
expect(testStruct.driverSideAirbagDeployed).to(equal(SDLVehicleDataEventStatusNoEvent));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppInfoSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppInfoSpec.m
index 894149a49..f230a7898 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppInfoSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppInfoSpec.m
@@ -31,10 +31,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary<NSString *, id> *dict = [@{SDLRPCParameterNameAppDisplayName:@"display name",
SDLRPCParameterNameAppVersion:@"1.2.3.4",
SDLRPCParameterNameAppBundleId:@"com.app.bundle"} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLAppInfo* testStruct = [[SDLAppInfo alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.appDisplayName).to(equal(@"display name"));
expect(testStruct.appVersion).to(equal(@"1.2.3.4"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m
index bfd451fa8..ec1aef4ab 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceDataSpec.m
@@ -57,10 +57,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameWeatherServiceData:testWeatherServiceData,
SDLRPCParameterNameNavigationServiceData:testNavigationServiceData
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLAppServiceData *testStruct = [[SDLAppServiceData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.serviceType).to(equal(testServiceType));
expect(testStruct.serviceId).to(equal(testServiceId));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceRecordSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceRecordSpec.m
index ec56f1da5..f0d99c84f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceRecordSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAppServiceRecordSpec.m
@@ -23,10 +23,7 @@ describe(@"Getter/Setter Tests", ^{
beforeEach(^{
testServiceID = @"12345";
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testAppServiceManifest = [[SDLAppServiceManifest alloc] initWithDictionary:@{SDLRPCParameterNameAllowAppConsumers:@NO}];
-#pragma clang diagnostic pop
testServicePublished = @NO;
testServiceActive = @YES;
});
@@ -59,10 +56,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameServicePublished:testServicePublished,
SDLRPCParameterNameServiceActive:testServiceActive
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLAppServiceRecord *testStruct = [[SDLAppServiceRecord alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.serviceID).to(match(testServiceID));
expect(testStruct.serviceManifest).to(equal(testAppServiceManifest));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioControlDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioControlDataSpec.m
index bd350d32b..19b88b71b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioControlDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioControlDataSpec.m
@@ -48,10 +48,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameVolume:@(NO),
SDLRPCParameterNameEqualizerSettings:[@[someEqualizerSettings] copy]
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLAudioControlData* testStruct = [[SDLAudioControlData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.source).to(equal(SDLPrimaryAudioSourceCD));
expect(testStruct.keepContext).to(equal(@(NO)));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m
index 60a5624da..915af499a 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLAudioPassThruCapabilitiesSpec.m
@@ -34,10 +34,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameSamplingRate:SDLSamplingRate22KHZ,
SDLRPCParameterNameBitsPerSample:SDLBitsPerSample8Bit,
SDLRPCParameterNameAudioType:SDLAudioTypePCM} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLAudioPassThruCapabilities* testStruct = [[SDLAudioPassThruCapabilities alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.samplingRate).to(equal(SDLSamplingRate22KHZ));
expect(testStruct.bitsPerSample).to(equal(SDLBitsPerSample8Bit));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m
index 704f4c370..dbe9d7b1f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBeltStatusSpec.m
@@ -68,10 +68,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameRightRearInflatableBelted:SDLVehicleDataEventStatusFault,
SDLRPCParameterNameMiddleRow1BeltDeployed:SDLVehicleDataEventStatusNoEvent,
SDLRPCParameterNameMiddleRow1BuckleBelted:SDLVehicleDataEventStatusNotSupported} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLBeltStatus* testStruct = [[SDLBeltStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.driverBeltDeployed).to(equal(SDLVehicleDataEventStatusNoEvent));
expect(testStruct.passengerBeltDeployed).to(equal(SDLVehicleDataEventStatusYes));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m
index cd75a33b0..9c8765525 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLBodyInformationSpec.m
@@ -44,10 +44,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNamePassengerDoorAjar:@NO,
SDLRPCParameterNameRearLeftDoorAjar:@NO,
SDLRPCParameterNameRearRightDoorAjar:@YES} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLBodyInformation* testStruct = [[SDLBodyInformation alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.parkBrakeActive).to(equal(@YES));
expect(testStruct.ignitionStableStatus).to(equal(SDLIgnitionStableStatusNotStable));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m
index eb3f8eea5..378338332 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLButtonCapabilitiesSpec.m
@@ -54,10 +54,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameShortPressAvailable:@YES,
SDLRPCParameterNameLongPressAvailable:@YES,
SDLRPCParameterNameUpDownAvailable:@NO} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLButtonCapabilities* testStruct = [[SDLButtonCapabilities alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.name).to(equal(SDLButtonNameCustomButton));
expect(testStruct.moduleInfo).to(equal(testModuleInfo));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m
index 770f83cf7..7cb870b61 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLChoiceSpec.m
@@ -47,10 +47,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameSecondaryText:@"Arbitrary",
SDLRPCParameterNameTertiaryText:@"qwerty",
SDLRPCParameterNameSecondaryImage:secondaryImage} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLChoice* testStruct = [[SDLChoice alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.choiceID).to(equal(@3));
expect(testStruct.menuName).to(equal(@"Hello"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLCloudAppPropertiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLCloudAppPropertiesSpec.m
index 4c505753d..8e933275e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLCloudAppPropertiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLCloudAppPropertiesSpec.m
@@ -63,10 +63,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameHybridAppPreference:testHybridAppPreference,
SDLRPCParameterNameEndpoint:testEndpoint
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLCloudAppProperties *testStruct = [[SDLCloudAppProperties alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.nicknames).to(equal(testNicknames));
expect(testStruct.appID).to(equal(testAppID));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m
index 1b8fe4a53..fcafcde1b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClusterModeStatusSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNamePowerModeQualificationStatus:SDLPowerModeQualificationStatusOk,
SDLRPCParameterNameCarModeStatus:SDLCarModeStatusCrash,
SDLRPCParameterNamePowerModeStatus:SDLPowerModeStatusKeyOut} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLClusterModeStatus* testStruct = [[SDLClusterModeStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.powerModeActive).to(equal(@NO));
expect(testStruct.powerModeQualificationStatus).to(equal(SDLPowerModeQualificationStatusOk));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m
index fc8354588..263793455 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDIDResult.m
@@ -32,10 +32,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameResultCode:SDLVehicleDataResultCodeDataNotSubscribed,
SDLRPCParameterNameDIDLocation:@300,
SDLRPCParameterNameData:@"gertwydhty4235tdhedt4tue"} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDIDResult* testStruct = [[SDLDIDResult alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.resultCode).to(equal(SDLVehicleDataResultCodeDataNotSubscribed));
expect(testStruct.didLocation).to(equal(@300));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDateTimeSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDateTimeSpec.m
index 2961c9b9e..5f4091d0f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDateTimeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDateTimeSpec.m
@@ -51,10 +51,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameYear:@4000,
SDLRPCParameterNameTimezoneMinuteOffset:@0,
SDLRPCParameterNameTimezoneHourOffset:@1000} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDateTime* testStruct = [[SDLDateTime alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.millisecond).to(equal(@100));
expect(testStruct.second).to(equal(@4));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m
index f59877d3f..d1fcc5b55 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceInfoSpec.m
@@ -39,10 +39,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameOSVersion:@"9.9",
SDLRPCParameterNameCarrier:@"ThatOneWirelessCompany",
SDLRPCParameterNameMaxNumberRFCOMMPorts:@20} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDeviceInfo* testStruct = [[SDLDeviceInfo alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.hardware).to(equal(@"GDFR34F"));
expect(testStruct.firmwareRev).to(equal(@"4.2a"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m
index f2c404d60..847c7b95c 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLDeviceStatusSpec.m
@@ -57,10 +57,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameSignalLevelStatus:SDLDeviceLevelStatusTwoBars,
SDLRPCParameterNamePrimaryAudioSource:SDLPrimaryAudioSourceBluetoothStereo,
SDLRPCParameterNameECallEventActive:@NO} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLDeviceStatus* testStruct = [[SDLDeviceStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.voiceRecOn).to(equal(@NO));
expect(testStruct.btIconOn).to(equal(@NO));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m
index 49abcafbe..d7229bdbc 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLECallInfoSpec.m
@@ -33,10 +33,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameECallNotificationStatus:SDLVehicleDataNotificationStatusNormal,
SDLRPCParameterNameAuxECallNotificationStatus:SDLVehicleDataNotificationStatusActive,
SDLRPCParameterNameECallConfirmationStatus:SDLECallConfirmationStatusInProgress} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLECallInfo* testStruct = [[SDLECallInfo alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.eCallNotificationStatus).to(equal(SDLVehicleDataNotificationStatusNormal));
expect(testStruct.auxECallNotificationStatus).to(equal(SDLVehicleDataNotificationStatusActive));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m
index 0c7047863..3ac05c2e5 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEmergencyEventSpec.m
@@ -40,10 +40,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameRolloverEvent:SDLVehicleDataEventStatusYes,
SDLRPCParameterNameMaximumChangeVelocity:@33,
SDLRPCParameterNameMultipleEvents:SDLVehicleDataEventStatusNo} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLEmergencyEvent* testStruct = [[SDLEmergencyEvent alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.emergencyEventType).to(equal(SDLEmergencyEventTypeFrontal));
expect(testStruct.fuelCutoffStatus).to(equal(SDLFuelCutoffStatusNormalOperation));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEqualizerSettingsSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEqualizerSettingsSpec.m
index 3a3e9ab1b..599a36b1c 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEqualizerSettingsSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLEqualizerSettingsSpec.m
@@ -39,10 +39,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameChannelName:@"channel",
SDLRPCParameterNameChannelSetting:@45
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLEqualizerSettings* testStruct = [[SDLEqualizerSettings alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.channelId).to(equal(@2));
expect(testStruct.channelName).to(equal(@"channel"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLFuelRangeSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLFuelRangeSpec.m
index bb4f31e36..eb943da7f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLFuelRangeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLFuelRangeSpec.m
@@ -50,10 +50,7 @@ describe(@"getter/setter tests", ^{
SDLRPCParameterNameCapacity:@(fuelCapacity),
SDLRPCParameterNameCapacityUnit:capacityUnit
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLFuelRange *testStruct = [[SDLFuelRange alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"expect all properties to be set properly", ^{
expect(testStruct.type).to(equal(type));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m
index 00b8ee8b4..f2cd92ff1 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGPSDataSpec.m
@@ -83,10 +83,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameSpeed:@64,
SDLRPCParameterNameShifted:@(NO)
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGPSData* testStruct = [[SDLGPSData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.longitudeDegrees).to(equal(@31.41592653589793));
expect(testStruct.latitudeDegrees).to(equal(@45));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGearStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGearStatusSpec.m
index 990185f1e..aba14b622 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGearStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLGearStatusSpec.m
@@ -24,10 +24,7 @@ describe(@"getter/setter tests", ^{
NSDictionary<NSString *, id> *dict = @{SDLRPCParameterNameUserSelectedGear:SDLPRNDLNinth,
SDLRPCParameterNameActualGear:SDLPRNDLTenth,
SDLRPCParameterNameTransmissionType:SDLTransmissionTypeAutomatic};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLGearStatus* testStruct = [[SDLGearStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
it(@"should get correctly when initialized", ^{
expect(testStruct.userSelectedGear).to(equal(SDLPRNDLNinth));
expect(testStruct.actualGear).to(equal(SDLPRNDLTenth));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m
index 0e97bb117..9b677e6ee 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMIPermissionsSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameAllowed:[@[SDLHMILevelBackground, SDLHMILevelFull] copy],
SDLRPCParameterNameUserDisallowed:[@[SDLHMILevelNone, SDLHMILevelLimited] copy]} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLHMIPermissions* testStruct = [[SDLHMIPermissions alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.allowed).to(equal([@[SDLHMILevelBackground, SDLHMILevelFull] copy]));
expect(testStruct.userDisallowed).to(equal([@[SDLHMILevelNone, SDLHMILevelLimited] copy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMISettingsControlDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMISettingsControlDataSpec.m
index ec0ac4984..59f730476 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMISettingsControlDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHMISettingsControlDataSpec.m
@@ -37,10 +37,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameDisplayMode:SDLDisplayModeAuto,
SDLRPCParameterNameTemperatureUnit:SDLTemperatureUnitCelsius,
SDLRPCParameterNameDistanceUnit:SDLDistanceUnitKilometers} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLHMISettingsControlData* testStruct = [[SDLHMISettingsControlData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.displayMode).to(equal(SDLDisplayModeAuto));
expect(testStruct.temperatureUnit).to(equal(SDLTemperatureUnitCelsius));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHapticRectSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHapticRectSpec.m
index 0ea323c24..b5ea6b725 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHapticRectSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHapticRectSpec.m
@@ -49,10 +49,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameHeight:@3000
}
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLHapticRect *testStruct = [[SDLHapticRect alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.id).to(equal(@2));
expect(testStruct.rect.x).to(equal(@20));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m
index c47ab6fe5..201ce6bce 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLHeadLampStatusSpec.m
@@ -32,10 +32,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameLowBeamsOn:@YES,
SDLRPCParameterNameHighBeamsOn:@NO,
SDLRPCParameterNameAmbientLightSensorStatus:SDLAmbientLightStatusTwilight3} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLHeadLampStatus* testStruct = [[SDLHeadLampStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.lowBeamsOn).to(equal(@YES));
expect(testStruct.highBeamsOn).to(equal(@NO));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m
index 25d17673b..fe3bbfe30 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageFieldSpec.m
@@ -44,10 +44,7 @@ describe(@"Getter/Setter Tests", ^ {
NSDictionary *dict = @{SDLRPCParameterNameName: testName,
SDLRPCParameterNameImageTypeSupported: testFileTypes,
SDLRPCParameterNameImageResolution: testResolution};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLImageField* testStruct = [[SDLImageField alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.name).to(equal(testName));
expect(testStruct.imageTypeSupported).to(equal(testFileTypes));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageResolutionSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageResolutionSpec.m
index 6754178b4..8bacdab56 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageResolutionSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLImageResolutionSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
NSDictionary *dict = @{SDLRPCParameterNameResolutionHeight:@69,
SDLRPCParameterNameResolutionWidth:@869,
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLImageResolution *testStruct = [[SDLImageResolution alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.resolutionWidth).to(equal(@869));
expect(testStruct.resolutionHeight).to(equal(@69));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m
index 7b1e28362..b1f15a63f 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLKeyboardPropertiesSpec.m
@@ -32,45 +32,72 @@ describe(@"Getter/Setter Tests", ^ {
testStruct.keyboardLayout = testLayout;
testStruct.keypressMode = testMode;
testStruct.limitedCharacterList = testLimitedCharacterList;
- testStruct.autoCompleteText = testAutoCompleteText;
testStruct.autoCompleteList = testAutoCompleteList;
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ testStruct.autoCompleteText = testAutoCompleteText;
+#pragma clang diagnostic pop
+
expect(testStruct.language).to(equal(testLanguage));
expect(testStruct.keyboardLayout).to(equal(testLayout));
expect(testStruct.keypressMode).to(equal(testMode));
expect(testStruct.limitedCharacterList).to(equal(testLimitedCharacterList));
- expect(testStruct.autoCompleteText).to(equal(testAutoCompleteText));
expect(testStruct.autoCompleteList).to(equal(testAutoCompleteList));
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testStruct.autoCompleteText).to(equal(testAutoCompleteText));
+#pragma clang diagnostic pop
});
it(@"Should get correctly when initialized with a dictionary", ^ {
NSDictionary* dict = @{SDLRPCParameterNameLanguage: testLanguage,
- SDLRPCParameterNameKeyboardLayout: testLayout,
- SDLRPCParameterNameKeypressMode: testMode,
- SDLRPCParameterNameLimitedCharacterList: testLimitedCharacterList,
- SDLRPCParameterNameAutoCompleteText: testAutoCompleteText,
- SDLRPCParameterNameAutoCompleteList: testAutoCompleteList
- };
+ SDLRPCParameterNameKeyboardLayout: testLayout,
+ SDLRPCParameterNameKeypressMode: testMode,
+ SDLRPCParameterNameLimitedCharacterList: testLimitedCharacterList,
+ SDLRPCParameterNameAutoCompleteList: testAutoCompleteList,
+ SDLRPCParameterNameAutoCompleteText: testAutoCompleteText
+ };
SDLKeyboardProperties* testStruct = [[SDLKeyboardProperties alloc] initWithDictionary:dict];
expect(testStruct.language).to(equal(testLanguage));
expect(testStruct.keyboardLayout).to(equal(testLayout));
expect(testStruct.keypressMode).to(equal(testMode));
expect(testStruct.limitedCharacterList).to(equal(testLimitedCharacterList));
- expect(testStruct.autoCompleteText).to(equal(testAutoCompleteText));
expect(testStruct.autoCompleteList).to(equal(testAutoCompleteList));
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testStruct.autoCompleteText).to(equal(testAutoCompleteText));
+#pragma clang diagnostic pop
});
it(@"Should get correctly when initialized with initWithLanguage:layout:keypressMode:limitedCharacterList:autoCompleteText:autoCompleteList:", ^ {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLKeyboardProperties *testStruct = [[SDLKeyboardProperties alloc] initWithLanguage:testLanguage layout:testLayout keypressMode:testMode limitedCharacterList:testLimitedCharacterList autoCompleteText:testAutoCompleteText autoCompleteList:testAutoCompleteList];
-
+#pragma clang diagnostic pop
expect(testStruct.language).to(equal(testLanguage));
expect(testStruct.keyboardLayout).to(equal(testLayout));
expect(testStruct.keypressMode).to(equal(testMode));
expect(testStruct.limitedCharacterList).to(equal(testLimitedCharacterList));
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(testStruct.autoCompleteText).to(equal(testAutoCompleteText));
+#pragma clang diagnostic pop
expect(testStruct.autoCompleteList).to(equal(testAutoCompleteList));
});
+
+ it(@"Should get correctly when initialized with initWithLanguage:keyboardLayout:keypressMode:limitedCharacterList:autoCompleteList:", ^ {
+ SDLKeyboardProperties *testStruct = [[SDLKeyboardProperties alloc] initWithLanguage:testLanguage keyboardLayout:testLayout keypressMode:testMode limitedCharacterList:testLimitedCharacterList autoCompleteList:testAutoCompleteList];
+ expect(testStruct.language).to(equal(testLanguage));
+ expect(testStruct.keyboardLayout).to(equal(testLayout));
+ expect(testStruct.keypressMode).to(equal(testMode));
+ expect(testStruct.limitedCharacterList).to(equal(testLimitedCharacterList));
+ expect(testStruct.autoCompleteList).to(equal(testAutoCompleteList));
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testStruct.autoCompleteText).to(beNil());
+#pragma clang diagnostic pop
+ });
it(@"Should return nil if not set", ^ {
SDLKeyboardProperties* testStruct = [[SDLKeyboardProperties alloc] init];
@@ -79,8 +106,11 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.keyboardLayout).to(beNil());
expect(testStruct.keypressMode).to(beNil());
expect(testStruct.limitedCharacterList).to(beNil());
- expect(testStruct.autoCompleteText).to(beNil());
expect(testStruct.autoCompleteList).to(beNil());
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+ expect(testStruct.autoCompleteText).to(beNil());
+#pragma clang diagnostic pop
});
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightCapabilitiesSpec.m
index b89f3dbb9..a5aa62996 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightCapabilitiesSpec.m
@@ -42,10 +42,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameRGBColorSpaceAvailable:@NO
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLLightCapabilities* testStruct = [[SDLLightCapabilities alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.name).to(equal(SDLLightNameFogLights));
expect(testStruct.densityAvailable).to(equal(@YES));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightControlDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightControlDataSpec.m
index bad28c0dc..3c7a56849 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightControlDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightControlDataSpec.m
@@ -32,10 +32,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameLightState:[@[someLightState] copy]} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLLightControlData* testStruct = [[SDLLightControlData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.lightState).to(equal([@[someLightState] copy]));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightStateSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightStateSpec.m
index 54afdb804..dc478bb06 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightStateSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLightStateSpec.m
@@ -68,10 +68,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameDensity:@(0.5),
SDLRPCParameterNameColor:someRGBColor} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLLightState* testStruct = [[SDLLightState alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.id).to(equal(SDLLightNameFogLights));
expect(testStruct.status).to(equal(SDLLightStatusOn));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationCoordinateSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationCoordinateSpec.m
index 5908c7c0e..d184e881d 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationCoordinateSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationCoordinateSpec.m
@@ -54,10 +54,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameLongitudeDegrees: someLongitude,
SDLRPCParameterNameLatitudeDegrees: someLatitude,
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testStruct = [[SDLLocationCoordinate alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
// Since all the properties are immutable, a copy should be executed as a retain, which means they should be identical
@@ -87,10 +84,7 @@ describe(@"Getter/Setter Tests", ^ {
beforeEach(^{
NSDictionary *initDict = @{
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testStruct = [[SDLLocationCoordinate alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
it(@"should return nil for longitude", ^{
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationDetailsSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationDetailsSpec.m
index e7a2e5dde..d53ff71eb 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationDetailsSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLLocationDetailsSpec.m
@@ -152,10 +152,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameLocationImage: someImage,
SDLRPCParameterNameSearchAddress: someAddress
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testStruct = [[SDLLocationDetails alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
// Since all the properties are immutable, a copy should be executed as a retain, which means they should be identical
@@ -202,10 +199,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameParameters: @{}
}
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testStruct = [[SDLLocationDetails alloc] initWithDictionary:[NSMutableDictionary dictionaryWithDictionary:initDict]];
-#pragma clang diagnostic pop
});
it(@"should return nil for coordinate", ^{
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageCushionFirmnessSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageCushionFirmnessSpec.m
index b41de4f8e..1bd9b0a83 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageCushionFirmnessSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageCushionFirmnessSpec.m
@@ -34,10 +34,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameCushion:SDLMassageCushionSeatBolsters,
SDLRPCParameterNameFirmness:@12
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLMassageCushionFirmness* testStruct = [[SDLMassageCushionFirmness alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.cushion).to(equal(SDLMassageCushionSeatBolsters));
expect(testStruct.firmness).to(equal(@12));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageModeDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageModeDataSpec.m
index 3e9abffcc..486049ffe 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageModeDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMassageModeDataSpec.m
@@ -35,10 +35,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameMassageMode:SDLMassageModeLow,
SDLRPCParameterNameMassageZone:SDLMassageZoneLumbar
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLMassageModeData* testStruct = [[SDLMassageModeData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.massageZone).to(equal(SDLMassageZoneLumbar));
expect(testStruct.massageMode).to(equal(SDLMassageModeLow));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMediaServiceManifestSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMediaServiceManifestSpec.m
index 90dca89d0..bdd8dab4b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMediaServiceManifestSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMediaServiceManifestSpec.m
@@ -23,10 +23,7 @@ describe(@"Getter/Setter Tests", ^{
it(@"Should get correctly when initialized with a dictionary", ^{
NSDictionary *dict = @{};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLMediaServiceManifest *testStruct = [[SDLMediaServiceManifest alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
// no parameters to test
expect(testStruct).toNot(beNil());
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m
index 2736f3500..d0a63bae5 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMenuParamsSpec.m
@@ -30,10 +30,7 @@ describe(@"Initialization tests", ^{
NSDictionary *dict = @{SDLRPCParameterNameParentID:@(testParentId),
SDLRPCParameterNamePosition:@(testPosition),
SDLRPCParameterNameMenuName:testMenuName};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLMenuParams* testStruct = [[SDLMenuParams alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.parentID).to(equal(@(testParentId)));
expect(testStruct.position).to(equal(@(testPosition)));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLModuleDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLModuleDataSpec.m
index 5a4ce340f..8e9357721 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLModuleDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLModuleDataSpec.m
@@ -52,10 +52,7 @@ describe(@"Initialization tests", ^{
SDLRPCParameterNameLightControlData:someLightData,
SDLRPCParameterNameHmiSettingsControlData:someHMISettingsData,
SDLRPCParameterNameModuleId:someModuleId} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLModuleData* testStruct = [[SDLModuleData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.moduleType).to(equal(SDLModuleTypeRadio));
expect(testStruct.radioControlData).to(equal(someRadioData));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m
index f3c30f866..0eab03e46 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLMyKeySpec.m
@@ -26,10 +26,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameE911Override:SDLVehicleDataStatusOn} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLMyKey* testStruct = [[SDLMyKey alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.e911Override).to(equal(SDLVehicleDataStatusOn));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationCapabilitySpec.m
index d13388fbf..e6db95484 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationCapabilitySpec.m
@@ -25,10 +25,7 @@ describe(@"Initialization tests", ^{
it(@"Should get correctly when initialized with a dictionary", ^ {
NSDictionary *dict = @{SDLRPCParameterNameGetWayPointsEnabled: @(YES),
SDLRPCParameterNameSendLocationEnabled: @(YES)};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLNavigationCapability* testStruct = [[SDLNavigationCapability alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.getWayPointsEnabled).to(equal(YES));
expect(testStruct.sendLocationEnabled).to(equal(YES));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationInstructionSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationInstructionSpec.m
index 9f3a3ff76..f7edb055b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationInstructionSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationInstructionSpec.m
@@ -68,10 +68,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameDetails:testDetails,
SDLRPCParameterNameImage:testImage
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLNavigationInstruction *testStruct = [[SDLNavigationInstruction alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.locationDetails).to(equal(testLocationDetails));
expect(testStruct.action).to(equal(testAction));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceDataSpec.m
index a2d884800..96ec6dae7 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceDataSpec.m
@@ -73,10 +73,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameNextInstructionDistanceScale:@(testNextInstructionDistanceScale),
SDLRPCParameterNamePrompt:testPrompt
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLNavigationServiceData *testStruct = [[SDLNavigationServiceData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.timestamp).to(equal(testTimestamp));
expect(testStruct.origin).to(equal(testOrigin));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceManifestSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceManifestSpec.m
index 25078a1c8..30786c531 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceManifestSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLNavigationServiceManifestSpec.m
@@ -30,10 +30,7 @@ describe(@"Getter/Setter Tests", ^{
it(@"Should get correctly when initialized with a dictionary", ^{
NSDictionary *dict = @{SDLRPCParameterNameAcceptsWayPoints:@(testAcceptsWayPoints)};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLNavigationServiceManifest *testStruct = [[SDLNavigationServiceManifest alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.acceptsWayPoints).to(equal(testAcceptsWayPoints));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLOasisAddressSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLOasisAddressSpec.m
index 4ad5eb98c..dbada5f4e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLOasisAddressSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLOasisAddressSpec.m
@@ -47,10 +47,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameSubLocality:@"18",
SDLRPCParameterNameThoroughfare:@"Candy Lane",
SDLRPCParameterNameSubThoroughfare:@"123"} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLOasisAddress* testStruct = [[SDLOasisAddress alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.countryName).to(equal(@"United States"));
expect(testStruct.countryCode).to(equal(@"US"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m
index 74297dd0d..746bbea63 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLParameterPermissionsSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameAllowed:[@[SDLHMILevelBackground, SDLHMILevelFull] copy],
SDLRPCParameterNameUserDisallowed:[@[SDLHMILevelNone, SDLHMILevelLimited] copy]} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLParameterPermissions* testStruct = [[SDLParameterPermissions alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.allowed).to(equal([@[SDLHMILevelBackground, SDLHMILevelFull] copy]));
expect(testStruct.userDisallowed).to(equal([@[SDLHMILevelNone, SDLHMILevelLimited] copy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m
index 5c6cfabb3..3895dd941 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPermissionItemSpec.m
@@ -38,10 +38,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameHMIPermissions:hmiPermissions,
SDLRPCParameterNameParameterPermissions:parameterPermissions,
SDLRPCParameterNameRequireEncryption:@YES} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPermissionItem *testStruct = [[SDLPermissionItem alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.rpcName).to(equal(@"RPCNameThing"));
expect(testStruct.hmiPermissions).to(equal(hmiPermissions));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPhoneCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPhoneCapabilitySpec.m
index 3d57f7084..a38ddec4b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPhoneCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPhoneCapabilitySpec.m
@@ -21,10 +21,7 @@ describe(@"Getter/Setter Tests", ^ {
describe(@"Initialization tests", ^{
it(@"Should get correctly when initialized with a dictionary", ^ {
NSDictionary *dict = @{SDLRPCParameterNameDialNumberEnabled: @(YES)};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPhoneCapability *testStruct = [[SDLPhoneCapability alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.dialNumberEnabled).to(equal(YES));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m
index 5aef07a2f..b10eace7b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLPresetBankCapabilitiesSpec.m
@@ -24,10 +24,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary<NSString *, id> *dict = [@{SDLRPCParameterNameOnScreenPresetsAvailable:@YES} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLPresetBankCapabilities* testStruct = [[SDLPresetBankCapabilities alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.onScreenPresetsAvailable).to(equal(@YES));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRDSDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRDSDataSpec.m
index 211eb03ac..426af8b46 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRDSDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRDSDataSpec.m
@@ -39,10 +39,7 @@ describe(@"Initialization tests", ^{
SDLRPCParameterNameTrafficAnnouncementIdentification : @YES,
SDLRPCParameterNameRegion : @"reg"} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLRDSData* testStruct = [[SDLRDSData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.programService).to(equal(@"ps"));
expect(testStruct.radioText).to(equal(@"rt"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRGBColorSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRGBColorSpec.m
index 355bebbb1..766b72298 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRGBColorSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRGBColorSpec.m
@@ -41,10 +41,7 @@ describe(@"RGBColor Tests", ^{
NSDictionary *dict = @{SDLRPCParameterNameRed: @0,
SDLRPCParameterNameGreen: @100,
SDLRPCParameterNameBlue: @255};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLRGBColor *testStruct = [[SDLRGBColor alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.red).to(equal(@0));
expect(testStruct.green).to(equal(@100));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRectangleSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRectangleSpec.m
index 4fcadd62d..ceb7628e9 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRectangleSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRectangleSpec.m
@@ -37,10 +37,7 @@ describe(@"Rectangle Tests", ^{
SDLRPCParameterNameY:@200,
SDLRPCParameterNameWidth:@2000,
SDLRPCParameterNameHeight:@3000};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLRectangle *testStruct = [[SDLRectangle alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.x).to(equal(@20));
expect(testStruct.y).to(equal(@200));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRemoteControlCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRemoteControlCapabilitiesSpec.m
index 464d5048c..d822778ab 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRemoteControlCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRemoteControlCapabilitiesSpec.m
@@ -52,10 +52,7 @@ describe(@"Initialization tests", ^{
SDLRPCParameterNameLightControlCapabilities:someLightControlCapabilities,
SDLRPCParameterNameHmiSettingsControlCapabilities:someHMISettingsControlCapabilities
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLRemoteControlCapabilities* testStruct = [[SDLRemoteControlCapabilities alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.seatControlCapabilities).to(equal([@[someSeatControlCapabilities] copy]));
expect(testStruct.climateControlCapabilities).to(equal([@[someClimateControlCapabilities] copy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSISDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSISDataSpec.m
index 7e82d7cf9..dda525604 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSISDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSISDataSpec.m
@@ -54,10 +54,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameStationIDNumber:someID,
SDLRPCParameterNameStationMessage:@"message"
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSISData* testStruct = [[SDLSISData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.stationShortName).to(equal(@"short"));
expect(testStruct.stationIDNumber).to(equal(someID));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m
index 6f730982a..421272ba4 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLScreenParamsSpec.m
@@ -33,10 +33,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary<NSString *, id> *dict = [@{SDLRPCParameterNameResolution:resolution,
SDLRPCParameterNameTouchEventAvailable:capabilities} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLScreenParams* testStruct = [[SDLScreenParams alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.resolution).to(equal(resolution));
expect(testStruct.touchEventAvailable).to(equal(capabilities));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatControlCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatControlCapabilitiesSpec.m
index f31908ba6..3179a8759 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatControlCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatControlCapabilitiesSpec.m
@@ -137,10 +137,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameMassageCushionFirmnessAvailable:@NO,
SDLRPCParameterNameMemoryAvailable:@NO
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSeatControlCapabilities *testStruct = [[SDLSeatControlCapabilities alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.moduleName).to(equal(@"moduleName"));
expect(testStruct.moduleInfo).to(equal(testModuleInfo));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationCapabilitySpec.m
index e238c5737..2e03111d3 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationCapabilitySpec.m
@@ -54,10 +54,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameColumns:@3,
SDLRPCParameterNameLevels:@1,
SDLRPCParameterNameSeats:@[driverSeat]} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSeatLocationCapability *testStruct = [[SDLSeatLocationCapability alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.cols).to(equal(@3));
expect(testStruct.rows).to(equal(@2));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationSpec.m
index 31234bbbe..b574f7d15 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatLocationSpec.m
@@ -40,10 +40,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameGrid:testGird} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSeatLocation *testStruct = [[SDLSeatLocation alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.grid).to(equal(testGird));
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatMemoryActionSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatMemoryActionSpec.m
index 1d5573ebc..aaeece688 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatMemoryActionSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSeatMemoryActionSpec.m
@@ -41,10 +41,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameLabel:@"none",
SDLRPCParameterNameAction: SDLSeatMemoryActionTypeNone
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSeatMemoryAction *testStruct = [[SDLSeatMemoryAction alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.id).to(equal(@54));
expect(testStruct.action).to(equal(SDLSeatMemoryActionTypeNone));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m
index c5bb0a4fa..41b685e31 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSingleTireStatusSpec.m
@@ -33,10 +33,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameTPMS: SDLTPMSLow,
SDLRPCParameterNamePressure: @67.78
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSingleTireStatus* testStruct = [[SDLSingleTireStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.status).to(equal(SDLComponentVolumeStatusLow));
expect(testStruct.monitoringSystemStatus).to(equal(SDLTPMSLow));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m
index 3e4397e75..131ddebf1 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonCapabilitiesSpec.m
@@ -33,10 +33,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameLongPressAvailable:@YES,
SDLRPCParameterNameUpDownAvailable:@NO,
SDLRPCParameterNameImageSupported:@NO} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSoftButtonCapabilities* testStruct = [[SDLSoftButtonCapabilities alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.shortPressAvailable).to(equal(@NO));
expect(testStruct.longPressAvailable).to(equal(@YES));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m
index 0c4eb1b44..6c637bc38 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSoftButtonSpec.m
@@ -45,10 +45,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameIsHighlighted:@YES,
SDLRPCParameterNameSoftButtonId:@5423,
SDLRPCParameterNameSystemAction:SDLSystemActionKeepContext} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSoftButton* testStruct = [[SDLSoftButton alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.type).to(equal(SDLSoftButtonTypeImage));
expect(testStruct.text).to(equal(@"Button"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m
index 704d059dc..f4ba0eacd 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStartTimeSpec.m
@@ -33,10 +33,7 @@ describe(@"StartTime Spec", ^ {
NSDictionary<NSString *, id> *dict = @{SDLRPCParameterNameHours:@(testHours),
SDLRPCParameterNameMinutes:@(testMinutes),
SDLRPCParameterNameSeconds:@(testSeconds)};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLStartTime *testStruct = [[SDLStartTime alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.hours).to(equal(@(testHours)));
expect(testStruct.minutes).to(equal(@(testMinutes)));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStationIDNumberSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStationIDNumberSpec.m
index b0ee6efc5..3716fc261 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStationIDNumberSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLStationIDNumberSpec.m
@@ -36,10 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameCountryCode:@91,
SDLRPCParameterNameFCCFacilityId:@23
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLStationIDNumber* testStruct = [[SDLStationIDNumber alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.countryCode).to(equal(@91));
expect(testStruct.fccFacilityId).to(equal(@23));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSystemCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSystemCapabilitySpec.m
index 68bd020f0..0e3fc67f4 100755
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSystemCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLSystemCapabilitySpec.m
@@ -74,10 +74,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameSeatLocationCapability: testSeatLocationCapability,
SDLRPCParameterNameDriverDistractionCapability: testDriverDistractionCapability
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLSystemCapability *testStruct = [[SDLSystemCapability alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.systemCapabilityType).to(equal(SDLSystemCapabilityTypeNavigation));
expect(testStruct.appServicesCapabilities).to(equal(testAppServicesCapabilities));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m
index c5418c6e6..3111d04a0 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTTSChunkSpec.m
@@ -32,10 +32,7 @@ describe(@"TTS Chunk Tests", ^{
it(@"should correctly initialize with initWithDictionary", ^{
NSDictionary* dict = @{SDLRPCParameterNameText: testText,
SDLRPCParameterNameType: testCapabilities};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testStruct = [[SDLTTSChunk alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.text).to(equal(testText));
expect(testStruct.type).to(equal(testCapabilities));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemperatureSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemperatureSpec.m
index 32e23e50e..3e234d098 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemperatureSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemperatureSpec.m
@@ -27,10 +27,7 @@ describe(@"Initialization tests", ^{
NSMutableDictionary* dict = [@{SDLRPCParameterNameUnit : SDLTemperatureUnitCelsius ,
SDLRPCParameterNameValue:@30 } mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLTemperature* testStruct = [[SDLTemperature alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.unit).to(equal(SDLTemperatureUnitCelsius));
expect(testStruct.value).to(equal(@30));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemplateColorSchemeSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemplateColorSchemeSpec.m
index 09315c1c5..f52354d7b 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemplateColorSchemeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTemplateColorSchemeSpec.m
@@ -54,10 +54,7 @@ describe(@"TemplateColor Tests", ^{
NSDictionary *dict = @{SDLRPCParameterNameRed: @0,
SDLRPCParameterNameGreen: @100,
SDLRPCParameterNameBlue: @255};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLRGBColor *testStruct = [[SDLRGBColor alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.red).to(equal(@0));
expect(testStruct.green).to(equal(@100));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m
index d8b6e8983..e7a14c1d0 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTextFieldSpec.m
@@ -41,10 +41,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameCharacterSet:testCharacterSet,
SDLRPCParameterNameWidth:@(testWidth),
SDLRPCParameterNameRows:@(testRows)};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLTextField* testStruct = [[SDLTextField alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.name).to(equal(testName));
expect(testStruct.characterSet).to(equal(testCharacterSet));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m
index 1787e04c9..67243d863 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTireStatusSpec.m
@@ -51,10 +51,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameRightRear:tire4,
SDLRPCParameterNameInnerLeftRear:tire5,
SDLRPCParameterNameInnerRightRear:tire6} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLTireStatus* testStruct = [[SDLTireStatus alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.pressureTelltale).to(equal(SDLWarningLightStatusOff));
expect(testStruct.leftFront).to(equal(tire1));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m
index 4a37c508f..b0e29ea87 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchCoordSpec.m
@@ -28,10 +28,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary<NSString *, id> *dict = [@{SDLRPCParameterNameX:@67,
SDLRPCParameterNameY:@362} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLTouchCoord* testStruct = [[SDLTouchCoord alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.x).to(equal(@67));
expect(testStruct.y).to(equal(@362));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m
index aaf9137d7..e54ec7b26 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventCapabilitiesSpec.m
@@ -30,10 +30,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary<NSString *, id> *dict = [@{SDLRPCParameterNamePressAvailable:@YES,
SDLRPCParameterNameMultiTouchAvailable:@NO,
SDLRPCParameterNameDoublePressAvailable:@NO} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLTouchEventCapabilities* testStruct = [[SDLTouchEventCapabilities alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.pressAvailable).to(equal(@YES));
expect(testStruct.multiTouchAvailable).to(equal(@NO));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m
index 85c35feeb..1939c356e 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTouchEventSpec.m
@@ -33,10 +33,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary<NSString *, id> *dict = [@{SDLRPCParameterNameId:@3,
SDLRPCParameterNameTS:[@[@23, @52, @41345234] mutableCopy],
SDLRPCParameterNameCoordinate:[@[coord] mutableCopy]} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLTouchEvent* testStruct = [[SDLTouchEvent alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.touchEventId).to(equal(@3));
expect(testStruct.timeStamp).to(equal([@[@23, @52, @41345234] mutableCopy]));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m
index 22b76fc33..defce62e7 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLTurnSpec.m
@@ -30,10 +30,7 @@ describe(@"Getter/Setter Tests", ^ {
it(@"Should get correctly when initialized", ^ {
NSMutableDictionary<NSString *, id> *dict = [@{SDLRPCParameterNameNavigationText:@"NAVTEXT",
SDLRPCParameterNameTurnIcon:image} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLTurn* testStruct = [[SDLTurn alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.navigationText).to(equal(@"NAVTEXT"));
expect(testStruct.turnIcon).to(equal(image));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m
index a07efa5a3..22a78b854 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleDataResultSpec.m
@@ -47,10 +47,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameResultCode:SDLVehicleDataResultCodeDisallowed,
SDLRPCParameterNameOEMCustomDataType:@"CustomOEMData"
} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLVehicleDataResult* testStruct = [[SDLVehicleDataResult alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.dataType).to(equal(SDLVehicleDataTypeAirbagStatus));
expect(testStruct.customOEMDataType).to(equal(@"CustomOEMData"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m
index cf7582276..a4f3efa0d 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVehicleTypeSpec.m
@@ -33,10 +33,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameModel:@"Model",
SDLRPCParameterNameModelYear:@"3.141*10^36",
SDLRPCParameterNameTrim:@"AE"} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLVehicleType* testStruct = [[SDLVehicleType alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.make).to(equal(@"Make"));
expect(testStruct.model).to(equal(@"Model"));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
index 857a05d61..e4d08951c 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingCapabilitySpec.m
@@ -52,10 +52,7 @@ describe(@"Initialization tests", ^{
SDLRPCParameterNamePixelPerInch: @(testPixelPerInch),
SDLRPCParameterNameScale: @(testScale)};
- #pragma clang diagnostic push
- #pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLVideoStreamingCapability* testStruct = [[SDLVideoStreamingCapability alloc] initWithDictionary:dict];
- #pragma clang diagnostic pop
expect(testStruct.preferredResolution).to(equal(testPreferredResolution));
expect(testStruct.maxBitrate).to(equal(testMaxBitrate));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingFormatSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingFormatSpec.m
index 08d53cde8..a6b386738 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingFormatSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVideoStreamingFormatSpec.m
@@ -22,10 +22,7 @@ describe(@"Initialization tests", ^{
it(@"Should get correctly when initialized with a dictionary", ^ {
NSMutableDictionary* dict = [@{SDLRPCParameterNameVideoProtocol: SDLVideoStreamingProtocolRAW,
SDLRPCParameterNameVideoCodec: SDLVideoStreamingCodecH264} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLVideoStreamingFormat* testStruct = [[SDLVideoStreamingFormat alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.protocol).to(equal(SDLVideoStreamingProtocolRAW));
expect(testStruct.codec).to(equal(SDLVideoStreamingCodecH264));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m
index f3ae63c5c..ea2153359 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLVrHelpItemSpec.m
@@ -34,10 +34,7 @@ describe(@"Getter/Setter Tests", ^ {
NSMutableDictionary<NSString *, id> *dict = [@{SDLRPCParameterNameText:@"DON'T PANIC",
SDLRPCParameterNameImage:image,
SDLRPCParameterNamePosition:@42} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLVRHelpItem* testStruct = [[SDLVRHelpItem alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.text).to(equal(@"DON'T PANIC"));
expect(testStruct.image).to(equal(image));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherAlertSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherAlertSpec.m
index 594988bd5..e4c34b529 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherAlertSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherAlertSpec.m
@@ -57,10 +57,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameSeverity:testSeverity,
SDLRPCParameterNameTimeIssued:testTimeIssued
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLWeatherAlert *testStruct = [[SDLWeatherAlert alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.title).to(equal(testTitle));
expect(testStruct.summary).to(equal(testSummary));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherDataSpec.m
index 911e92935..f46cb0539 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherDataSpec.m
@@ -127,10 +127,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameVisibility:@(testVisibility),
SDLRPCParameterNameWeatherIcon:testWeatherIcon
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLWeatherData *testStruct = [[SDLWeatherData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.currentTemperature).to(equal(testCurrentTemp));
expect(testStruct.temperatureHigh).to(equal(testTempHigh));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceDataSpec.m
index cd5360074..dadf888a4 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceDataSpec.m
@@ -29,8 +29,6 @@ describe(@"Getter/Setter Tests", ^{
testLocation = [[SDLLocationDetails alloc] init];
testLocation.locationName = @"testLocationName";
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLWeatherData *testWeatherDataA = [[SDLWeatherData alloc] initWithDictionary:@{SDLRPCParameterNameWeatherSummary:@"testWeatherDataA"}];
SDLWeatherData *testWeatherDataB = [[SDLWeatherData alloc] initWithDictionary:@{SDLRPCParameterNameWeatherSummary:@"testWeatherDataB"}];
SDLWeatherData *testWeatherDataC = [[SDLWeatherData alloc] initWithDictionary:@{SDLRPCParameterNameWeatherSummary:@"testWeatherDataC"}];
@@ -40,7 +38,6 @@ describe(@"Getter/Setter Tests", ^{
testMultidayForecast = @[testWeatherDataA, testWeatherDataC];
SDLWeatherAlert *testWeatherAlertA = [[SDLWeatherAlert alloc] initWithDictionary:@{SDLRPCParameterNameTitle:@"testWeatherAlertA"}];
-#pragma clang diagnostic pop
testAlerts = @[testWeatherAlertA];
});
@@ -69,10 +66,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameMultidayForecast:testMultidayForecast,
SDLRPCParameterNameAlerts:testAlerts
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLWeatherServiceData *testStruct = [[SDLWeatherServiceData alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.location).to(equal(testLocation));
expect(testStruct.currentForecast).to(equal(testCurrentForecast));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceManifestSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceManifestSpec.m
index 666b680d7..1a495d633 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceManifestSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLWeatherServiceManifestSpec.m
@@ -48,10 +48,7 @@ describe(@"Getter/Setter Tests", ^{
SDLRPCParameterNameMaxMinutelyForecastAmount:@(testMaxMinutelyForecastAmount),
SDLRPCParameterNameWeatherForLocationSupported:@(testWeatherForLocationSupported)
};
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLWeatherServiceManifest *testStruct = [[SDLWeatherServiceManifest alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testStruct.currentForecastSupported).to(equal(testCurrentForecastSupported));
expect(testStruct.maxMultidayForecastAmount).to(equal(testMaxMultidayForecastAmount));
diff --git a/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m b/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m
index 637c7f3ee..9a750df23 100644
--- a/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/SuperclassSpecs/SDLRPCResponseSpec.m
@@ -41,10 +41,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameInfo:@"Test Info"},
SDLRPCParameterNameCorrelationId:@1004,
SDLRPCParameterNameOperationName:SDLRPCParameterNameResponse}} mutableCopy];
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLRPCResponse* testResponse = [[SDLRPCResponse alloc] initWithDictionary:dict];
-#pragma clang diagnostic pop
expect(testResponse.name).to(equal(SDLRPCParameterNameResponse));
expect(testResponse.correlationID).to(equal(@1004));
diff --git a/SmartDeviceLinkTests/SDLSoftButtonReplaceOperationSpec.m b/SmartDeviceLinkTests/SDLSoftButtonReplaceOperationSpec.m
index 623ec427c..3b4669d78 100644
--- a/SmartDeviceLinkTests/SDLSoftButtonReplaceOperationSpec.m
+++ b/SmartDeviceLinkTests/SDLSoftButtonReplaceOperationSpec.m
@@ -44,6 +44,7 @@ describe(@"a soft button replace operation", ^{
__block NSString *object2State2ArtworkName = @"O2S2 Artwork";
__block SDLArtwork *object2State1Art = nil;
__block SDLArtwork *object2State2Art = nil;
+ __block SDLArtwork *object2State11Art = nil;
__block SDLSoftButtonState *object2State1 = nil;
__block SDLSoftButtonState *object2State2 = nil;
__block SDLSoftButtonObject *buttonWithTextAndImage = nil;
@@ -97,6 +98,8 @@ describe(@"a soft button replace operation", ^{
object2State1Art = [[SDLArtwork alloc] initWithData:[@"TestData" dataUsingEncoding:NSUTF8StringEncoding] name:object2State1ArtworkName fileExtension:@"png" persistent:YES];
object2State2Art = [[SDLArtwork alloc] initWithData:[@"TestData2" dataUsingEncoding:NSUTF8StringEncoding] name:object2State2ArtworkName fileExtension:@"png" persistent:YES];
+ object2State11Art = [[SDLArtwork alloc] initWithData:[@"TestData11" dataUsingEncoding:NSUTF8StringEncoding] name:object2State1ArtworkName fileExtension:@"png" persistent:YES];
+ object2State11Art.overwrite = YES;
object2State1 = [[SDLSoftButtonState alloc] initWithStateName:object2State1Name text:object2State1Text artwork:object2State1Art];
object2State2 = [[SDLSoftButtonState alloc] initWithStateName:object2State2Name text:object2State2Text artwork:object2State2Art];
buttonWithTextAndImage = [[SDLSoftButtonObject alloc] initWithName:object2Name states:@[object2State1, object2State2] initialStateName:object2State1.name handler:^(SDLOnButtonPress * _Nullable buttonPress, SDLOnButtonEvent * _Nullable buttonEvent) {}];
@@ -162,6 +165,7 @@ describe(@"a soft button replace operation", ^{
context(@"When a response is received to the upload", ^{
beforeEach(^{
+ OCMExpect([testFileManager fileNeedsUpload:[OCMArg any]]);
[testOp start];
});
@@ -278,7 +282,7 @@ describe(@"a soft button replace operation", ^{
it(@"should not upload artworks", ^{
OCMReject([testFileManager uploadArtworks:[OCMArg any] progressHandler:nil completionHandler:nil]);
-
+ OCMStub([testFileManager fileNeedsUpload:[OCMArg any]]).andReturn(NO);
[testOp start];
OCMVerifyAllWithDelay(testFileManager, 0.5);
@@ -296,8 +300,22 @@ describe(@"a soft button replace operation", ^{
expect(sentRequests.firstObject.softButtons.lastObject.type).to(equal(SDLSoftButtonTypeBoth));
});
+ it(@"should properly overwrite artwork", ^{
+ OCMExpect([testFileManager uploadArtworks:[OCMArg any] progressHandler:[OCMArg any] completionHandler:[OCMArg any]]);
+ OCMExpect([testFileManager fileNeedsUpload:[OCMArg any]]);
+ OCMStub([testFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
+ object2State1 = [[SDLSoftButtonState alloc] initWithStateName:object2State1Name text:object2State1Text artwork:object2State11Art];
+ buttonWithTextAndImage = [[SDLSoftButtonObject alloc] initWithName:object2Name states:@[object2State1, object2State2] initialStateName:object2State1.name handler:^(SDLOnButtonPress * _Nullable buttonPress, SDLOnButtonEvent * _Nullable buttonEvent) {}];
+ testSoftButtonObjects = @[buttonWithText, buttonWithTextAndImage];
+ testOp = [[SDLSoftButtonReplaceOperation alloc] initWithConnectionManager:testConnectionManager fileManager:testFileManager capabilities:capabilities softButtonObjects:testSoftButtonObjects mainField1:testMainField1];
+ OCMExpect([testFileManager fileNeedsUpload:[OCMArg any]]);
+ [testOp start];
+ OCMVerify([testFileManager uploadArtworks:[OCMArg any] progressHandler:[OCMArg any] completionHandler:[OCMArg any]]);
+ });
+
context(@"When a response is received to the upload", ^{
beforeEach(^{
+ OCMStub([testFileManager fileNeedsUpload:[OCMArg any]]).andReturn(NO);
[testOp start];
});
@@ -324,6 +342,7 @@ describe(@"a soft button replace operation", ^{
context(@"when artworks are static icons", ^{
beforeEach(^{
+ OCMStub([testFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(NO);
testSoftButtonObjects = @[buttonWithTextAndStaticImage];
testOp = [[SDLSoftButtonReplaceOperation alloc] initWithConnectionManager:testConnectionManager fileManager:testFileManager capabilities:capabilities softButtonObjects:testSoftButtonObjects mainField1:testMainField1];
@@ -371,8 +390,11 @@ describe(@"a soft button replace operation", ^{
it(@"should upload all artworks", ^{
// Check that the artworks in the initial button states are uploaded
OCMExpect([testFileManager uploadArtworks:@[buttonWithTextAndImage.states[0].artwork] progressHandler:[OCMArg invokeBlock] completionHandler:[OCMArg invokeBlock]]);
+ OCMExpect([testFileManager fileNeedsUpload:[OCMArg any]]);
+ OCMStub([testFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
testSoftButtonObjects = @[buttonWithText, buttonWithTextAndImage];
testOp = [[SDLSoftButtonReplaceOperation alloc] initWithConnectionManager:testConnectionManager fileManager:testFileManager capabilities:capabilities softButtonObjects:testSoftButtonObjects mainField1:testMainField1];
+ OCMExpect([testFileManager fileNeedsUpload:[OCMArg any]]);
[testOp start];
OCMVerifyAllWithDelay(testFileManager, 0.5);
@@ -407,14 +429,19 @@ describe(@"a soft button replace operation", ^{
it(@"should upload all artworks even if the initial state does not have artworks", ^{
OCMReject([testFileManager uploadFiles:[OCMArg any] progressHandler:[OCMArg invokeBlock] completionHandler:[OCMArg invokeBlock]]);
+ OCMExpect([testFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
+ OCMExpect([testFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(NO);
+ OCMExpect([testFileManager fileNeedsUpload:[OCMArg isNil]]).andReturn(NO);
// buttonWithTextAndImage2 has text in the first state and an text and image in the second & third states
testSoftButtonObjects = @[buttonWithTextAndStaticImage, buttonWithTextAndImage2];
testOp = [[SDLSoftButtonReplaceOperation alloc] initWithConnectionManager:testConnectionManager fileManager:testFileManager capabilities:capabilities softButtonObjects:testSoftButtonObjects mainField1:testMainField1];
+
[testOp start];
OCMVerifyAllWithDelay(testFileManager, 0.5);
NSArray<SDLArtwork *> *testArtworkUploads = @[buttonWithTextAndImage2.states[1].artwork, buttonWithTextAndImage2.states[2].artwork];
+ OCMStub([testFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
OCMExpect([testFileManager uploadArtworks:testArtworkUploads progressHandler:[OCMArg invokeBlock] completionHandler:[OCMArg invokeBlock]]);
[testConnectionManager respondToLastRequestWithResponse:successResponse];
OCMVerifyAllWithDelay(testFileManager, 0.5);
@@ -445,6 +472,7 @@ describe(@"a soft button replace operation", ^{
context(@"When a response is received to the upload", ^{
beforeEach(^{
+ OCMStub([testFileManager fileNeedsUpload:[OCMArg isNotNil]]).andReturn(YES);
OCMExpect([testFileManager uploadArtworks:[OCMArg isNotNil] progressHandler:[OCMArg invokeBlock] completionHandler:[OCMArg invokeBlock]]);
testSoftButtonObjects = @[buttonWithTextAndImage];
diff --git a/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m b/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m
index 184ad81a7..4afa389d2 100644
--- a/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m
+++ b/SmartDeviceLinkTests/SDLSystemCapabilityManagerSpec.m
@@ -48,7 +48,10 @@ typedef NSString * SDLServiceID;
@property (weak, nonatomic) id<SDLConnectionManagerType> connectionManager;
@property (nullable, strong, nonatomic, readwrite) NSArray<SDLDisplayCapability *> *displays;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
@property (nullable, strong, nonatomic, readwrite) SDLDisplayCapabilities *displayCapabilities;
+#pragma clang diagnostic pop
@property (nullable, strong, nonatomic, readwrite) SDLHMICapabilities *hmiCapabilities;
@property (nullable, copy, nonatomic, readwrite) NSArray<SDLSoftButtonCapabilities *> *softButtonCapabilities;
@property (nullable, copy, nonatomic, readwrite) NSArray<SDLButtonCapabilities *> *buttonCapabilities;
@@ -87,7 +90,10 @@ describe(@"System capability manager", ^{
__block TestConnectionManager *testConnectionManager = nil;
__block NSArray<SDLDisplayCapability *> *testDisplayCapabilityList = nil;
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
__block SDLDisplayCapabilities *testDisplayCapabilities = nil;
+#pragma clang diagnostic pop
__block NSArray<SDLSoftButtonCapabilities *> *testSoftButtonCapabilities = nil;
__block NSArray<SDLButtonCapabilities *> *testButtonCapabilities = nil;
__block SDLPresetBankCapabilities *testPresetBankCapabilities = nil;
@@ -95,8 +101,10 @@ describe(@"System capability manager", ^{
beforeEach(^{
testConnectionManager = [[TestConnectionManager alloc] init];
testSystemCapabilityManager = [[SDLSystemCapabilityManager alloc] initWithConnectionManager:testConnectionManager];
-
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testDisplayCapabilities = [[SDLDisplayCapabilities alloc] init];
+#pragma clang diagnostic pop
testDisplayCapabilities.graphicSupported = @NO;
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
@@ -267,7 +275,10 @@ describe(@"System capability manager", ^{
context(@"when displayCapabilities.graphicSupported is true", ^{
beforeEach(^{
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testSystemCapabilityManager.displayCapabilities = [[SDLDisplayCapabilities alloc] init];
+#pragma clang diagnostic pop
testSystemCapabilityManager.displayCapabilities.graphicSupported = @YES;
});
diff --git a/SmartDeviceLinkTests/TestConnectionRequestObject.h b/SmartDeviceLinkTests/TestConnectionRequestObject.h
new file mode 100644
index 000000000..4bc6b5098
--- /dev/null
+++ b/SmartDeviceLinkTests/TestConnectionRequestObject.h
@@ -0,0 +1,23 @@
+//
+// TestConnectionRequestObject.h
+// SmartDeviceLinkTests
+//
+// Created by Joel Fischer on 11/13/20.
+// Copyright © 2020 smartdevicelink. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+#import <SmartDeviceLink/SmartDeviceLink.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface TestConnectionRequestObject : NSObject
+
+@property (strong, nonatomic) __kindof SDLRPCMessage *message;
+@property (copy, nonatomic, nullable) SDLResponseHandler responseHandler;
+
+- (instancetype)initWithMessage:(__kindof SDLRPCMessage *)message responseHandler:(nullable SDLResponseHandler)handler;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLinkTests/TestConnectionRequestObject.m b/SmartDeviceLinkTests/TestConnectionRequestObject.m
new file mode 100644
index 000000000..a1aa57bc4
--- /dev/null
+++ b/SmartDeviceLinkTests/TestConnectionRequestObject.m
@@ -0,0 +1,23 @@
+//
+// TestConnectionRequestObject.m
+// SmartDeviceLinkTests
+//
+// Created by Joel Fischer on 11/13/20.
+// Copyright © 2020 smartdevicelink. All rights reserved.
+//
+
+#import "TestConnectionRequestObject.h"
+
+@implementation TestConnectionRequestObject
+
+- (instancetype)initWithMessage:(__kindof SDLRPCMessage *)message responseHandler:(SDLResponseHandler)handler {
+ self = [super init];
+ if (!self) { return nil; }
+
+ _message = message;
+ _responseHandler = handler;
+
+ return self;
+}
+
+@end
diff --git a/SmartDeviceLinkTests/TestUtilities/TestConnectionManager.h b/SmartDeviceLinkTests/TestUtilities/TestConnectionManager.h
index 5b07db771..d3dd50a19 100644
--- a/SmartDeviceLinkTests/TestUtilities/TestConnectionManager.h
+++ b/SmartDeviceLinkTests/TestUtilities/TestConnectionManager.h
@@ -9,6 +9,7 @@
#import <Foundation/Foundation.h>
#import "SDLConnectionManagerType.h"
#import "SDLNotificationConstants.h"
+#import "TestConnectionRequestObject.h"
NS_ASSUME_NONNULL_BEGIN
@@ -20,12 +21,9 @@ NS_ASSUME_NONNULL_BEGIN
/**
* All received requests. Chronological order. The 0th element will be the first request received; the nth request will be the n+1th request received.
*/
-@property (copy, nonatomic, readonly) NSMutableArray<__kindof SDLRPCMessage *> *receivedRequests;
+@property (copy, nonatomic, readonly) NSMutableArray<__kindof TestConnectionRequestObject *> *receivedRequestObjects;
-/**
- * The block passed for the last request send with sendRequest:withCompletionHandler:
- */
-@property (copy, nonatomic, nullable) SDLResponseHandler lastRequestBlock;
+@property (copy, nonatomic, readonly) NSArray<__kindof SDLRPCMessage *> *receivedRequests;
@property (copy, nonatomic, nullable) NSMutableArray<SDLMultipleRequestCompletionHandler> *multipleCompletionBlocks;
diff --git a/SmartDeviceLinkTests/TestUtilities/TestConnectionManager.m b/SmartDeviceLinkTests/TestUtilities/TestConnectionManager.m
index ded122d0a..4774f8d09 100644
--- a/SmartDeviceLinkTests/TestUtilities/TestConnectionManager.m
+++ b/SmartDeviceLinkTests/TestUtilities/TestConnectionManager.m
@@ -21,21 +21,28 @@ NS_ASSUME_NONNULL_BEGIN
return nil;
}
- _receivedRequests = [NSMutableArray<__kindof SDLRPCMessage *> array];
+ _receivedRequestObjects = [NSMutableArray<TestConnectionRequestObject *> array];
_multipleCompletionBlocks = [NSMutableArray array];
return self;
}
+- (NSArray<__kindof SDLRPCMessage *> *)receivedRequests {
+ NSMutableArray<__kindof SDLRPCMessage *> *requests = [NSMutableArray array];
+ [_receivedRequestObjects enumerateObjectsUsingBlock:^(__kindof TestConnectionRequestObject * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
+ [requests addObject:obj.message];
+ }];
+
+ return [requests copy];
+}
+
- (void)sendConnectionRPC:(__kindof SDLRPCMessage *)rpc {
- [self.receivedRequests addObject:rpc];
+ [self.receivedRequestObjects addObject:[[TestConnectionRequestObject alloc] initWithMessage:rpc responseHandler:nil]];
}
- (void)sendConnectionRequest:(__kindof SDLRPCRequest *)request withResponseHandler:(nullable SDLResponseHandler)handler {
- self.lastRequestBlock = handler;
- SDLRPCRequest *requestRPC = (SDLRPCRequest *)request;
- requestRPC.correlationID = [self test_nextCorrelationID];
- [self.receivedRequests addObject:requestRPC];
+ request.correlationID = [self test_nextCorrelationID];
+ [self.receivedRequestObjects addObject:[[TestConnectionRequestObject alloc] initWithMessage:request responseHandler:handler]];
}
- (void)sendConnectionManagerRequest:(__kindof SDLRPCRequest *)request withResponseHandler:(nullable SDLResponseHandler)handler {
@@ -48,11 +55,11 @@ NS_ASSUME_NONNULL_BEGIN
- (void)sendRequests:(nonnull NSArray<SDLRPCRequest *> *)requests progressHandler:(nullable SDLMultipleAsyncRequestProgressHandler)progressHandler completionHandler:(nullable SDLMultipleRequestCompletionHandler)completionHandler {
[requests enumerateObjectsUsingBlock:^(SDLRPCRequest * _Nonnull request, NSUInteger idx, BOOL * _Nonnull stop) {
- [self sendConnectionRequest:request withResponseHandler:nil];
-
- if (progressHandler != nil) {
- progressHandler(request, nil, nil, (double)idx / (double)requests.count);
- }
+ [self sendConnectionRequest:request withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) {
+ if (progressHandler != nil) {
+ progressHandler(request, response, error, (double)idx / (double)requests.count);
+ }
+ }];
}];
[_multipleCompletionBlocks addObject:completionHandler];
@@ -79,8 +86,9 @@ NS_ASSUME_NONNULL_BEGIN
thisError = error;
}
- if (self.lastRequestBlock != nil) {
- self.lastRequestBlock(self.receivedRequests.lastObject, response, thisError);
+ TestConnectionRequestObject *lastObject = self.receivedRequestObjects.lastObject;
+ if (lastObject.responseHandler != nil) {
+ lastObject.responseHandler((SDLRPCRequest *)lastObject.message, response, thisError);
} else {
@throw [NSException exceptionWithName:NSInternalInconsistencyException reason:@"Attempted to respond to last request, but there was no last request block" userInfo:nil];
}
@@ -94,8 +102,9 @@ NS_ASSUME_NONNULL_BEGIN
thisError = error;
}
- if (self.lastRequestBlock != nil) {
- self.lastRequestBlock(self.receivedRequests[requestNumber], response, thisError);
+ TestConnectionRequestObject *requestObj = self.receivedRequestObjects[requestNumber];
+ if (requestObj.responseHandler != nil) {
+ requestObj.responseHandler((SDLRPCRequest *)requestObj.message, response, thisError);
} else {
@throw [NSException exceptionWithName:NSInternalInconsistencyException reason:@"Attempted to respond to last request, but there was no last request block" userInfo:nil];
}
@@ -110,8 +119,8 @@ NS_ASSUME_NONNULL_BEGIN
}
- (void)reset {
- _receivedRequests = [NSMutableArray<__kindof SDLRPCMessage *> array];
- _lastRequestBlock = nil;
+ _receivedRequestObjects = [NSMutableArray<__kindof TestConnectionRequestObject *> array];
+ _multipleCompletionBlocks = [NSMutableArray array];
}
diff --git a/SmartDeviceLinkTests/UtilitiesSpecs/SDLGlobalsSpec.m b/SmartDeviceLinkTests/UtilitiesSpecs/SDLGlobalsSpec.m
index f730c17c1..379b269e8 100644
--- a/SmartDeviceLinkTests/UtilitiesSpecs/SDLGlobalsSpec.m
+++ b/SmartDeviceLinkTests/UtilitiesSpecs/SDLGlobalsSpec.m
@@ -40,6 +40,19 @@ describe(@"The SDLGlobals class", ^{
expect(testGlobals.maxHeadUnitProtocolVersion).to(equal(someVersionHigherThanMaxProxyVersion));
});
});
+
+ describe(@"test values after calling sdl_resetProtocolVersion", ^{
+ beforeEach(^{
+ [testGlobals reset];
+ });
+
+ it(@"should return should properly set values", ^{
+ expect(testGlobals.protocolVersion.stringVersion).to(equal(@"1.0.0"));
+ expect(testGlobals.protocolVersion.major).to(equal(1));
+ expect(testGlobals.maxHeadUnitProtocolVersion.stringVersion).to(equal(@"0.0.0"));
+ expect(testGlobals.rpcVersion).to(equal([[SDLVersion alloc] initWithMajor:1 minor:0 patch:0]));
+ });
+ });
describe(@"getting the max MTU version", ^{
context(@"when protocol version is 1 - 2", ^{
diff --git a/bson_c_lib b/bson_c_lib
-Subproject c92f3a73836f80b61419d6870b80f574c465c5f
+Subproject e82d717ae4a9abc833fba51c75bc9b25a32dd5b
diff --git a/docs/Classes.html b/docs/Classes.html
index f2f9fb7dc..0b4890dd8 100644
--- a/docs/Classes.html
+++ b/docs/Classes.html
@@ -5203,7 +5203,8 @@ Subsequent calls with the same service type will update the manifest for that se
<h4>Objective-C</h4>
- <pre class="highlight objective_c"><code><span class="k">@interface</span> <span class="nc">SDLSetDisplayLayout</span> <span class="p">:</span> <span class="nc"><a href="Classes/SDLRPCRequest.html">SDLRPCRequest</a></span></code></pre>
+ <pre class="highlight objective_c"><code>
+<span class="k">@interface</span> <span class="nc">SDLSetDisplayLayout</span> <span class="p">:</span> <span class="nc"><a href="Classes/SDLRPCRequest.html">SDLRPCRequest</a></span></code></pre>
<h4>Swift</h4>
@@ -5224,7 +5225,8 @@ Subsequent calls with the same service type will update the manifest for that se
<h4>Objective-C</h4>
- <pre class="highlight objective_c"><code><span class="k">@interface</span> <span class="nc">SDLSetDisplayLayoutResponse</span> <span class="p">:</span> <span class="nc"><a href="Classes/SDLRPCResponse.html">SDLRPCResponse</a></span></code></pre>
+ <pre class="highlight objective_c"><code>
+<span class="k">@interface</span> <span class="nc">SDLSetDisplayLayoutResponse</span> <span class="p">:</span> <span class="nc"><a href="Classes/SDLRPCResponse.html">SDLRPCResponse</a></span></code></pre>
<h4>Swift</h4>
diff --git a/docs/Classes/SDLOnDriverDistraction.html b/docs/Classes/SDLOnDriverDistraction.html
index 26ad20c90..168dd33e1 100644
--- a/docs/Classes/SDLOnDriverDistraction.html
+++ b/docs/Classes/SDLOnDriverDistraction.html
@@ -53,11 +53,11 @@
<h4>Objective-C</h4>
- <pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">strong</span><span class="p">)</span> <span class="n">NSNumber</span><span class="o">&lt;</span><span class="n"><a href="../Protocols.html#/c:objc(pl)SDLBool">SDLBool</a></span><span class="o">&gt;</span> <span class="o">*</span><span class="n">_Nonnull</span> <span class="n">lockScreenDismissalEnabled</span><span class="p">;</span></code></pre>
+ <pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">NSNumber</span><span class="o">&lt;</span><span class="n"><a href="../Protocols.html#/c:objc(pl)SDLBool">SDLBool</a></span><span class="o">&gt;</span> <span class="o">*</span><span class="n">lockScreenDismissalEnabled</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight swift"><code><span class="k">var</span> <span class="nv">lockScreenDismissalEnabled</span><span class="p">:</span> <span class="kt">NSNumber</span> <span class="o">&amp;</span> <span class="kt"><a href="../Protocols.html#/c:objc(pl)SDLBool">SDLBool</a></span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
+ <pre class="highlight swift"><code><span class="k">var</span> <span class="nv">lockScreenDismissalEnabled</span><span class="p">:</span> <span class="p">(</span><span class="kt">NSNumber</span> <span class="o">&amp;</span> <span class="kt"><a href="../Protocols.html#/c:objc(pl)SDLBool">SDLBool</a></span><span class="p">)?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
@@ -73,11 +73,11 @@
<h4>Objective-C</h4>
- <pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">strong</span><span class="p">)</span> <span class="n">NSString</span> <span class="o">*</span><span class="n">_Nonnull</span> <span class="n">lockScreenDismissalWarning</span><span class="p">;</span></code></pre>
+ <pre class="highlight objective_c"><code><span class="k">@property</span> <span class="p">(</span><span class="n">nonatomic</span><span class="p">,</span> <span class="n">strong</span><span class="p">,</span> <span class="n">nullable</span><span class="p">)</span> <span class="n">NSString</span> <span class="o">*</span><span class="n">lockScreenDismissalWarning</span><span class="p">;</span></code></pre>
<h4>Swift</h4>
- <pre class="highlight swift"><code><span class="k">var</span> <span class="nv">lockScreenDismissalWarning</span><span class="p">:</span> <span class="kt">String</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
+ <pre class="highlight swift"><code><span class="k">var</span> <span class="nv">lockScreenDismissalWarning</span><span class="p">:</span> <span class="kt">String</span><span class="p">?</span> <span class="p">{</span> <span class="k">get</span> <span class="k">set</span> <span class="p">}</span></code></pre>
diff --git a/generator/generator.py b/generator/generator.py
index 2dda4129f..f7ccb4368 100644
--- a/generator/generator.py
+++ b/generator/generator.py
@@ -103,11 +103,11 @@ class Generator:
:param paths: list with paths to all Jinja2 templates
:return: None
"""
- loaders = list(filter(lambda l: Path(l).exists(), paths))
+ loaders = list(filter(lambda lambdaList: Path(lambdaList).exists(), paths))
if not loaders:
self.logger.error('Directory with templates not found %s', str(paths))
sys.exit(1)
- loaders = [FileSystemLoader(l) for l in loaders]
+ loaders = [FileSystemLoader(lambdaList) for lambdaList in loaders]
self._env = Environment(loader=ChoiceLoader(loaders))
self._env.filters['title'] = self.title
diff --git a/generator/rpc_spec b/generator/rpc_spec
-Subproject eead323f356be713d2b0f0a253f3f3d36143460
+Subproject 762489ca140f246923e8bb8f54e96364e9d0101
diff --git a/generator/templates/SDLRPCFunctionNames.h.jinja2 b/generator/templates/SDLRPCFunctionNames.h.jinja2
index 5e13b735b..419081b51 100644
--- a/generator/templates/SDLRPCFunctionNames.h.jinja2
+++ b/generator/templates/SDLRPCFunctionNames.h.jinja2
@@ -6,7 +6,7 @@
/**
* All RPC request / response / notification names
*/
-typedef SDLEnum SDLRPCFunctionName SDL_SWIFT_ENUM;
+typedef SDLEnum SDLRPCFunctionName NS_TYPED_ENUM;
{% for param in params %}
{#- description if exist in source xml, will be putted here
since if exist in source xml, will be putted here -#}
diff --git a/generator/templates/SDLRPCParameterNames.h.jinja2 b/generator/templates/SDLRPCParameterNames.h.jinja2
index 7a5bbb746..93bf39c88 100644
--- a/generator/templates/SDLRPCParameterNames.h.jinja2
+++ b/generator/templates/SDLRPCParameterNames.h.jinja2
@@ -6,7 +6,7 @@
NS_ASSUME_NONNULL_BEGIN
-typedef NSString* SDLRPCParameterName SDL_SWIFT_ENUM;
+typedef NSString* SDLRPCParameterName NS_TYPED_ENUM;
{% for param in params %}
extern SDLRPCParameterName const SDLRPCParameterName{{ param.name }};
{%- endfor %}
diff --git a/generator/templates/enums/template.h.jinja2 b/generator/templates/enums/template.h.jinja2
index fb811fcd8..3d26960ec 100644
--- a/generator/templates/enums/template.h.jinja2
+++ b/generator/templates/enums/template.h.jinja2
@@ -7,7 +7,7 @@
{%- endblock -%}
{%- block body %}
{% include 'description.jinja2' %}
-typedef SDLEnum {{ name }} SDL_SWIFT_ENUM{{ending}};
+typedef SDLEnum {{ name }} NS_TYPED_ENUM{{ending}};
{%- for param in params %}
{%- include 'description_param.jinja2' %}
extern {{ name }} const {{ name }}{{param.name}}{{ " __deprecated" if param.deprecated and param.deprecated }};
diff --git a/generator/templates/enums/template.m.jinja2 b/generator/templates/enums/template.m.jinja2
index e434bf758..fa82a9e44 100644
--- a/generator/templates/enums/template.m.jinja2
+++ b/generator/templates/enums/template.m.jinja2
@@ -3,7 +3,7 @@
#import "{{name}}.h"
{%- block body %}
{% if add_typedef %}
-typedef SDLEnum {{name}} SDL_SWIFT_ENUM;
+typedef SDLEnum {{name}} NS_TYPED_ENUM;
{% endif -%}
{%- for param in params %}
{{ name }} const {{ name }}{{param.name}} = @"{{param.origin}}";
diff --git a/generator/test/runner.py b/generator/test/runner.py
index 2cb413227..3c2a8231e 100644
--- a/generator/test/runner.py
+++ b/generator/test/runner.py
@@ -57,7 +57,12 @@ def main():
suite.addTests(TestLoader().loadTestsFromTestCase(CodeFormatAndQuality))
runner = TextTestRunner(verbosity=2)
- runner.run(suite)
+ test_results = runner.run(suite)
+
+ if test_results.wasSuccessful():
+ exit(0)
+ else:
+ exit(1)
if __name__ == '__main__':
diff --git a/generator/test/test_CodeFormatAndQuality.py b/generator/test/test_CodeFormatAndQuality.py
index c9b34e06f..affc4affe 100755
--- a/generator/test/test_CodeFormatAndQuality.py
+++ b/generator/test/test_CodeFormatAndQuality.py
@@ -23,7 +23,7 @@ class CodeFormatAndQuality(unittest.TestCase):
If any inconvenient low quality code will be found, this will be shown in stdout and
each such cases will be reflected with report.total_errors number
"""
- style_guide = flake8.get_style_guide(max_line_length=120)
+ style_guide = flake8.get_style_guide(max_line_length=2048)
report = style_guide.check_files(self.list_of_files)
self.assertEqual(report.total_errors, 0)
diff --git a/generator/test/test_enums.py b/generator/test/test_enums.py
index 22650ce67..4e6b52490 100644
--- a/generator/test/test_enums.py
+++ b/generator/test/test_enums.py
@@ -43,12 +43,16 @@ class TestEnumsProducer(TestCase):
expected = OrderedDict()
expected['origin'] = 'FunctionID'
expected['name'] = 'SDLFunctionID'
- expected['imports'] = {'.h': {'SDLEnum'}, '.m': {'SDLEnum'}}
+ expected['imports'] = {
+ '.h': {'SDLEnum'},
+ '.m': ['SDLEnum']
+ }
+ expected['history'] = None
expected['params'] = (
- self.producer.param_named(description=[], name='Reserved', origin='RESERVED', since=None, deprecated=False),
- self.producer.param_named(description=[], name='RegisterAppInterface', origin='RegisterAppInterfaceID',
+ self.producer.param_named(history=None, description=[], name='Reserved', origin='RESERVED', since=None, deprecated=False),
+ self.producer.param_named(history=None, description=[], name='RegisterAppInterface', origin='RegisterAppInterfaceID',
since=None, deprecated=False),
- self.producer.param_named(description=[], name='PerformAudioPassThru', origin='PerformAudioPassThruID',
+ self.producer.param_named(history=None, description=[], name='PerformAudioPassThru', origin='PerformAudioPassThruID',
since=None, deprecated=False),)
actual = self.producer.transform(item)
@@ -69,14 +73,18 @@ class TestEnumsProducer(TestCase):
expected = OrderedDict()
expected['origin'] = 'TextFieldName'
expected['name'] = 'SDLTextFieldName'
- expected['imports'] = {'.h': {'SDLEnum'}, '.m': {'SDLEnum'}}
+ expected['imports'] = {
+ '.h': {'SDLEnum'},
+ '.m': ['SDLEnum']
+ }
+ expected['history'] = None
expected['params'] = (
- self.producer.param_named(description=[], name='Success', origin='SUCCESS', since=None,
+ self.producer.param_named(history=None, description=[], name='Success', origin='SUCCESS', since=None,
deprecated=False),
- self.producer.param_named(description=[], name='MainField1', origin='mainField1', since=None,
+ self.producer.param_named(history=None, description=[], name='MainField1', origin='mainField1', since=None,
deprecated=False),
- self.producer.param_named(description=[], name='H264', origin='H264', since=None, deprecated=False),
- self.producer.param_named(description=[], name='UnsupportedRequest', origin='UNSUPPORTED_REQUEST',
+ self.producer.param_named(history=None, description=[], name='H264', origin='H264', since=None, deprecated=False),
+ self.producer.param_named(history=None, description=[], name='UnsupportedRequest', origin='UNSUPPORTED_REQUEST',
since=None, deprecated=False))
actual = self.producer.transform(item)
diff --git a/generator/test/test_functions.py b/generator/test/test_functions.py
index a271fa23a..d2b885e21 100644
--- a/generator/test/test_functions.py
+++ b/generator/test/test_functions.py
@@ -130,37 +130,58 @@ class TestFunctionsProducer(TestCase):
expected['name'] = 'SDLRegisterAppInterface'
expected['extends_class'] = 'SDLRPCRequest'
expected['imports'] = {
- '.h': {'enum': {'SDLRPCRequest'}, 'struct': {'SDLTemplateColorScheme', 'SDLTTSChunk', 'SDLSdlMsgVersion'}},
- '.m': {'SDLTemplateColorScheme', 'SDLTTSChunk', 'SDLSdlMsgVersion'}}
+ '.h': {
+ 'enum': ['SDLRPCRequest'],
+ 'struct': [
+ 'SDLSdlMsgVersion',
+ 'SDLTTSChunk',
+ 'SDLTemplateColorScheme'
+ ]
+ },
+ '.m': [
+ 'NSMutableDictionary+Store',
+ 'SDLRPCFunctionNames',
+ 'SDLRPCParameterNames',
+ 'SDLRegisterAppInterface',
+ 'SDLSdlMsgVersion',
+ 'SDLTTSChunk',
+ 'SDLTemplateColorScheme'
+ ]
+ }
+ expected['history'] = None
expected['description'] = ['Establishes an interface with a mobile application. Before registerAppInterface no '
- 'other commands will be', 'accepted/executed.']
+ 'other commands will be accepted/executed.']
expected['since'] = '1.0.0'
expected['params'] = (
self.producer.param_named(
+ history=None,
constructor_argument='sdlMsgVersion', constructor_argument_override=None,
constructor_prefix='SdlMsgVersion', deprecated=False, description=['See SyncMsgVersion'],
for_name='object', mandatory=True, method_suffix='SdlMsgVersion', modifier='strong',
of_class='SDLSdlMsgVersion.class', origin='sdlMsgVersion', since=None,
type_native='SDLSdlMsgVersion *', type_sdl='SDLSdlMsgVersion *'),
self.producer.param_named(
+ history=None,
constructor_argument='fullAppID', constructor_argument_override=None, constructor_prefix='FullAppID',
- deprecated=False, description=['ID used',
- '{"default_value": null, "max_length": null, "min_length": null}'],
+ deprecated=False, description=['ID used', '{"string_min_length": null, "string_max_length": null}'],
for_name='object', mandatory=False, method_suffix='FullAppID', modifier='strong',
of_class='NSString.class', origin='fullAppID', since=None, type_native='NSString *',
type_sdl='NSString *'),
self.producer.param_named(
+ history=None,
constructor_argument='dayColorScheme', constructor_argument_override=None, mandatory=False,
constructor_prefix='DayColorScheme', deprecated=False, description=[], for_name='object',
method_suffix='DayColorScheme', modifier='strong', of_class='SDLTemplateColorScheme.class',
origin='dayColorScheme', since=None, type_native='SDLTemplateColorScheme *',
type_sdl='SDLTemplateColorScheme *'),
self.producer.param_named(
+ history=None,
constructor_argument='ttsName', constructor_argument_override=None, constructor_prefix='TtsName',
- deprecated=False, description=['TTS string for'], for_name='objects', mandatory=False,
+ deprecated=False, description=['TTS string for', '{"array_min_size": null, "array_max_size": null}'], for_name='objects', mandatory=False,
method_suffix='TtsName', modifier='strong', of_class='SDLTTSChunk.class', origin='ttsName', since=None,
type_native='NSArray<SDLTTSChunk *> *', type_sdl='NSArray<SDLTTSChunk *> *'),
self.producer.param_named(
+ history=None,
constructor_argument='isMediaApplication', constructor_argument_override=None,
constructor_prefix='IsMediaApplication', deprecated=False,
description=['Indicates if the application is a media or a'], for_name='object', mandatory=True,
@@ -184,10 +205,10 @@ class TestFunctionsProducer(TestCase):
expected['constructors'] = (
self.producer.constructor_named(
- all=mandatory_arguments, arguments=mandatory_arguments, deprecated=False,
+ all=mandatory_arguments, arguments=mandatory_arguments,
init=mandatory_init, self=True),
self.producer.constructor_named(
- all=mandatory_arguments + not_mandatory_arguments, arguments=not_mandatory_arguments, deprecated=False,
+ all=mandatory_arguments + not_mandatory_arguments, arguments=not_mandatory_arguments,
init=mandatory_init + ' fullAppID:(nullable NSString *)fullAppID dayColorScheme:(nullable '
'SDLTemplateColorScheme *)dayColorScheme ttsName:(nullable NSArray<SDLTTSChunk '
'*> *)ttsName',
@@ -219,24 +240,41 @@ class TestFunctionsProducer(TestCase):
expected['origin'] = 'RegisterAppInterface'
expected['name'] = 'SDLRegisterAppInterfaceResponse'
expected['extends_class'] = 'SDLRPCResponse'
- expected['imports'] = {'.h': {'enum': {'SDLRPCResponse', 'SDLLanguage'}, 'struct': set()},
- '.m': {'SDLLanguage'}}
+ expected['imports'] = {
+ '.h': {
+ 'enum': [
+ 'SDLLanguage',
+ 'SDLRPCResponse'
+ ],
+ 'struct': []},
+ '.m': [
+ 'NSMutableDictionary+Store',
+ 'SDLLanguage',
+ 'SDLRPCFunctionNames',
+ 'SDLRPCParameterNames',
+ 'SDLRegisterAppInterface'
+ ]
+ }
+ expected['history'] = None
expected['description'] = ['The response']
expected['params'] = (
self.producer.param_named(
+ history=None,
constructor_argument='language', constructor_argument_override=None, constructor_prefix='Language',
deprecated=False, description=['The currently'], for_name='enum', mandatory=False,
method_suffix='Language', modifier='strong', of_class='', origin='language',
since=None, type_native='SDLLanguage ', type_sdl='SDLLanguage '),
self.producer.param_named(
+ history=None,
constructor_argument='supportedDiagModes', constructor_argument_override=None,
- constructor_prefix='SupportedDiagModes', deprecated=False, description=['Specifies the'],
+ constructor_prefix='SupportedDiagModes', deprecated=False, description=['Specifies the', '{"array_min_size": 1, "array_max_size": 100, "num_min_value": 0, "num_max_value": 255}'],
for_name='objects', mandatory=False, method_suffix='SupportedDiagModes', modifier='strong',
of_class='NSNumber.class', origin='supportedDiagModes', since=None,
type_native='NSArray<NSNumber<SDLUInt> *> *', type_sdl='NSArray<NSNumber<SDLUInt> *> *'),
self.producer.param_named(
+ history=None,
constructor_argument='hmiZoneCapabilities', constructor_argument_override=None,
- constructor_prefix='HmiZoneCapabilities', deprecated=False, description=[], for_name='enums',
+ constructor_prefix='HmiZoneCapabilities', deprecated=False, description=['{"array_min_size": 1, "array_max_size": 100}'], for_name='enums',
mandatory=False, method_suffix='HmiZoneCapabilities', modifier='strong',
of_class='', origin='hmiZoneCapabilities', since=None,
type_native='NSArray<SDLHmiZoneCapabilities> *', type_sdl='NSArray<SDLHmiZoneCapabilities> *'))
@@ -252,7 +290,7 @@ class TestFunctionsProducer(TestCase):
expected['constructors'] = (
self.producer.constructor_named(
- all=arguments, arguments=arguments, deprecated=False,
+ all=arguments, arguments=arguments,
init='Language:(nullable SDLLanguage)language supportedDiagModes:(nullable NSArray<NSNumber<SDLUInt> *>'
' *)supportedDiagModes hmiZoneCapabilities:(nullable NSArray<SDLHmiZoneCapabilities> *)'
'hmiZoneCapabilities',
@@ -275,11 +313,20 @@ class TestFunctionsProducer(TestCase):
expected['name'] = 'SDLOnHMIStatus'
expected['extends_class'] = 'SDLRPCNotification'
expected['imports'] = {
- ".h": {'enum': {'SDLRPCNotification'}, 'struct': set()},
- ".m": set()
+ ".h": {
+ 'enum': ['SDLRPCNotification'],
+ 'struct': []},
+ ".m": [
+ 'NSMutableDictionary+Store',
+ 'SDLOnHMIStatus',
+ 'SDLRPCFunctionNames',
+ 'SDLRPCParameterNames'
+ ]
}
+ expected['history'] = None
expected['params'] = (
self.producer.param_named(
+ history=None,
constructor_argument='hmiLevel', constructor_argument_override=None, constructor_prefix='HmiLevel',
deprecated=False, description=[], for_name='enum', mandatory=True, method_suffix='HmiLevel',
modifier='strong', of_class='', origin='hmiLevel', since=None,
@@ -289,7 +336,7 @@ class TestFunctionsProducer(TestCase):
constructor_argument='hmiLevel')]
expected['constructors'] = (self.producer.constructor_named(
- all=arguments, arguments=arguments, deprecated=False, self=True, init='HmiLevel:(SDLHMILevel)hmiLevel'),)
+ all=arguments, arguments=arguments, self=True, init='HmiLevel:(SDLHMILevel)hmiLevel'),)
actual = self.producer.transform(item)
self.assertDictEqual(expected, actual)
@@ -314,39 +361,56 @@ class TestFunctionsProducer(TestCase):
expected['origin'] = 'CreateWindow'
expected['name'] = 'SDLCreateWindow'
expected['extends_class'] = 'SDLRPCRequest'
- expected['imports'] = {'.m': set(), '.h': {'struct': set(), 'enum': {'SDLRPCRequest'}}}
+ expected['imports'] = {
+ '.h': {
+ 'struct': [],
+ 'enum': ['SDLRPCRequest']},
+ '.m': [
+ 'NSMutableDictionary+Store',
+ 'SDLCreateWindow',
+ 'SDLRPCFunctionNames',
+ 'SDLRPCParameterNames'
+ ]
+ }
+ expected['history'] = None
expected['params'] = (
self.producer.param_named(
+ history=None,
constructor_argument='windowID', constructor_argument_override=None, constructor_prefix='WindowID',
- deprecated=False, description=['{"default_value": null, "max_value": null, "min_value": null}'],
+ deprecated=False, description=['{"num_min_value": null, "num_max_value": null}'],
for_name='object', mandatory=True, method_suffix='WindowID', modifier='strong',
of_class='NSNumber.class', origin='windowID', since=None, type_native='UInt32',
type_sdl='NSNumber<SDLInt> *'),
self.producer.param_named(
+ history=None,
constructor_argument='cmdID', constructor_argument_override=None, constructor_prefix='CmdID',
- deprecated=False, description=['{"default_value": null, "max_value": 2000000000, "min_value": 0}'],
+ deprecated=False, description=['{"num_min_value": 0, "num_max_value": 2000000000}'],
for_name='object', mandatory=True, method_suffix='CmdID', modifier='strong', of_class='NSNumber.class',
origin='cmdID', since=None, type_native='UInt32', type_sdl='NSNumber<SDLUInt> *'),
self.producer.param_named(
+ history=None,
constructor_argument='position', constructor_argument_override=None, constructor_prefix='Position',
- deprecated=False, description=['{"default_value": 1000, "max_value": 1000, "min_value": 0}'],
+ deprecated=False, description=['{"num_min_value": 0, "num_max_value": 1000, "default_value": 1000}'],
for_name='object', mandatory=True, method_suffix='Position', modifier='strong',
of_class='NSNumber.class', origin='position', since=None, type_native='UInt16',
type_sdl='NSNumber<SDLUInt> *'),
self.producer.param_named(
+ history=None,
constructor_argument='speed', constructor_argument_override=None, constructor_prefix='Speed',
- deprecated=False, description=['{"default_value": null, "max_value": 700.0, "min_value": 0.0}'],
+ deprecated=False, description=['{"num_min_value": 0.0, "num_max_value": 700.0}'],
for_name='object', mandatory=True, method_suffix='Speed', modifier='strong', of_class='NSNumber.class',
origin='speed', since=None, type_native='float', type_sdl='NSNumber<SDLFloat> *'),
self.producer.param_named(
+ history=None,
constructor_argument='offset', constructor_argument_override=None, constructor_prefix='Offset',
- deprecated=False, description=['{"default_value": null, "max_value": 100000000000, "min_value": 0}'],
+ deprecated=False, description=['{"num_min_value": 0, "num_max_value": 100000000000}'],
for_name='object', mandatory=True, method_suffix='Offset', modifier='strong', of_class='NSNumber.class',
origin='offset', since=None, type_native='UInt64', type_sdl='NSNumber<SDLUInt> *'),
self.producer.param_named(
+ history=None,
constructor_argument='duplicateUpdatesFromWindowID', constructor_argument_override=None,
constructor_prefix='DuplicateUpdatesFromWindowID', deprecated=False,
- description=['{"default_value": null, "max_value": null, "min_value": null}'], for_name='object',
+ description=['{"num_min_value": null, "num_max_value": null}'], for_name='object',
mandatory=False, method_suffix='DuplicateUpdatesFromWindowID', modifier='strong',
of_class='NSNumber.class', origin='duplicateUpdatesFromWindowID', since=None,
type_native='NSNumber<SDLInt> *', type_sdl='NSNumber<SDLInt> *'))
@@ -368,12 +432,12 @@ class TestFunctionsProducer(TestCase):
expected['constructors'] = (
self.producer.constructor_named(
- all=not_mandatory_arguments, arguments=not_mandatory_arguments, deprecated=False, self=True,
+ all=not_mandatory_arguments, arguments=not_mandatory_arguments, self=True,
init='WindowID:(UInt32)windowID cmdID:(UInt32)cmdID position:(UInt16)position speed:(float)speed '
'offset:(UInt64)offset'),
self.producer.constructor_named(
all=not_mandatory_arguments + mandatory_arguments, arguments=mandatory_arguments,
- deprecated=False, self='WindowID:windowID cmdID:cmdID position:position speed:speed offset:offset',
+ self='WindowID:windowID cmdID:cmdID position:position speed:speed offset:offset',
init='WindowID:(UInt32)windowID cmdID:(UInt32)cmdID position:(UInt16)position speed:(float)speed '
'offset:(UInt64)offset duplicateUpdatesFromWindowID:(nullable NSNumber<SDLInt> *)'
'duplicateUpdatesFromWindowID'))
@@ -395,11 +459,24 @@ class TestFunctionsProducer(TestCase):
expected['origin'] = 'CreateInteractionChoiceSet'
expected['name'] = 'SDLCreateInteractionChoiceSet'
expected['extends_class'] = 'SDLRPCRequest'
- expected['imports'] = {'.m': {'SDLChoice'}, '.h': {'struct': {'SDLChoice'}, 'enum': {'SDLRPCRequest'}}}
+ expected['imports'] = {
+ '.h': {
+ 'struct': ['SDLChoice'],
+ 'enum': ['SDLRPCRequest']},
+ '.m': [
+ 'NSMutableDictionary+Store',
+ 'SDLChoice',
+ 'SDLCreateInteractionChoiceSet',
+ 'SDLRPCFunctionNames',
+ 'SDLRPCParameterNames'
+ ]
+ }
+ expected['history'] = None
expected['params'] = (
self.producer.param_named(
+ history=None,
constructor_argument='choiceSet', constructor_argument_override=None,
- constructor_prefix='ChoiceSet', deprecated=False, description=[], for_name='objects', mandatory=True,
+ constructor_prefix='ChoiceSet', deprecated=False, description=['{"array_min_size": null, "array_max_size": null}'], for_name='objects', mandatory=True,
method_suffix='ChoiceSet', modifier='strong', of_class='SDLChoice.class', origin='choiceSet',
since=None, type_native='NSArray<SDLChoice *> *', type_sdl='NSArray<SDLChoice *> *'),)
@@ -408,7 +485,7 @@ class TestFunctionsProducer(TestCase):
origin='choiceSet')]
expected['constructors'] = (self.producer.constructor_named(
- all=argument, arguments=argument, deprecated=False, self=True,
+ all=argument, arguments=argument, self=True,
init='ChoiceSet:(NSArray<SDLChoice *> *)choiceSet'),)
actual = self.producer.transform(item)
@@ -432,15 +509,26 @@ class TestFunctionsProducer(TestCase):
expected['origin'] = 'SetDisplayLayout'
expected['name'] = 'SDLSetDisplayLayout'
expected['extends_class'] = 'SDLRPCRequest'
- expected['imports'] = {'.h': {'enum': {'SDLRPCRequest'}, 'struct': set()}, '.m': set()}
- expected['since'] = '6.0.0'
+ expected['imports'] = {
+ '.h': {
+ 'enum': ['SDLRPCRequest'],
+ 'struct': []},
+ '.m': [
+ 'NSMutableDictionary+Store',
+ 'SDLRPCFunctionNames',
+ 'SDLRPCParameterNames',
+ 'SDLSetDisplayLayout'
+ ]
+ }
expected['history'] = '3.0.0'
+ expected['since'] = '6.0.0'
expected['deprecated'] = True
expected['params'] = (
self.producer.param_named(
+ history=None,
constructor_argument='displayLayout', constructor_argument_override=None,
constructor_prefix='DisplayLayout', deprecated=False,
- description=['{"default_value": null, "max_length": 500, "min_length": 1}'], for_name='object',
+ description=['{"string_min_length": 1, "string_max_length": 500}'], for_name='object',
mandatory=True, method_suffix='DisplayLayout', modifier='strong', of_class='NSString.class',
origin='displayLayout', since=None, type_native='NSString *', type_sdl='NSString *'),)
@@ -449,7 +537,7 @@ class TestFunctionsProducer(TestCase):
constructor_argument='displayLayout', origin='displayLayout')]
expected['constructors'] = (self.producer.constructor_named(
- all=argument, arguments=argument, deprecated=False, self=True,
+ all=argument, arguments=argument, self=True,
init='DisplayLayout:(NSString *)displayLayout'),)
actual = self.producer.transform(item)
diff --git a/generator/test/test_structs.py b/generator/test/test_structs.py
index 61ea23702..0c33ebf3f 100644
--- a/generator/test/test_structs.py
+++ b/generator/test/test_structs.py
@@ -44,16 +44,29 @@ class TestStructsProducer(TestCase):
expected['origin'] = 'CloudAppProperties'
expected['name'] = 'SDLCloudAppProperties'
expected['extends_class'] = 'SDLRPCStruct'
- expected['imports'] = {'.m': set(), '.h': {'enum': {'SDLRPCStruct'}, 'struct': set()}}
+ expected['imports'] = {
+ '.h': {
+ 'enum': ['SDLRPCStruct'],
+ 'struct': []
+ },
+ '.m': [
+ 'NSMutableDictionary+Store',
+ 'SDLCloudAppProperties',
+ 'SDLRPCParameterNames'
+ ]
+ }
+ expected['history'] = None
expected['params'] = (
self.producer.param_named(
+ history=None,
constructor_argument='appID', constructor_argument_override=None, constructor_prefix='AppID',
- deprecated=False, description=['{"default_value": null, "max_length": null, "min_length": null}'],
+ deprecated=False, description=['{"string_min_length": null, "string_max_length": null}'],
for_name='object', mandatory=True, method_suffix='AppID', modifier='strong', of_class='NSString.class',
origin='appID', since=None, type_native='NSString *', type_sdl='NSString *'),
self.producer.param_named(
+ history=None,
constructor_argument='valueParam', constructor_argument_override=None, constructor_prefix='ValueParam',
- deprecated=False, description=['{"default_value": null, "max_length": null, "min_length": null}'],
+ deprecated=False, description=['{"string_min_length": null, "string_max_length": null}'],
for_name='object', mandatory=True, method_suffix='ValueParam', modifier='strong',
of_class='NSString.class', origin='valueParam', since=None, type_native='NSString *',
type_sdl='NSString *')
@@ -67,7 +80,7 @@ class TestStructsProducer(TestCase):
]
expected['constructors'] = (self.producer.constructor_named(
- all=argument, arguments=argument, deprecated=False, self='',
+ all=argument, arguments=argument, self='',
init='AppID:(NSString *)appID valueParam:(NSString *)valueParam'),)
actual = self.producer.transform(item)
@@ -85,12 +98,24 @@ class TestStructsProducer(TestCase):
expected['origin'] = 'TouchEvent'
expected['name'] = 'SDLTouchEvent'
expected['extends_class'] = 'SDLRPCStruct'
- expected['imports'] = {'.h': {'enum': {'SDLRPCStruct'}, 'struct': set()}, '.m': set()}
+ expected['imports'] = {
+ '.h': {
+ 'enum': ['SDLRPCStruct'],
+ 'struct': []
+ },
+ '.m': [
+ 'NSMutableDictionary+Store',
+ 'SDLRPCParameterNames',
+ 'SDLTouchEvent'
+ ]
+ }
+ expected['history'] = None
expected['params'] = (
self.producer.param_named(
+ history=None,
constructor_argument='idParam', constructor_argument_override=None,
constructor_prefix='IdParam', deprecated=False,
- description=['{"default_value": null, "max_value": 9, "min_value": 0}'], for_name='object',
+ description=['{"num_min_value": 0, "num_max_value": 9}'], for_name='object',
mandatory=True, method_suffix='IdParam', modifier='strong', of_class='NSNumber.class',
origin='idParam', since=None, type_native='UInt8', type_sdl='NSNumber<SDLUInt> *'),)
@@ -99,7 +124,7 @@ class TestStructsProducer(TestCase):
constructor_argument='@(idParam)', origin='idParam')]
expected['constructors'] = (self.producer.constructor_named(
- all=argument, arguments=argument, deprecated=False, self='',
+ all=argument, arguments=argument, self='',
init='IdParam:(UInt8)idParam'),)
actual = self.producer.transform(item)
diff --git a/generator/transformers/common_producer.py b/generator/transformers/common_producer.py
index fd5d4cf74..e33e51957 100644
--- a/generator/transformers/common_producer.py
+++ b/generator/transformers/common_producer.py
@@ -69,11 +69,11 @@ class InterfaceProducerCommon(ABC):
render['params'][param.name] = self.extract_param(param, item.name)
if isinstance(item, (Struct, Function)):
self.extract_imports(param, render['imports'])
-
+
# Add additional known imports to the import list
if isinstance(item, (Struct, Function)):
name = 'SDL' + item.name
- render[importsKey]['.m'].add( "NSMutableDictionary+Store" )
+ render[importsKey]['.m'].add("NSMutableDictionary+Store")
render[importsKey]['.m'].add(name)
render[importsKey]['.h'][enumKey] = list(render[importsKey]['.h'][enumKey])
(render[importsKey]['.h'][enumKey]).sort()
@@ -82,11 +82,11 @@ class InterfaceProducerCommon(ABC):
if isinstance(item, Struct):
name = 'SDL' + item.name
- render[importsKey]['.m'].add( "SDLRPCParameterNames" )
+ render[importsKey]['.m'].add("SDLRPCParameterNames")
if isinstance(item, Function):
- render[importsKey]['.m'].add( "SDLRPCFunctionNames" )
- render[importsKey]['.m'].add( "SDLRPCParameterNames" )
+ render[importsKey]['.m'].add("SDLRPCFunctionNames")
+ render[importsKey]['.m'].add("SDLRPCParameterNames")
# Sort the import list to ensure they appear in alphabetical order in the template
render[importsKey]['.m'] = list(render[importsKey]['.m'])
@@ -364,9 +364,7 @@ class InterfaceProducerCommon(ABC):
'mandatory': param.is_mandatory,
'deprecated': json.loads(param.deprecated.lower()) if param.deprecated else False,
'modifier': 'strong',
- 'history' : param.history }
-
- parameterItems = OrderedDict()
+ 'history': param.history}
if isinstance(param.param_type, (Integer, Float, String, Array)):
self.create_param_type_descriptor(param.param_type, parameterItems)
@@ -443,4 +441,3 @@ class InterfaceProducerCommon(ABC):
return 'num_min_value'
else:
return parameterName
-