1 package android.car.telemetry; 2 3 import android.car.telemetry.ICarTelemetryServiceListener; 4 import android.car.telemetry.MetricsConfigKey; 5 6 /** 7 * Internal binder interface for {@code CarTelemetryService}, used by {@code CarTelemetryManager}. 8 * 9 * @hide 10 */ 11 interface ICarTelemetryService { 12 13 /** 14 * Registers a listener with CarTelemetryService for the service to send data to cloud app. 15 */ setListener(in ICarTelemetryServiceListener listener)16 void setListener(in ICarTelemetryServiceListener listener); 17 18 /** 19 * Clears the listener registered with CarTelemetryService. 20 */ clearListener()21 void clearListener(); 22 23 /** 24 * Sends telemetry MetricsConfigs to CarTelemetryService. 25 */ addMetricsConfig(in MetricsConfigKey key, in byte[] metricsConfig)26 void addMetricsConfig(in MetricsConfigKey key, in byte[] metricsConfig); 27 28 /** 29 * Removes a MetricsConfig based on the key. This will also remove outputs produced by the 30 * MetricsConfig. 31 */ removeMetricsConfig(in MetricsConfigKey key)32 void removeMetricsConfig(in MetricsConfigKey key); 33 34 /** 35 * Removes all MetricsConfigs. This will also remove all MetricsConfig outputs. 36 */ removeAllMetricsConfigs()37 void removeAllMetricsConfigs(); 38 39 /** 40 * Sends script results or errors associated with the given key using the 41 * {@code ICarTelemetryServiceListener}. 42 */ sendFinishedReports(in MetricsConfigKey key)43 void sendFinishedReports(in MetricsConfigKey key); 44 45 /** 46 * Sends all script results or errors using the {@code ICarTelemetryServiceListener}. 47 */ sendAllFinishedReports()48 void sendAllFinishedReports(); 49 }