Don't notify about accesibility settings change before app starts

Change-Id: Ia5e5e014f6eb85a07c304c96c366d4169a45d6d3
Signed-off-by: Eugene Mutavchi <Ievgen_Mutavchi@comcast.com>
diff --git a/src/third_party/starboard/rdk/shared/libcobalt.cc b/src/third_party/starboard/rdk/shared/libcobalt.cc
index 6dca752..c836c84 100644
--- a/src/third_party/starboard/rdk/shared/libcobalt.cc
+++ b/src/third_party/starboard/rdk/shared/libcobalt.cc
@@ -162,6 +162,11 @@
     return exit_strategy_.c_str();
   }
 
+  bool IsAppRunning() const
+  {
+    return (state_ == kRunning);
+  }
+
 private:
   enum State {
     kUninitialized,
@@ -263,7 +268,7 @@
     return;
 
   if (strcmp(key, "accessibility") == 0) {
-    Accessibility::SetSettings(json);
+    Accessibility::SetSettings(json, GetContext()->IsAppRunning());
   }
   else if (strcmp(key, "systemproperties") == 0) {
     SystemProperties::SetSettings(json);
diff --git a/src/third_party/starboard/rdk/shared/rdkservices.cc b/src/third_party/starboard/rdk/shared/rdkservices.cc
index 2bb9be4..598af57 100644
--- a/src/third_party/starboard/rdk/shared/rdkservices.cc
+++ b/src/third_party/starboard/rdk/shared/rdkservices.cc
@@ -258,7 +258,7 @@
     if (ServiceLink::enableEnvOverrides()) {
       std::string envValue;
       if (Core::SystemInfo::GetEnvironment("AccessibilitySettings_json", envValue) == true) {
-        SetSettings(envValue);
+        SetSettings(envValue, false);
 
         std::string test;
         bool r = GetSettings(test);
@@ -270,7 +270,7 @@
     }
   }
 
-  void SetSettings(const std::string& json) {
+  void SetSettings(const std::string& json, bool notify_app) {
     SB_LOG(INFO) << "Updating accessibility settings: " << json;
 
     JsonData::Accessibility::AccessibilityData settings;
@@ -338,6 +338,9 @@
         settings.TextDisplay.IsHighContrastTextEnabled.Value();
     }
 
+    if (!notify_app)
+      return;
+
     if (auto* app = Application::Get(); app != nullptr) {
       if (was_cc_enabled != caption_settings_.is_enabled)
         app->InjectAccessibilityCaptionSettingsChanged();
@@ -1704,8 +1707,8 @@
   return GetAccessibility()->GetDisplaySettings(out);
 }
 
-void Accessibility::SetSettings(const std::string& json) {
-  GetAccessibility()->SetSettings(json);
+void Accessibility::SetSettings(const std::string& json, bool notify_app) {
+  GetAccessibility()->SetSettings(json, notify_app);
 }
 
 bool Accessibility::GetSettings(std::string& out_json) {
diff --git a/src/third_party/starboard/rdk/shared/rdkservices.h b/src/third_party/starboard/rdk/shared/rdkservices.h
index 35aa965..eeb6baf 100644
--- a/src/third_party/starboard/rdk/shared/rdkservices.h
+++ b/src/third_party/starboard/rdk/shared/rdkservices.h
@@ -76,7 +76,7 @@
 
 class Accessibility {
 public:
-  static void SetSettings(const std::string& json);
+  static void SetSettings(const std::string& json, bool notify_app);
   static bool GetSettings(std::string& out_json);
   static bool GetCaptionSettings(SbAccessibilityCaptionSettings* out);
   static bool GetDisplaySettings(SbAccessibilityDisplaySettings* out);