private static void SetGameSettings(GuidanceCloudInfo guidanceCloudInfoDict, JToken res)
        {
            try
            {
                if (!(res[(object)"game_settings"] is JArray re))
                {
                    return;
                }
                foreach (JToken jtoken1 in re)
                {
                    try
                    {
                        GameSetting gameSetting = new GameSetting()
                        {
                            SettingType = jtoken1[(object)"setting_type"].Value <string>()
                        };
                        if (jtoken1[(object)"setting_data"] is JArray jarray)
                        {
                            foreach (JToken jtoken2 in jarray)
                            {
                                Dictionary <string, object> dictionary = new Dictionary <string, object>();
                                if (jtoken2[(object)"app_pkg_list"] is JArray jarray)
                                {
                                    dictionary.Add("app_pkg_list", (object)new AppPackageListObject(jarray.ToObject <List <string> >()));
                                }
                                switch (gameSetting.SettingType)
                                {
                                case "OrientationMode":
                                    dictionary.Add("mode", (object)jtoken2[(object)"mode"].Value <string>());
                                    gameSetting.SettingsData.Add(dictionary);
                                    continue;

                                case "ApplyCfgUpdateImmediately":
                                    dictionary.Add("setting", (object)jtoken2[(object)"setting"].Value <string>());
                                    gameSetting.SettingsData.Add(dictionary);
                                    continue;

                                default:
                                    continue;
                                }
                            }
                            guidanceCloudInfoDict.GameSettings.Add(gameSetting);
                        }
                    }
                    catch (Exception ex)
                    {
                        Logger.Warning("Error while loading game settings from cloud data " + ex?.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Warning("Error while loading game settings from cloud data " + ex?.ToString());
            }
        }
 private static void SetAppsReadArticle(
     GuidanceCloudInfo currentAppsGuidanceCloudInfo,
     JToken res)
 {
     try
     {
         foreach (object obj in JArray.Parse(res.GetValue("help_article").ToString((IFormatProvider)CultureInfo.InvariantCulture)))
         {
             HelpArticle helpArticle = JsonConvert.DeserializeObject <HelpArticle>(obj.ToString(), Utils.GetSerializerSettings());
             currentAppsGuidanceCloudInfo.HelpArticles[helpArticle.Package] = helpArticle;
         }
     }
     catch (Exception ex)
     {
         Logger.Warning("Error Loading Apps ReadArticle" + ex.ToString());
     }
 }
 private static void SaveToFile(GuidanceCloudInfo guidanceCloudInfo)
 {
     try
     {
         JsonSerializerSettings serializerSettings = Utils.GetSerializerSettings();
         serializerSettings.Formatting = Formatting.Indented;
         string contents = JsonConvert.SerializeObject((object)guidanceCloudInfo, serializerSettings);
         if (!Directory.Exists(RegistryStrings.PromotionDirectory))
         {
             Directory.CreateDirectory(RegistryStrings.PromotionDirectory);
         }
         File.WriteAllText(GuidanceCloudInfoManager.BstGuidanceFilePath, contents);
     }
     catch (Exception ex)
     {
         Logger.Warning("Error in saving GuidanceCloudInfo to file");
     }
 }
 private static void SetAppsVideoThumbnail(
     GuidanceCloudInfo currentAppsGuidanceCloudInfo,
     JToken res)
 {
     try
     {
         foreach (object obj in JArray.Parse(res.GetValue("custom_thumbnails").ToString((IFormatProvider)CultureInfo.InvariantCulture)))
         {
             CustomThumbnail customThumbnail = JsonConvert.DeserializeObject <CustomThumbnail>(obj.ToString(), Utils.GetSerializerSettings());
             foreach (GuidanceVideoType guidanceVideoType in Enum.GetValues(typeof(GuidanceVideoType)))
             {
                 if (guidanceVideoType == GuidanceVideoType.SchemeSpecific)
                 {
                     foreach (KeyValuePair <string, VideoThumbnailInfo> keyValuePair in (Dictionary <string, VideoThumbnailInfo>)customThumbnail[guidanceVideoType.ToString()])
                     {
                         VideoThumbnailInfo videoThumbnailInfo = keyValuePair.Value;
                         videoThumbnailInfo.ThumbnailType = guidanceVideoType;
                         videoThumbnailInfo.ImagePath     = Utils.TinyDownloader(videoThumbnailInfo.ThumbnailUrl, "VideoThumbnail_" + customThumbnail.Package + videoThumbnailInfo.ThumbnailId, RegistryStrings.PromotionDirectory, false);
                     }
                 }
                 else if (customThumbnail[guidanceVideoType.ToString()] != null)
                 {
                     VideoThumbnailInfo videoThumbnailInfo = (VideoThumbnailInfo)customThumbnail[guidanceVideoType.ToString()];
                     videoThumbnailInfo.ThumbnailType = guidanceVideoType;
                     videoThumbnailInfo.ImagePath     = Utils.TinyDownloader(videoThumbnailInfo.ThumbnailUrl, "VideoThumbnail_" + customThumbnail.Package + videoThumbnailInfo.ThumbnailId, RegistryStrings.PromotionDirectory, false);
                 }
             }
             currentAppsGuidanceCloudInfo.CustomThumbnails[customThumbnail.Package] = customThumbnail;
         }
         foreach (object obj in JArray.Parse(res.GetValue("default_thumbnails").ToString((IFormatProvider)CultureInfo.InvariantCulture)))
         {
             VideoThumbnailInfo videoThumbnailInfo = JsonConvert.DeserializeObject <VideoThumbnailInfo>(obj.ToString(), Utils.GetSerializerSettings());
             videoThumbnailInfo.ImagePath = Utils.TinyDownloader(videoThumbnailInfo.ThumbnailUrl, "VideoThumbnail_DefaultPackage_" + videoThumbnailInfo.ThumbnailId, RegistryStrings.PromotionDirectory, false);
             currentAppsGuidanceCloudInfo.DefaultThumbnails[videoThumbnailInfo.ThumbnailType] = videoThumbnailInfo;
         }
     }
     catch (Exception ex)
     {
         Logger.Warning("Error Loading Apps VideoThumbnail" + ex.ToString());
     }
 }
 internal void AppsGuidanceCloudInfoRefresh()
 {
     new Thread((ThreadStart)(() =>
     {
         if (File.Exists(GuidanceCloudInfoManager.BstGuidanceFilePath))
         {
             this.mGuidanceCloudInfo = JsonConvert.DeserializeObject <GuidanceCloudInfo>(File.ReadAllText(GuidanceCloudInfoManager.BstGuidanceFilePath), Utils.GetSerializerSettings());
         }
         JToken guidanceCloudInfoData = GuidanceCloudInfoManager.GetGuidanceCloudInfoData();
         if (guidanceCloudInfoData == null)
         {
             return;
         }
         GuidanceCloudInfo guidanceCloudInfo = new GuidanceCloudInfo();
         GuidanceCloudInfoManager.SetAppsVideoThumbnail(guidanceCloudInfo, guidanceCloudInfoData);
         GuidanceCloudInfoManager.SetAppsReadArticle(guidanceCloudInfo, guidanceCloudInfoData);
         GuidanceCloudInfoManager.SetGameSettings(guidanceCloudInfo, guidanceCloudInfoData);
         GuidanceCloudInfoManager.SaveToFile(guidanceCloudInfo);
         this.mGuidanceCloudInfo = guidanceCloudInfo;
     }))
     {
         IsBackground = true
     }.Start();
 }