Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement SDL-0116 Open Menu RPC #1351

Merged
merged 12 commits into from Aug 1, 2019
2 changes: 2 additions & 0 deletions SmartDeviceLink-iOS.podspec
Expand Up @@ -325,6 +325,8 @@ ss.public_header_files = [
'SmartDeviceLink/SDLSetMediaClockTimer.h',
'SmartDeviceLink/SDLSetMediaClockTimerResponse.h',
'SmartDeviceLink/SDLShow.h',
'SmartDeviceLink/SDLShowAppMenu.h',
'SmartDeviceLink/SDLShowAppMenuResponse.h',
'SmartDeviceLink/SDLShowConstantTBT.h',
'SmartDeviceLink/SDLShowConstantTBTResponse.h',
'SmartDeviceLink/SDLShowResponse.h',
Expand Down
24 changes: 24 additions & 0 deletions SmartDeviceLink-iOS.xcodeproj/project.pbxproj
Expand Up @@ -1233,9 +1233,15 @@
752ECDB7228B4D6B00D945F4 /* SDLDynamicMenuUpdateAlgorithm.m in Sources */ = {isa = PBXBuildFile; fileRef = 752ECDB5228B4D6B00D945F4 /* SDLDynamicMenuUpdateAlgorithm.m */; };
752ECDB9228C42E100D945F4 /* SDLMenuRunScoreSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 752ECDB8228C42E100D945F4 /* SDLMenuRunScoreSpec.m */; };
752ECDBB228C532600D945F4 /* SDLMenuUpdateAlgorithmSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 752ECDBA228C532600D945F4 /* SDLMenuUpdateAlgorithmSpec.m */; };
7538764F22D8CEDB00FE8484 /* SDLShowAppMenu.h in Headers */ = {isa = PBXBuildFile; fileRef = 7538764D22D8CEDB00FE8484 /* SDLShowAppMenu.h */; settings = {ATTRIBUTES = (Public, ); }; };
7538765022D8CEDB00FE8484 /* SDLShowAppMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = 7538764E22D8CEDB00FE8484 /* SDLShowAppMenu.m */; };
7538765322D8D95100FE8484 /* SDLShowAppMenuResponse.h in Headers */ = {isa = PBXBuildFile; fileRef = 7538765122D8D95100FE8484 /* SDLShowAppMenuResponse.h */; settings = {ATTRIBUTES = (Public, ); }; };
7538765422D8D95100FE8484 /* SDLShowAppMenuResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 7538765222D8D95100FE8484 /* SDLShowAppMenuResponse.m */; };
7538765622DCAF5400FE8484 /* SDLShowAppMenuSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 7538765522DCAF5400FE8484 /* SDLShowAppMenuSpec.m */; };
755F176222A00B7C0041B9CB /* SDLMenuManagerConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 755F176122A00B7C0041B9CB /* SDLMenuManagerConstants.h */; settings = {ATTRIBUTES = (Public, ); }; };
756C62762289F11F008B57A2 /* SDLDynamicMenuUpdateRunScore.h in Headers */ = {isa = PBXBuildFile; fileRef = 756C62742289F11F008B57A2 /* SDLDynamicMenuUpdateRunScore.h */; };
756C62772289F11F008B57A2 /* SDLDynamicMenuUpdateRunScore.m in Sources */ = {isa = PBXBuildFile; fileRef = 756C62752289F11F008B57A2 /* SDLDynamicMenuUpdateRunScore.m */; };
75FF2E3822DF9D5900D0C13B /* SDLShowAppMenuResponseSpec.m in Sources */ = {isa = PBXBuildFile; fileRef = 75FF2E3722DF9D5900D0C13B /* SDLShowAppMenuResponseSpec.m */; };
75FF2E3B22E0DD5400D0C13B /* SDLMsgVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 75FF2E3922E0DD5400D0C13B /* SDLMsgVersion.h */; settings = {ATTRIBUTES = (Public, ); }; };
75FF2E3C22E0DD5400D0C13B /* SDLMsgVersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 75FF2E3A22E0DD5400D0C13B /* SDLMsgVersion.m */; };
880245A420F79C3400ED195B /* SDLFileManagerConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 880245A220F79C3400ED195B /* SDLFileManagerConfiguration.h */; settings = {ATTRIBUTES = (Public, ); }; };
Expand Down Expand Up @@ -2894,9 +2900,15 @@
752ECDB5228B4D6B00D945F4 /* SDLDynamicMenuUpdateAlgorithm.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLDynamicMenuUpdateAlgorithm.m; sourceTree = "<group>"; };
752ECDB8228C42E100D945F4 /* SDLMenuRunScoreSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLMenuRunScoreSpec.m; sourceTree = "<group>"; };
752ECDBA228C532600D945F4 /* SDLMenuUpdateAlgorithmSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLMenuUpdateAlgorithmSpec.m; sourceTree = "<group>"; };
7538764D22D8CEDB00FE8484 /* SDLShowAppMenu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLShowAppMenu.h; sourceTree = "<group>"; };
7538764E22D8CEDB00FE8484 /* SDLShowAppMenu.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLShowAppMenu.m; sourceTree = "<group>"; };
7538765122D8D95100FE8484 /* SDLShowAppMenuResponse.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLShowAppMenuResponse.h; sourceTree = "<group>"; };
7538765222D8D95100FE8484 /* SDLShowAppMenuResponse.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLShowAppMenuResponse.m; sourceTree = "<group>"; };
7538765522DCAF5400FE8484 /* SDLShowAppMenuSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLShowAppMenuSpec.m; sourceTree = "<group>"; };
755F176122A00B7C0041B9CB /* SDLMenuManagerConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLMenuManagerConstants.h; sourceTree = "<group>"; };
756C62742289F11F008B57A2 /* SDLDynamicMenuUpdateRunScore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLDynamicMenuUpdateRunScore.h; sourceTree = "<group>"; };
756C62752289F11F008B57A2 /* SDLDynamicMenuUpdateRunScore.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLDynamicMenuUpdateRunScore.m; sourceTree = "<group>"; };
75FF2E3722DF9D5900D0C13B /* SDLShowAppMenuResponseSpec.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLShowAppMenuResponseSpec.m; sourceTree = "<group>"; };
75FF2E3922E0DD5400D0C13B /* SDLMsgVersion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLMsgVersion.h; sourceTree = "<group>"; };
75FF2E3A22E0DD5400D0C13B /* SDLMsgVersion.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SDLMsgVersion.m; sourceTree = "<group>"; };
880245A220F79C3400ED195B /* SDLFileManagerConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SDLFileManagerConfiguration.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -3451,6 +3463,7 @@
162E82581A9BDE8A00906325 /* SDLSetMediaClockTimerSpec.m */,
162E82591A9BDE8A00906325 /* SDLShowConstantTBTSpec.m */,
162E825A1A9BDE8A00906325 /* SDLShowSpec.m */,
7538765522DCAF5400FE8484 /* SDLShowAppMenuSpec.m */,
162E825B1A9BDE8A00906325 /* SDLSliderSpec.m */,
162E825C1A9BDE8A00906325 /* SDLSpeakSpec.m */,
162E825D1A9BDE8A00906325 /* SDLSubscribeButtonSpec.m */,
Expand Down Expand Up @@ -3516,6 +3529,7 @@
162E82811A9BDE8A00906325 /* SDLSetMediaClockTimerResponseSpec.m */,
162E82821A9BDE8A00906325 /* SDLShowConstantTBTResponseSpec.m */,
162E82831A9BDE8A00906325 /* SDLShowResponseSpec.m */,
75FF2E3722DF9D5900D0C13B /* SDLShowAppMenuResponseSpec.m */,
162E82841A9BDE8A00906325 /* SDLSliderResponseSpec.m */,
162E82851A9BDE8A00906325 /* SDLSpeakResponseSpec.m */,
162E82861A9BDE8A00906325 /* SDLSubscribeButtonResponseSpec.m */,
Expand Down Expand Up @@ -4189,6 +4203,8 @@
DA9F7E6E1DCBFFDB00ACAE48 /* SDLGetWayPoints.m */,
5D61FAFF1A84238A00846EE7 /* SDLListFiles.h */,
5D61FB001A84238A00846EE7 /* SDLListFiles.m */,
7538764D22D8CEDB00FE8484 /* SDLShowAppMenu.h */,
7538764E22D8CEDB00FE8484 /* SDLShowAppMenu.m */,
88AF11DA220B6B3D00A59985 /* SDLPerformAppServiceInteraction.h */,
88AF11DB220B6B3D00A59985 /* SDLPerformAppServiceInteraction.m */,
5D61FB381A84238B00846EE7 /* SDLPerformAudioPassThru.h */,
Expand Down Expand Up @@ -4348,6 +4364,8 @@
5D61FBA71A84238B00846EE7 /* SDLShowConstantTBTResponse.m */,
5D61FBA81A84238B00846EE7 /* SDLShowResponse.h */,
5D61FBA91A84238B00846EE7 /* SDLShowResponse.m */,
7538765122D8D95100FE8484 /* SDLShowAppMenuResponse.h */,
7538765222D8D95100FE8484 /* SDLShowAppMenuResponse.m */,
5D61FBB01A84238B00846EE7 /* SDLSliderResponse.h */,
5D61FBB11A84238B00846EE7 /* SDLSliderResponse.m */,
5D61FBBA1A84238B00846EE7 /* SDLSpeakResponse.h */,
Expand Down Expand Up @@ -6348,6 +6366,7 @@
5D61FC8A1A84238C00846EE7 /* SDLDiagnosticMessageResponse.h in Headers */,
5D61FC2D1A84238C00846EE7 /* SDLAddCommand.h in Headers */,
88B3BF9C20DA8BBC00943565 /* SDLFuelRange.h in Headers */,
7538765322D8D95100FE8484 /* SDLShowAppMenuResponse.h in Headers */,
5D61FD931A84238C00846EE7 /* SDLShowConstantTBTResponse.h in Headers */,
5DBF06391E64ABBE00A5CF03 /* SDLLogConfiguration.h in Headers */,
5D61FCCB1A84238C00846EE7 /* SDLIgnitionStatus.h in Headers */,
Expand Down Expand Up @@ -6594,6 +6613,7 @@
88A5E7F7220B5BBC00495E8A /* SDLGetAppServiceData.h in Headers */,
1E5AD0441F1F5A1F0029B8AF /* SDLRadioControlCapabilities.h in Headers */,
88F65136220C74FD00CAF321 /* SDLWeatherData.h in Headers */,
7538764F22D8CEDB00FE8484 /* SDLShowAppMenu.h in Headers */,
1E5AD0841F20B9290029B8AF /* SDLButtonPressResponse.h in Headers */,
1E5AD0681F2080B50029B8AF /* SDLRadioControlData.h in Headers */,
1E5AD0481F1F773E0029B8AF /* SDLModuleType.h in Headers */,
Expand Down Expand Up @@ -7075,6 +7095,7 @@
8881AFBF2225E9BB00EA870B /* SDLGetCloudAppPropertiesResponse.m in Sources */,
1E5AD0691F2080B50029B8AF /* SDLRadioControlData.m in Sources */,
888F86FE221DEE200052FE4C /* SDLAsynchronousRPCOperation.m in Sources */,
7538765422D8D95100FE8484 /* SDLShowAppMenuResponse.m in Sources */,
5D61FCC01A84238C00846EE7 /* SDLHexUtility.m in Sources */,
5DB9964F1F26886C002D8795 /* SDLControlFramePayloadEndService.m in Sources */,
5D61FD821A84238C00846EE7 /* SDLSetAppIconResponse.m in Sources */,
Expand Down Expand Up @@ -7182,6 +7203,7 @@
5D61FC4E1A84238C00846EE7 /* SDLBitsPerSample.m in Sources */,
5D00AC701F1511B9004000D9 /* SDLGetSystemCapability.m in Sources */,
5D61FDEA1A84238C00846EE7 /* SDLUnsubscribeButtonResponse.m in Sources */,
7538765022D8CEDB00FE8484 /* SDLShowAppMenu.m in Sources */,
1E5AD05D1F2064A80029B8AF /* SDLRDSData.m in Sources */,
5D61FCA61A84238C00846EE7 /* SDLEndAudioPassThruResponse.m in Sources */,
5D61FD281A84238C00846EE7 /* SDLPerformAudioPassThruResponse.m in Sources */,
Expand Down Expand Up @@ -7753,6 +7775,7 @@
162E834C1A9BDE8B00906325 /* SDLAlertResponseSpec.m in Sources */,
1680B11B1A9CD7AD00DBD79E /* SDLFunctionIDSpec.m in Sources */,
5DB1BCDA1D243D85002FFC37 /* SDLStateMachineSpec.m in Sources */,
7538765622DCAF5400FE8484 /* SDLShowAppMenuSpec.m in Sources */,
8831FA4B2202402B00B8FFB7 /* SDLAppServicesCapabilitiesSpec.m in Sources */,
5D4346731E6F617D00B639C6 /* TestLogTarget.m in Sources */,
1EE8C43C1F347EAE00FDC2CF /* SDLTemperatureUnitSpec.m in Sources */,
Expand Down Expand Up @@ -7932,6 +7955,7 @@
162E82EC1A9BDE8B00906325 /* SDLLockScreenStatusSpec.m in Sources */,
DA96C0661D4D4F730022F520 /* SDLAppInfoSpec.m in Sources */,
162E832F1A9BDE8B00906325 /* SDLGetDTCsSpec.m in Sources */,
75FF2E3822DF9D5900D0C13B /* SDLShowAppMenuResponseSpec.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down
2 changes: 2 additions & 0 deletions SmartDeviceLink.podspec
Expand Up @@ -326,6 +326,8 @@ sdefault.public_header_files = [
'SmartDeviceLink/SDLSetMediaClockTimer.h',
'SmartDeviceLink/SDLSetMediaClockTimerResponse.h',
'SmartDeviceLink/SDLShow.h',
'SmartDeviceLink/SDLShowAppMenu.h',
'SmartDeviceLink/SDLShowAppMenuResponse.h',
'SmartDeviceLink/SDLShowConstantTBT.h',
'SmartDeviceLink/SDLShowConstantTBTResponse.h',
'SmartDeviceLink/SDLShowResponse.h',
Expand Down
1 change: 1 addition & 0 deletions SmartDeviceLink/SDLFunctionID.m
Expand Up @@ -89,6 +89,7 @@ - (instancetype)init {
@54: SDLRPCFunctionNameGetFile,
@55: SDLRPCFunctionNamePerformAppServiceInteraction,
@58: SDLRPCFunctionNameCloseApplication,
@59: SDLRPCFunctionNameShowAppMenu,
@32768: SDLRPCFunctionNameOnHMIStatus,
@32769: SDLRPCFunctionNameOnAppInterfaceUnregistered,
@32770: SDLRPCFunctionNameOnButtonEvent,
Expand Down
5 changes: 5 additions & 0 deletions SmartDeviceLink/SDLMenuManager.h
Expand Up @@ -36,6 +36,11 @@ typedef void(^SDLMenuUpdateCompletionHandler)(NSError *__nullable error);
@property (copy, nonatomic) NSArray<SDLMenuCell *> *menuCells;

@property (assign, nonatomic) SDLDynamicMenuUpdatesMode dynamicMenuUpdatesMode;

- (BOOL)openMenu;

- (BOOL)openSubmenu:(SDLMenuCell *)cell;

@end

NS_ASSUME_NONNULL_END
43 changes: 43 additions & 0 deletions SmartDeviceLink/SDLMenuManager.m
Expand Up @@ -18,6 +18,7 @@
#import "SDLDisplayCapabilities+ShowManagerExtensions.h"
#import "SDLError.h"
#import "SDLFileManager.h"
#import "SDLGlobals.h"
#import "SDLImage.h"
#import "SDLLogMacros.h"
#import "SDLMenuCell.h"
Expand All @@ -31,6 +32,8 @@
#import "SDLRPCResponseNotification.h"
#import "SDLSetDisplayLayoutResponse.h"
#import "SDLScreenManager.h"
#import "SDLShowAppMenu.h"
#import "SDLVersion.h"
#import "SDLVoiceCommand.h"

NS_ASSUME_NONNULL_BEGIN
Expand Down Expand Up @@ -638,6 +641,46 @@ - (void)sdl_hmiStatusNotification:(SDLRPCNotificationNotification *)notification
}
}

- (BOOL)openMenu {
if ([SDLGlobals.sharedGlobals.rpcVersion isLessThanVersion:[[SDLVersion alloc] initWithMajor:6 minor:0 patch:0]]) {
SDLLogE(@"The openMenu method is not supported on this head unit.");
return NO;
justingluck93 marked this conversation as resolved.
Show resolved Hide resolved
}

SDLShowAppMenu *openMenu = [[SDLShowAppMenu alloc] init];

[self.connectionManager sendConnectionRequest:openMenu withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) {
if (error != nil) {
SDLLogE(@"Error opening application menu: %@", error);
}
}];

return YES;
}

- (BOOL)openSubmenu:(SDLMenuCell *)cell {
if (cell.subCells.count == 0) {
SDLLogE(@"The cell %@ does not contain any sub cells, so no submenu can be opened", cell);
return NO;
} else if ([SDLGlobals.sharedGlobals.rpcVersion isLessThanVersion:[[SDLVersion alloc] initWithMajor:6 minor:0 patch:0]]) {
SDLLogE(@"The openSubmenu method is not supported on this head unit.");
return NO;
} else if (![self.menuCells containsObject:cell]) {
SDLLogE(@"This cell has not been sent to the head unit, so no submenu can be opened. Make sure that the cell exists in the SDLManager.menu array");
return NO;
}

SDLShowAppMenu *subMenu = [[SDLShowAppMenu alloc] initWithMenuID:cell.cellId];
joeljfischer marked this conversation as resolved.
Show resolved Hide resolved

[self.connectionManager sendConnectionRequest:subMenu withResponseHandler:^(__kindof SDLRPCRequest * _Nullable request, __kindof SDLRPCResponse * _Nullable response, NSError * _Nullable error) {
if (error != nil) {
SDLLogE(@"Error opening application to submenu cell: %@, with error: %@", cell, error);
}
}];

return YES;
}

@end

NS_ASSUME_NONNULL_END
2 changes: 2 additions & 0 deletions SmartDeviceLink/SDLNotificationConstants.h
Expand Up @@ -161,6 +161,7 @@ extern SDLNotificationName const SDLDidReceiveSetInteriorVehicleDataResponse;
extern SDLNotificationName const SDLDidReceiveSetMediaClockTimerResponse;
extern SDLNotificationName const SDLDidReceiveShowConstantTBTResponse;
extern SDLNotificationName const SDLDidReceiveShowResponse;
extern SDLNotificationName const SDLDidReceiveShowAppMenuResponse;
extern SDLNotificationName const SDLDidReceiveSliderResponse;
extern SDLNotificationName const SDLDidReceiveSpeakResponse;
extern SDLNotificationName const SDLDidReceiveSubscribeButtonResponse;
Expand Down Expand Up @@ -220,6 +221,7 @@ extern SDLNotificationName const SDLDidReceiveSetGlobalPropertiesRequest;
extern SDLNotificationName const SDLDidReceiveSetInteriorVehicleDataRequest;
extern SDLNotificationName const SDLDidReceiveSetMediaClockTimerRequest;
extern SDLNotificationName const SDLDidReceiveShowRequest;
extern SDLNotificationName const SDLDidReceiveShowAppMenuRequest;
extern SDLNotificationName const SDLDidReceiveShowConstantTBTRequest;
extern SDLNotificationName const SDLDidReceiveSliderRequest;
extern SDLNotificationName const SDLDidReceiveSpeakRequest;
Expand Down
3 changes: 3 additions & 0 deletions SmartDeviceLink/SDLNotificationConstants.m
Expand Up @@ -69,6 +69,7 @@
SDLNotificationName const SDLDidReceiveSetMediaClockTimerResponse = @"com.sdl.response.setMediaClockTimer";
SDLNotificationName const SDLDidReceiveShowConstantTBTResponse = @"com.sdl.response.showConstantTBT";
SDLNotificationName const SDLDidReceiveShowResponse = @"com.sdl.response.show";
SDLNotificationName const SDLDidReceiveShowAppMenuResponse = @"com.sdl.response.showAppMenu";
SDLNotificationName const SDLDidReceiveSliderResponse = @"com.sdl.response.slider";
SDLNotificationName const SDLDidReceiveSpeakResponse = @"com.sdl.response.speak";
SDLNotificationName const SDLDidReceiveSubscribeButtonResponse = @"com.sdl.response.subscribeButton";
Expand Down Expand Up @@ -125,6 +126,7 @@
SDLNotificationName const SDLDidReceiveSetInteriorVehicleDataRequest = @"com.sdl.request.setInteriorVehicleData";
SDLNotificationName const SDLDidReceiveSetMediaClockTimerRequest = @"com.sdl.request.setMediaClockTimer";
SDLNotificationName const SDLDidReceiveShowRequest = @"com.sdl.request.show";
SDLNotificationName const SDLDidReceiveShowAppMenuRequest = @"com.sdl.request.showAppMenu";
SDLNotificationName const SDLDidReceiveShowConstantTBTRequest = @"com.sdl.request.showConstantTBT";
SDLNotificationName const SDLDidReceiveSliderRequest = @"com.sdl.request.slider";
SDLNotificationName const SDLDidReceiveSpeakRequest = @"com.sdl.request.speak";
Expand Down Expand Up @@ -212,6 +214,7 @@ @implementation SDLNotificationConstants
SDLDidReceiveSetMediaClockTimerResponse,
SDLDidReceiveShowConstantTBTResponse,
SDLDidReceiveShowResponse,
SDLDidReceiveShowAppMenuResponse,
SDLDidReceiveSliderResponse,
SDLDidReceiveSpeakResponse,
SDLDidReceiveSubscribeButtonResponse,
Expand Down
8 changes: 8 additions & 0 deletions SmartDeviceLink/SDLNotificationDispatcher.m
Expand Up @@ -275,6 +275,10 @@ - (void)onShowResponse:(SDLShowResponse *)response {
[self postRPCResponseNotification:SDLDidReceiveShowResponse response:response];
}

- (void)onShowAppMenuResponse:(SDLShowAppMenuResponse *)response {
[self postRPCResponseNotification:SDLDidReceiveShowAppMenuResponse response:response];
}

- (void)onSliderResponse:(SDLSliderResponse *)response {
[self postRPCResponseNotification:SDLDidReceiveSliderResponse response:response];
}
Expand Down Expand Up @@ -493,6 +497,10 @@ - (void)onShow:(SDLShow *)request {
[self postRPCRequestNotification:SDLDidReceiveShowRequest request:request];
}

- (void)onShowAppMenu:(SDLShowAppMenu *)request {
[self postRPCRequestNotification:SDLDidReceiveShowAppMenuRequest request:request];
}

- (void)onShowConstantTBT:(SDLShowConstantTBT *)request {
[self postRPCRequestNotification:SDLDidReceiveShowConstantTBTRequest request:request];
}
Expand Down
16 changes: 16 additions & 0 deletions SmartDeviceLink/SDLProxyListener.h
Expand Up @@ -112,6 +112,8 @@
@class SDLSetMediaClockTimer;
@class SDLSetMediaClockTimerResponse;
@class SDLShow;
@class SDLShowAppMenu;
@class SDLShowAppMenuResponse;
@class SDLShowConstantTBT;
@class SDLShowConstantTBTResponse;
@class SDLShowResponse;
Expand Down Expand Up @@ -493,6 +495,13 @@ NS_ASSUME_NONNULL_BEGIN
*/
- (void)onShowResponse:(SDLShowResponse *)response;

