//Combine all the saved lists to make comparison IEnumerable <DataBindApp> CombineAppLists(bool includeShortcuts, bool includeProcesses, bool includeLaunchers) { try { IEnumerable <DataBindApp> combinedLists = List_Apps.ToList(); combinedLists = combinedLists.Concat(List_Games.ToList()); combinedLists = combinedLists.Concat(List_Emulators.ToList()); if (includeShortcuts) { combinedLists = combinedLists.Concat(List_Shortcuts.ToList()); } if (includeProcesses) { combinedLists = combinedLists.Concat(List_Processes.ToList()); } if (includeLaunchers) { combinedLists = combinedLists.Concat(List_Launchers.ToList()); } return(combinedLists); } catch (Exception ex) { Debug.WriteLine("Failed combining application lists: " + ex.Message); return(null); } }
//Read apps from Json file (Deserialize) async Task JsonLoadList_Applications() { try { //Remove all the current apps List_Games.Clear(); List_Apps.Clear(); List_Emulators.Clear(); //Add all the apps to the list string JsonFile = File.ReadAllText(@"Profiles\CtrlApplications.json"); DataBindApp[] JsonList = JsonConvert.DeserializeObject <DataBindApp[]>(JsonFile).OrderBy(x => x.Number).ToArray(); foreach (DataBindApp dataBindApp in JsonList) { try { await AddAppToList(dataBindApp, false, true); } catch { } } Debug.WriteLine("Reading Json applications completed."); } catch (Exception ex) { Debug.WriteLine("Failed reading Json applications: " + ex.Message); } }
//Check for empty lists and hide them void ShowHideEmptyList() { try { Visibility visibilityGames = List_Games.Any() ? Visibility.Visible : Visibility.Collapsed; Visibility visibilityApps = List_Apps.Any() ? Visibility.Visible : Visibility.Collapsed; Visibility visibilityEmulators = List_Emulators.Any() ? Visibility.Visible : Visibility.Collapsed; Visibility visibilityLaunchers = List_Launchers.Any() ? Visibility.Visible : Visibility.Collapsed; Visibility visibilityShortcuts = List_Shortcuts.Any() && Convert.ToBoolean(Setting_Load(vConfigurationCtrlUI, "ShowOtherShortcuts")) ? Visibility.Visible : Visibility.Collapsed; Visibility visibilityProcesses = List_Processes.Any() && Convert.ToBoolean(Setting_Load(vConfigurationCtrlUI, "ShowOtherProcesses")) ? Visibility.Visible : Visibility.Collapsed; AVActions.ActionDispatcherInvoke(delegate { sp_Games.Visibility = visibilityGames; sp_Apps.Visibility = visibilityApps; sp_Emulators.Visibility = visibilityEmulators; sp_Launchers.Visibility = visibilityLaunchers; sp_Shortcuts.Visibility = visibilityShortcuts; sp_Processes.Visibility = visibilityProcesses; }); } catch { } }