1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.google.android.car.kitchensink;
18 
19 import android.car.Car;
20 import android.car.CarOccupantZoneManager;
21 import android.car.CarProjectionManager;
22 import android.car.hardware.CarSensorManager;
23 import android.car.hardware.hvac.CarHvacManager;
24 import android.car.hardware.power.CarPowerManager;
25 import android.car.hardware.property.CarPropertyManager;
26 import android.car.os.CarPerformanceManager;
27 import android.car.telemetry.CarTelemetryManager;
28 import android.car.watchdog.CarWatchdogManager;
29 import android.os.Handler;
30 
31 public interface KitchenSinkHelper {
32     /**
33      * @return Car api
34      */
getCar()35     Car getCar();
36 
37     /**
38      * Uses the handler to post the runnable to run after car service is connected or reconnected.
39      *
40      * This should be used to do initialization with the managers, e.g. get the property list from
41      * the property manager. If you cache your manager instance locally, you must use this to
42      * reset your local manager instance to the new instance returned via getXXXManager.
43      */
requestRefreshManager(Runnable r, Handler h)44     void requestRefreshManager(Runnable r, Handler h);
45 
46     /**
47      * Gets the car property manager.
48      */
getPropertyManager()49     CarPropertyManager getPropertyManager();
50 
51     /**
52      * Gets the HVAC manager.
53      */
getHvacManager()54     CarHvacManager getHvacManager();
55 
56     /**
57      * Gets the occulant zone manager.
58      */
getOccupantZoneManager()59     CarOccupantZoneManager getOccupantZoneManager();
60 
61     /**
62      * Gets the power manager.
63      */
getPowerManager()64     CarPowerManager getPowerManager();
65 
66     /**
67      * Gets the sensor manager.
68      */
getSensorManager()69     CarSensorManager getSensorManager();
70 
71     /**
72      * Gets the projection manager.
73      */
getProjectionManager()74     CarProjectionManager getProjectionManager();
75 
76     /**
77      * Gets the telemetry manager.
78      */
getCarTelemetryManager()79     CarTelemetryManager getCarTelemetryManager();
80 
81     /**
82      * Gets the car watchdog manager.
83      */
getCarWatchdogManager()84     CarWatchdogManager getCarWatchdogManager();
85 
86     /**
87      * Gets the performance manager.
88      */
getPerformanceManager()89     CarPerformanceManager getPerformanceManager();
90 
91 }
92