1package android.support.car {
2
3  public class Car {
4    method public void connect() throws java.lang.IllegalStateException;
5    method public static android.support.car.Car createCar(android.content.Context, android.support.car.CarConnectionCallback, android.os.Handler);
6    method public static android.support.car.Car createCar(android.content.Context, android.support.car.CarConnectionCallback);
7    method public void disconnect();
8    method public java.lang.Object getCarManager(java.lang.String) throws android.support.car.CarNotConnectedException;
9    method public <T> T getCarManager(java.lang.Class<T>) throws android.support.car.CarNotConnectedException;
10    method public boolean isConnected();
11    method public boolean isConnecting();
12    field public static final java.lang.String APP_FOCUS_SERVICE = "app_focus";
13    field public static final java.lang.String AUDIO_SERVICE = "audio";
14    field public static final java.lang.String INFO_SERVICE = "info";
15    field public static final java.lang.String NAVIGATION_STATUS_SERVICE = "car_navigation_service";
16    field public static final java.lang.String PERMISSION_CAR_NAVIGATION_MANAGER = "android.car.permission.PERMISSION_CAR_NAVIGATION_MANAGER";
17    field public static final java.lang.String PERMISSION_VENDOR_EXTENSION = "android.car.permission.CAR_VENDOR_EXTENSION";
18    field public static final java.lang.String SENSOR_SERVICE = "sensor";
19  }
20
21  public abstract class CarAppFocusManager {
22    ctor public CarAppFocusManager();
23    method public abstract void abandonAppFocus(android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int);
24    method public abstract void abandonAppFocus(android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback);
25    method public abstract void addFocusListener(android.support.car.CarAppFocusManager.OnAppFocusChangedListener, int) throws android.support.car.CarNotConnectedException;
26    method public abstract boolean isOwningFocus(int, android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback) throws android.support.car.CarNotConnectedException;
27    method public abstract void removeFocusListener(android.support.car.CarAppFocusManager.OnAppFocusChangedListener, int);
28    method public abstract void removeFocusListener(android.support.car.CarAppFocusManager.OnAppFocusChangedListener);
29    method public abstract int requestAppFocus(int, android.support.car.CarAppFocusManager.OnAppFocusOwnershipCallback) throws android.support.car.CarNotConnectedException, java.lang.SecurityException;
30    field public static final int APP_FOCUS_REQUEST_FAILED = 0; // 0x0
31    field public static final int APP_FOCUS_REQUEST_SUCCEEDED = 1; // 0x1
32    field public static final int APP_FOCUS_TYPE_NAVIGATION = 1; // 0x1
33  }
34
35  public static abstract interface CarAppFocusManager.OnAppFocusChangedListener {
36    method public abstract void onAppFocusChanged(android.support.car.CarAppFocusManager, int, boolean);
37  }
38
39  public static abstract interface CarAppFocusManager.OnAppFocusOwnershipCallback {
40    method public abstract void onAppFocusOwnershipGranted(android.support.car.CarAppFocusManager, int);
41    method public abstract void onAppFocusOwnershipLost(android.support.car.CarAppFocusManager, int);
42  }
43
44  public abstract class CarConnectionCallback {
45    ctor public CarConnectionCallback();
46    method public abstract void onConnected(android.support.car.Car);
47    method public abstract void onDisconnected(android.support.car.Car);
48  }
49
50  public abstract class CarInfoManager {
51    ctor public CarInfoManager();
52    method public abstract int getDriverPosition() throws android.support.car.CarNotConnectedException;
53    method public abstract java.lang.String getHeadunitManufacturer() throws android.support.car.CarNotConnectedException;
54    method public abstract java.lang.String getHeadunitModel() throws android.support.car.CarNotConnectedException;
55    method public abstract java.lang.String getHeadunitSoftwareBuild() throws android.support.car.CarNotConnectedException;
56    method public abstract java.lang.String getHeadunitSoftwareVersion() throws android.support.car.CarNotConnectedException;
57    method public abstract java.lang.String getManufacturer() throws android.support.car.CarNotConnectedException;
58    method public abstract java.lang.String getModel() throws android.support.car.CarNotConnectedException;
59    method public abstract java.lang.String getModelYear() throws android.support.car.CarNotConnectedException;
60    method public abstract java.lang.String getVehicleId() throws android.support.car.CarNotConnectedException;
61    field public static final int DRIVER_SIDE_CENTER = 3; // 0x3
62    field public static final int DRIVER_SIDE_LEFT = 1; // 0x1
63    field public static final int DRIVER_SIDE_RIGHT = 2; // 0x2
64    field public static final int DRIVER_SIDE_UNKNOWN = 0; // 0x0
65  }
66
67  public class CarNotConnectedException extends java.lang.Exception {
68    ctor public CarNotConnectedException();
69    ctor public CarNotConnectedException(java.lang.String);
70    ctor public CarNotConnectedException(java.lang.String, java.lang.Throwable);
71    ctor public CarNotConnectedException(java.lang.Exception);
72  }
73
74}
75
76package android.support.car.annotation {
77
78  public abstract class ValueTypeDef implements java.lang.annotation.Annotation {
79  }
80
81  public abstract class VersionDef implements java.lang.annotation.Annotation {
82  }
83
84}
85
86package android.support.car.hardware {
87
88  public class CarSensorEvent {
89    method public android.support.car.hardware.CarSensorEvent.CompassData getCompassData();
90    method public android.support.car.hardware.CarSensorEvent.DrivingStatusData getDrivingStatusData();
91    method public android.support.car.hardware.CarSensorEvent.NightData getNightData();
92    method public android.support.car.hardware.CarSensorEvent.ParkingBrakeData getParkingBrakeData();
93    field public static final int DRIVE_STATUS_FULLY_RESTRICTED = 31; // 0x1f
94    field public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 16; // 0x10
95    field public static final int DRIVE_STATUS_NO_CONFIG = 8; // 0x8
96    field public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 2; // 0x2
97    field public static final int DRIVE_STATUS_NO_VIDEO = 1; // 0x1
98    field public static final int DRIVE_STATUS_NO_VOICE_INPUT = 4; // 0x4
99    field public static final int DRIVE_STATUS_UNRESTRICTED = 0; // 0x0
100    field public static final int INDEX_COMPASS_BEARING = 0; // 0x0
101    field public static final int INDEX_COMPASS_PITCH = 1; // 0x1
102    field public static final int INDEX_COMPASS_ROLL = 2; // 0x2
103    field public final float[] floatValues;
104    field public final int[] intValues;
105    field public final int sensorType;
106    field public final long timestamp;
107  }
108
109  public static class CarSensorEvent.CompassData {
110    field public final float bearing;
111    field public final float pitch;
112    field public final float roll;
113    field public final long timestamp;
114  }
115
116  public static class CarSensorEvent.DrivingStatusData {
117    method public boolean isConfigurationRestricted();
118    method public boolean isFullyRestricted();
119    method public boolean isKeyboardRestricted();
120    method public boolean isMessageLengthRestricted();
121    method public boolean isVideoRestricted();
122    method public boolean isVoiceRestricted();
123    field public final int status;
124    field public final long timestamp;
125  }
126
127  public static class CarSensorEvent.NightData {
128    field public final boolean isNightMode;
129    field public final long timestamp;
130  }
131
132  public static class CarSensorEvent.ParkingBrakeData {
133    field public final boolean isEngaged;
134    field public final long timestamp;
135  }
136
137  public abstract class CarSensorManager {
138    ctor public CarSensorManager();
139    method public abstract boolean addListener(android.support.car.hardware.CarSensorManager.OnSensorChangedListener, int, int) throws android.support.car.CarNotConnectedException, java.lang.IllegalArgumentException;
140    method public abstract android.support.car.hardware.CarSensorEvent getLatestSensorEvent(int) throws android.support.car.CarNotConnectedException;
141    method public abstract int[] getSupportedSensors() throws android.support.car.CarNotConnectedException;
142    method public abstract boolean isSensorSupported(int) throws android.support.car.CarNotConnectedException;
143    method public abstract void removeListener(android.support.car.hardware.CarSensorManager.OnSensorChangedListener);
144    method public abstract void removeListener(android.support.car.hardware.CarSensorManager.OnSensorChangedListener, int);
145    field public static final int SENSOR_RATE_FASTEST = 0; // 0x0
146    field public static final int SENSOR_RATE_NORMAL = 3; // 0x3
147    field public static final int SENSOR_TYPE_COMPASS = 1; // 0x1
148    field public static final int SENSOR_TYPE_DRIVING_STATUS = 11; // 0xb
149    field public static final int SENSOR_TYPE_NIGHT = 9; // 0x9
150    field public static final int SENSOR_TYPE_PARKING_BRAKE = 6; // 0x6
151  }
152
153  public static abstract interface CarSensorManager.OnSensorChangedListener {
154    method public abstract void onSensorChanged(android.support.car.hardware.CarSensorManager, android.support.car.hardware.CarSensorEvent);
155  }
156
157}
158
159package android.support.car.media {
160
161  public abstract class CarAudioManager {
162    ctor public CarAudioManager();
163    method public abstract void abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
164    method public abstract android.support.car.media.CarAudioRecord createCarAudioRecord(int) throws android.support.car.CarNotConnectedException, java.lang.SecurityException;
165    method public abstract android.media.AudioAttributes getAudioAttributesForCarUsage(int) throws android.support.car.CarNotConnectedException;
166    method public abstract android.media.AudioFormat getAudioRecordAudioFormat() throws android.support.car.CarNotConnectedException;
167    method public abstract int getAudioRecordMaxBufferSize() throws android.support.car.CarNotConnectedException;
168    method public abstract int getAudioRecordMinBufferSize() throws android.support.car.CarNotConnectedException;
169    method public abstract boolean isAudioRecordSupported() throws android.support.car.CarNotConnectedException;
170    method public abstract boolean isMediaMuted() throws android.support.car.CarNotConnectedException;
171    method public abstract int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes, int) throws android.support.car.CarNotConnectedException, java.lang.IllegalArgumentException;
172    field public static final int CAR_AUDIO_USAGE_ALARM = 6; // 0x6
173    field public static final int CAR_AUDIO_USAGE_DEFAULT = 0; // 0x0
174    field public static final int CAR_AUDIO_USAGE_MUSIC = 1; // 0x1
175    field public static final int CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE = 3; // 0x3
176    field public static final int CAR_AUDIO_USAGE_NOTIFICATION = 7; // 0x7
177    field public static final int CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT = 9; // 0x9
178    field public static final int CAR_AUDIO_USAGE_SYSTEM_SOUND = 8; // 0x8
179    field public static final int CAR_AUDIO_USAGE_VOICE_CALL = 4; // 0x4
180    field public static final int CAR_AUDIO_USAGE_VOICE_COMMAND = 5; // 0x5
181  }
182
183  public abstract class CarAudioRecord {
184    ctor public CarAudioRecord();
185    method public abstract int getAudioSessionId() throws android.support.car.CarNotConnectedException;
186    method public abstract int getBufferSize() throws android.support.car.CarNotConnectedException;
187    method public abstract int getRecordingState() throws android.support.car.CarNotConnectedException;
188    method public abstract int getState() throws android.support.car.CarNotConnectedException;
189    method public abstract int read(byte[], int, int) throws android.support.car.CarNotConnectedException, java.lang.IllegalStateException;
190    method public abstract void release();
191    method public abstract void startRecording() throws android.support.car.CarNotConnectedException;
192    method public abstract void stop();
193  }
194
195}
196
197package android.support.car.navigation {
198
199  public class CarNavigationInstrumentCluster {
200    method public int getImageColorDepthBits();
201    method public int getImageHeight();
202    method public int getImageWidth();
203    method public int getMinIntervalMillis();
204    method public int getType();
205    method public boolean supportsCustomImages();
206    field public static final int CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED = 1; // 0x1
207    field public static final int CLUSTER_TYPE_IMAGE_CODES_ONLY = 2; // 0x2
208  }
209
210  public abstract class CarNavigationStatusManager {
211    ctor public CarNavigationStatusManager();
212    method public abstract void addListener(android.support.car.navigation.CarNavigationStatusManager.CarNavigationCallback) throws android.support.car.CarNotConnectedException;
213    method public abstract void removeListener();
214    method public abstract void sendNavigationStatus(int) throws android.support.car.CarNotConnectedException;
215    method public abstract void sendNavigationTurnDistanceEvent(int, int, int, int) throws android.support.car.CarNotConnectedException;
216    method public abstract void sendNavigationTurnEvent(int, java.lang.CharSequence, int, int, int) throws android.support.car.CarNotConnectedException;
217    field public static final int DISTANCE_FEET = 4; // 0x4
218    field public static final int DISTANCE_KILOMETERS = 2; // 0x2
219    field public static final int DISTANCE_METERS = 1; // 0x1
220    field public static final int DISTANCE_MILES = 3; // 0x3
221    field public static final int DISTANCE_YARDS = 5; // 0x5
222    field public static final int STATUS_ACTIVE = 1; // 0x1
223    field public static final int STATUS_INACTIVE = 2; // 0x2
224    field public static final int STATUS_UNAVAILABLE = 0; // 0x0
225    field public static final int TURN_DEPART = 1; // 0x1
226    field public static final int TURN_DESTINATION = 19; // 0x13
227    field public static final int TURN_FERRY_BOAT = 16; // 0x10
228    field public static final int TURN_FERRY_TRAIN = 17; // 0x11
229    field public static final int TURN_FORK = 9; // 0x9
230    field public static final int TURN_MERGE = 10; // 0xa
231    field public static final int TURN_NAME_CHANGE = 2; // 0x2
232    field public static final int TURN_OFF_RAMP = 8; // 0x8
233    field public static final int TURN_ON_RAMP = 7; // 0x7
234    field public static final int TURN_ROUNDABOUT_ENTER = 11; // 0xb
235    field public static final int TURN_ROUNDABOUT_ENTER_AND_EXIT = 13; // 0xd
236    field public static final int TURN_ROUNDABOUT_EXIT = 12; // 0xc
237    field public static final int TURN_SHARP_TURN = 5; // 0x5
238    field public static final int TURN_SIDE_LEFT = 1; // 0x1
239    field public static final int TURN_SIDE_RIGHT = 2; // 0x2
240    field public static final int TURN_SIDE_UNSPECIFIED = 3; // 0x3
241    field public static final int TURN_SLIGHT_TURN = 3; // 0x3
242    field public static final int TURN_STRAIGHT = 14; // 0xe
243    field public static final int TURN_TURN = 4; // 0x4
244    field public static final int TURN_UNKNOWN = 0; // 0x0
245    field public static final int TURN_U_TURN = 6; // 0x6
246  }
247
248  public static abstract interface CarNavigationStatusManager.CarNavigationCallback {
249    method public abstract void onInstrumentClusterStarted(android.support.car.navigation.CarNavigationStatusManager, android.support.car.navigation.CarNavigationInstrumentCluster);
250    method public abstract void onInstrumentClusterStopped(android.support.car.navigation.CarNavigationStatusManager);
251  }
252
253}
254
255