protected override void DidDeactivate(bool removedFromHierarchy, bool screenSystemDisabling) { base.DidDeactivate(removedFromHierarchy, screenSystemDisabling); AvailableConfigs.Clear(); _selectedConfigFileInfo = null; }
protected override void DidDeactivate(DeactivationType deactivationType) { base.DidDeactivate(deactivationType); AvailableConfigs.Clear(); _selectedConfigFileInfo = null; }
private async Task LoadInternal() { if (customListTableData == null) { Plugin.LoggerInstance.Warn($"{nameof(customListTableData)} is null."); return; } if (AvailableConfigs.Count > 0) { AvailableConfigs.Clear(); } LoadingConfigs = true; NotifyPropertyChanged(nameof(LoadingConfigs)); NotifyPropertyChanged(nameof(HasLoadedConfigs)); var intermediateConfigs = (await _configProvider.ListAvailableConfigs()) .OrderByDescending(x => x.State) .ThenBy(x => x.ConfigName) .ToList(); AvailableConfigs.AddRange(intermediateConfigs); var currentConfigIndex = intermediateConfigs.FindIndex(x => x.ConfigPath == _configProvider.CurrentConfigPath); await UnityMainThreadTaskScheduler.Factory.StartNew(() => { customListTableData.tableView.ReloadData(); customListTableData.tableView.ScrollToCellWithIdx(0, TableViewScroller.ScrollPositionType.Beginning, false); if (currentConfigIndex >= 0) { customListTableData.tableView.SelectCellWithIdx(currentConfigIndex, true); } LoadingConfigs = false; NotifyPropertyChanged(nameof(LoadingConfigs)); NotifyPropertyChanged(nameof(HasLoadedConfigs)); NotifyPropertyChanged(nameof(HasConfigCurrently)); NotifyPropertyChanged(nameof(LoadedConfigText)); }).ConfigureAwait(false); }