summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Fischer <joeljfischer@gmail.com>2019-08-12 16:45:37 -0400
committerJoel Fischer <joeljfischer@gmail.com>2019-08-12 16:45:37 -0400
commitb66221471c3f42523da567981fe630ed5263b1a7 (patch)
tree852f231218f5ebeb64f7b7cd134801d5681aab3e
parent81e0c290da0008d55c9521f0f4949da53b98eb73 (diff)
downloadsdl_ios-bugfix/issue_1383_slider_scrollable_message_examples.tar.gz
Add Slider and Scrollable Message example appsbugfix/issue_1383_slider_scrollable_message_examples
-rw-r--r--Example Apps/Example ObjC/MenuManager.m16
-rw-r--r--Example Apps/Example Swift/MenuManager.swift16
-rw-r--r--Example Apps/Shared/AppConstants.h2
-rw-r--r--Example Apps/Shared/AppConstants.m2
4 files changed, 36 insertions, 0 deletions
diff --git a/Example Apps/Example ObjC/MenuManager.m b/Example Apps/Example ObjC/MenuManager.m
index 41458da3b..44adcc223 100644
--- a/Example Apps/Example ObjC/MenuManager.m
+++ b/Example Apps/Example ObjC/MenuManager.m
@@ -23,6 +23,8 @@ NS_ASSUME_NONNULL_BEGIN
return @[[self sdlex_menuCellSpeakNameWithManager:manager],
[self sdlex_menuCellGetAllVehicleDataWithManager:manager],
[self sdlex_menuCellShowPerformInteractionWithManager:manager performManager:performManager],
+ [self sdlex_sliderMenuCellWithManager:manager],
+ [self sdlex_scrollableMessageMenuCellWithManager:manager],
[self sdlex_menuCellRecordInCarMicrophoneAudioWithManager:manager],
[self sdlex_menuCellDialNumberWithManager:manager],
[self sdlex_menuCellChangeTemplateWithManager:manager],
@@ -130,6 +132,20 @@ NS_ASSUME_NONNULL_BEGIN
return [[SDLMenuCell alloc] initWithTitle:ACSubmenuMenuName icon:[SDLArtwork artworkWithImage:[[UIImage imageNamed:MenuBWIconImageName] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate] asImageFormat:SDLArtworkImageFormatPNG] subCells:[submenuItems copy]];
}
++ (SDLMenuCell *)sdlex_sliderMenuCellWithManager:(SDLManager *)manager {
+ return [[SDLMenuCell alloc] initWithTitle:ACSliderMenuName icon:nil voiceCommands:@[ACSliderMenuName] handler:^(SDLTriggerSource _Nonnull triggerSource) {
+ SDLSlider *sliderRPC = [[SDLSlider alloc] initWithNumTicks:3 position:1 sliderHeader:@"Select a letter" sliderFooters:@[@"A", @"B", @"C"] timeout:10000];
+ [manager sendRequest:sliderRPC];
+ }];
+}
+
++ (SDLMenuCell *)sdlex_scrollableMessageMenuCellWithManager:(SDLManager *)manager {
+ return [[SDLMenuCell alloc] initWithTitle:ACScrollableMessageMenuName icon:nil voiceCommands:@[ACScrollableMessageMenuName] handler:^(SDLTriggerSource _Nonnull triggerSource) {
+ SDLScrollableMessage *messageRPC = [[SDLScrollableMessage alloc] initWithMessage:@"This is a scrollable message\nIt can contain many lines" timeout:10000 softButtons:nil];
+ [manager sendRequest:messageRPC];
+ }];
+}
+
#pragma mark - Voice Commands
+ (SDLVoiceCommand *)sdlex_voiceCommandStartWithManager:(SDLManager *)manager {
diff --git a/Example Apps/Example Swift/MenuManager.swift b/Example Apps/Example Swift/MenuManager.swift
index c5171510d..7cd5dd9de 100644
--- a/Example Apps/Example Swift/MenuManager.swift
+++ b/Example Apps/Example Swift/MenuManager.swift
@@ -19,6 +19,8 @@ class MenuManager: NSObject {
return [menuCellSpeakName(with: manager),
menuCellGetAllVehicleData(with: manager),
menuCellShowPerformInteraction(with: manager, choiceSetManager: choiceSetManager),
+ sliderMenuCell(with: manager),
+ scrollableMessageMenuCell(with: manager),
menuCellRecordInCarMicrophoneAudio(with: manager),
menuCellDialNumber(with: manager),
menuCellChangeTemplate(with: manager),
@@ -174,6 +176,20 @@ private extension MenuManager {
return SDLMenuCell(title: ACSubmenuMenuName, icon: SDLArtwork(image: #imageLiteral(resourceName: "choice_set").withRenderingMode(.alwaysTemplate), persistent: true, as: .PNG), subCells: submenuItems)
}
+
+ private class func sliderMenuCell(with manager: SDLManager) -> SDLMenuCell {
+ return SDLMenuCell(title: ACSliderMenuName, icon: nil, voiceCommands: [ACSliderMenuName], handler: { _ in
+ let slider = SDLSlider(numTicks: 3, position: 1, sliderHeader: "Select a letter", sliderFooters: ["A", "B", "C"], timeout: 10000)
+ manager.send(slider)
+ })
+ }
+
+ private class func scrollableMessageMenuCell(with manager: SDLManager) -> SDLMenuCell {
+ return SDLMenuCell(title: ACScrollableMessageMenuName, icon: nil, voiceCommands: [ACScrollableMessageMenuName], handler: { _ in
+ let scrollableMessage = SDLScrollableMessage(message: "This is a scrollable message\nIt can contain many lines", timeout: 10000, softButtons: nil)
+ manager.send(scrollableMessage)
+ })
+ }
}
// MARK: - Menu Voice Commands
diff --git a/Example Apps/Shared/AppConstants.h b/Example Apps/Shared/AppConstants.h
index 5c7b373e0..9e7ec3d28 100644
--- a/Example Apps/Shared/AppConstants.h
+++ b/Example Apps/Shared/AppConstants.h
@@ -79,6 +79,8 @@ extern NSString * const ACDialPhoneNumberMenuName;
extern NSString * const ACSubmenuMenuName;
extern NSString * const ACSubmenuItemMenuName;
extern NSString * const ACSubmenuTemplateMenuName;
+extern NSString * const ACSliderMenuName;
+extern NSString * const ACScrollableMessageMenuName;
extern NSString * const ACAccelerationPedalPositionMenuName;
extern NSString * const ACAirbagStatusMenuName;
diff --git a/Example Apps/Shared/AppConstants.m b/Example Apps/Shared/AppConstants.m
index d6edd60c1..1760ecb42 100644
--- a/Example Apps/Shared/AppConstants.m
+++ b/Example Apps/Shared/AppConstants.m
@@ -76,6 +76,8 @@ NSString * const ACDialPhoneNumberMenuName = @"Dial Phone Number";
NSString * const ACSubmenuMenuName = @"Submenu";
NSString * const ACSubmenuItemMenuName = @"Item";
NSString * const ACSubmenuTemplateMenuName = @"Change Template";
+NSString * const ACSliderMenuName = @"Show Slider";
+NSString * const ACScrollableMessageMenuName = @"Show Scrollable Message";
NSString * const ACAccelerationPedalPositionMenuName = @"Acceleration Pedal Position";
NSString * const ACAirbagStatusMenuName = @"Airbag Status";