/**
* Called when a ShowAppMenu Response is received from Core
*
* @param response A SDLShowAppMenuResponse object
*/
- (void)onShowAppMenuResponse:(SDLShowAppMenuResponse *)response;

/**
* Called when a Slider Response is received from Core
*
Expand Down Expand Up @@ -873,6 +882,13 @@ NS_ASSUME_NONNULL_BEGIN
*/
- (void)onShow:(SDLShow *)request;

/**
* Called when a `ShowAppMenu` is received from Core
*
* @param request A SDLShowAppMenu object
*/
- (void)onShowAppMenu:(SDLShowAppMenu *)request;

/**
* Called when a `ShowConstantTBT` request is received from Core
*
Expand Down
1 change: 1 addition & 0 deletions SmartDeviceLink/SDLRPCFunctionNames.h
Expand Up @@ -81,6 +81,7 @@ extern SDLRPCFunctionName const SDLRPCFunctionNameSetGlobalProperties;
extern SDLRPCFunctionName const SDLRPCFunctionNameSetInteriorVehicleData;
extern SDLRPCFunctionName const SDLRPCFunctionNameSetMediaClockTimer;
extern SDLRPCFunctionName const SDLRPCFunctionNameShow;
extern SDLRPCFunctionName const SDLRPCFunctionNameShowAppMenu;
extern SDLRPCFunctionName const SDLRPCFunctionNameShowConstantTBT;
extern SDLRPCFunctionName const SDLRPCFunctionNameSlider;
extern SDLRPCFunctionName const SDLRPCFunctionNameSpeak;
Expand Down
1 change: 1 addition & 0 deletions SmartDeviceLink/SDLRPCFunctionNames.m
Expand Up @@ -76,6 +76,7 @@
SDLRPCFunctionName const SDLRPCFunctionNameSetInteriorVehicleData = @"SetInteriorVehicleData";
SDLRPCFunctionName const SDLRPCFunctionNameSetMediaClockTimer = @"SetMediaClockTimer";
SDLRPCFunctionName const SDLRPCFunctionNameShow = @"Show";
SDLRPCFunctionName const SDLRPCFunctionNameShowAppMenu = @"ShowAppMenu";
SDLRPCFunctionName const SDLRPCFunctionNameShowConstantTBT = @"ShowConstantTBT";
SDLRPCFunctionName const SDLRPCFunctionNameSlider = @"Slider";
SDLRPCFunctionName const SDLRPCFunctionNameSpeak = @"Speak";
Expand Down