From bc86318552be101999f7930eca8a36d918088f98 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 7 Apr 2020 11:52:47 -0700 Subject: [PATCH 1/3] first commit --- src/constants.ts | 19 ++++ src/service/telemetryHandlerService.ts | 136 +++++++++++++++++++++++++ 2 files changed, 155 insertions(+) diff --git a/src/constants.ts b/src/constants.ts index 792735372..8d7937c3f 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -339,6 +339,8 @@ export enum TelemetryEventName { CPX_DEBUGGER_INIT_FAIL = "CPX.DEBUGGER.INIT.FAIL", MICROBIT_DEBUGGER_INIT_SUCCESS = "MICROBIT.DEBUGGER.INIT.SUCCESS", MICROBIT_DEBUGGER_INIT_FAIL = "MICROBIT.DEBUGGER.INIT.FAIL", + CLUE_DEBUGGER_INIT_SUCCESS = "CLUE.DEBUGGER.INIT.SUCCESS", + CLUE_DEBUGGER_INIT_FAIL = "CLUE.DEBUGGER.INIT.FAIL", // Extension commands COMMAND_RUN_SIMULATOR_BUTTON = "COMMAND.RUN.SIMULATOR_BUTTON", @@ -372,6 +374,10 @@ export enum TelemetryEventName { MICROBIT_SIMULATOR_BUTTON_B = "MICROBIT.SIMULATOR.BUTTON.B", MICROBIT_SIMULATOR_BUTTON_AB = "MICROBIT.SIMULATOR.BUTTON.AB", + CLUE_SIMULATOR_BUTTON_A = "CLUE.SIMULATOR.BUTTON.A", + CLUE_SIMULATOR_BUTTON_B = "CLUE.SIMULATOR.BUTTON.B", + CLUE_SIMULATOR_BUTTON_AB = "CLUE.SIMULATOR.BUTTON.AB", + // Sensors CPX_SIMULATOR_TEMPERATURE_SENSOR = "CPX.SIMULATOR.TEMPERATURE", CPX_SIMULATOR_LIGHT_SENSOR = "CPX.SIMULATOR.LIGHT", @@ -382,6 +388,17 @@ export enum TelemetryEventName { MICROBIT_SIMULATOR_TEMPERATURE_SENSOR = "MICROBIT.SIMULATOR.TEMPERATURE", MICROBIT_SIMULATOR_LIGHT_SENSOR = "MICROBIT.SIMULATOR.LIGHT", MICROBIT_SIMULATOR_MOTION_SENSOR = "MICROBIT.SIMULATOR.MOTION", + MICROBIT_SIMULATOR_GESTURE_SENSOR = "MICROBIT.SIMULATOR.GESTURE", + + CLUE_SIMULATOR_TEMPERATURE_SENSOR = "CLUE.SIMULATOR.TEMPERATURE", + CLUE_SIMULATOR_LIGHT_SENSOR = "CLUE.SIMULATOR.LIGHT", + CLUE_SIMULATOR_MOTION_SENSOR = "CLUE.SIMULATOR.MOTION", + CLUE_SIMULATOR_GESTURE_SENSOR = "CLUE.SIMULATOR.GESTURE", + CLUE_SIMULATOR_PRESSURE_SENSOR = "CLUE.SIMULATOR.PRESSURE", + CLUE_SIMULATOR_PROXIMITY_SENSOR = "CLUE.SIMULATOR.PROXIMITY", + CLUE_SIMULATOR_HUMIDITY_SENSOR = "CLUE.SIMULATOR.HUMIDITY", + CLUE_SIMULATOR_GYRO_SENSOR = "CLUE.SIMULATOR.GYRO", + CLUE_SIMULATOR_MAGNET_SENSOR = "CLUE.SIMULATOR.MAGNET", // Pop-up dialog CPX_CLICK_DIALOG_DONT_SHOW = "CPX.CLICK.DIALOG.DONT.SHOW", @@ -392,6 +409,7 @@ export enum TelemetryEventName { CLUE_CLICK_DIALOG_HELP_DEPLOY_TO_DEVICE = "CLUE.CLICK.DIALOG.HELP.DEPLOY.TO.DEVICE", ERROR_PYTHON_PROCESS = "ERROR.PYTHON.PROCESS", + CPX_ERROR_COMMAND_NEW_FILE = "CPX.ERROR.COMMAND.NEW.FILE", CPX_ERROR_DEPLOY_WITHOUT_DEVICE = "CPX.ERROR.DEPLOY.WITHOUT.DEVICE", CPX_ERROR_PYTHON_DEVICE_PROCESS = "CPX.ERROR.PYTHON.DEVICE.PROCESS", @@ -402,6 +420,7 @@ export enum TelemetryEventName { MICROBIT_ERROR_PYTHON_DEVICE_PROCESS = "MICROBIT.ERROR.PYTHON.DEVICE.PROCESS", MICROBIT_SUCCESS_COMMAND_DEPLOY_DEVICE = "MICROBIT.SUCCESS.COMMAND.DEPLOY.DEVICE", + CLUE_ERROR_COMMAND_NEW_FILE = "CLUE.ERROR.COMMAND.NEW.FILE", CLUE_ERROR_DEPLOY_WITHOUT_DEVICE = "CLUE.ERROR.DEPLOY.WITHOUT.DEVICE", CLUE_ERROR_PYTHON_DEVICE_PROCESS = "CLUE.ERROR.PYTHON.DEVICE.PROCESS", CLUE_SUCCESS_COMMAND_DEPLOY_DEVICE = "CLUE.SUCCESS.COMMAND.DEPLOY.DEVICE", diff --git a/src/service/telemetryHandlerService.ts b/src/service/telemetryHandlerService.ts index 815525226..4f652b47c 100644 --- a/src/service/telemetryHandlerService.ts +++ b/src/service/telemetryHandlerService.ts @@ -29,6 +29,11 @@ export class TelemetryHandlerService { TelemetryEventName.MICROBIT_DEBUGGER_INIT_SUCCESS ); break; + case CONSTANTS.DEVICE_NAME.CLUE: + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_DEBUGGER_INIT_SUCCESS + ); + break; default: break; } @@ -46,6 +51,11 @@ export class TelemetryHandlerService { TelemetryEventName.MICROBIT_DEBUGGER_INIT_FAIL ); break; + case CONSTANTS.DEVICE_NAME.CLUE: + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_DEBUGGER_INIT_FAIL + ); + break; default: break; } @@ -59,6 +69,8 @@ export class TelemetryHandlerService { case CONSTANTS.DEVICE_NAME.MICROBIT: this.handleMicrobitButtonPressTelemetry(buttonState); break; + case CONSTANTS.DEVICE_NAME.CLUE: + this.handleClueButtonPressTelemetry(buttonState) default: break; } @@ -84,6 +96,9 @@ export class TelemetryHandlerService { case CONSTANTS.DEVICE_NAME.MICROBIT: this.handleMicrobitSensorTelemetry(sensor); break; + case CONSTANTS.DEVICE_NAME.CLUE: + this.handleClueSensorTelemetry(sensor); + break; default: break; } @@ -200,6 +215,122 @@ export class TelemetryHandlerService { TelemetryEventName.MICROBIT_SIMULATOR_MOTION_SENSOR ); break; + case "gesture": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.MICROBIT_SIMULATOR_GESTURE_SENSOR + ); + break; + } + }; + + public handleClueButtonPressTelemetry = (buttonState: any) => { + if (buttonState.button_a && buttonState.button_b) { + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_BUTTON_AB + ); + } else if (buttonState.button_a) { + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_BUTTON_A + ); + } else if (buttonState.button_b) { + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_BUTTON_B + ); + } + } + + public handleClueSensorTelemetry = (sensor: string) => { + switch (sensor) { + case "temperature": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_TEMPERATURE_SENSOR + ); + break; + case "light_r": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_LIGHT_SENSOR + ); + break; + case "light_g": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_LIGHT_SENSOR + ); + break; + case "light_b": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_LIGHT_SENSOR + ); + break; + case "light_c": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_LIGHT_SENSOR + ); + break; + case "motion_x": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_MOTION_SENSOR + ); + break; + case "motion_y": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_MOTION_SENSOR + ); + break; + case "motion_z": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_MOTION_SENSOR + ); + break; + case "gesture": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_GESTURE_SENSOR + ); + break; + case "humidity": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_HUMIDITY_SENSOR + ); + break; + case "pressure": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_PRESSURE_SENSOR + ); + break; + case "proximity": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_PROXIMITY_SENSOR + ); + break; + case "gyro_x": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_GYRO_SENSOR + ); + break; + case "gyro_y": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_GYRO_SENSOR + ); + break; + case "gyro_z": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_GYRO_SENSOR + ); + break; + case "magnet_x": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_MAGNET_SENSOR + ); + break; + case "magnet_y": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_MAGNET_SENSOR + ); + break; + case "magnet_z": + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_SIMULATOR_MAGNET_SENSOR + ); + break; } }; @@ -215,6 +346,11 @@ export class TelemetryHandlerService { TelemetryEventName.MICROBIT_ERROR_COMMAND_NEW_FILE ); break; + case CONSTANTS.DEVICE_NAME.CLUE: + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_ERROR_COMMAND_NEW_FILE + ); + break; default: break; } From 024ae475140e7128ec9c21b501d346e314b0f7dc Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 7 Apr 2020 12:08:14 -0700 Subject: [PATCH 2/3] format --- src/service/telemetryHandlerService.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/service/telemetryHandlerService.ts b/src/service/telemetryHandlerService.ts index 4f652b47c..5473c6e35 100644 --- a/src/service/telemetryHandlerService.ts +++ b/src/service/telemetryHandlerService.ts @@ -30,10 +30,10 @@ export class TelemetryHandlerService { ); break; case CONSTANTS.DEVICE_NAME.CLUE: - this.telemetryAI.trackFeatureUsage( - TelemetryEventName.CLUE_DEBUGGER_INIT_SUCCESS - ); - break; + this.telemetryAI.trackFeatureUsage( + TelemetryEventName.CLUE_DEBUGGER_INIT_SUCCESS + ); + break; default: break; } @@ -70,7 +70,7 @@ export class TelemetryHandlerService { this.handleMicrobitButtonPressTelemetry(buttonState); break; case CONSTANTS.DEVICE_NAME.CLUE: - this.handleClueButtonPressTelemetry(buttonState) + this.handleClueButtonPressTelemetry(buttonState); default: break; } @@ -237,7 +237,7 @@ export class TelemetryHandlerService { TelemetryEventName.CLUE_SIMULATOR_BUTTON_B ); } - } + }; public handleClueSensorTelemetry = (sensor: string) => { switch (sensor) { From 05fdb4306d3d62369f8192c56a88718e3e0d6f50 Mon Sep 17 00:00:00 2001 From: unknown Date: Tue, 7 Apr 2020 12:09:21 -0700 Subject: [PATCH 3/3] add missing break statement --- src/service/telemetryHandlerService.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/service/telemetryHandlerService.ts b/src/service/telemetryHandlerService.ts index 5473c6e35..f16141f65 100644 --- a/src/service/telemetryHandlerService.ts +++ b/src/service/telemetryHandlerService.ts @@ -71,6 +71,7 @@ export class TelemetryHandlerService { break; case CONSTANTS.DEVICE_NAME.CLUE: this.handleClueButtonPressTelemetry(buttonState); + break; default: break; }