summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Gluck <justin.gluck@livio.io>2019-07-23 14:45:17 -0400
committerJustin Gluck <justin.gluck@livio.io>2019-07-23 14:45:17 -0400
commitee10ebf2ffd02432ffaf7f7967c43fcda0bad4cf (patch)
treed6956026372f85c2b38c88813541a0a3f120a015
parentb2eb6a5cb3c3fa639a7bf8ca94d327e7286ea450 (diff)
parentc2e9ed14a6a2d2797033780fcf383894bca772fa (diff)
downloadsdl_ios-feature/issue-1269-Navigation-Subcription-Buttons.tar.gz
Merge branch 'develop' into feature/issue-1269-Navigation-Subcription-Buttonsfeature/issue-1269-Navigation-Subcription-Buttons
-rw-r--r--CHANGELOG.md5
-rw-r--r--Example Apps/Example ObjC/SmartDeviceLink-Example-ObjC-Info.plist2
-rw-r--r--Example Apps/Example Swift/SmartDeviceLink-Example-Swift-Info.plist2
-rw-r--r--SmartDeviceLink-iOS.podspec2
-rw-r--r--SmartDeviceLink.podspec2
-rw-r--r--SmartDeviceLink/Info.plist2
-rw-r--r--SmartDeviceLink/SDLClimateControlCapabilities.h14
-rw-r--r--SmartDeviceLink/SDLClimateControlCapabilities.m14
-rw-r--r--SmartDeviceLink/SDLClimateControlData.h13
-rw-r--r--SmartDeviceLink/SDLClimateControlData.m32
-rw-r--r--SmartDeviceLink/SDLGlobals.m2
-rw-r--r--SmartDeviceLink/SDLIAPTransport.m2
-rw-r--r--SmartDeviceLink/SDLLifecycleManager.m8
-rw-r--r--SmartDeviceLink/SDLProxy.m2
-rw-r--r--SmartDeviceLink/SDLRPCParameterNames.h4
-rw-r--r--SmartDeviceLink/SDLRPCParameterNames.m4
-rw-r--r--SmartDeviceLink/SDLRadioControlCapabilities.h35
-rw-r--r--SmartDeviceLink/SDLRadioControlCapabilities.m35
-rw-r--r--SmartDeviceLink/SDLRadioControlData.h13
-rw-r--r--SmartDeviceLink/SDLRadioControlData.m8
-rw-r--r--SmartDeviceLinkSwift/Info.plist2
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m2
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlCapabilitiesSpec.m34
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlDataSpec.m9
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlCapabilitiesSpec.m55
-rw-r--r--SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlDataSpec.m10
26 files changed, 282 insertions, 31 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3bcfbf9b8..b780fa9c4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,9 @@
# Changelog
+## 6.3.1
+### Bug Fixes
+* Fix unregistering for EATransport notifications can interfere with other apps' EATransport notifications (https://www.github.com/smartdevicelink/sdl_ios/issues/1329).
+* Fix issues related to the background task running when the device is in the process of making an IAP connection but is in the background (https://www.github.com/smartdevicelink/sdl_ios/issues/1326, https://www.github.com/smartdevicelink/sdl_ios/issues/1327).
+
## 6.3.0
### Versions
* Supports [SDL RPC Spec 5.1.0](https://github.com/smartdevicelink/rpc_spec/releases/tag/5.1.0) and [SDL Protocol Spec 5.2.0](https://github.com/smartdevicelink/protocol_spec/releases/tag/5.2.0).
diff --git a/Example Apps/Example ObjC/SmartDeviceLink-Example-ObjC-Info.plist b/Example Apps/Example ObjC/SmartDeviceLink-Example-ObjC-Info.plist
index db70c2cae..ddf174213 100644
--- a/Example Apps/Example ObjC/SmartDeviceLink-Example-ObjC-Info.plist
+++ b/Example Apps/Example ObjC/SmartDeviceLink-Example-ObjC-Info.plist
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>6.3.0</string>
+ <string>6.3.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
diff --git a/Example Apps/Example Swift/SmartDeviceLink-Example-Swift-Info.plist b/Example Apps/Example Swift/SmartDeviceLink-Example-Swift-Info.plist
index d3ab6c871..34a7b097a 100644
--- a/Example Apps/Example Swift/SmartDeviceLink-Example-Swift-Info.plist
+++ b/Example Apps/Example Swift/SmartDeviceLink-Example-Swift-Info.plist
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
- <string>6.3.0</string>
+ <string>6.3.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
diff --git a/SmartDeviceLink-iOS.podspec b/SmartDeviceLink-iOS.podspec
index 18cb88576..1b671ed98 100644
--- a/SmartDeviceLink-iOS.podspec
+++ b/SmartDeviceLink-iOS.podspec
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "SmartDeviceLink-iOS"
-s.version = "6.3.0"
+s.version = "6.3.1"
s.summary = "Connect your app with cars!"
s.homepage = "https://github.com/smartdevicelink/SmartDeviceLink-iOS"
s.license = { :type => "New BSD", :file => "LICENSE" }
diff --git a/SmartDeviceLink.podspec b/SmartDeviceLink.podspec
index 97fe847b5..3270bf26a 100644
--- a/SmartDeviceLink.podspec
+++ b/SmartDeviceLink.podspec
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|
s.name = "SmartDeviceLink"
-s.version = "6.3.0"
+s.version = "6.3.1"
s.summary = "Connect your app with cars!"
s.homepage = "https://github.com/smartdevicelink/SmartDeviceLink-iOS"
s.license = { :type => "New BSD", :file => "LICENSE" }
diff --git a/SmartDeviceLink/Info.plist b/SmartDeviceLink/Info.plist
index 8761e930d..0e0ef8021 100644
--- a/SmartDeviceLink/Info.plist
+++ b/SmartDeviceLink/Info.plist
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>6.3.0</string>
+ <string>6.3.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
diff --git a/SmartDeviceLink/SDLClimateControlCapabilities.h b/SmartDeviceLink/SDLClimateControlCapabilities.h
index 860827967..a8d4035da 100644
--- a/SmartDeviceLink/SDLClimateControlCapabilities.h
+++ b/SmartDeviceLink/SDLClimateControlCapabilities.h
@@ -13,9 +13,11 @@ NS_ASSUME_NONNULL_BEGIN
*/
@interface SDLClimateControlCapabilities : SDLRPCStruct
-- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable __deprecated_msg("Use initWithModuleName:fanSpeedAvailable:desiredTemperatureAvailable:acEnableAvailable:acMaxEnableAvailable:circulateAirAvailable:autoModeEnableAvailable: dualModeEnableAvailable:defrostZoneAvailable:ventilationModeAvailable: heatedSteeringWheelAvailable:heatedWindshieldAvailable: heatedRearWindowAvailable:heatedMirrorsAvailable: instead");
+- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable __deprecated_msg("Use initWithModuleName:fanSpeedAvailable:desiredTemperatureAvailable:acEnableAvailable:acMaxEnableAvailable:circulateAirAvailable:autoModeEnableAvailable: dualModeEnableAvailable:defrostZoneAvailable:ventilationModeAvailable: heatedSteeringWheelAvailable:heatedWindshieldAvailable: heatedRearWindowAvailable:heatedMirrorsAvailable: climateEnableAvailable: instead");
-- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable heatedSteeringWheelAvailable:(BOOL)heatedSteeringWheelAvailable heatedWindshieldAvailable:(BOOL)heatedWindshieldAvailable heatedRearWindowAvailable:(BOOL)heatedRearWindowAvailable heatedMirrorsAvailable:(BOOL)heatedMirrorsAvailable;
+- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable heatedSteeringWheelAvailable:(BOOL)heatedSteeringWheelAvailable heatedWindshieldAvailable:(BOOL)heatedWindshieldAvailable heatedRearWindowAvailable:(BOOL)heatedRearWindowAvailable heatedMirrorsAvailable:(BOOL)heatedMirrorsAvailable __deprecated_msg("Use initWithModuleName:fanSpeedAvailable:desiredTemperatureAvailable:acEnableAvailable:acMaxEnableAvailable:circulateAirAvailable:autoModeEnableAvailable: dualModeEnableAvailable:defrostZoneAvailable:ventilationModeAvailable: heatedSteeringWheelAvailable:heatedWindshieldAvailable: heatedRearWindowAvailable:heatedMirrorsAvailable: climateEnableAvailable: instead");
+
+- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable heatedSteeringWheelAvailable:(BOOL)heatedSteeringWheelAvailable heatedWindshieldAvailable:(BOOL)heatedWindshieldAvailable heatedRearWindowAvailable:(BOOL)heatedRearWindowAvailable heatedMirrorsAvailable:(BOOL)heatedMirrorsAvailable climateEnableAvailable:(BOOL)climateEnableAvailable;
/**
* The short friendly name of the climate control module.
@@ -146,6 +148,14 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property (nullable, strong, nonatomic) NSNumber<SDLBool> *heatedMirrorsAvailable;
+/**
+ * @abstract Availability of the control of enable/disable climate control.
+ * True: Available, False: Not Available, Not present: Not Available.
+ *
+ * Optional, Boolean
+ */
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *climateEnableAvailable;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLClimateControlCapabilities.m b/SmartDeviceLink/SDLClimateControlCapabilities.m
index e2e488a94..199795974 100644
--- a/SmartDeviceLink/SDLClimateControlCapabilities.m
+++ b/SmartDeviceLink/SDLClimateControlCapabilities.m
@@ -11,11 +11,14 @@ NS_ASSUME_NONNULL_BEGIN
@implementation SDLClimateControlCapabilities
- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable {
-
return [self initWithModuleName:moduleName fanSpeedAvailable:fanSpeedAvailable desiredTemperatureAvailable:desiredTemperatureAvailable acEnableAvailable:acEnableAvailable acMaxEnableAvailable:acMaxEnableAvailable circulateAirAvailable:circulateAirEnableAvailable autoModeEnableAvailable:autoModeEnableAvailable dualModeEnableAvailable:dualModeEnableAvailable defrostZoneAvailable:defrostZoneAvailable ventilationModeAvailable:ventilationModeAvailable heatedSteeringWheelAvailable:NO heatedWindshieldAvailable:NO heatedRearWindowAvailable:NO heatedMirrorsAvailable:NO];
}
- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable heatedSteeringWheelAvailable:(BOOL)steeringWheelAvailable heatedWindshieldAvailable:(BOOL)windshieldAvailable heatedRearWindowAvailable:(BOOL)rearWindowAvailable heatedMirrorsAvailable:(BOOL)mirrorsAvailable {
+ return [self initWithModuleName:moduleName fanSpeedAvailable:fanSpeedAvailable desiredTemperatureAvailable:desiredTemperatureAvailable acEnableAvailable:acEnableAvailable acMaxEnableAvailable:acMaxEnableAvailable circulateAirAvailable:circulateAirEnableAvailable autoModeEnableAvailable:autoModeEnableAvailable dualModeEnableAvailable:dualModeEnableAvailable defrostZoneAvailable:defrostZoneAvailable ventilationModeAvailable:ventilationModeAvailable heatedSteeringWheelAvailable:steeringWheelAvailable heatedWindshieldAvailable:windshieldAvailable heatedRearWindowAvailable:rearWindowAvailable heatedMirrorsAvailable:mirrorsAvailable climateEnableAvailable:NO];
+}
+
+- (instancetype)initWithModuleName:(NSString *)moduleName fanSpeedAvailable:(BOOL)fanSpeedAvailable desiredTemperatureAvailable:(BOOL)desiredTemperatureAvailable acEnableAvailable:(BOOL)acEnableAvailable acMaxEnableAvailable:(BOOL)acMaxEnableAvailable circulateAirAvailable:(BOOL)circulateAirEnableAvailable autoModeEnableAvailable:(BOOL)autoModeEnableAvailable dualModeEnableAvailable:(BOOL)dualModeEnableAvailable defrostZoneAvailable:(BOOL)defrostZoneAvailable ventilationModeAvailable:(BOOL)ventilationModeAvailable heatedSteeringWheelAvailable:(BOOL)steeringWheelAvailable heatedWindshieldAvailable:(BOOL)windshieldAvailable heatedRearWindowAvailable:(BOOL)rearWindowAvailable heatedMirrorsAvailable:(BOOL)mirrorsAvailable climateEnableAvailable:(BOOL)climateEnableAvailable{
self = [self init];
if (!self) {
return nil;
@@ -35,6 +38,7 @@ NS_ASSUME_NONNULL_BEGIN
self.heatedWindshieldAvailable = @(windshieldAvailable);
self.heatedRearWindowAvailable = @(rearWindowAvailable);
self.heatedMirrorsAvailable = @(mirrorsAvailable);
+ self.climateEnableAvailable = @(climateEnableAvailable);
return self;
}
@@ -167,6 +171,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.store sdl_objectForName:SDLRPCParameterNameHeatedMirrorsAvailable ofClass:NSNumber.class error:nil];
}
+- (void)setClimateEnableAvailable:(nullable NSNumber<SDLBool> *)climateEnableAvailable {
+ [self.store sdl_setObject:climateEnableAvailable forName:SDLRPCParameterNameClimateEnableAvailable];
+}
+
+- (nullable NSNumber<SDLBool> *)climateEnableAvailable {
+ return [self.store sdl_objectForName:SDLRPCParameterNameClimateEnableAvailable ofClass:NSNumber.class error:nil];
+}
+
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLClimateControlData.h b/SmartDeviceLink/SDLClimateControlData.h
index 29938b251..7d430d188 100644
--- a/SmartDeviceLink/SDLClimateControlData.h
+++ b/SmartDeviceLink/SDLClimateControlData.h
@@ -16,9 +16,11 @@ NS_ASSUME_NONNULL_BEGIN
*/
@interface SDLClimateControlData : SDLRPCStruct
-- (instancetype)initWithFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber<SDLBool> *)acEnable circulateAirEnable:(nullable NSNumber<SDLBool> *)circulateAirEnable autoModeEnable:(nullable NSNumber<SDLBool> *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber<SDLBool> *)dualModeEnable acMaxEnable:(nullable NSNumber<SDLBool> *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode __deprecated_msg("Use initWithFanSpeed:desiredTemperature:acEnable:circulateAirEnable:autoModeEnable:defrostZone: dualModeEnable:acMaxEnable:ventilationMode:heatedSteeringWheelEnable: heatedWindshieldEnable:heatedRearWindowEnable:heatedMirrorsEnable: instead");
+- (instancetype)initWithFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber<SDLBool> *)acEnable circulateAirEnable:(nullable NSNumber<SDLBool> *)circulateAirEnable autoModeEnable:(nullable NSNumber<SDLBool> *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber<SDLBool> *)dualModeEnable acMaxEnable:(nullable NSNumber<SDLBool> *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode __deprecated_msg("Use initWithFanSpeed:desiredTemperature:acEnable:circulateAirEnable:autoModeEnable:defrostZone: dualModeEnable:acMaxEnable:ventilationMode:heatedSteeringWheelEnable: heatedWindshieldEnable:heatedRearWindowEnable:heatedMirrorsEnable:climateEnable instead");
-- (instancetype)initWithFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber<SDLBool> *)acEnable circulateAirEnable:(nullable NSNumber<SDLBool> *)circulateAirEnable autoModeEnable:(nullable NSNumber<SDLBool> *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber<SDLBool> *)dualModeEnable acMaxEnable:(nullable NSNumber<SDLBool> *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode heatedSteeringWheelEnable:(nullable NSNumber<SDLBool> *)heatedSteeringWheelEnable heatedWindshieldEnable:(nullable NSNumber<SDLBool> *)heatedWindshieldEnable heatedRearWindowEnable:(nullable NSNumber<SDLBool> *)heatedRearWindowEnable heatedMirrorsEnable:(nullable NSNumber<SDLBool> *)heatedMirrorsEnable;
+- (instancetype)initWithFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber<SDLBool> *)acEnable circulateAirEnable:(nullable NSNumber<SDLBool> *)circulateAirEnable autoModeEnable:(nullable NSNumber<SDLBool> *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber<SDLBool> *)dualModeEnable acMaxEnable:(nullable NSNumber<SDLBool> *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode heatedSteeringWheelEnable:(nullable NSNumber<SDLBool> *)heatedSteeringWheelEnable heatedWindshieldEnable:(nullable NSNumber<SDLBool> *)heatedWindshieldEnable heatedRearWindowEnable:(nullable NSNumber<SDLBool> *)heatedRearWindowEnable heatedMirrorsEnable:(nullable NSNumber<SDLBool> *)heatedMirrorsEnable __deprecated_msg("Use initWithFanSpeed:desiredTemperature:acEnable:circulateAirEnable:autoModeEnable:defrostZone: dualModeEnable:acMaxEnable:ventilationMode:heatedSteeringWheelEnable: heatedWindshieldEnable:heatedRearWindowEnable:heatedMirrorsEnable:climateEnable instead");
+
+- (instancetype)initWithFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber<SDLBool> *)acEnable circulateAirEnable:(nullable NSNumber<SDLBool> *)circulateAirEnable autoModeEnable:(nullable NSNumber<SDLBool> *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber<SDLBool> *)dualModeEnable acMaxEnable:(nullable NSNumber<SDLBool> *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode heatedSteeringWheelEnable:(nullable NSNumber<SDLBool> *)heatedSteeringWheelEnable heatedWindshieldEnable:(nullable NSNumber<SDLBool> *)heatedWindshieldEnable heatedRearWindowEnable:(nullable NSNumber<SDLBool> *)heatedRearWindowEnable heatedMirrorsEnable:(nullable NSNumber<SDLBool> *)heatedMirrorsEnable climateEnable:(nullable NSNumber<SDLBool> *)climateEnable;
/**
* Speed of Fan in integer
@@ -120,6 +122,13 @@ NS_ASSUME_NONNULL_BEGIN
*/
@property (nullable, strong, nonatomic) NSNumber<SDLBool> *heatedMirrorsEnable;
+/**
+ * @abstract Value false means disabled, value true means enabled.
+ *
+ * Optional, Boolean
+ */
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *climateEnable;
+
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLClimateControlData.m b/SmartDeviceLink/SDLClimateControlData.m
index e84e87821..bed8ba365 100644
--- a/SmartDeviceLink/SDLClimateControlData.m
+++ b/SmartDeviceLink/SDLClimateControlData.m
@@ -38,6 +38,30 @@ NS_ASSUME_NONNULL_BEGIN
return self;
}
+- (instancetype)initWithFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed desiredTemperature:(nullable SDLTemperature *)desiredTemperature acEnable:(nullable NSNumber<SDLBool> *)acEnable circulateAirEnable:(nullable NSNumber<SDLBool> *)circulateAirEnable autoModeEnable:(nullable NSNumber<SDLBool> *)autoModeEnable defrostZone:(nullable SDLDefrostZone)defrostZone dualModeEnable:(nullable NSNumber<SDLBool> *)dualModeEnable acMaxEnable:(nullable NSNumber<SDLBool> *)acMaxEnable ventilationMode:(nullable SDLVentilationMode)ventilationMode heatedSteeringWheelEnable:(nullable NSNumber<SDLBool> *)heatedSteeringWheelEnable heatedWindshieldEnable:(nullable NSNumber<SDLBool> *)heatedWindshieldEnable heatedRearWindowEnable:(nullable NSNumber<SDLBool> *)heatedRearWindowEnable heatedMirrorsEnable:(nullable NSNumber<SDLBool> *)heatedMirrorsEnable climateEnable:(nullable NSNumber<SDLBool> *)climateEnable {
+ self = [self init];
+ if (!self) {
+ return nil;
+ }
+
+ self.fanSpeed = fanSpeed;
+ self.desiredTemperature = desiredTemperature;
+ self.acEnable = acEnable;
+ self.circulateAirEnable = circulateAirEnable;
+ self.autoModeEnable = autoModeEnable;
+ self.defrostZone = defrostZone;
+ self.dualModeEnable = dualModeEnable;
+ self.acMaxEnable = acMaxEnable;
+ self.ventilationMode = ventilationMode;
+ self.heatedSteeringWheelEnable = heatedSteeringWheelEnable;
+ self.heatedWindshieldEnable = heatedWindshieldEnable;
+ self.heatedRearWindowEnable = heatedRearWindowEnable;
+ self.heatedMirrorsEnable = heatedMirrorsEnable;
+ self.climateEnable = climateEnable;
+
+ return self;
+}
+
- (void)setFanSpeed:(nullable NSNumber<SDLInt> *)fanSpeed {
[self.store sdl_setObject:fanSpeed forName:SDLRPCParameterNameFanSpeed];
}
@@ -150,6 +174,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.store sdl_objectForName:SDLRPCParameterNameHeatedMirrorsEnable ofClass:NSNumber.class error:nil];
}
+- (void)setClimateEnable:(nullable NSNumber<SDLBool> *)climateEnable {
+ [self.store sdl_setObject:climateEnable forName:SDLRPCParameterNameClimateEnable];
+}
+
+- (nullable NSNumber<SDLBool> *)climateEnable {
+ return [self.store sdl_objectForName:SDLRPCParameterNameClimateEnable ofClass:NSNumber.class error:nil];
+}
+
@end
NS_ASSUME_NONNULL_END
diff --git a/SmartDeviceLink/SDLGlobals.m b/SmartDeviceLink/SDLGlobals.m
index 735139b22..3fcce2bdb 100644
--- a/SmartDeviceLink/SDLGlobals.m
+++ b/SmartDeviceLink/SDLGlobals.m
@@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
// VERSION DEPENDENT CODE
NSString *const SDLMaxProxyProtocolVersion = @"5.2.0";
-NSString *const SDLMaxProxyRPCVersion = @"5.1.0";
+NSString *const SDLMaxProxyRPCVersion = @"6.0.0";
NSUInteger const SDLDefaultMTUSize = UINT32_MAX;
NSUInteger const SDLV1MTUSize = 1024;
diff --git a/SmartDeviceLink/SDLIAPTransport.m b/SmartDeviceLink/SDLIAPTransport.m
index d67b2f11e..e83e5aa3d 100644
--- a/SmartDeviceLink/SDLIAPTransport.m
+++ b/SmartDeviceLink/SDLIAPTransport.m
@@ -80,7 +80,7 @@ int const CreateSessionRetries = 3;
*/
- (void)sdl_stopEventListening {
SDLLogV(@"SDLIAPTransport stopped listening for events");
- [[EAAccessoryManager sharedAccessoryManager] unregisterForLocalNotifications];
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
}
#pragma mark EAAccessory Notifications
diff --git a/SmartDeviceLink/SDLLifecycleManager.m b/SmartDeviceLink/SDLLifecycleManager.m
index 908f5c43f..a5fa00f9c 100644
--- a/SmartDeviceLink/SDLLifecycleManager.m
+++ b/SmartDeviceLink/SDLLifecycleManager.m
@@ -282,7 +282,7 @@ NSString *const BackgroundTaskTransportName = @"com.sdl.transport.backgroundTask
if (shouldRestart) {
[strongSelf sdl_transitionToState:SDLLifecycleStateStarted];
} else {
- // End any background tasks because a session will not be established
+ // End the background task because a session will not be established
[self.backgroundTaskManager endBackgroundTask];
}
});
@@ -498,6 +498,9 @@ NSString *const BackgroundTaskTransportName = @"com.sdl.transport.backgroundTask
[self.delegate audioStreamingState:SDLAudioStreamingStateNotAudible didChangeToState:self.audioStreamingState];
}
});
+
+ // Stop the background task now that setup has completed
+ [self.backgroundTaskManager endBackgroundTask];
}
- (void)didEnterStateUnregistering {
@@ -708,9 +711,6 @@ NSString *const BackgroundTaskTransportName = @"com.sdl.transport.backgroundTask
- (void)transportDidConnect {
SDLLogD(@"Transport connected");
- // End any background tasks since the transport connected successfully
- [self.backgroundTaskManager endBackgroundTask];
-
dispatch_async(self.lifecycleQueue, ^{
[self sdl_transitionToState:SDLLifecycleStateConnected];
});
diff --git a/SmartDeviceLink/SDLProxy.m b/SmartDeviceLink/SDLProxy.m
index 6ab2006c8..10d3b7889 100644
--- a/SmartDeviceLink/SDLProxy.m
+++ b/SmartDeviceLink/SDLProxy.m
@@ -50,7 +50,7 @@ typedef NSString SDLVehicleMake;
typedef void (^URLSessionTaskCompletionHandler)(NSData *data, NSURLResponse *response, NSError *error);
typedef void (^URLSessionDownloadTaskCompletionHandler)(NSURL *location, NSURLResponse *response, NSError *error);
-NSString *const SDLProxyVersion = @"6.3.0";
+NSString *const SDLProxyVersion = @"6.3.1";
const float StartSessionTime = 10.0;
const float NotifyProxyClosedDelay = (float)0.1;
const int PoliciesCorrelationId = 65535;
diff --git a/SmartDeviceLink/SDLRPCParameterNames.h b/SmartDeviceLink/SDLRPCParameterNames.h
index e967bb274..fc0f17ddf 100644
--- a/SmartDeviceLink/SDLRPCParameterNames.h
+++ b/SmartDeviceLink/SDLRPCParameterNames.h
@@ -61,7 +61,9 @@ extern SDLRPCParameterName const SDLRPCParameterNameAutoModeEnable;
extern SDLRPCParameterName const SDLRPCParameterNameAutoModeEnableAvailable;
extern SDLRPCParameterName const SDLRPCParameterNameAuxECallNotificationStatus;
extern SDLRPCParameterName const SDLRPCParameterNameAvailableHDs;
+extern SDLRPCParameterName const SDLRPCParameterNameAvailableHDChannels;
extern SDLRPCParameterName const SDLRPCParameterNameAvailableHDsAvailable;
+extern SDLRPCParameterName const SDLRPCParameterNameAvailableHDChannelsAvailable;
extern SDLRPCParameterName const SDLRPCParameterNameBackgroundColor;
extern SDLRPCParameterName const SDLRPCParameterNameBackTiltAngle;
extern SDLRPCParameterName const SDLRPCParameterNameBackTiltAngleAvailable;
@@ -236,6 +238,8 @@ extern SDLRPCParameterName const SDLRPCParameterNameHeatedSteeringWheelAvailable
extern SDLRPCParameterName const SDLRPCParameterNameHeatedWindshieldAvailable;
extern SDLRPCParameterName const SDLRPCParameterNameHeatedRearWindowAvailable;
extern SDLRPCParameterName const SDLRPCParameterNameHeatedMirrorsAvailable;
+extern SDLRPCParameterName const SDLRPCParameterNameClimateEnable;
+extern SDLRPCParameterName const SDLRPCParameterNameClimateEnableAvailable;
extern SDLRPCParameterName const SDLRPCParameterNameHeatedSteeringWheelEnable;
extern SDLRPCParameterName const SDLRPCParameterNameHeatedWindshieldEnable;
extern SDLRPCParameterName const SDLRPCParameterNameHeatedRearWindowEnable;
diff --git a/SmartDeviceLink/SDLRPCParameterNames.m b/SmartDeviceLink/SDLRPCParameterNames.m
index eabba3300..30236acb4 100644
--- a/SmartDeviceLink/SDLRPCParameterNames.m
+++ b/SmartDeviceLink/SDLRPCParameterNames.m
@@ -59,7 +59,9 @@ SDLRPCParameterName const SDLRPCParameterNameAutoModeEnable = @"autoModeEnable";
SDLRPCParameterName const SDLRPCParameterNameAutoModeEnableAvailable = @"autoModeEnableAvailable";
SDLRPCParameterName const SDLRPCParameterNameAuxECallNotificationStatus = @"auxECallNotificationStatus";
SDLRPCParameterName const SDLRPCParameterNameAvailableHDs = @"availableHDs";
+SDLRPCParameterName const SDLRPCParameterNameAvailableHDChannels = @"availableHDChannels";
SDLRPCParameterName const SDLRPCParameterNameAvailableHDsAvailable = @"availableHDsAvailable";
+SDLRPCParameterName const SDLRPCParameterNameAvailableHDChannelsAvailable = @"availableHDChannelsAvailable";
SDLRPCParameterName const SDLRPCParameterNameBackgroundColor = @"backgroundColor";
SDLRPCParameterName const SDLRPCParameterNameBackTiltAngle = @"backTiltAngle";
SDLRPCParameterName const SDLRPCParameterNameBackTiltAngleAvailable = @"backTiltAngleAvailable";
@@ -233,6 +235,8 @@ SDLRPCParameterName const SDLRPCParameterNameHeatedSteeringWheelAvailable = @"he
SDLRPCParameterName const SDLRPCParameterNameHeatedWindshieldAvailable = @"heatedWindshieldAvailable";
SDLRPCParameterName const SDLRPCParameterNameHeatedRearWindowAvailable = @"heatedRearWindowAvailable";
SDLRPCParameterName const SDLRPCParameterNameHeatedMirrorsAvailable = @"heatedMirrorsAvailable";
+SDLRPCParameterName const SDLRPCParameterNameClimateEnable = @"climateEnable";
+SDLRPCParameterName const SDLRPCParameterNameClimateEnableAvailable = @"climateEnableAvailable";
SDLRPCParameterName const SDLRPCParameterNameHeatedSteeringWheelEnable = @"heatedSteeringWheelEnable";
SDLRPCParameterName const SDLRPCParameterNameHeatedWindshieldEnable = @"heatedWindshieldEnable";
SDLRPCParameterName const SDLRPCParameterNameHeatedRearWindowEnable = @"heatedRearWindowEnable";
diff --git a/SmartDeviceLink/SDLRadioControlCapabilities.h b/SmartDeviceLink/SDLRadioControlCapabilities.h
index 5bdcbebbf..2552e406f 100644
--- a/SmartDeviceLink/SDLRadioControlCapabilities.h
+++ b/SmartDeviceLink/SDLRadioControlCapabilities.h
@@ -26,7 +26,27 @@ NS_ASSUME_NONNULL_BEGIN
@param signalChangeThresholdAvailable Availability of the getting the signal Change Threshold.
@return An instance of the SDLRadioControlCapabilities class.
*/
-- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable __deprecated_msg(("Use initWithModuleName:moduleName:radioEnableAvailable radioFrequencyAvailable:hdChannelAvailable:rdsDataAvailable:availableHDsAvailable:stateAvailable:signalStrengthAvailable:signalChangeThresholdAvailable:hdRadioEnableAvailable:siriusXMRadioAvailable:sisDataAvailable: instead"));
+- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable __deprecated_msg(("Use initWithModuleName:moduleName:radioEnableAvailable radioFrequencyAvailable:hdChannelAvailable:rdsDataAvailable:availableHDChannelsAvailable:stateAvailable:signalStrengthAvailable:signalChangeThresholdAvailable:hdRadioEnableAvailable:siriusXMRadioAvailable:sisDataAvailable: instead"));
+
+/**
+ Constructs a newly allocated SDLRadioControlCapabilities object with given parameters.
+
+ @param moduleName The short friendly name of the radio control module.
+ @param radioEnableAvailable Availability of the control of enable/disable radio.
+ @param radioBandAvailable Availability of the control of radio band.
+ @param radioFrequencyAvailable Availability of the control of radio frequency.
+ @param hdChannelAvailable Availability of the control of HD radio channel.
+ @param rdsDataAvailable Availability of the getting Radio Data System (RDS) data.
+ @param availableHDChannelsAvailable Availability of the list of available HD sub-channel indexes.
+ @param stateAvailable Availability of the getting the Radio state.
+ @param signalStrengthAvailable Availability of the getting the signal strength.
+ @param signalChangeThresholdAvailable Availability of the getting the signal Change Threshold.
+ @param hdRadioEnableAvailable Availability of the control of enable/disable HD radio.
+ @param siriusXMRadioAvailable Availability of sirius XM radio.
+ @param sisDataAvailable Availability of sis data.
+ @return An instance of the SDLRadioControlCapabilities class
+ */
+- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDChannelsAvailable:(BOOL)availableHDChannelsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable hdRadioEnableAvailable:(BOOL)hdRadioEnableAvailable siriusXMRadioAvailable:(BOOL)siriusXMRadioAvailable sisDataAvailable:(BOOL)sisDataAvailable;
/**
Constructs a newly allocated SDLRadioControlCapabilities object with given parameters.
@@ -46,7 +66,7 @@ NS_ASSUME_NONNULL_BEGIN
@param sisDataAvailable Availability of sis data.
@return An instance of the SDLRadioControlCapabilities class
*/
-- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable hdRadioEnableAvailable:(BOOL)hdRadioEnableAvailable siriusXMRadioAvailable:(BOOL)siriusXMRadioAvailable sisDataAvailable:(BOOL)sisDataAvailable;
+- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable hdRadioEnableAvailable:(BOOL)hdRadioEnableAvailable siriusXMRadioAvailable:(BOOL)siriusXMRadioAvailable sisDataAvailable:(BOOL)sisDataAvailable __deprecated_msg(("Use initWithModuleName:moduleName:radioEnableAvailable radioFrequencyAvailable:hdChannelAvailable:rdsDataAvailable:availableHDChannelsAvailable:stateAvailable:signalStrengthAvailable:signalChangeThresholdAvailable:hdRadioEnableAvailable:siriusXMRadioAvailable:sisDataAvailable: instead"));
/**
* The short friendly name of the radio control module.
@@ -109,7 +129,16 @@ NS_ASSUME_NONNULL_BEGIN
*
* Optional, Boolean
*/
-@property (nullable, strong, nonatomic) NSNumber<SDLBool> *availableHDsAvailable;
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *availableHDsAvailable __deprecated_msg("Use availableHDChannelsAvailable instead.");
+
+/**
+ * Availability of the list of available HD sub-channel indexes.
+
+ * True: Available, False: Not Available, Not present: Not Available.
+ *
+ * Optional, Boolean
+ */
+@property (nullable, strong, nonatomic) NSNumber<SDLBool> *availableHDChannelsAvailable;
/**
* Availability of the getting the Radio state.
diff --git a/SmartDeviceLink/SDLRadioControlCapabilities.m b/SmartDeviceLink/SDLRadioControlCapabilities.m
index 993592296..7846ff267 100644
--- a/SmartDeviceLink/SDLRadioControlCapabilities.m
+++ b/SmartDeviceLink/SDLRadioControlCapabilities.m
@@ -14,7 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
return [self initWithModuleName:moduleName radioEnableAvailable:radioEnableAvailable radioBandAvailable:radioBandAvailable radioFrequencyAvailable:radioFrequencyAvailable hdChannelAvailable:hdChannelAvailable rdsDataAvailable:rdsDataAvailable availableHDsAvailable:availableHDsAvailable stateAvailable:stateAvailable signalStrengthAvailable:signalStrengthAvailable signalChangeThresholdAvailable:signalChangeThresholdAvailable hdRadioEnableAvailable:NO siriusXMRadioAvailable:NO sisDataAvailable:NO];
}
-- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable hdRadioEnableAvailable:(BOOL)hdRadioEnableAvailable siriusXMRadioAvailable:(BOOL)siriusXMRadioAvailable sisDataAvailable:(BOOL)sisDataAvailable {
+- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDChannelsAvailable:(BOOL)availableHDChannelsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable hdRadioEnableAvailable:(BOOL)hdRadioEnableAvailable siriusXMRadioAvailable:(BOOL)siriusXMRadioAvailable sisDataAvailable:(BOOL)sisDataAvailable {
self = [self init];
if(!self){
return nil;
@@ -26,7 +26,7 @@ NS_ASSUME_NONNULL_BEGIN
self.radioFrequencyAvailable = @(radioFrequencyAvailable);
self.hdChannelAvailable = @(hdChannelAvailable);
self.rdsDataAvailable = @(rdsDataAvailable);
- self.availableHDsAvailable = @(availableHDsAvailable);
+ self.availableHDChannelsAvailable = @(availableHDChannelsAvailable);
self.stateAvailable = @(stateAvailable);
self.signalStrengthAvailable = @(signalStrengthAvailable);
self.signalChangeThresholdAvailable = @(signalChangeThresholdAvailable);
@@ -37,6 +37,29 @@ NS_ASSUME_NONNULL_BEGIN
return self;
}
+- (instancetype)initWithModuleName:(NSString *)moduleName radioEnableAvailable:(BOOL)radioEnableAvailable radioBandAvailable:(BOOL)radioBandAvailable radioFrequencyAvailable:(BOOL)radioFrequencyAvailable hdChannelAvailable:(BOOL)hdChannelAvailable rdsDataAvailable:(BOOL)rdsDataAvailable availableHDsAvailable:(BOOL)availableHDsAvailable stateAvailable:(BOOL)stateAvailable signalStrengthAvailable:(BOOL)signalStrengthAvailable signalChangeThresholdAvailable:(BOOL)signalChangeThresholdAvailable hdRadioEnableAvailable:(BOOL)hdRadioEnableAvailable siriusXMRadioAvailable:(BOOL)siriusXMRadioAvailable sisDataAvailable:(BOOL)sisDataAvailable {
+ self = [self init];
+ if(!self){
+ return nil;
+ }
+
+ self.moduleName = moduleName;
+ self.radioEnableAvailable = @(radioEnableAvailable);
+ self.radioBandAvailable = @(radioBandAvailable);
+ self.radioFrequencyAvailable = @(radioFrequencyAvailable);
+ self.hdChannelAvailable = @(hdChannelAvailable);
+ self.rdsDataAvailable = @(rdsDataAvailable);
+ self.availableHDsAvailable = @(availableHDsAvailable);
+ self.stateAvailable = @(stateAvailable);
+ self.signalStrengthAvailable = @(signalStrengthAvailable);
+ self.signalChangeThresholdAvailable = @(signalChangeThresholdAvailable);
+ self.hdRadioEnableAvailable = @(hdRadioEnableAvailable);
+ self.siriusXMRadioAvailable = @(siriusXMRadioAvailable);
+ self.sisDataAvailable = @(sisDataAvailable);
+
+ return self;
+}
+
- (void)setModuleName:(NSString *)moduleName {
[self.store sdl_setObject:moduleName forName:SDLRPCParameterNameModuleName];
}
@@ -94,6 +117,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.store sdl_objectForName:SDLRPCParameterNameAvailableHDsAvailable ofClass:NSNumber.class error:nil];
}
+- (void)setAvailableHDChannelsAvailable:(nullable NSNumber<SDLBool> *)availableHDChannelsAvailable {
+ [self.store sdl_setObject:availableHDChannelsAvailable forName:SDLRPCParameterNameAvailableHDsAvailable];
+}
+
+- (nullable NSNumber<SDLBool> *)availableHDChannelsAvailable {
+ return [self.store sdl_objectForName:SDLRPCParameterNameAvailableHDsAvailable ofClass:NSNumber.class error:nil];
+}
+
- (void)setStateAvailable:(nullable NSNumber<SDLBool> *)stateAvailable {
[self.store sdl_setObject:stateAvailable forName:SDLRPCParameterNameStateAvailable];
}
diff --git a/SmartDeviceLink/SDLRadioControlData.h b/SmartDeviceLink/SDLRadioControlData.h
index 0fe489eb9..c3d07eaff 100644
--- a/SmartDeviceLink/SDLRadioControlData.h
+++ b/SmartDeviceLink/SDLRadioControlData.h
@@ -78,12 +78,21 @@ NS_ASSUME_NONNULL_BEGIN
*
* Integer value Min Value - 1 Max Value -7
*/
-@property (nullable, strong, nonatomic) NSNumber<SDLInt> *availableHDs;
+@property (nullable, strong, nonatomic) NSNumber<SDLInt> *availableHDs __deprecated_msg("Use availableHDChannels instead");
+
+/**
+ * the list of available hd sub-channel indexes, empty list means no Hd channel is available, read-only
+ *
+ * @warning This property is readonly and cannot be set on the module.
+ *
+ * Integer value Min Value - 0 Max Value -7
+ */
+@property (nullable, strong, nonatomic) NSNumber<SDLInt> *availableHDChannels;
/**
* Current HD sub-channel if available
*
- * Integer value Min Value - 1 Max Value -7
+ * Integer value Min Value - 0 Max Value -7
*/
@property (nullable, strong, nonatomic) NSNumber<SDLInt> *hdChannel;
diff --git a/SmartDeviceLink/SDLRadioControlData.m b/SmartDeviceLink/SDLRadioControlData.m
index 5ae7deb12..9e4f37c85 100644
--- a/SmartDeviceLink/SDLRadioControlData.m
+++ b/SmartDeviceLink/SDLRadioControlData.m
@@ -75,6 +75,14 @@ NS_ASSUME_NONNULL_BEGIN
return [self.store sdl_objectForName:SDLRPCParameterNameRDSData ofClass:SDLRDSData.class error:nil];
}
+- (void)setAvailableHDChannels:(nullable NSNumber<SDLInt> *)availableHDChannels {
+ [self.store sdl_setObject:availableHDChannels forName:SDLRPCParameterNameAvailableHDChannels];
+}
+
+- (nullable NSNumber<SDLInt> *)availableHDChannels {
+ return [self.store sdl_objectForName:SDLRPCParameterNameAvailableHDChannels ofClass:NSNumber.class error:nil];
+}
+
- (void)setAvailableHDs:(nullable NSNumber<SDLInt> *)availableHDs {
[self.store sdl_setObject:availableHDs forName:SDLRPCParameterNameAvailableHDs];
}
diff --git a/SmartDeviceLinkSwift/Info.plist b/SmartDeviceLinkSwift/Info.plist
index 93c3f315c..5286dd4de 100644
--- a/SmartDeviceLinkSwift/Info.plist
+++ b/SmartDeviceLinkSwift/Info.plist
@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>6.3.0</string>
+ <string>6.3.1</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
diff --git a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m
index fbc22b5a2..260cf3ffc 100644
--- a/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/RequestSpecs/SDLRegisterAppInterfaceSpec.m
@@ -43,7 +43,7 @@ describe(@"RegisterAppInterface Tests", ^{
__block SDLAppInfo *appInfo = nil;
__block SDLTemplateColorScheme *colorScheme = nil;
- __block SDLSyncMsgVersion *currentSyncMsgVersion = [[SDLSyncMsgVersion alloc] initWithMajorVersion:5 minorVersion:1 patchVersion:0];
+ __block SDLSyncMsgVersion *currentSyncMsgVersion = [[SDLSyncMsgVersion alloc] initWithMajorVersion:6 minorVersion:0 patchVersion:0];
beforeEach(^{
testRegisterAppInterface = nil;
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlCapabilitiesSpec.m
index 5867bb897..41b919542 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlCapabilitiesSpec.m
@@ -18,7 +18,7 @@ QuickSpecBegin(SDLClimateControlCapabilitiesSpec)
describe(@"Getter/Setter Tests", ^ {
it(@"Should set and get correctly", ^ {
-
+
SDLClimateControlCapabilities* testStruct = [[SDLClimateControlCapabilities alloc] init];
testStruct.moduleName = @"Name";
testStruct.fanSpeedAvailable = @YES;
@@ -36,6 +36,7 @@ describe(@"Getter/Setter Tests", ^ {
testStruct.heatedWindshieldAvailable = @(NO);
testStruct.heatedRearWindowAvailable = @(YES);
testStruct.heatedMirrorsAvailable = @(NO);
+ testStruct.climateEnableAvailable = @(NO);
expect(testStruct.moduleName).to(equal(@"Name"));
expect(testStruct.fanSpeedAvailable).to(equal(@YES));
@@ -53,6 +54,7 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldAvailable).to(equal(@NO));
expect(testStruct.heatedRearWindowAvailable).to(equal(@YES));
expect(testStruct.heatedMirrorsAvailable).to(equal(@NO));
+ expect(testStruct.climateEnableAvailable).to(equal(@NO));
});
@@ -72,7 +74,8 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameHeatedSteeringWheelAvailable:@YES,
SDLRPCParameterNameHeatedWindshieldAvailable:@NO,
SDLRPCParameterNameHeatedRearWindowAvailable:@YES,
- SDLRPCParameterNameHeatedMirrorsAvailable:@NO
+ SDLRPCParameterNameHeatedMirrorsAvailable:@NO,
+ SDLRPCParameterNameClimateEnableAvailable:@NO,
} mutableCopy];
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
@@ -95,6 +98,7 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldAvailable).to(equal(@NO));
expect(testStruct.heatedRearWindowAvailable).to(equal(@YES));
expect(testStruct.heatedMirrorsAvailable).to(equal(@NO));
+ expect(testStruct.climateEnableAvailable).to(equal(@NO));
});
it(@"Should get correctly when initialized with module data and other climate control capabilities parameters", ^ {
@@ -116,10 +120,13 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldAvailable).to(equal(@NO));
expect(testStruct.heatedRearWindowAvailable).to(equal(@NO));
expect(testStruct.heatedMirrorsAvailable).to(equal(@NO));
+ expect(testStruct.climateEnableAvailable).to(equal(@NO));
#pragma clang diagnostic pop
});
it(@"Should get correctly when initialized with module data and other climate control capabilities parameters", ^ {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
SDLClimateControlCapabilities* testStruct = [[SDLClimateControlCapabilities alloc] initWithModuleName:@"Name" fanSpeedAvailable:YES desiredTemperatureAvailable:NO acEnableAvailable:NO acMaxEnableAvailable:YES circulateAirAvailable:NO autoModeEnableAvailable:NO dualModeEnableAvailable:NO defrostZoneAvailable:YES ventilationModeAvailable:YES heatedSteeringWheelAvailable:YES heatedWindshieldAvailable:NO heatedRearWindowAvailable:YES heatedMirrorsAvailable:NO];
expect(testStruct.moduleName).to(equal(@"Name"));
@@ -136,8 +143,29 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldAvailable).to(equal(@NO));
expect(testStruct.heatedRearWindowAvailable).to(equal(@YES));
expect(testStruct.heatedMirrorsAvailable).to(equal(@NO));
+#pragma clang diagnostic pop
});
+ it(@"Should get correctly when initialized with module data and other climate control capabilities parameters", ^ {
+ SDLClimateControlCapabilities* testStruct = [[SDLClimateControlCapabilities alloc] initWithModuleName:@"Name" fanSpeedAvailable:YES desiredTemperatureAvailable:NO acEnableAvailable:NO acMaxEnableAvailable:YES circulateAirAvailable:NO autoModeEnableAvailable:NO dualModeEnableAvailable:NO defrostZoneAvailable:YES ventilationModeAvailable:YES heatedSteeringWheelAvailable:YES heatedWindshieldAvailable:NO heatedRearWindowAvailable:YES heatedMirrorsAvailable:NO climateEnableAvailable:NO];
+
+ expect(testStruct.moduleName).to(equal(@"Name"));
+ expect(testStruct.fanSpeedAvailable).to(equal(@YES));
+ expect(testStruct.desiredTemperatureAvailable).to(equal(@NO));
+ expect(testStruct.acEnableAvailable).to(equal(@NO));
+ expect(testStruct.acMaxEnableAvailable).to(equal(@YES));
+ expect(testStruct.circulateAirEnableAvailable).to(equal(@NO));
+ expect(testStruct.autoModeEnableAvailable).to(equal(@NO));
+ expect(testStruct.dualModeEnableAvailable).to(equal(@NO));
+ expect(testStruct.defrostZoneAvailable).to(equal(@YES));
+ expect(testStruct.ventilationModeAvailable).to(equal(@YES));
+ expect(testStruct.heatedSteeringWheelAvailable).to(equal(@YES));
+ expect(testStruct.heatedWindshieldAvailable).to(equal(@NO));
+ expect(testStruct.heatedRearWindowAvailable).to(equal(@YES));
+ expect(testStruct.heatedMirrorsAvailable).to(equal(@NO));
+ expect(testStruct.climateEnableAvailable).to(equal(@NO));
+ });
+
it(@"Should return nil if not set", ^ {
SDLClimateControlCapabilities* testStruct = [[SDLClimateControlCapabilities alloc] init];
@@ -157,7 +185,7 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldAvailable).to(beNil());
expect(testStruct.heatedRearWindowAvailable).to(beNil());
expect(testStruct.heatedMirrorsAvailable).to(beNil());
-
+ expect(testStruct.climateEnableAvailable).to(beNil());
});
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlDataSpec.m
index 9c89ff291..6c4a04c8a 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLClimateControlDataSpec.m
@@ -42,6 +42,7 @@ describe(@"Getter/Setter Tests", ^ {
testStruct.heatedWindshieldEnable = @YES;
testStruct.heatedRearWindowEnable = @NO;
testStruct.heatedMirrorsEnable = @YES;
+ testStruct.climateEnable = @YES;
expect(testStruct.fanSpeed).to(equal(@43));
expect(testStruct.currentTemperature).to(equal(currentTemp));
@@ -57,6 +58,7 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldEnable).to(equal(@YES));
expect(testStruct.heatedRearWindowEnable).to(equal(@NO));
expect(testStruct.heatedMirrorsEnable).to(equal(@YES));
+ expect(testStruct.climateEnable).to(equal(@YES));
});
@@ -78,11 +80,12 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldEnable).to(equal(NO));
expect(testStruct.heatedRearWindowEnable).to(equal(NO));
expect(testStruct.heatedMirrorsEnable).to(equal(NO));
+ expect(testStruct.climateEnable).to(beNil());
#pragma clang diagnostic pop
});
it(@"Should get correctly when initialized with FanSpeed and other climate control parameters", ^ {
- SDLClimateControlData* testStruct = [[SDLClimateControlData alloc] initWithFanSpeed:@43 desiredTemperature:desiredTemp acEnable:@YES circulateAirEnable:@YES autoModeEnable:@NO defrostZone:SDLDefrostZoneFront dualModeEnable:@NO acMaxEnable:@YES ventilationMode:SDLVentilationModeBoth heatedSteeringWheelEnable:@NO heatedWindshieldEnable:@YES heatedRearWindowEnable:@NO heatedMirrorsEnable:@YES];
+ SDLClimateControlData* testStruct = [[SDLClimateControlData alloc] initWithFanSpeed:@43 desiredTemperature:desiredTemp acEnable:@YES circulateAirEnable:@YES autoModeEnable:@NO defrostZone:SDLDefrostZoneFront dualModeEnable:@NO acMaxEnable:@YES ventilationMode:SDLVentilationModeBoth heatedSteeringWheelEnable:@NO heatedWindshieldEnable:@YES heatedRearWindowEnable:@NO heatedMirrorsEnable:@YES climateEnable:@YES];
expect(testStruct.fanSpeed).to(equal(@43));
expect(testStruct.desiredTemperature).to(equal(desiredTemp));
@@ -97,6 +100,7 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldEnable).to(equal(@YES));
expect(testStruct.heatedRearWindowEnable).to(equal(@NO));
expect(testStruct.heatedMirrorsEnable).to(equal(@YES));
+ expect(testStruct.climateEnable).to(equal(@YES));
});
it(@"Should get correctly when initialized with a dictionary", ^ {
@@ -114,6 +118,7 @@ describe(@"Getter/Setter Tests", ^ {
SDLRPCParameterNameHeatedWindshieldEnable:@YES,
SDLRPCParameterNameHeatedRearWindowEnable:@NO,
SDLRPCParameterNameHeatedMirrorsEnable:@YES,
+ SDLRPCParameterNameClimateEnable:@YES,
} mutableCopy];
#pragma clang diagnostic push
@@ -135,6 +140,7 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldEnable).to(equal(@YES));
expect(testStruct.heatedRearWindowEnable).to(equal(@NO));
expect(testStruct.heatedMirrorsEnable).to(equal(@YES));
+ expect(testStruct.climateEnable).to(equal(@YES));
});
it(@"Should return nil if not set", ^ {
@@ -154,6 +160,7 @@ describe(@"Getter/Setter Tests", ^ {
expect(testStruct.heatedWindshieldEnable).to(beNil());
expect(testStruct.heatedRearWindowEnable).to(beNil());
expect(testStruct.heatedMirrorsEnable).to(beNil());
+ expect(testStruct.climateEnable).to(beNil());
});
});
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlCapabilitiesSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlCapabilitiesSpec.m
index 20c057b60..e68ee0af2 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlCapabilitiesSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlCapabilitiesSpec.m
@@ -24,7 +24,13 @@ describe(@"Initialization tests", ^{
expect(testStruct.radioFrequencyAvailable).to(beNil());
expect(testStruct.hdChannelAvailable).to(beNil());
expect(testStruct.rdsDataAvailable).to(beNil());
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(testStruct.availableHDsAvailable).to(beNil());
+#pragma clang diagnostic pop
+
+ expect(testStruct.availableHDChannelsAvailable).to(beNil());
expect(testStruct.stateAvailable).to(beNil());
expect(testStruct.signalStrengthAvailable).to(beNil());
expect(testStruct.signalChangeThresholdAvailable).to(beNil());
@@ -43,6 +49,7 @@ describe(@"Initialization tests", ^{
SDLRPCParameterNameHDChannelAvailable : @NO,
SDLRPCParameterNameRDSDataAvailable : @NO,
SDLRPCParameterNameAvailableHDsAvailable : @NO,
+ SDLRPCParameterNameAvailableHDChannelsAvailable : @NO,
SDLRPCParameterNameStateAvailable : @YES,
SDLRPCParameterNameSignalStrengthAvailable : @YES,
SDLRPCParameterNameSignalChangeThresholdAvailable : @NO,
@@ -61,7 +68,13 @@ describe(@"Initialization tests", ^{
expect(testStruct.radioFrequencyAvailable).to(equal(@YES));
expect(testStruct.hdChannelAvailable).to(equal(@NO));
expect(testStruct.rdsDataAvailable).to(equal(@NO));
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(testStruct.availableHDsAvailable).to(equal(@NO));
+#pragma clang diagnostic pop
+
+ expect(testStruct.availableHDChannelsAvailable).to(equal(@NO));
expect(testStruct.stateAvailable).to(equal(@YES));
expect(testStruct.signalStrengthAvailable).to(equal(@YES));
expect(testStruct.signalChangeThresholdAvailable).to(equal(@NO));
@@ -80,7 +93,13 @@ describe(@"Initialization tests", ^{
testStruct.radioFrequencyAvailable = @YES;
testStruct.hdChannelAvailable = @NO;
testStruct.rdsDataAvailable = @NO;
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
testStruct.availableHDsAvailable = @NO;
+#pragma clang diagnostic pop
+
+ testStruct.availableHDChannelsAvailable = @NO;
testStruct.stateAvailable = @YES;
testStruct.signalStrengthAvailable = @YES;
testStruct.signalChangeThresholdAvailable = @NO;
@@ -94,7 +113,13 @@ describe(@"Initialization tests", ^{
expect(testStruct.radioFrequencyAvailable).to(equal(@YES));
expect(testStruct.hdChannelAvailable).to(equal(@NO));
expect(testStruct.rdsDataAvailable).to(equal(@NO));
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(testStruct.availableHDsAvailable).to(equal(@NO));
+#pragma clang diagnostic pop
+
+ expect(testStruct.availableHDChannelsAvailable).to(equal(@NO));
expect(testStruct.stateAvailable).to(equal(@YES));
expect(testStruct.signalStrengthAvailable).to(equal(@YES));
expect(testStruct.signalChangeThresholdAvailable).to(equal(@NO));
@@ -104,6 +129,25 @@ describe(@"Initialization tests", ^{
});
+ it(@"Should get correctly when initialized with Module Name and other radio control capabilite's parameters", ^ {
+ SDLRadioControlCapabilities* testStruct = [[SDLRadioControlCapabilities alloc] initWithModuleName:@"someName" radioEnableAvailable:YES radioBandAvailable:NO radioFrequencyAvailable:YES hdChannelAvailable:NO rdsDataAvailable:NO availableHDChannelsAvailable:NO stateAvailable:YES signalStrengthAvailable:YES signalChangeThresholdAvailable:NO hdRadioEnableAvailable:YES siriusXMRadioAvailable:YES sisDataAvailable:YES];
+
+ expect(testStruct.moduleName).to(equal(@"someName"));
+ expect(testStruct.radioEnableAvailable).to(equal(@YES));
+ expect(testStruct.radioBandAvailable).to(equal(@NO));
+ expect(testStruct.radioFrequencyAvailable).to(equal(@YES));
+ expect(testStruct.hdChannelAvailable).to(equal(@NO));
+ expect(testStruct.rdsDataAvailable).to(equal(@NO));
+ expect(testStruct.availableHDChannelsAvailable).to(equal(@NO));
+ expect(testStruct.stateAvailable).to(equal(@YES));
+ expect(testStruct.signalStrengthAvailable).to(equal(@YES));
+ expect(testStruct.signalChangeThresholdAvailable).to(equal(@NO));
+ expect(testStruct.hdRadioEnableAvailable).to(equal(YES));
+ expect(testStruct.siriusXMRadioAvailable).to(equal(@YES));
+ expect(testStruct.sisDataAvailable).to(equal(@YES));
+
+ });
+
it(@"Should get correctly when initialized with Module Name and other radio control capability parameters", ^ {
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
@@ -123,9 +167,13 @@ describe(@"Initialization tests", ^{
expect(testStruct.siriusXMRadioAvailable).to(equal(@NO));
#pragma clang diagnostic pop
});
-
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
it(@"Should get correctly when initialized with Module Name and other radio control capabilite's parameters", ^ {
SDLRadioControlCapabilities* testStruct = [[SDLRadioControlCapabilities alloc] initWithModuleName:@"someName" radioEnableAvailable:YES radioBandAvailable:NO radioFrequencyAvailable:YES hdChannelAvailable:NO rdsDataAvailable:NO availableHDsAvailable:NO stateAvailable:YES signalStrengthAvailable:YES signalChangeThresholdAvailable:NO hdRadioEnableAvailable:YES siriusXMRadioAvailable:YES sisDataAvailable:YES];
+#pragma clang diagnostic pop
+
expect(testStruct.moduleName).to(equal(@"someName"));
expect(testStruct.radioEnableAvailable).to(equal(@YES));
@@ -133,7 +181,12 @@ describe(@"Initialization tests", ^{
expect(testStruct.radioFrequencyAvailable).to(equal(@YES));
expect(testStruct.hdChannelAvailable).to(equal(@NO));
expect(testStruct.rdsDataAvailable).to(equal(@NO));
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(testStruct.availableHDsAvailable).to(equal(@NO));
+#pragma clang diagnostic pop
+
expect(testStruct.stateAvailable).to(equal(@YES));
expect(testStruct.signalStrengthAvailable).to(equal(@YES));
expect(testStruct.signalChangeThresholdAvailable).to(equal(@NO));
diff --git a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlDataSpec.m b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlDataSpec.m
index 49ba62568..fd74e0f38 100644
--- a/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlDataSpec.m
+++ b/SmartDeviceLinkTests/RPCSpecs/StructSpecs/SDLRadioControlDataSpec.m
@@ -27,7 +27,11 @@ describe(@"Initialization tests", ^{
expect(testStruct.frequencyFraction).to(beNil());
expect(testStruct.band).to(beNil());
expect(testStruct.rdsData).to(beNil());
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(testStruct.availableHDs).to(beNil());
+#pragma clang diagnostic pop
+ expect(testStruct.availableHDChannels).to(beNil());
expect(testStruct.hdChannel).to(beNil());
expect(testStruct.signalStrength).to(beNil());
expect(testStruct.signalChangeThreshold).to(beNil());
@@ -42,6 +46,7 @@ describe(@"Initialization tests", ^{
SDLRPCParameterNameBand : SDLRadioBandAM,
SDLRPCParameterNameRDSData : someRdsData,
SDLRPCParameterNameAvailableHDs : @2,
+ SDLRPCParameterNameAvailableHDChannels : @2,
SDLRPCParameterNameHDChannel : @2,
SDLRPCParameterNameSignalStrength : @54,
SDLRPCParameterNameSignalChangeThreshold : @76,
@@ -58,7 +63,10 @@ describe(@"Initialization tests", ^{
expect(testStruct.frequencyFraction).to(equal(@7));
expect(testStruct.band).to(equal(SDLRadioBandAM));
expect(testStruct.rdsData).to(equal(someRdsData));
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
expect(testStruct.availableHDs).to(equal(@2));
+#pragma clang diagnostic pop
+ expect(testStruct.availableHDChannels).to(equal(@2));
expect(testStruct.hdChannel).to(equal(@2));
expect(testStruct.signalStrength).to(equal(@54));
expect(testStruct.signalChangeThreshold).to(equal(@76));
@@ -74,6 +82,7 @@ describe(@"Initialization tests", ^{
testStruct.band = SDLRadioBandAM;
testStruct.rdsData = someRdsData;
testStruct.availableHDs = @2;
+ testStruct.availableHDChannels = @2;
testStruct.hdChannel = @2;
testStruct.signalStrength = @54;
testStruct.signalChangeThreshold = @76;
@@ -86,6 +95,7 @@ describe(@"Initialization tests", ^{
expect(testStruct.band).to(equal(SDLRadioBandAM));
expect(testStruct.rdsData).to(equal(someRdsData));
expect(testStruct.availableHDs).to(equal(@2));
+ expect(testStruct.availableHDChannels).to(equal(@2));
expect(testStruct.hdChannel).to(equal(@2));
expect(testStruct.signalStrength).to(equal(@54));
expect(testStruct.signalChangeThreshold).to(equal(@76));