@@ -29,6 +29,11 @@ export class TelemetryHandlerService {
2929 TelemetryEventName . MICROBIT_DEBUGGER_INIT_SUCCESS
3030 ) ;
3131 break ;
32+ case CONSTANTS . DEVICE_NAME . CLUE :
33+ this . telemetryAI . trackFeatureUsage (
34+ TelemetryEventName . CLUE_DEBUGGER_INIT_SUCCESS
35+ ) ;
36+ break ;
3237 default :
3338 break ;
3439 }
@@ -46,6 +51,11 @@ export class TelemetryHandlerService {
4651 TelemetryEventName . MICROBIT_DEBUGGER_INIT_FAIL
4752 ) ;
4853 break ;
54+ case CONSTANTS . DEVICE_NAME . CLUE :
55+ this . telemetryAI . trackFeatureUsage (
56+ TelemetryEventName . CLUE_DEBUGGER_INIT_FAIL
57+ ) ;
58+ break ;
4959 default :
5060 break ;
5161 }
@@ -59,6 +69,9 @@ export class TelemetryHandlerService {
5969 case CONSTANTS . DEVICE_NAME . MICROBIT :
6070 this . handleMicrobitButtonPressTelemetry ( buttonState ) ;
6171 break ;
72+ case CONSTANTS . DEVICE_NAME . CLUE :
73+ this . handleClueButtonPressTelemetry ( buttonState ) ;
74+ break ;
6275 default :
6376 break ;
6477 }
@@ -84,6 +97,9 @@ export class TelemetryHandlerService {
8497 case CONSTANTS . DEVICE_NAME . MICROBIT :
8598 this . handleMicrobitSensorTelemetry ( sensor ) ;
8699 break ;
100+ case CONSTANTS . DEVICE_NAME . CLUE :
101+ this . handleClueSensorTelemetry ( sensor ) ;
102+ break ;
87103 default :
88104 break ;
89105 }
@@ -200,6 +216,122 @@ export class TelemetryHandlerService {
200216 TelemetryEventName . MICROBIT_SIMULATOR_MOTION_SENSOR
201217 ) ;
202218 break ;
219+ case "gesture" :
220+ this . telemetryAI . trackFeatureUsage (
221+ TelemetryEventName . MICROBIT_SIMULATOR_GESTURE_SENSOR
222+ ) ;
223+ break ;
224+ }
225+ } ;
226+
227+ public handleClueButtonPressTelemetry = ( buttonState : any ) => {
228+ if ( buttonState . button_a && buttonState . button_b ) {
229+ this . telemetryAI . trackFeatureUsage (
230+ TelemetryEventName . CLUE_SIMULATOR_BUTTON_AB
231+ ) ;
232+ } else if ( buttonState . button_a ) {
233+ this . telemetryAI . trackFeatureUsage (
234+ TelemetryEventName . CLUE_SIMULATOR_BUTTON_A
235+ ) ;
236+ } else if ( buttonState . button_b ) {
237+ this . telemetryAI . trackFeatureUsage (
238+ TelemetryEventName . CLUE_SIMULATOR_BUTTON_B
239+ ) ;
240+ }
241+ } ;
242+
243+ public handleClueSensorTelemetry = ( sensor : string ) => {
244+ switch ( sensor ) {
245+ case "temperature" :
246+ this . telemetryAI . trackFeatureUsage (
247+ TelemetryEventName . CLUE_SIMULATOR_TEMPERATURE_SENSOR
248+ ) ;
249+ break ;
250+ case "light_r" :
251+ this . telemetryAI . trackFeatureUsage (
252+ TelemetryEventName . CLUE_SIMULATOR_LIGHT_SENSOR
253+ ) ;
254+ break ;
255+ case "light_g" :
256+ this . telemetryAI . trackFeatureUsage (
257+ TelemetryEventName . CLUE_SIMULATOR_LIGHT_SENSOR
258+ ) ;
259+ break ;
260+ case "light_b" :
261+ this . telemetryAI . trackFeatureUsage (
262+ TelemetryEventName . CLUE_SIMULATOR_LIGHT_SENSOR
263+ ) ;
264+ break ;
265+ case "light_c" :
266+ this . telemetryAI . trackFeatureUsage (
267+ TelemetryEventName . CLUE_SIMULATOR_LIGHT_SENSOR
268+ ) ;
269+ break ;
270+ case "motion_x" :
271+ this . telemetryAI . trackFeatureUsage (
272+ TelemetryEventName . CLUE_SIMULATOR_MOTION_SENSOR
273+ ) ;
274+ break ;
275+ case "motion_y" :
276+ this . telemetryAI . trackFeatureUsage (
277+ TelemetryEventName . CLUE_SIMULATOR_MOTION_SENSOR
278+ ) ;
279+ break ;
280+ case "motion_z" :
281+ this . telemetryAI . trackFeatureUsage (
282+ TelemetryEventName . CLUE_SIMULATOR_MOTION_SENSOR
283+ ) ;
284+ break ;
285+ case "gesture" :
286+ this . telemetryAI . trackFeatureUsage (
287+ TelemetryEventName . CLUE_SIMULATOR_GESTURE_SENSOR
288+ ) ;
289+ break ;
290+ case "humidity" :
291+ this . telemetryAI . trackFeatureUsage (
292+ TelemetryEventName . CLUE_SIMULATOR_HUMIDITY_SENSOR
293+ ) ;
294+ break ;
295+ case "pressure" :
296+ this . telemetryAI . trackFeatureUsage (
297+ TelemetryEventName . CLUE_SIMULATOR_PRESSURE_SENSOR
298+ ) ;
299+ break ;
300+ case "proximity" :
301+ this . telemetryAI . trackFeatureUsage (
302+ TelemetryEventName . CLUE_SIMULATOR_PROXIMITY_SENSOR
303+ ) ;
304+ break ;
305+ case "gyro_x" :
306+ this . telemetryAI . trackFeatureUsage (
307+ TelemetryEventName . CLUE_SIMULATOR_GYRO_SENSOR
308+ ) ;
309+ break ;
310+ case "gyro_y" :
311+ this . telemetryAI . trackFeatureUsage (
312+ TelemetryEventName . CLUE_SIMULATOR_GYRO_SENSOR
313+ ) ;
314+ break ;
315+ case "gyro_z" :
316+ this . telemetryAI . trackFeatureUsage (
317+ TelemetryEventName . CLUE_SIMULATOR_GYRO_SENSOR
318+ ) ;
319+ break ;
320+ case "magnet_x" :
321+ this . telemetryAI . trackFeatureUsage (
322+ TelemetryEventName . CLUE_SIMULATOR_MAGNET_SENSOR
323+ ) ;
324+ break ;
325+ case "magnet_y" :
326+ this . telemetryAI . trackFeatureUsage (
327+ TelemetryEventName . CLUE_SIMULATOR_MAGNET_SENSOR
328+ ) ;
329+ break ;
330+ case "magnet_z" :
331+ this . telemetryAI . trackFeatureUsage (
332+ TelemetryEventName . CLUE_SIMULATOR_MAGNET_SENSOR
333+ ) ;
334+ break ;
203335 }
204336 } ;
205337
@@ -215,6 +347,11 @@ export class TelemetryHandlerService {
215347 TelemetryEventName . MICROBIT_ERROR_COMMAND_NEW_FILE
216348 ) ;
217349 break ;
350+ case CONSTANTS . DEVICE_NAME . CLUE :
351+ this . telemetryAI . trackFeatureUsage (
352+ TelemetryEventName . CLUE_ERROR_COMMAND_NEW_FILE
353+ ) ;
354+ break ;
218355 default :
219356 break ;
220357 }
0 commit comments