summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Elias <francois.elias@livio.io>2020-10-29 12:04:10 -0400
committerFrank Elias <francois.elias@livio.io>2020-10-29 12:04:10 -0400
commit3137fe790f21b6082dc20cc3e7ecd03fba3bac61 (patch)
treee40b6c25dd75db767cee94293a98b80f5559edea
parent2e4f4d0fbaf24eaa121a5d85b435ffb9433303c0 (diff)
downloadsdl_ios-bugfix/issue-1827-Example-app-template-reset-when-HMI-level-changes.tar.gz
Add comments and enhancements
-rw-r--r--Example Apps/Example ObjC/MenuManager.m6
-rw-r--r--Example Apps/Example ObjC/ProxyManager.m38
-rw-r--r--Example Apps/Example Swift/MenuManager.swift1
-rw-r--r--Example Apps/Example Swift/ProxyManager.swift27
4 files changed, 38 insertions, 34 deletions
diff --git a/Example Apps/Example ObjC/MenuManager.m b/Example Apps/Example ObjC/MenuManager.m
index 92ddfe310..f04d8b382 100644
--- a/Example Apps/Example ObjC/MenuManager.m
+++ b/Example Apps/Example ObjC/MenuManager.m
@@ -121,13 +121,15 @@ NS_ASSUME_NONNULL_BEGIN
// Non - Media
SDLMenuCell *cell = [[SDLMenuCell alloc] initWithTitle:@"Non - Media (Default)" icon:nil voiceCommands:nil handler:^(SDLTriggerSource _Nonnull triggerSource) {
- [self setCurrentTemplate:SDLPredefinedLayoutNonMedia];
+ __weak typeof (self) weakSelf = self;
+ [weakSelf setCurrentTemplate:SDLPredefinedLayoutNonMedia];
}];
[submenuItems addObject:cell];
// Graphic With Text
SDLMenuCell *cell2 = [[SDLMenuCell alloc] initWithTitle:@"Graphic With Text" icon:nil voiceCommands:nil handler:^(SDLTriggerSource _Nonnull triggerSource) {
- [self setCurrentTemplate:SDLPredefinedLayoutGraphicWithText];
+ __weak typeof (self) weakSelf = self;
+ [weakSelf setCurrentTemplate:SDLPredefinedLayoutGraphicWithText];
}];
[submenuItems addObject:cell2];
diff --git a/Example Apps/Example ObjC/ProxyManager.m b/Example Apps/Example ObjC/ProxyManager.m
index f59e4adb9..c8db79b25 100644
--- a/Example Apps/Example ObjC/ProxyManager.m
+++ b/Example Apps/Example ObjC/ProxyManager.m
@@ -60,25 +60,6 @@ NS_ASSUME_NONNULL_BEGIN
return self;
}
-- (nullable RefreshTemplateHandler)refreshTemplateHandler {
- if(!_refreshTemplateHandler) {
- __weak typeof(self) weakSelf = self;
- self.refreshTemplateHandler = ^(SDLPredefinedLayout template) {
- NSString *errorMessage = @"Changing the template failed";
- weakSelf.currentTemplate = template;
- [weakSelf.sdlManager.screenManager changeLayout:[[SDLTemplateConfiguration alloc] initWithPredefinedLayout:weakSelf.currentTemplate] withCompletionHandler:nil];
-
- [weakSelf.sdlManager.screenManager changeLayout:[[SDLTemplateConfiguration alloc] initWithPredefinedLayout: weakSelf.currentTemplate] withCompletionHandler:^(NSError * _Nullable error) {
- if (error != nil) {
- [AlertManager sendAlertWithManager:weakSelf.sdlManager image:nil textField1:errorMessage textField2:nil];
- }
- }];
- };
- }
-
- return _refreshTemplateHandler;
-}
-
- (void)sdlex_startManager {
__weak typeof (self) weakSelf = self;
[self.sdlManager startWithReadyHandler:^(BOOL success, NSError * _Nullable error) {
@@ -206,6 +187,25 @@ NS_ASSUME_NONNULL_BEGIN
return _refreshUIHandler;
}
+- (nullable RefreshTemplateHandler)refreshTemplateHandler {
+ if(!_refreshTemplateHandler) {
+ __weak typeof(self) weakSelf = self;
+ weakSelf.refreshTemplateHandler = ^(SDLPredefinedLayout template) {
+ NSString *errorMessage = @"Changing the template failed";
+ weakSelf.currentTemplate = template;
+ [weakSelf.sdlManager.screenManager changeLayout:[[SDLTemplateConfiguration alloc] initWithPredefinedLayout:weakSelf.currentTemplate] withCompletionHandler:nil];
+
+ [weakSelf.sdlManager.screenManager changeLayout:[[SDLTemplateConfiguration alloc] initWithPredefinedLayout: weakSelf.currentTemplate] withCompletionHandler:^(NSError * _Nullable error) {
+ if (error != nil) {
+ [AlertManager sendAlertWithManager:weakSelf.sdlManager image:nil textField1:errorMessage textField2:nil];
+ }
+ }];
+ };
+ }
+
+ return _refreshTemplateHandler;
+}
+
- (void)sdlex_updateScreen {
if (![self.sdlManager.hmiLevel isEqualToEnum:SDLHMILevelFull]) { return; }
diff --git a/Example Apps/Example Swift/MenuManager.swift b/Example Apps/Example Swift/MenuManager.swift
index aebe180dc..f13a5c83e 100644
--- a/Example Apps/Example Swift/MenuManager.swift
+++ b/Example Apps/Example Swift/MenuManager.swift
@@ -15,6 +15,7 @@ typealias RefreshTemplateHandler = ((SDLPredefinedLayout) -> Void)
class MenuManager: NSObject {
fileprivate var refreshTemplateHandler: RefreshTemplateHandler?
+ /// Setting current selected template
public fileprivate(set) var currentTemplate: SDLPredefinedLayout {
didSet {
guard let refreshTemplateHandler = refreshTemplateHandler else { return }
diff --git a/Example Apps/Example Swift/ProxyManager.swift b/Example Apps/Example Swift/ProxyManager.swift
index 6ce4e3cbf..8e966c2ad 100644
--- a/Example Apps/Example Swift/ProxyManager.swift
+++ b/Example Apps/Example Swift/ProxyManager.swift
@@ -39,19 +39,6 @@ class ProxyManager: NSObject {
currentTemplate = .nonMedia
super.init()
}
-
- var refreshTemplateHandler: RefreshTemplateHandler {
- return { [weak self] template in
- let errorMessage = "Changing the template failed"
- self?.currentTemplate = template
- self?.sdlManager.screenManager.changeLayout(SDLTemplateConfiguration(predefinedLayout: template)) { err in
- if err != nil {
- AlertManager.sendAlert(textField1: errorMessage, sdlManager: (self?.sdlManager)!)
- return
- }
- }
- }
- }
}
// MARK: - SDL Configuration
@@ -265,6 +252,20 @@ private extension ProxyManager {
}
}
+ /// Handler for refreshing the template
+ var refreshTemplateHandler: RefreshTemplateHandler {
+ return { [weak self] template in
+ let errorMessage = "Changing the template failed"
+ self?.currentTemplate = template
+ self?.sdlManager.screenManager.changeLayout(SDLTemplateConfiguration(predefinedLayout: template)) { err in
+ if err != nil {
+ AlertManager.sendAlert(textField1: errorMessage, sdlManager: (self?.sdlManager)!)
+ return
+ }
+ }
+ }
+ }
+
/// Set the template and create the UI
func showInitialData() {
guard sdlManager.hmiLevel == .full else { return }