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);
        }