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 }