summaryrefslogtreecommitdiff
path: root/Example Apps/Example Swift
diff options
context:
space:
mode:
authorJustin Beharry <justin.beharry@livio.io>2022-07-29 14:46:27 -0400
committerJustin Beharry <justin.beharry@livio.io>2022-07-29 14:46:27 -0400
commit74a8870f43547e8e1b1c2b1ec6affd7276f2fb3c (patch)
treec2b25a59ddc3f60ff8a90073f64668bbc3ca62bd /Example Apps/Example Swift
parentdae71d440af8f796e2bce3be701dbc9b6204c75c (diff)
downloadsdl_ios-74a8870f43547e8e1b1c2b1ec6affd7276f2fb3c.tar.gz
Create submenu item to view remote climate settings
Diffstat (limited to 'Example Apps/Example Swift')
-rw-r--r--Example Apps/Example Swift/MenuManager.swift33
1 files changed, 22 insertions, 11 deletions
diff --git a/Example Apps/Example Swift/MenuManager.swift b/Example Apps/Example Swift/MenuManager.swift
index 943b9bc8b..1620efd97 100644
--- a/Example Apps/Example Swift/MenuManager.swift
+++ b/Example Apps/Example Swift/MenuManager.swift
@@ -213,32 +213,43 @@ private extension MenuManager {
/// - Parameter manager: The SDL Manager
/// - Returns: A SDLMenuCell object
class func menuCellRemoteControl(with manager: SDLManager) -> SDLMenuCell {
+
+ /// Initialize Remote Control Manager
+ let remoteControlManager = RemoteControlManager(sdlManager: manager)
/// Lets give an example of 2 templates
var submenuItems = [SDLMenuCell]()
let errorMessage = "Changing the template failed"
/// Climate Control Menu
- let submenuTitleNonMedia = "Climate Control"
- submenuItems.append(SDLMenuCell(title: submenuTitleNonMedia, secondaryText: nil, tertiaryText: nil, icon: nil, secondaryArtwork: nil, voiceCommands: nil, handler: { (triggerSource) in
- manager.screenManager.changeLayout(SDLTemplateConfiguration(predefinedLayout: .nonMedia)) { err in
+ let submenuTitleControl = "Climate Control"
+ submenuItems.append(SDLMenuCell(title: submenuTitleControl, secondaryText: nil, tertiaryText: nil, icon: nil, secondaryArtwork: nil, voiceCommands: nil, handler: { (triggerSource) in
+ manager.screenManager.changeLayout(SDLTemplateConfiguration(predefinedLayout: .tilesOnly)) { err in
if err != nil {
AlertManager.sendAlert(textField1: errorMessage, sdlManager: manager)
return
}
- RemoteControlManager(sdlManager: manager)
+ remoteControlManager.showClimateControl()
}
}))
- /// Graphic with Text
- let submenuTitleGraphicText = "Radio Control"
- submenuItems.append(SDLMenuCell(title: submenuTitleGraphicText, secondaryText: nil, tertiaryText: nil, icon: nil, secondaryArtwork: nil, voiceCommands: nil, handler: { (triggerSource) in
- manager.screenManager.changeLayout(SDLTemplateConfiguration(predefinedLayout: .graphicWithText)) { err in
- if err != nil {
- AlertManager.sendAlert(textField1: errorMessage, sdlManager: manager)
+ /// View Climate Data
+ let submenuTitleView = "View Climate"
+ submenuItems.append(SDLMenuCell(title: submenuTitleView, secondaryText: nil, tertiaryText: nil, icon: nil, secondaryArtwork: nil, voiceCommands: nil, handler: { _ in
+ let climateDataMessage = SDLScrollableMessage(message: remoteControlManager.getClimateData())
+ manager.send(request: climateDataMessage, responseHandler: { (request, response, error) in
+ guard let response = response else { return }
+ guard response.resultCode == .success else {
+ if response.resultCode == .timedOut {
+ AlertManager.sendAlert(textField1: AlertScrollableMessageTimedOutWarningText, sdlManager: manager)
+ } else if response.resultCode == .aborted {
+ AlertManager.sendAlert(textField1: AlertScrollableMessageCancelledWarningText, sdlManager: manager)
+ } else {
+ AlertManager.sendAlert(textField1: AlertScrollableMessageGeneralWarningText, sdlManager: manager)
+ }
return
}
- }
+ })
}))
return SDLMenuCell(title: "Remote Control", secondaryText: nil, tertiaryText: nil, icon: nil, secondaryArtwork: nil, submenuLayout: .list, subCells: submenuItems)