private void OnSettingChanging(object sender, SettingsObserverEventArgs e) { if (PathSettings.Contains(e.Key)) { e.SplitValue = e.SplitValue.Select(p => p.CleanPath()).ToArray(); } }
private void OnSettingSetting(object sender, SettingsObserverEventArgs e) { if (!IsRelevant(e)) { return; } ComparePaths(e.SplitValue); }
private void OnSettingCleared(object sender, SettingsObserverEventArgs e) { if (!IsRelevant(e)) { return; } foreach (string sdkPath in sdkRepository.SdkPaths.ToArray()) { sdkRepository.Remove(Path.GetFullPath(sdkPath.CleanPath())); } }
private void OnSettingRemoving(object sender, SettingsObserverEventArgs e) { if (!IsRelevant(e)) { return; } List <string> removedPaths = new List <string>(); foreach (string sdkPath in e.SplitValue) { string path = Path.GetFullPath(sdkPath.CleanPath()); sdkRepository.Remove(path); removedPaths.Add(path); } e.SplitValue = removedPaths; }
private void OnSettingAdding(object sender, SettingsObserverEventArgs e) { if (!IsRelevant(e)) { return; } List <string> addedPaths = new List <string>(); foreach (string sdkPath in e.SplitValue) { string path = Path.GetFullPath(sdkPath.CleanPath()); sdkRepository.Update(path, true).ConfigureAwait(false).GetAwaiter().GetResult(); addedPaths.Add(path); } e.SplitValue = addedPaths; }
private static bool IsRelevant(SettingsObserverEventArgs settingsObserverEventArgs) { return(settingsObserverEventArgs.Key == Constants.SdkPathsKey); }
private void SettingsObserverOnSettingChanged(object sender, SettingsObserverEventArgs e) { SendUpdate((messageSender, wait) => messageSender.SendSettingsUpdated(() => wait.Set())); }