summaryrefslogtreecommitdiff
path: root/src/appMain
diff options
context:
space:
mode:
authorJustin Dickow <jjdickow@gmail.com>2015-01-26 11:15:48 -0500
committerJustin Dickow <jjdickow@gmail.com>2015-01-26 11:15:48 -0500
commit46ed776c537131e72747538488b213cf45f23e22 (patch)
tree4cad1abf411addfd72ab591c93edeb5d225d9a39 /src/appMain
parenta24079cb8de5563376dcf782cdb9fe3cae063841 (diff)
downloadsdl_core-46ed776c537131e72747538488b213cf45f23e22.tar.gz
Latest internal release - last bulk merge before pull request and gitflow!?
Smoke tested on Ubuntu 12.04 Signed-off-by: Justin Dickow <jjdickow@gmail.com>
Diffstat (limited to 'src/appMain')
-rw-r--r--src/appMain/CMakeLists.txt1
-rw-r--r--src/appMain/life_cycle.cc54
-rw-r--r--src/appMain/life_cycle.h1
-rw-r--r--src/appMain/main.cc18
-rw-r--r--src/appMain/sdl_preloaded_pt.json385
-rw-r--r--src/appMain/smartDeviceLink.ini29
6 files changed, 62 insertions, 426 deletions
diff --git a/src/appMain/CMakeLists.txt b/src/appMain/CMakeLists.txt
index c322aa0025..7e23cdc6a0 100644
--- a/src/appMain/CMakeLists.txt
+++ b/src/appMain/CMakeLists.txt
@@ -182,7 +182,6 @@ include_directories (
./main_test.cc
${CMAKE_SOURCE_DIR}/src/components/utils/test/date_time_test.cc
${CMAKE_SOURCE_DIR}/src/components/utils/test/file_system_test.cc
- ${CMAKE_SOURCE_DIR}/src/components/utils/test/messagemeter_test.cc
${CMAKE_SOURCE_DIR}/src/components/media_manager/test/media_adapter_impl_test.cc
${AM_TEST_DIR}/command_impl_test.cc
)
diff --git a/src/appMain/life_cycle.cc b/src/appMain/life_cycle.cc
index 912abb0356..8d4926510b 100644
--- a/src/appMain/life_cycle.cc
+++ b/src/appMain/life_cycle.cc
@@ -40,9 +40,7 @@
#include "security_manager/crypto_manager_impl.h"
#endif // ENABLE_SECURITY
-#ifdef ENABLE_LOG
-#include "utils/log_message_loop_thread.h"
-#endif
+#include "utils/threads/thread_manager.h"
using threads::Thread;
@@ -53,7 +51,7 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "appMain")
namespace {
void NameMessageBrokerThread(const System::Thread& thread,
const std::string& name) {
- Thread::SetNameForId(thread.GetId(), name);
+ Thread::SetNameForId(Thread::Id(thread.GetId()), name);
}
} // namespace
@@ -94,9 +92,7 @@ bool LifeCycle::StartComponents() {
DCHECK(transport_manager_ != NULL);
protocol_handler_ =
- new protocol_handler::ProtocolHandlerImpl(transport_manager_,
- profile::Profile::instance()->message_frequency_time(),
- profile::Profile::instance()->message_frequency_count());
+ new protocol_handler::ProtocolHandlerImpl(transport_manager_);
DCHECK(protocol_handler_ != NULL);
connection_handler_ =
@@ -340,35 +336,27 @@ bool LifeCycle::InitMessageSystem() {
#endif // MQUEUE_HMIADAPTER
namespace {
-
void sig_handler(int sig) {
- // Do nothing
- }
-
- void agony(int sig) {
-// these actions are not signal safe
-// (in case logger is on)
-// but they cannot be moved to a separate thread
-// because the application most probably will crash as soon as this handler returns
-//
-// the application is anyway about to crash
- LOG4CXX_FATAL(logger_, "Stopping application due to segmentation fault");
-#ifdef ENABLE_LOG
- logger::LogMessageLoopThread::destroy();
-#endif
+ MessageQueue<threads::ThreadManager::ThreadDesc>& threads = ::threads::ThreadManager::instance()->threads_to_terminate;
+ threads.Shutdown();
}
-
-} // namespace
+}
void LifeCycle::Run() {
- // First, register signal handlers
+ // First, register signal handler
::utils::SubscribeToTerminateSignal(&sig_handler);
- ::utils::SubscribeToFaultSignal(&agony);
- // Now wait for any signal
- pause();
+ // Then run main loop until signal caught
+ MessageQueue<threads::ThreadManager::ThreadDesc>& threads = ::threads::ThreadManager::instance()->threads_to_terminate;
+ while(!threads.IsShuttingDown()) {
+ while (!threads.empty()) {
+ ::threads::ThreadManager::ThreadDesc desc = threads.pop();
+ pthread_join(desc.handle, NULL);
+ delete desc.delegate;
+ }
+ threads.wait();
+ }
}
-
void LifeCycle::StopComponents() {
if (!components_started_) {
LOG4CXX_TRACE(logger_, "exit");
@@ -380,14 +368,11 @@ void LifeCycle::StopComponents() {
protocol_handler_->RemoveProtocolObserver(app_manager_);
app_manager_->Stop();
- LOG4CXX_INFO(logger_, "Stopping Protocol Handler");
+ LOG4CXX_INFO(logger_, "Destroying Media Manager");
protocol_handler_->RemoveProtocolObserver(media_manager_);
#ifdef ENABLE_SECURITY
protocol_handler_->RemoveProtocolObserver(security_manager_);
#endif // ENABLE_SECURITY
- protocol_handler_->Stop();
-
- LOG4CXX_INFO(logger_, "Destroying Media Manager");
media_manager_->SetProtocolHandler(NULL);
media_manager::MediaManagerImpl::destroy();
@@ -441,9 +426,6 @@ void LifeCycle::StopComponents() {
mb_adapter_->unregisterController();
mb_adapter_->Close();
mb_adapter_->exitReceivingThread();
- if (mb_adapter_thread_) {
- mb_adapter_thread_->Join();
- }
delete mb_adapter_;
}
if (mb_adapter_thread_) {
diff --git a/src/appMain/life_cycle.h b/src/appMain/life_cycle.h
index d3554710a7..3494575680 100644
--- a/src/appMain/life_cycle.h
+++ b/src/appMain/life_cycle.h
@@ -86,7 +86,6 @@ class LifeCycle : public utils::Singleton<LifeCycle> {
void Run();
void StopComponents();
-
private:
LifeCycle();
transport_manager::TransportManager* transport_manager_;
diff --git a/src/appMain/main.cc b/src/appMain/main.cc
index 27e0eef2a3..331b0397ee 100644
--- a/src/appMain/main.cc
+++ b/src/appMain/main.cc
@@ -176,7 +176,10 @@ int32_t main(int32_t argc, char** argv) {
#ifdef __QNX__
if (profile::Profile::instance()->enable_policy()) {
if (!utils::System("./init_policy.sh").Execute(true)) {
- LOG4CXX_FATAL(logger_, "Failed to init policy database");
+ LOG4CXX_ERROR(logger_, "Failed initialization of policy database");
+#ifdef ENABLE_LOG
+ logger::LogMessageLoopThread::destroy();
+#endif
DEINIT_LOGGER();
exit(EXIT_FAILURE);
}
@@ -184,8 +187,10 @@ int32_t main(int32_t argc, char** argv) {
#endif // __QNX__
if (!main_namespace::LifeCycle::instance()->StartComponents()) {
- LOG4CXX_FATAL(logger_, "Failed to start components");
main_namespace::LifeCycle::instance()->StopComponents();
+#ifdef ENABLE_LOG
+ logger::LogMessageLoopThread::destroy();
+#endif
DEINIT_LOGGER();
exit(EXIT_FAILURE);
}
@@ -194,7 +199,7 @@ int32_t main(int32_t argc, char** argv) {
// Third-Party components initialization.
if (!main_namespace::LifeCycle::instance()->InitMessageSystem()) {
- LOG4CXX_FATAL(logger_, "Failed to init message system");
+ main_namespace::LifeCycle::instance()->StopComponents();
DEINIT_LOGGER();
exit(EXIT_FAILURE);
}
@@ -206,8 +211,10 @@ int32_t main(int32_t argc, char** argv) {
#ifndef NO_HMI
if (!InitHmi()) {
- LOG4CXX_FATAL(logger_, "Failed to init HMI");
main_namespace::LifeCycle::instance()->StopComponents();
+#ifdef ENABLE_LOG
+ logger::LogMessageLoopThread::destroy();
+#endif
DEINIT_LOGGER();
exit(EXIT_FAILURE);
}
@@ -223,6 +230,9 @@ int32_t main(int32_t argc, char** argv) {
main_namespace::LifeCycle::instance()->StopComponents();
LOG4CXX_INFO(logger_, "Application successfully stopped");
+#ifdef ENABLE_LOG
+ logger::LogMessageLoopThread::destroy();
+#endif
DEINIT_LOGGER();
return EXIT_SUCCESS;
diff --git a/src/appMain/sdl_preloaded_pt.json b/src/appMain/sdl_preloaded_pt.json
index 39697d0c74..52b7684b06 100644
--- a/src/appMain/sdl_preloaded_pt.json
+++ b/src/appMain/sdl_preloaded_pt.json
@@ -14,15 +14,11 @@
"endpoints": {
"0x07": {
"default": ["http://policies.telematics.ford.com/api/policies"]
- },
- "0x04": {
- "default": ["http://ivsu.software.ford.com/api/getsoftwareupdates"]
}
},
"notifications_per_minute_by_priority": {
"EMERGENCY": 60,
"NAVIGATION": 15,
- "VOICECOM": 20,
"COMMUNICATION": 6,
"NORMAL": 4,
"NONE": 0
@@ -112,13 +108,11 @@
},
"OnButtonEvent": {
"hmi_levels": ["FULL",
- "LIMITED",
- "BACKGROUND"]
+ "LIMITED"]
},
"OnButtonPress": {
"hmi_levels": ["FULL",
- "LIMITED",
- "BACKGROUND"]
+ "LIMITED"]
},
"OnCommand": {
"hmi_levels": ["BACKGROUND",
@@ -189,8 +183,7 @@
"ResetGlobalProperties": {
"hmi_levels": ["BACKGROUND",
"FULL",
- "LIMITED",
- "NONE"]
+ "LIMITED"]
},
"ScrollableMessage": {
"hmi_levels": ["FULL"]
@@ -210,13 +203,11 @@
"SetGlobalProperties": {
"hmi_levels": ["BACKGROUND",
"FULL",
- "LIMITED",
- "NONE"]
+ "LIMITED"]
},
"SetMediaClockTimer": {
"hmi_levels": ["FULL",
- "LIMITED",
- "BACKGROUND"]
+ "LIMITED"]
},
"Show": {
"hmi_levels": ["BACKGROUND",
@@ -438,39 +429,6 @@
}
}
},
- "PropriataryData-2": {
- "rpcs": {
- "DiagnosticMessage": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "GetDTCs": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "ReadDID": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- }
- }
- },
- "ProprietaryData-3": {
- "rpcs": {
- "GetDTCs": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "ReadDID": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- }
- }
- },
"Emergency-1": {
"rpcs": {
"GetVehicleData": {
@@ -530,246 +488,6 @@
}
}
},
- "Base-6": {
- "rpcs": {
- "AddCommand": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "AddSubMenu": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "Alert": {
- "hmi_levels": ["FULL",
- "LIMITED"]
- },
- "ChangeRegistration": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "CreateInteractionChoiceSet": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "DeleteCommand": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "DeleteFile": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "DeleteInteractionChoiceSet": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "DeleteSubMenu": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "EncodedSyncPData": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "EndAudioPassThru": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "GenericResponse": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "ListFiles": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "OnAppInterfaceUnregistered": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "OnAudioPassThru": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "OnButtonEvent": {
- "hmi_levels": ["FULL",
- "LIMITED"]
- },
- "OnButtonPress": {
- "hmi_levels": ["FULL",
- "LIMITED"]
- },
- "OnCommand": {
- "hmi_levels": ["FULL",
- "LIMITED"]
- },
- "OnDriverDistraction": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "OnEncodedSyncPData": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "OnHMIStatus": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "OnLanguageChange": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "OnPermissionsChange": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "OnSyncPData": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "OnTBTClientState": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "PerformAudioPassThru": {
- "hmi_levels": ["FULL",
- "LIMITED"]
- },
- "PerformInteraction": {
- "hmi_levels": ["FULL",
- "LIMITED"]
- },
- "PutFile": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "RegisterAppInterface": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "ResetGlobalProperties": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "ScrollableMessage": {
- "hmi_levels": ["FULL"]
- },
- "SetAppIcon": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "SetDisplayLayout": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "SetGlobalProperties": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "SetMediaClockTimer": {
- "hmi_levels": ["FULL"]
- },
- "Show": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "Slider": {
- "hmi_levels": ["FULL"]
- },
- "Speak": {
- "hmi_levels": ["FULL",
- "LIMITED"]
- },
- "SubscribeButton": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- },
- "SyncPData": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "UnregisterAppInterface": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "UnsubscribeButton": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- }
- }
- },
- "OnKeyboardInputOnlyGroup": {
- "rpcs": {
- "OnKeyboardInput": {
- "hmi_levels": ["FULL"]
- }
- }
- },
- "OnTouchEventOnlyGroup": {
- "rpcs": {
- "OnTouchEvent": {
- "hmi_levels": ["FULL"]
- }
- }
- },
- "DiagnosticMessageOnly": {
- "rpcs": {
- "DiagnosticMessage": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- }
- }
- },
"DataConsent-2": {
"user_consent_prompt": "DataConsent",
"rpcs": null
@@ -854,18 +572,6 @@
"LIMITED",
"NONE"]
},
- "ResetGlobalProperties": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
- "SetGlobalProperties": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED",
- "NONE"]
- },
"SetAppIcon": {
"hmi_levels": ["BACKGROUND",
"FULL",
@@ -891,32 +597,10 @@
"NONE"]
}
}
- },
- "SendLocation": {
- "rpcs": {
- "SendLocation": {
- "hmi_levels": ["BACKGROUND",
- "FULL",
- "LIMITED"]
- }
- }
- },
- "BackgroundAPT": {
- "rpcs": {
- "EndAudioPassThru": {
- "hmi_levels": ["BACKGROUND"]
- },
- "OnAudioPassThru": {
- "hmi_levels": ["BACKGROUND"]
- },
- "PerformAudioPassThru": {
- "hmi_levels": ["BACKGROUND"]
- }
- }
}
},
"consumer_friendly_messages": {
- "version": "001.001.021",
+ "version": "001.001.019",
"messages": {
"AppPermissions": {
"languages": {
@@ -961,8 +645,7 @@
"es-mx": {
"tts": "%appName% solicita el uso de la siguiente información y permisos del vehículo: %functionalGroupLabels%. Si presiona Sí, acepta que %vehicleMake% no se hará responsable por los daños o pérdidas de privacidad relacionados con el uso que %appName% haga de sus datos. Presione Sí para permitir y No para denegar.",
"line1": "¿Otorgar permiso(s)",
- "line2": "solicitado(s)?",
- "textBody": "%appName% solicita el uso de la siguiente información y permisos del vehículo: %functionalGroupLabels%. \n\nSi presiona Sí, acepta que %vehicleMake% no se hará responsable por los daños o pérdidas de privacidad relacionados con el uso que %appName% haga de sus datos. Presione Sí para permitir y No para denegar. Puede cambiar estos permisos y consultar descripciones detalladas en el menú de configuración de las aplicaciones móviles."
+ "line2": "solicitado(s)?"
},
"fr-ca": {
"tts": "%appName% demande d’utiliser les informations du véhicule et les permissions suivantes : %functionalGroupLabels%. Si vous appuyez sur Oui, vous acceptez que %vehicleMake% ne sera pas responsable des dommages ou des pertes de confidentialité reliées à l’utilisation de vos données par %appName%. Veuillez appuyer sur Oui pour autoriser ou sur Non pour refuser.",
@@ -1190,8 +873,7 @@
},
"es-mx": {
"tts": "Esta versión de %appName% no tiene autorización y no funcionará con SYNC.",
- "line1": "no autorizada",
- "textBody": "Esta versión de %appName% no tiene autorización y no funcionará con SYNC."
+ "line1": "no autorizada"
},
"fr-ca": {
"tts": "Cette version de %appName% n’est pas autorisée et ne fonctionnera pas avec SYNC.",
@@ -1279,8 +961,7 @@
},
"es-mx": {
"tts": "Esta versión de %appName% no es compatible con SYNC.",
- "line1": "no compatible",
- "textBody": "Esta versión de %appName% no es compatible con SYNC."
+ "line1": "no compatible"
},
"fr-ca": {
"tts": "Cette version de %appName% n’est pas prise en charge par SYNC.",
@@ -1336,27 +1017,27 @@
"DataConsent": {
"languages": {
"en-gb": {
- "textBody": "Would you like to enable Mobile Apps on SYNC? To use Mobile Apps with SYNC, SYNC will communicate with Ford at least once per month using your mobile device’s data plan. Standard rates may apply. SYNC will send your VIN and SYNC module number to Ford U.S. \r\n\r\nUpdates are about the size of an email, and the occurrence of updates depends on your vehicle usage and when a new app is found on your device. To turn on or off, visit the SYNC Settings menu. See your Owner Guide for more information."
+ "textBody": "Would you like to enable Mobile Apps on SYNC? To use Mobile Apps with SYNC, SYNC will communicate with Ford at least once per month using your mobile device’s data plan. Standard rates may apply. SYNC will send your VIN and SYNC module number to Ford U.S. Updates are about the size of an email, and the occurrence of updates depends on your vehicle usage and when a new app is found on your device. To turn on or off, visit the SYNC Settings menu. See your Owner Guide for more information."
},
"en-us": {
"line1": "Enable Mobile Apps",
"line2": "on SYNC? (Uses Data)",
- "textBody": "Would you like to enable Mobile Apps on SYNC?\r\n\r\nTo use Mobile Apps with SYNC, SYNC will communicate with Ford at least once per month using your mobile device’s data plan. Standard rates may apply. SYNC will send your VIN and SYNC module number to Ford U.S.\r\n\r\nUpdates are about the size of an email, and the occurrence of updates depends on your vehicle usage and when a new app is found on your device. To turn on or off, visit the SYNC Settings menu. See your Owner Guide for more information."
+ "textBody": "Would you like to enable Mobile Apps on SYNC?\n\nTo use Mobile Apps with SYNC, SYNC will communicate with Ford at least once per month using your mobile device’s data plan. Standard rates may apply. SYNC will send your VIN and SYNC module number to Ford U.S.\n\nUpdates are about the size of an email, and the occurrence of updates depends on your vehicle usage and when a new app is found on your device. To turn on or off, visit the SYNC Settings menu. See your Owner Guide for more information."
},
- "es-mx": {
- "textBody": "Para usar aplicaciones móviles con SYNC, este debe comunicarse con Ford al menos una vez al mes a través del plan de datos de su dispositivo móvil. Pueden aplicar tarifas normales. SYNC enviará su VIN y el número de módulo de SYNC a Ford de Estados Unidos de América. \n\nLas actualizaciones tienen el tamaño aproximado de un mensaje de correo electrónico, y la frecuencia de las actualizaciones depende del uso de su vehículo y de si se encuentran nuevas aplicaciones en su dispositivo. Para obtener más información, consulte la Guía del propietario. \n\nPresione Sí para permitir y No para denegar."
+ "es-en": {
+ "textBody": "Para usar aplicaciones móviles con SYNC, este debe comunicarse con Ford al menos una vez al mes a través del plan de datos de su dispositivo móvil. Pueden aplicar tarifas normales. SYNC enviará su VIN y el número de módulo de SYNC a Ford de Estados Unidos de América. Las actualizaciones tienen el tamaño aproximado de un mensaje de correo electrónico, y la frecuencia de las actualizaciones depende del uso de su vehículo y de si se encuentran nuevas aplicaciones en su dispositivo. Para obtener más información, consulte la Guía del propietario. /r Presione Sí para permitir y No para denegar."
},
"fr-ca": {
- "textBody": "Pour utiliser AppLink, SYNC devra communiquer avec Ford au moins une fois par mois en utilisant le forfait de données de votre appareil mobile. Les tarifs réguliers peuvent s’appliquer. SYNC enverra votre NIV et le numéro de votre module SYNC à Ford États-Unis. Les mises à jour ont la taille d’un courriel et la fréquence des mises à jour dépend de l’utilisation de votre véhicule et si une nouvelle application se trouve sur votre appareil. Consultez le Guide de l’utilisateur pour obtenir d’autres renseignements.\r\n\r\nVeuillez appuyer sur Oui pour autoriser ou sur Non pour refuser."
+ "textBody": "Pour utiliser AppLink, SYNC devra communiquer avec Ford au moins une fois par mois en utilisant le forfait de données de votre appareil mobile. Les tarifs réguliers peuvent s’appliquer. SYNC enverra votre NIV et le numéro de votre module SYNC à Ford États-Unis. Les mises à jour ont la taille d’un courriel et la fréquence des mises à jour dépend de l’utilisation de votre véhicule et si une nouvelle application se trouve sur votre appareil. Consultez le Guide de l’utilisateur pour obtenir d’autres renseignements. /r Veuillez appuyer sur Oui pour autoriser ou sur Non pour refuser."
}
}
},
"DataConsentHelp": {
"languages": {
"en-us": {
- "textBody": "By enabling mobile apps, you consent to allowing SYNC to communicate with Ford at least once per month using your mobile device’s data plan. Disabling will stop all data usage, but you will not be able to use mobile apps on SYNC. See your Owner Guide for more information."
+ "textBody": "Updates are about the size of an email, and the occurrence of updates depends on your vehicle usage and when a new app is found on your device. See your Owner Guide for more information."
},
- "es-mx": {
+ "es-en": {
"textBody": "Las actualizaciones tienen el tamaño aproximado de un mensaje de correo electrónico, y la frecuencia de las actualizaciones depende del uso de su vehículo y de si se encuentran nuevas aplicaciones en su dispositivo. Para obtener más información, consulte la Guía del propietario."
},
"fr-ca": {
@@ -1391,7 +1072,7 @@
"tts": "Disabling automatic updates will also disable sync mobile apps. You will not be able to use any mobile apps with SYNC. Please press yes to confirm or no to cancel.",
"line1": "Disable Auto-Updates",
"line2": "and Mobile Apps?",
- "textBody": "If you disable, you will not be able to use any mobile apps with SYNC and your vehicle will stop receiving mobile app permission updates via your device`s data plan. Please press yes to disable mobile apps or no to cancel."
+ "textBody": "Disabling automatic updates will also disable sync mobile apps. You will not be able to use any mobile apps with SYNC. Please press yes to confirm or no to cancel."
},
"es-en": {
"tts": "Si se desactivan las actualizaciones automáticas, también se desactivarán las aplicaciones móviles de SYNC. No podrá usar ninguna aplicación móvil con SYNC. Presione Sí para confirmar o No para cancelar.",
@@ -1407,8 +1088,7 @@
"es-mx": {
"tts": "Si se desactivan las actualizaciones automáticas, también se desactivarán las aplicaciones móviles de SYNC. No podrá usar ninguna aplicación móvil con SYNC. Presione Sí para confirmar o No para cancelar.",
"line1": "¿Deshab. actualiz.",
- "line2": "autom. y aplic. móv.?",
- "textBody": "Si se desactivan las actualizaciones automáticas, también se desactivarán las aplicaciones móviles de SYNC. No podrá usar ninguna aplicación móvil con SYNC. Presione Sí para confirmar o No para cancelar."
+ "line2": "autom. y aplic. móv.?"
},
"fr-ca": {
"tts": "La désactivation des mises à jour automatiques désactivera aussi les applications mobiles SYNC. Vous ne pourrez pas utiliser d’application mobile avec SYNC. Veuillez appuyer sur Oui pour confirmer ou sur Non pour annuler.",
@@ -1508,8 +1188,7 @@
},
"es-mx": {
"tts": "Las aplicaciones pueden acceder a las siguientes características del manejo: Consumo de combustible, MyKey, Estado del cinturón de seguridad.",
- "label": "Características del manejo",
- "textBody": "Las aplicaciones pueden acceder a las siguientes características del manejo: Consumo de combustible, MyKey, Estado del cinturón de seguridad."
+ "label": "Características del manejo"
},
"fr-ca": {
"tts": "Une application peut accéder aux caractéristiques de conduite suivantes: Consommation de carburant, MyKey, État des ceintures de sécurité.",
@@ -1597,8 +1276,7 @@
},
"es-mx": {
"tts": "Las aplicaciones pueden acceder al GPS y a la velocidad del vehículo.",
- "label": "GPS y velocidad",
- "textBody": "Las aplicaciones pueden acceder al GPS y a la velocidad del vehículo."
+ "label": "GPS y velocidad"
},
"fr-ca": {
"tts": "Une application peut accéder au GPS et à la vitesse du véhicule.",
@@ -1686,8 +1364,7 @@
},
"es-mx": {
"tts": "Las aplicaciones pueden enviar notificaciones cuando se ejecutan en segundo plano.",
- "label": "Notificaciones tipo Push",
- "textBody": "Las aplicaciones pueden enviar notificaciones cuando se ejecutan en segundo plano."
+ "label": "Notificaciones tipo Push"
},
"fr-ca": {
"tts": "Une application peut envoyer des avis lorsqu’elle fonctionne en arrière-plan.",
@@ -1766,8 +1443,7 @@
"line1": "Desact. actual."
},
"es-mx": {
- "line1": "Deshab. actual.",
- "textBody": "Deshab. actual."
+ "line1": "Deshab. actual."
},
"fr-ca": {
"line1": "Désactiver MAJ",
@@ -1889,7 +1565,7 @@
},
"en-us": {
"line1": "Request Update",
- "textBody": "Select `Update now` to receive app permissions for your SYNC-enabled mobile apps. This may enable additional functionality depending on the app and your settings. If your phone has a working data connection, an update should complete in less than 1 minute."
+ "textBody": "Select `Update now` to receive app authorization information for your SYNC-enabled mobile apps. This may enable additional functionality depending on the app and your settings. If your phone has a working data connection, an update should complete in less than 1 minute."
},
"es-en": {
"line1": "Solicit. actualiz.",
@@ -1899,8 +1575,7 @@
"line1": "Solicitar actual."
},
"es-mx": {
- "line1": "Solicit. actualiz.",
- "textBody": "Solicit. actualiz."
+ "line1": "Solicit. actualiz."
},
"fr-ca": {
"line1": "Demander MAJ",
@@ -1968,8 +1643,7 @@
"line1": "Actu. necesaria"
},
"es-mx": {
- "line1": "Actualiz. neces.",
- "textBody": "Actualiz. neces."
+ "line1": "Actualiz. neces."
},
"fr-ca": {
"line1": "Màj requise",
@@ -2037,8 +1711,7 @@
"line1": "Actualizando..."
},
"es-mx": {
- "line1": "Actualizando...",
- "textBody": "Actualizando..."
+ "line1": "Actualizando..."
},
"fr-ca": {
"line1": "MAJ en cours...",
@@ -2106,8 +1779,7 @@
"line1": "Actualizada"
},
"es-mx": {
- "line1": "Actualizado",
- "textBody": "Actualizado"
+ "line1": "Actualizado"
},
"fr-ca": {
"line1": "Déjà à jour",
@@ -2183,8 +1855,7 @@
},
"es-mx": {
"tts": "Las aplicaciones pueden acceder a la siguiente información del vehículo: Nivel de combustible, Economía de combustible, RPM del motor, Cuentakilómetros, Número de identificación del vehículo, Temperatura externa, Posición del cambio, Presión de los neumáticos.",
- "label": "Información del vehículo",
- "textBody": "Las aplicaciones pueden acceder a la siguiente información del vehículo: Nivel de combustible, Economía de combustible, RPM del motor, Cuentakilómetros, Número de identificación del vehículo, Temperatura externa, Posición del cambio, Presión de los neumáticos."
+ "label": "Información del vehículo"
},
"fr-ca": {
"tts": "Une application peut accéder aux informations suivantes du véhicule: Niveau de carburant, Économie de carburant, Au régime du moteur, Odomètre, NIV, Température extérieure, Position d’embrayage, Pression des pneus.",
diff --git a/src/appMain/smartDeviceLink.ini b/src/appMain/smartDeviceLink.ini
index 0868a108ee..c30255da40 100644
--- a/src/appMain/smartDeviceLink.ini
+++ b/src/appMain/smartDeviceLink.ini
@@ -40,23 +40,11 @@ HMICapabilities = hmi_capabilities.json
MaxCmdID = 2000000000
; Default request timeout in milliseconds
DefaultTimeout = 10000
-
-# Timeout in seconds for resumption Application HMILevel
-# and resolving conflicts in case if multiple applications initiate resumption
-ApplicationResumingTimeout = 3
-
-# Timeout in seconds for pereodical saving resumption persisten data
-AppSavePersistentDataTimeout = 10 #seconds
AppDirectoryQuota = 104857600
-; Allowed requests amount in HMI level NONE during time scale.
-; If value is 0 check will be skipped
AppHMILevelNoneTimeScaleMaxRequests = 100
AppHMILevelNoneRequestsTimeScale = 10
-; Allowed requests amount during time scale.
-; If value is 0 check will be skipped
AppTimeScaleMaxRequests = 1000
AppRequestsTimeScale = 10
-; Allowed pending requests amount. If value is 0 check will be skipped
PendingRequestsAmount = 5000
HeartBeatTimeout = 7
SupportedDiagModes = 0x01, 0x02, 0x03, 0x05, 0x06, 0x07, 0x09, 0x0A, 0x18, 0x19, 0x22, 0x3E
@@ -67,7 +55,7 @@ ReadDIDRequest = 5, 1
GetVehicleDataRequest = 5, 1
[MEDIA MANAGER]
-; where 3 is a number of retries and 1 is a timeout in seconds for request frequency
+; where 3 is a number of retries and 1 is a timeout in seconds for request frequency
StartStreamRetry = 3, 1
EnableRedecoding = false
VideoStreamConsumer = socket
@@ -141,13 +129,9 @@ ForceProtectedService = Non
ForceUnprotectedService = Non
[Policy]
-EnablePolicy = false
+EnablePolicy = true
PreloadedPT = sdl_preloaded_pt.json
PathToSnapshot = sdl_snapshot.json
-; Number of attempts to open policy DB
-AttemptsToOpenPolicyDB = 5
-; Timeout between attempts during opening DB in milliseconds
-OpenAttemptTimeoutMs = 500
[TransportManager]
TCPAdapterPort = 12345
@@ -163,15 +147,6 @@ IAPSystemConfig = /fs/mp/etc/mm/ipod.cfg
IAP2SystemConfig = /fs/mp/etc/mm/iap2.cfg
IAP2HubConnectAttempts = 3
-[ProtocolHandler]
-; Packet with payload bigger than next value will be marked as a malformed
-; 1488 = 1500 - 12 = TCP MTU - header size
-MaximumPayloadSize = 1488
-; Application shall send less #FrequencyCount messages per #FrequencyTime mSecs
-; Frequency check could be disable by setting FrequencyTime to Zero
-FrequencyCount = 1000
-FrequencyTime = 1000
-
[ApplicationManager]
ApplicationListUpdateTimeout = 2
; Max allowed threads for handling mobile requests. Currently max allowed is 2