From 0b27fc39e63ecd2438bfe7079ac2fbff4264b757 Mon Sep 17 00:00:00 2001 From: martinchrzan Date: Wed, 29 Jul 2020 09:01:04 +0200 Subject: [PATCH] Added telemetry for Color Picker module (#5259) * Added telemetry for Color Picker module * Closing color picker with Esc and added a telemetry for that * Missed update of csproj * updated installer to include telemetry.dll for color picker * removed telemetry.dll it was alrady there * after review changes --- .../colorPicker/ColorPickerUI/ColorPickerUI.csproj | 7 +++++++ .../ColorPickerUI/Helpers/ZoomWindowHelper.cs | 5 ++++- .../ColorPickerUI/Keyboard/KeyboardMonitor.cs | 11 +++++++++++ .../Telemetry/ColorPickerCancelledEvent.cs | 12 ++++++++++++ .../ColorPickerUI/Telemetry/ColorPickerShowEvent.cs | 12 ++++++++++++ .../Telemetry/ColorPickerZoomOpenedEvent.cs | 12 ++++++++++++ .../ColorPickerUI/ViewModels/MainViewModel.cs | 3 +++ 7 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerCancelledEvent.cs create mode 100644 src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerShowEvent.cs create mode 100644 src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerZoomOpenedEvent.cs diff --git a/src/modules/colorPicker/ColorPickerUI/ColorPickerUI.csproj b/src/modules/colorPicker/ColorPickerUI/ColorPickerUI.csproj index 24e6d8dd48..cc9a23bf56 100644 --- a/src/modules/colorPicker/ColorPickerUI/ColorPickerUI.csproj +++ b/src/modules/colorPicker/ColorPickerUI/ColorPickerUI.csproj @@ -62,6 +62,9 @@ + + + ZoomWindow.xaml @@ -177,6 +180,10 @@ {4AED67B6-55FD-486F-B917-E543DEE2CB3C} ManagedCommon + + {5d00d290-4016-4cfe-9e41-1e7c724509ba} + Telemetry + {b1bcc8c6-46b5-4bfa-8f22-20f32d99ec6a} Microsoft.PowerToys.Settings.UI.Lib diff --git a/src/modules/colorPicker/ColorPickerUI/Helpers/ZoomWindowHelper.cs b/src/modules/colorPicker/ColorPickerUI/Helpers/ZoomWindowHelper.cs index 57aa023c95..e8f93280ee 100644 --- a/src/modules/colorPicker/ColorPickerUI/Helpers/ZoomWindowHelper.cs +++ b/src/modules/colorPicker/ColorPickerUI/Helpers/ZoomWindowHelper.cs @@ -1,4 +1,6 @@ -using ColorPicker.ViewModelContracts; +using ColorPicker.Telemetry; +using ColorPicker.ViewModelContracts; +using Microsoft.PowerToys.Telemetry; using System; using System.ComponentModel.Composition; using System.Drawing; @@ -163,6 +165,7 @@ namespace ColorPicker.Helpers { _zoomWindow.Left = _lastLeft + 1; _zoomWindow.Top = _lastTop + 1; + PowerToysTelemetry.Log.WriteEvent(new ColorPickerZoomOpenedEvent()); } _zoomWindow.DesiredLeft = _lastLeft; diff --git a/src/modules/colorPicker/ColorPickerUI/Keyboard/KeyboardMonitor.cs b/src/modules/colorPicker/ColorPickerUI/Keyboard/KeyboardMonitor.cs index 55b5aad958..89bc444f74 100644 --- a/src/modules/colorPicker/ColorPickerUI/Keyboard/KeyboardMonitor.cs +++ b/src/modules/colorPicker/ColorPickerUI/Keyboard/KeyboardMonitor.cs @@ -1,9 +1,12 @@ using System; using System.Collections.Generic; using System.ComponentModel.Composition; +using System.Windows.Input; using ColorPicker.Helpers; using ColorPicker.Settings; +using ColorPicker.Telemetry; using Microsoft.PowerToys.Settings.UI.Lib.Utilities; +using Microsoft.PowerToys.Telemetry; namespace ColorPicker.Keyboard { @@ -56,6 +59,14 @@ namespace ColorPicker.Keyboard private void Hook_KeyboardPressed(object sender, GlobalKeyboardHookEventArgs e) { var virtualCode = e.KeyboardData.VirtualCode; + // ESC pressed + if(virtualCode == KeyInterop.VirtualKeyFromKey(Key.Escape)) + { + _currentlyPressedKeys.Clear(); + _appStateHandler.HideColorPicker(); + PowerToysTelemetry.Log.WriteEvent(new ColorPickerCancelledEvent()); + } + var name = Helper.GetKeyName((uint)virtualCode); // we got modifier with additional info such as "Ctrl (left)" - get rid of parenthesess diff --git a/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerCancelledEvent.cs b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerCancelledEvent.cs new file mode 100644 index 0000000000..39b902caac --- /dev/null +++ b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerCancelledEvent.cs @@ -0,0 +1,12 @@ +using Microsoft.PowerToys.Telemetry; +using Microsoft.PowerToys.Telemetry.Events; +using System.Diagnostics.Tracing; + +namespace ColorPicker.Telemetry +{ + [EventData] + public class ColorPickerCancelledEvent : EventBase, IEvent + { + public PartA_PrivTags PartA_PrivTags => PartA_PrivTags.ProductAndServiceUsage; + } +} diff --git a/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerShowEvent.cs b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerShowEvent.cs new file mode 100644 index 0000000000..ec8cf8905a --- /dev/null +++ b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerShowEvent.cs @@ -0,0 +1,12 @@ +using Microsoft.PowerToys.Telemetry; +using Microsoft.PowerToys.Telemetry.Events; +using System.Diagnostics.Tracing; + +namespace ColorPicker.Telemetry +{ + [EventData] + public class ColorPickerShowEvent : EventBase, IEvent + { + public PartA_PrivTags PartA_PrivTags => PartA_PrivTags.ProductAndServiceUsage; + } +} diff --git a/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerZoomOpenedEvent.cs b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerZoomOpenedEvent.cs new file mode 100644 index 0000000000..edd7e8d8ed --- /dev/null +++ b/src/modules/colorPicker/ColorPickerUI/Telemetry/ColorPickerZoomOpenedEvent.cs @@ -0,0 +1,12 @@ +using Microsoft.PowerToys.Telemetry; +using Microsoft.PowerToys.Telemetry.Events; +using System.Diagnostics.Tracing; + +namespace ColorPicker.Telemetry +{ + [EventData] + public class ColorPickerZoomOpenedEvent : EventBase, IEvent + { + public PartA_PrivTags PartA_PrivTags => PartA_PrivTags.ProductAndServiceUsage; + } +} diff --git a/src/modules/colorPicker/ColorPickerUI/ViewModels/MainViewModel.cs b/src/modules/colorPicker/ColorPickerUI/ViewModels/MainViewModel.cs index d5afff5a59..1c8897992c 100644 --- a/src/modules/colorPicker/ColorPickerUI/ViewModels/MainViewModel.cs +++ b/src/modules/colorPicker/ColorPickerUI/ViewModels/MainViewModel.cs @@ -10,7 +10,9 @@ using ColorPicker.Keyboard; using ColorPicker.Mouse; using ColorPicker.Settings; using ColorPicker.ViewModelContracts; +using ColorPicker.Telemetry; using Microsoft.PowerToys.Settings.UI.Lib; +using Microsoft.PowerToys.Telemetry; namespace ColorPicker.ViewModels { @@ -108,6 +110,7 @@ namespace ColorPicker.ViewModels CopyToClipboard(colorRepresentationToCopy); _appStateHandler.HideColorPicker(); + PowerToysTelemetry.Log.WriteEvent(new ColorPickerShowEvent()); } private static void CopyToClipboard(string colorRepresentationToCopy)