aboutsummaryrefslogtreecommitdiff
path: root/car-lib
diff options
context:
space:
mode:
authorKeun-young Park <keunyoung@google.com>2017-04-19 13:25:42 -0700
committerKeun-young Park <keunyoung@google.com>2017-04-19 13:36:11 -0700
commit12cfa0d0d909df96c501546eec83bfa09515e3f8 (patch)
treef19e7db05c022b98db938b5f2f5cac06343b1c28 /car-lib
parent54558e083dcbb0a7a37604793ffe057fb8de13eb (diff)
downloadCar-12cfa0d0d909df96c501546eec83bfa09515e3f8.tar.gz
update Car.VERSION and add old API snapshot
bug: 36789624 Test: build Change-Id: I6de31f31392578e8bde58cddd88d4f5103473de2
Diffstat (limited to 'car-lib')
-rw-r--r--car-lib/api/1.txt290
-rw-r--r--car-lib/api/current.txt2
-rw-r--r--car-lib/api/system-1.txt787
-rw-r--r--car-lib/api/system-current.txt2
-rw-r--r--car-lib/src/android/car/Car.java6
5 files changed, 1083 insertions, 4 deletions
diff --git a/car-lib/api/1.txt b/car-lib/api/1.txt
new file mode 100644
index 0000000000..556aaae3c2
--- /dev/null
+++ b/car-lib/api/1.txt
@@ -0,0 +1,290 @@
+package android.car {
+
+ public final class Car {
+ method public void connect() throws java.lang.IllegalStateException;
+ method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection, android.os.Handler);
+ method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection);
+ method public void disconnect();
+ method public int getCarConnectionType();
+ method public java.lang.Object getCarManager(java.lang.String) throws android.car.CarNotConnectedException;
+ method public boolean isConnected();
+ method public boolean isConnecting();
+ field public static final java.lang.String APP_FOCUS_SERVICE = "app_focus";
+ field public static final java.lang.String AUDIO_SERVICE = "audio";
+ field public static final int CONNECTION_TYPE_EMBEDDED = 5; // 0x5
+ field public static final java.lang.String INFO_SERVICE = "info";
+ field public static final java.lang.String PACKAGE_SERVICE = "package";
+ field public static final java.lang.String PERMISSION_CAR_CONTROL_AUDIO_VOLUME = "android.car.permission.CAR_CONTROL_AUDIO_VOLUME";
+ field public static final java.lang.String PERMISSION_FUEL = "android.car.permission.CAR_FUEL";
+ field public static final java.lang.String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
+ field public static final java.lang.String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
+ field public static final java.lang.String SENSOR_SERVICE = "sensor";
+ field public static final int VERSION = 1; // 0x1
+ }
+
+ public final class CarAppFocusManager {
+ method public void abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int);
+ method public void abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback);
+ method public void addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int) throws android.car.CarNotConnectedException;
+ method public boolean isOwningFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int) throws android.car.CarNotConnectedException;
+ method public void removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int);
+ method public void removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener);
+ method public int requestAppFocus(int, android.car.CarAppFocusManager.OnAppFocusOwnershipCallback) throws android.car.CarNotConnectedException, java.lang.SecurityException;
+ field public static final int APP_FOCUS_REQUEST_FAILED = 0; // 0x0
+ field public static final int APP_FOCUS_REQUEST_SUCCEEDED = 1; // 0x1
+ field public static final int APP_FOCUS_TYPE_NAVIGATION = 1; // 0x1
+ field public static final int APP_FOCUS_TYPE_VOICE_COMMAND = 2; // 0x2
+ }
+
+ public static abstract interface CarAppFocusManager.OnAppFocusChangedListener {
+ method public abstract void onAppFocusChanged(int, boolean);
+ }
+
+ public static abstract interface CarAppFocusManager.OnAppFocusOwnershipCallback {
+ method public abstract void onAppFocusOwnershipGranted(int);
+ method public abstract void onAppFocusOwnershipLost(int);
+ }
+
+ public final class CarInfoManager {
+ method public java.lang.String getManufacturer() throws android.car.CarNotConnectedException;
+ method public java.lang.String getModel() throws android.car.CarNotConnectedException;
+ method public java.lang.String getModelYear() throws android.car.CarNotConnectedException;
+ method public java.lang.String getVehicleId() throws android.car.CarNotConnectedException;
+ }
+
+ public class CarNotConnectedException extends java.lang.Exception {
+ ctor public CarNotConnectedException();
+ ctor public CarNotConnectedException(java.lang.String);
+ ctor public CarNotConnectedException(java.lang.String, java.lang.Throwable);
+ ctor public CarNotConnectedException(java.lang.Exception);
+ }
+
+}
+
+package android.car.app.menu {
+
+ public abstract class CarMenuCallbacks {
+ ctor public CarMenuCallbacks();
+ method public abstract android.car.app.menu.RootMenu getRootMenu(android.os.Bundle);
+ method public abstract void onCarMenuClosed();
+ method public abstract void onCarMenuClosing();
+ method public abstract void onCarMenuOpened();
+ method public abstract void onCarMenuOpening();
+ method public abstract void onItemClicked(java.lang.String);
+ method public abstract boolean onItemLongClicked(java.lang.String);
+ method public abstract boolean onMenuClicked();
+ method public abstract void subscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
+ method public abstract void unsubscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
+ }
+
+ public class CarMenuConstants {
+ ctor public CarMenuConstants();
+ }
+
+ public static class CarMenuConstants.MenuItemConstants {
+ ctor public CarMenuConstants.MenuItemConstants();
+ field public static final int FLAG_BROWSABLE = 1; // 0x1
+ field public static final int FLAG_FIRSTITEM = 2; // 0x2
+ field public static final java.lang.String KEY_EMPTY_PLACEHOLDER = "android.car.app.menu.empty_placeholder";
+ field public static final java.lang.String KEY_FLAGS = "android.car.app.menu.flags";
+ field public static final java.lang.String KEY_ID = "android.car.app.menu.id";
+ field public static final java.lang.String KEY_LEFTICON = "android.car.app.menu.leftIcon";
+ field public static final java.lang.String KEY_REMOTEVIEWS = "android.car.app.menu.remoteViews";
+ field public static final java.lang.String KEY_RIGHTICON = "android.car.app.menu.rightIcon";
+ field public static final java.lang.String KEY_RIGHTTEXT = "android.car.app.menu.rightText";
+ field public static final java.lang.String KEY_TEXT = "android.car.app.menu.text";
+ field public static final java.lang.String KEY_TITLE = "android.car.app.menu.title";
+ field public static final java.lang.String KEY_WIDGET = "android.car.app.menu.widget";
+ field public static final java.lang.String KEY_WIDGET_STATE = "android.car.app.menu.widget_state";
+ field public static final int WIDGET_CHECKBOX = 1; // 0x1
+ field public static final int WIDGET_TEXT_VIEW = 2; // 0x2
+ }
+
+ public static abstract class CarMenuConstants.MenuItemConstants.MenuItemFlags implements java.lang.annotation.Annotation {
+ }
+
+ public static abstract class CarMenuConstants.MenuItemConstants.WidgetTypes implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class CarUiEntry {
+ ctor public CarUiEntry(android.content.Context, android.content.Context);
+ method public abstract void closeDrawer();
+ method public abstract android.view.View getContentView();
+ method public abstract int getFragmentContainerId();
+ method public abstract java.lang.CharSequence getSearchBoxText();
+ method public abstract void hideMenuButton();
+ method public abstract void hideTitle();
+ method public abstract void onPause();
+ method public abstract void onRestoreInstanceState(android.os.Bundle);
+ method public abstract void onResume();
+ method public abstract void onSaveInstanceState(android.os.Bundle);
+ method public abstract void onStart();
+ method public abstract void onStop();
+ method public abstract void openDrawer();
+ method public abstract void restoreMenuDrawable();
+ method public abstract void setAutoLightDarkMode();
+ method public abstract void setBackground(android.graphics.Bitmap);
+ method public abstract void setCarMenuCallbacks(android.car.app.menu.CarMenuCallbacks);
+ method public abstract void setDarkMode();
+ method public abstract void setLightMode();
+ method public abstract void setMenuButtonBitmap(android.graphics.Bitmap);
+ method public abstract void setMenuButtonColor(int);
+ method public abstract void setScrimColor(int);
+ method public abstract void setSearchBoxColors(int, int, int, int);
+ method public abstract void setSearchBoxEditListener(android.car.app.menu.SearchBoxEditListener);
+ method public abstract void setSearchBoxEndView(android.view.View);
+ method public abstract void setTitle(java.lang.CharSequence);
+ method public abstract void showMenu(java.lang.String, java.lang.String);
+ method public abstract void showSearchBox(android.view.View.OnClickListener);
+ method public abstract void showTitle();
+ method public abstract void showToast(java.lang.String, long);
+ method public abstract android.widget.EditText startInput(java.lang.String, android.view.View.OnClickListener);
+ method public abstract void stopInput();
+ field protected final android.content.Context mAppContext;
+ field protected final android.content.Context mUiLibContext;
+ }
+
+ public class RootMenu {
+ ctor public RootMenu(java.lang.String);
+ ctor public RootMenu(java.lang.String, android.os.Bundle);
+ method public android.os.Bundle getBundle();
+ method public java.lang.String getId();
+ }
+
+ public abstract class SearchBoxEditListener {
+ ctor public SearchBoxEditListener();
+ method public abstract void onEdit(java.lang.String);
+ method public abstract void onSearch(java.lang.String);
+ }
+
+ public abstract class SubscriptionCallbacks {
+ ctor public SubscriptionCallbacks();
+ method public abstract void onChildChanged(java.lang.String, android.os.Bundle);
+ method public abstract void onChildrenLoaded(java.lang.String, java.util.List<android.os.Bundle>);
+ method public abstract void onError(java.lang.String);
+ }
+
+}
+
+package android.car.content.pm {
+
+ public final class CarPackageManager {
+ method public boolean isActivityAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
+ method public boolean isServiceAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
+ }
+
+}
+
+package android.car.hardware {
+
+ public class CarSensorEvent implements android.os.Parcelable {
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.hardware.CarSensorEvent> CREATOR;
+ field public static final int DRIVE_STATUS_FULLY_RESTRICTED = 31; // 0x1f
+ field public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 16; // 0x10
+ field public static final int DRIVE_STATUS_NO_CONFIG = 8; // 0x8
+ field public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 2; // 0x2
+ field public static final int DRIVE_STATUS_NO_VIDEO = 1; // 0x1
+ field public static final int DRIVE_STATUS_NO_VOICE_INPUT = 4; // 0x4
+ field public static final int DRIVE_STATUS_UNRESTRICTED = 0; // 0x0
+ field public static final int GEAR_DRIVE = 100; // 0x64
+ field public static final int GEAR_EIGHTH = 8; // 0x8
+ field public static final int GEAR_FIFTH = 5; // 0x5
+ field public static final int GEAR_FIRST = 1; // 0x1
+ field public static final int GEAR_FOURTH = 4; // 0x4
+ field public static final int GEAR_NEUTRAL = 0; // 0x0
+ field public static final int GEAR_NINTH = 9; // 0x9
+ field public static final int GEAR_PARK = 101; // 0x65
+ field public static final int GEAR_REVERSE = 102; // 0x66
+ field public static final int GEAR_SECOND = 2; // 0x2
+ field public static final int GEAR_SEVENTH = 7; // 0x7
+ field public static final int GEAR_SIXTH = 6; // 0x6
+ field public static final int GEAR_TENTH = 10; // 0xa
+ field public static final int GEAR_THIRD = 3; // 0x3
+ field public static final int INDEX_ENVIRONMENT_PRESSURE = 1; // 0x1
+ field public static final int INDEX_ENVIRONMENT_TEMPERATURE = 0; // 0x0
+ field public static final int INDEX_FUEL_LEVEL_IN_DISTANCE = 1; // 0x1
+ field public static final int INDEX_FUEL_LEVEL_IN_PERCENTILE = 0; // 0x0
+ field public static final int INDEX_FUEL_LOW_WARNING = 0; // 0x0
+ field public final float[] floatValues;
+ field public final int[] intValues;
+ field public int sensorType;
+ field public long timestamp;
+ }
+
+ public static class CarSensorEvent.EnvironmentData {
+ field public float pressure;
+ field public float temperature;
+ field public long timestamp;
+ }
+
+ public final class CarSensorManager {
+ method public android.car.hardware.CarSensorEvent getLatestSensorEvent(int) throws android.car.CarNotConnectedException;
+ method public int[] getSupportedSensors() throws android.car.CarNotConnectedException;
+ method public boolean isSensorSupported(int) throws android.car.CarNotConnectedException;
+ method public static boolean isSensorSupported(int[], int);
+ method public boolean registerListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
+ method public void unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener);
+ method public void unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int);
+ field public static final int SENSOR_RATE_FAST = 1; // 0x1
+ field public static final int SENSOR_RATE_FASTEST = 0; // 0x0
+ field public static final int SENSOR_RATE_NORMAL = 3; // 0x3
+ field public static final int SENSOR_RATE_UI = 2; // 0x2
+ field public static final int SENSOR_TYPE_CAR_SPEED = 2; // 0x2
+ field public static final int SENSOR_TYPE_DRIVING_STATUS = 11; // 0xb
+ field public static final int SENSOR_TYPE_ENVIRONMENT = 12; // 0xc
+ field public static final int SENSOR_TYPE_FUEL_LEVEL = 5; // 0x5
+ field public static final int SENSOR_TYPE_GEAR = 7; // 0x7
+ field public static final int SENSOR_TYPE_NIGHT = 9; // 0x9
+ field public static final int SENSOR_TYPE_ODOMETER = 4; // 0x4
+ field public static final int SENSOR_TYPE_PARKING_BRAKE = 6; // 0x6
+ field public static final int SENSOR_TYPE_RPM = 3; // 0x3
+ field public static final int SENSOR_TYPE_VENDOR_EXTENSION_END = 1879048191; // 0x6fffffff
+ }
+
+ public static abstract interface CarSensorManager.OnSensorChangedListener {
+ method public abstract void onSensorChanged(android.car.hardware.CarSensorEvent);
+ }
+
+}
+
+package android.car.media {
+
+ public final class CarAudioManager {
+ method public void abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
+ method public android.media.AudioAttributes getAudioAttributesForCarUsage(int) throws android.car.CarNotConnectedException;
+ method public int getStreamMaxVolume(int) throws android.car.CarNotConnectedException;
+ method public int getStreamMinVolume(int) throws android.car.CarNotConnectedException;
+ method public int getStreamVolume(int) throws android.car.CarNotConnectedException;
+ method public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
+ method public void setStreamVolume(int, int, int) throws android.car.CarNotConnectedException;
+ field public static final int CAR_AUDIO_USAGE_ALARM = 6; // 0x6
+ field public static final int CAR_AUDIO_USAGE_DEFAULT = 0; // 0x0
+ field public static final int CAR_AUDIO_USAGE_MUSIC = 1; // 0x1
+ field public static final int CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE = 3; // 0x3
+ field public static final int CAR_AUDIO_USAGE_NOTIFICATION = 7; // 0x7
+ field public static final int CAR_AUDIO_USAGE_RADIO = 2; // 0x2
+ field public static final int CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT = 9; // 0x9
+ field public static final int CAR_AUDIO_USAGE_SYSTEM_SOUND = 8; // 0x8
+ field public static final int CAR_AUDIO_USAGE_VOICE_CALL = 4; // 0x4
+ field public static final int CAR_AUDIO_USAGE_VOICE_COMMAND = 5; // 0x5
+ }
+
+}
+
+package android.car.settings {
+
+ public class CarSettings {
+ ctor public CarSettings();
+ }
+
+ public static final class CarSettings.Global {
+ ctor public CarSettings.Global();
+ field public static final java.lang.String KEY_GARAGE_MODE_ENABLED = "android.car.GARAGE_MODE_ENABLED";
+ field public static final java.lang.String KEY_GARAGE_MODE_MAINTENANCE_WINDOW = "android.car.GARAGE_MODE_MAINTENANCE_WINDOW";
+ field public static final java.lang.String KEY_GARAGE_MODE_WAKE_UP_TIME = "android.car.GARAGE_MODE_WAKE_UP_TIME";
+ }
+
+}
+
diff --git a/car-lib/api/current.txt b/car-lib/api/current.txt
index 72658fc7dd..fb94b19ead 100644
--- a/car-lib/api/current.txt
+++ b/car-lib/api/current.txt
@@ -19,7 +19,7 @@ package android.car {
field public static final java.lang.String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
field public static final java.lang.String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
field public static final java.lang.String SENSOR_SERVICE = "sensor";
- field public static final int VERSION = 1; // 0x1
+ field public static final int VERSION = 2; // 0x2
}
public final class CarAppFocusManager {
diff --git a/car-lib/api/system-1.txt b/car-lib/api/system-1.txt
new file mode 100644
index 0000000000..763114baad
--- /dev/null
+++ b/car-lib/api/system-1.txt
@@ -0,0 +1,787 @@
+package android.car {
+
+ public final class Car {
+ method public void connect() throws java.lang.IllegalStateException;
+ method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection, android.os.Handler);
+ method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection);
+ method public void disconnect();
+ method public int getCarConnectionType();
+ method public java.lang.Object getCarManager(java.lang.String) throws android.car.CarNotConnectedException;
+ method public boolean isConnected();
+ method public boolean isConnecting();
+ field public static final java.lang.String APP_FOCUS_SERVICE = "app_focus";
+ field public static final java.lang.String AUDIO_SERVICE = "audio";
+ field public static final java.lang.String CABIN_SERVICE = "cabin";
+ field public static final java.lang.String CAMERA_SERVICE = "camera";
+ field public static final int CONNECTION_TYPE_EMBEDDED = 5; // 0x5
+ field public static final java.lang.String HVAC_SERVICE = "hvac";
+ field public static final java.lang.String INFO_SERVICE = "info";
+ field public static final java.lang.String PACKAGE_SERVICE = "package";
+ field public static final java.lang.String PERMISSION_CAR_CABIN = "android.car.permission.CAR_CABIN";
+ field public static final java.lang.String PERMISSION_CAR_CAMERA = "android.car.permission.CAR_CAMERA";
+ field public static final java.lang.String PERMISSION_CAR_CONTROL_AUDIO_VOLUME = "android.car.permission.CAR_CONTROL_AUDIO_VOLUME";
+ field public static final java.lang.String PERMISSION_CAR_HVAC = "android.car.permission.CAR_HVAC";
+ field public static final java.lang.String PERMISSION_CAR_PROJECTION = "android.car.permission.CAR_PROJECTION";
+ field public static final java.lang.String PERMISSION_CAR_RADIO = "android.car.permission.CAR_RADIO";
+ field public static final java.lang.String PERMISSION_CONTROL_APP_BLOCKING = "android.car.permission.CONTROL_APP_BLOCKING";
+ field public static final java.lang.String PERMISSION_FUEL = "android.car.permission.CAR_FUEL";
+ field public static final java.lang.String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
+ field public static final java.lang.String PERMISSION_MOCK_VEHICLE_HAL = "android.car.permission.CAR_MOCK_VEHICLE_HAL";
+ field public static final java.lang.String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
+ field public static final java.lang.String PERMISSION_VENDOR_EXTENSION = "android.car.permission.CAR_VENDOR_EXTENSION";
+ field public static final java.lang.String PROJECTION_SERVICE = "projection";
+ field public static final java.lang.String RADIO_SERVICE = "radio";
+ field public static final java.lang.String SENSOR_SERVICE = "sensor";
+ field public static final java.lang.String TEST_SERVICE = "car-service-test";
+ field public static final java.lang.String VENDOR_EXTENSION_SERVICE = "vendor_extension";
+ field public static final int VERSION = 1; // 0x1
+ }
+
+ public final class CarAppFocusManager {
+ method public void abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int);
+ method public void abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback);
+ method public void addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int) throws android.car.CarNotConnectedException;
+ method public boolean isOwningFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int) throws android.car.CarNotConnectedException;
+ method public void removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int);
+ method public void removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener);
+ method public int requestAppFocus(int, android.car.CarAppFocusManager.OnAppFocusOwnershipCallback) throws android.car.CarNotConnectedException, java.lang.SecurityException;
+ field public static final int APP_FOCUS_REQUEST_FAILED = 0; // 0x0
+ field public static final int APP_FOCUS_REQUEST_SUCCEEDED = 1; // 0x1
+ field public static final int APP_FOCUS_TYPE_NAVIGATION = 1; // 0x1
+ field public static final int APP_FOCUS_TYPE_VOICE_COMMAND = 2; // 0x2
+ }
+
+ public static abstract interface CarAppFocusManager.OnAppFocusChangedListener {
+ method public abstract void onAppFocusChanged(int, boolean);
+ }
+
+ public static abstract interface CarAppFocusManager.OnAppFocusOwnershipCallback {
+ method public abstract void onAppFocusOwnershipGranted(int);
+ method public abstract void onAppFocusOwnershipLost(int);
+ }
+
+ public final class CarInfoManager {
+ method public java.lang.String getManufacturer() throws android.car.CarNotConnectedException;
+ method public java.lang.String getModel() throws android.car.CarNotConnectedException;
+ method public java.lang.String getModelYear() throws android.car.CarNotConnectedException;
+ method public java.lang.String getVehicleId() throws android.car.CarNotConnectedException;
+ }
+
+ public class CarNotConnectedException extends java.lang.Exception {
+ ctor public CarNotConnectedException();
+ ctor public CarNotConnectedException(java.lang.String);
+ ctor public CarNotConnectedException(java.lang.String, java.lang.Throwable);
+ ctor public CarNotConnectedException(java.lang.Exception);
+ }
+
+ public final class CarProjectionManager {
+ method public void onCarDisconnected();
+ method public void registerProjectionRunner(android.content.Intent) throws android.car.CarNotConnectedException;
+ method public void regsiterProjectionListener(android.car.CarProjectionManager.CarProjectionListener, int) throws android.car.CarNotConnectedException;
+ method public void unregisterProjectionRunner(android.content.Intent);
+ method public void unregsiterProjectionListener();
+ field public static final int PROJECTION_LONG_PRESS_VOICE_SEARCH = 2; // 0x2
+ field public static final int PROJECTION_VOICE_SEARCH = 1; // 0x1
+ }
+
+ public static abstract interface CarProjectionManager.CarProjectionListener {
+ method public abstract void onVoiceAssistantRequest(boolean);
+ }
+
+ public final class VehicleAreaType {
+ field public static final int VEHICLE_AREA_TYPE_DOOR = 4; // 0x4
+ field public static final int VEHICLE_AREA_TYPE_MIRROR = 5; // 0x5
+ field public static final int VEHICLE_AREA_TYPE_NONE = 0; // 0x0
+ field public static final int VEHICLE_AREA_TYPE_SEAT = 3; // 0x3
+ field public static final int VEHICLE_AREA_TYPE_WINDOW = 2; // 0x2
+ field public static final int VEHICLE_AREA_TYPE_ZONE = 1; // 0x1
+ }
+
+ public final class VehicleDoor {
+ field public static final int DOOR_HOOD = 268435456; // 0x10000000
+ field public static final int DOOR_REAR = 536870912; // 0x20000000
+ field public static final int DOOR_ROW_1_LEFT = 1; // 0x1
+ field public static final int DOOR_ROW_1_RIGHT = 4; // 0x4
+ field public static final int DOOR_ROW_2_LEFT = 16; // 0x10
+ field public static final int DOOR_ROW_2_RIGHT = 64; // 0x40
+ field public static final int DOOR_ROW_3_LEFT = 256; // 0x100
+ field public static final int DOOR_ROW_3_RIGHT = 1024; // 0x400
+ }
+
+ public final class VehicleMirror {
+ field public static final int MIRROR_DRIVER_CENTER = 4; // 0x4
+ field public static final int MIRROR_DRIVER_LEFT = 1; // 0x1
+ field public static final int MIRROR_DRIVER_RIGHT = 2; // 0x2
+ }
+
+ public final class VehicleSeat {
+ field public static final int SEAT_ROW_1_CENTER = 2; // 0x2
+ field public static final int SEAT_ROW_1_LEFT = 1; // 0x1
+ field public static final int SEAT_ROW_1_RIGHT = 4; // 0x4
+ field public static final int SEAT_ROW_2_CENTER = 32; // 0x20
+ field public static final int SEAT_ROW_2_LEFT = 16; // 0x10
+ field public static final int SEAT_ROW_2_RIGHT = 64; // 0x40
+ field public static final int SEAT_ROW_3_CENTER = 512; // 0x200
+ field public static final int SEAT_ROW_3_LEFT = 256; // 0x100
+ field public static final int SEAT_ROW_3_RIGHT = 1024; // 0x400
+ }
+
+ public final class VehicleWindow {
+ field public static final int WINDOW_FRONT_WINDSHIELD = 1; // 0x1
+ field public static final int WINDOW_REAR_WINDSHIELD = 2; // 0x2
+ field public static final int WINDOW_ROOF_TOP = 4; // 0x4
+ field public static final int WINDOW_ROW_1_LEFT = 16; // 0x10
+ field public static final int WINDOW_ROW_1_RIGHT = 32; // 0x20
+ field public static final int WINDOW_ROW_2_LEFT = 256; // 0x100
+ field public static final int WINDOW_ROW_2_RIGHT = 512; // 0x200
+ field public static final int WINDOW_ROW_3_LEFT = 4096; // 0x1000
+ field public static final int WINDOW_ROW_3_RIGHT = 8192; // 0x2000
+ }
+
+ public final class VehicleZone {
+ field public static final int ZONE_ALL = -2147483648; // 0x80000000
+ field public static final int ZONE_ROW_1_ALL = 8; // 0x8
+ field public static final int ZONE_ROW_1_CENTER = 2; // 0x2
+ field public static final int ZONE_ROW_1_LEFT = 1; // 0x1
+ field public static final int ZONE_ROW_1_RIGHT = 4; // 0x4
+ field public static final int ZONE_ROW_2_ALL = 128; // 0x80
+ field public static final int ZONE_ROW_2_CENTER = 32; // 0x20
+ field public static final int ZONE_ROW_2_LEFT = 16; // 0x10
+ field public static final int ZONE_ROW_2_RIGHT = 64; // 0x40
+ field public static final int ZONE_ROW_3_ALL = 2048; // 0x800
+ field public static final int ZONE_ROW_3_CENTER = 512; // 0x200
+ field public static final int ZONE_ROW_3_LEFT = 256; // 0x100
+ field public static final int ZONE_ROW_3_RIGHT = 1024; // 0x400
+ field public static final int ZONE_ROW_4_ALL = 32768; // 0x8000
+ field public static final int ZONE_ROW_4_CENTER = 8192; // 0x2000
+ field public static final int ZONE_ROW_4_LEFT = 4096; // 0x1000
+ field public static final int ZONE_ROW_4_RIGHT = 16384; // 0x4000
+ }
+
+ public final class VehicleZoneUtil {
+ method public static int getFirstZone(int);
+ method public static int getNextZone(int, int) throws java.lang.IllegalArgumentException;
+ method public static int getNumberOfZones(int);
+ method public static int[] listAllZones(int);
+ method public static int zoneToIndex(int, int) throws java.lang.IllegalArgumentException;
+ }
+
+}
+
+package android.car.app.menu {
+
+ public abstract class CarMenuCallbacks {
+ ctor public CarMenuCallbacks();
+ method public abstract android.car.app.menu.RootMenu getRootMenu(android.os.Bundle);
+ method public abstract void onCarMenuClosed();
+ method public abstract void onCarMenuClosing();
+ method public abstract void onCarMenuOpened();
+ method public abstract void onCarMenuOpening();
+ method public abstract void onItemClicked(java.lang.String);
+ method public abstract boolean onItemLongClicked(java.lang.String);
+ method public abstract boolean onMenuClicked();
+ method public abstract void subscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
+ method public abstract void unsubscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
+ }
+
+ public class CarMenuConstants {
+ ctor public CarMenuConstants();
+ }
+
+ public static class CarMenuConstants.MenuItemConstants {
+ ctor public CarMenuConstants.MenuItemConstants();
+ field public static final int FLAG_BROWSABLE = 1; // 0x1
+ field public static final int FLAG_FIRSTITEM = 2; // 0x2
+ field public static final java.lang.String KEY_EMPTY_PLACEHOLDER = "android.car.app.menu.empty_placeholder";
+ field public static final java.lang.String KEY_FLAGS = "android.car.app.menu.flags";
+ field public static final java.lang.String KEY_ID = "android.car.app.menu.id";
+ field public static final java.lang.String KEY_LEFTICON = "android.car.app.menu.leftIcon";
+ field public static final java.lang.String KEY_REMOTEVIEWS = "android.car.app.menu.remoteViews";
+ field public static final java.lang.String KEY_RIGHTICON = "android.car.app.menu.rightIcon";
+ field public static final java.lang.String KEY_RIGHTTEXT = "android.car.app.menu.rightText";
+ field public static final java.lang.String KEY_TEXT = "android.car.app.menu.text";
+ field public static final java.lang.String KEY_TITLE = "android.car.app.menu.title";
+ field public static final java.lang.String KEY_WIDGET = "android.car.app.menu.widget";
+ field public static final java.lang.String KEY_WIDGET_STATE = "android.car.app.menu.widget_state";
+ field public static final int WIDGET_CHECKBOX = 1; // 0x1
+ field public static final int WIDGET_TEXT_VIEW = 2; // 0x2
+ }
+
+ public static abstract class CarMenuConstants.MenuItemConstants.MenuItemFlags implements java.lang.annotation.Annotation {
+ }
+
+ public static abstract class CarMenuConstants.MenuItemConstants.WidgetTypes implements java.lang.annotation.Annotation {
+ }
+
+ public abstract class CarUiEntry {
+ ctor public CarUiEntry(android.content.Context, android.content.Context);
+ method public abstract void closeDrawer();
+ method public abstract android.view.View getContentView();
+ method public abstract int getFragmentContainerId();
+ method public abstract java.lang.CharSequence getSearchBoxText();
+ method public abstract void hideMenuButton();
+ method public abstract void hideTitle();
+ method public abstract void onPause();
+ method public abstract void onRestoreInstanceState(android.os.Bundle);
+ method public abstract void onResume();
+ method public abstract void onSaveInstanceState(android.os.Bundle);
+ method public abstract void onStart();
+ method public abstract void onStop();
+ method public abstract void openDrawer();
+ method public abstract void restoreMenuDrawable();
+ method public abstract void setAutoLightDarkMode();
+ method public abstract void setBackground(android.graphics.Bitmap);
+ method public abstract void setCarMenuCallbacks(android.car.app.menu.CarMenuCallbacks);
+ method public abstract void setDarkMode();
+ method public abstract void setLightMode();
+ method public abstract void setMenuButtonBitmap(android.graphics.Bitmap);
+ method public abstract void setMenuButtonColor(int);
+ method public abstract void setScrimColor(int);
+ method public abstract void setSearchBoxColors(int, int, int, int);
+ method public abstract void setSearchBoxEditListener(android.car.app.menu.SearchBoxEditListener);
+ method public abstract void setSearchBoxEndView(android.view.View);
+ method public abstract void setTitle(java.lang.CharSequence);
+ method public abstract void showMenu(java.lang.String, java.lang.String);
+ method public abstract void showSearchBox(android.view.View.OnClickListener);
+ method public abstract void showTitle();
+ method public abstract void showToast(java.lang.String, long);
+ method public abstract android.widget.EditText startInput(java.lang.String, android.view.View.OnClickListener);
+ method public abstract void stopInput();
+ field protected final android.content.Context mAppContext;
+ field protected final android.content.Context mUiLibContext;
+ }
+
+ public class RootMenu {
+ ctor public RootMenu(java.lang.String);
+ ctor public RootMenu(java.lang.String, android.os.Bundle);
+ method public android.os.Bundle getBundle();
+ method public java.lang.String getId();
+ }
+
+ public abstract class SearchBoxEditListener {
+ ctor public SearchBoxEditListener();
+ method public abstract void onEdit(java.lang.String);
+ method public abstract void onSearch(java.lang.String);
+ }
+
+ public abstract class SubscriptionCallbacks {
+ ctor public SubscriptionCallbacks();
+ method public abstract void onChildChanged(java.lang.String, android.os.Bundle);
+ method public abstract void onChildrenLoaded(java.lang.String, java.util.List<android.os.Bundle>);
+ method public abstract void onError(java.lang.String);
+ }
+
+}
+
+package android.car.cluster.renderer {
+
+ public class DisplayConfiguration implements android.os.Parcelable {
+ ctor public DisplayConfiguration(android.os.Parcel);
+ ctor public DisplayConfiguration(android.graphics.Rect);
+ ctor public DisplayConfiguration(android.graphics.Rect, android.graphics.Rect);
+ method public int describeContents();
+ method public android.graphics.Rect getPrimaryRegion();
+ method public android.graphics.Rect getSecondaryRegion();
+ method public boolean hasSecondaryRegion();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.cluster.renderer.DisplayConfiguration> CREATOR;
+ }
+
+ public abstract class InstrumentClusterRenderer {
+ ctor public InstrumentClusterRenderer();
+ method protected abstract android.car.cluster.renderer.NavigationRenderer createNavigationRenderer();
+ method public synchronized android.car.cluster.renderer.NavigationRenderer getNavigationRenderer();
+ method public final synchronized void initialize();
+ method public abstract void onCreate(android.content.Context);
+ method public abstract void onStart();
+ method public abstract void onStop();
+ }
+
+ public abstract class InstrumentClusterRenderingService extends android.app.Service {
+ ctor public InstrumentClusterRenderingService();
+ method protected abstract android.car.cluster.renderer.NavigationRenderer getNavigationRenderer();
+ method public android.os.IBinder onBind(android.content.Intent);
+ method protected void onKeyEvent(android.view.KeyEvent);
+ }
+
+ public abstract class NavigationRenderer {
+ ctor public NavigationRenderer();
+ method public abstract android.car.navigation.CarNavigationInstrumentCluster getNavigationProperties();
+ method public abstract void onNextTurnChanged(int, java.lang.CharSequence, int, int, android.graphics.Bitmap, int);
+ method public abstract void onNextTurnDistanceChanged(int, int, int, int);
+ method public abstract void onStartNavigation();
+ method public abstract void onStopNavigation();
+ }
+
+}
+
+package android.car.content.pm {
+
+ public class AppBlockingPackageInfo implements android.os.Parcelable {
+ ctor public AppBlockingPackageInfo(java.lang.String, int, int, int, android.content.pm.Signature[], java.lang.String[]);
+ ctor public AppBlockingPackageInfo(android.os.Parcel);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.content.pm.AppBlockingPackageInfo> CREATOR;
+ field public static final int FLAG_SYSTEM_APP = 1; // 0x1
+ field public static final int FLAG_WHOLE_ACTIVITY = 2; // 0x2
+ field public final java.lang.String[] activities;
+ field public final int flags;
+ field public final int maxRevisionCode;
+ field public final int minRevisionCode;
+ field public final java.lang.String packageName;
+ field public final android.content.pm.Signature[] signatures;
+ }
+
+ public class CarAppBlockingPolicy implements android.os.Parcelable {
+ ctor public CarAppBlockingPolicy(android.car.content.pm.AppBlockingPackageInfo[], android.car.content.pm.AppBlockingPackageInfo[]);
+ ctor public CarAppBlockingPolicy(android.os.Parcel);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.content.pm.CarAppBlockingPolicy> CREATOR;
+ field public final android.car.content.pm.AppBlockingPackageInfo[] blacklists;
+ field public final android.car.content.pm.AppBlockingPackageInfo[] whitelists;
+ }
+
+ public abstract class CarAppBlockingPolicyService extends android.app.Service {
+ ctor public CarAppBlockingPolicyService();
+ method protected abstract android.car.content.pm.CarAppBlockingPolicy getAppBlockingPolicy();
+ method public android.os.IBinder onBind(android.content.Intent);
+ field public static final java.lang.String SERVICE_INTERFACE = "android.car.content.pm.CarAppBlockingPolicyService";
+ }
+
+ public final class CarPackageManager {
+ method public boolean isActivityAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
+ method public boolean isActivityBackedBySafeActivity(android.content.ComponentName) throws android.car.CarNotConnectedException;
+ method public boolean isServiceAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
+ method public void setAppBlockingPolicy(java.lang.String, android.car.content.pm.CarAppBlockingPolicy, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException, java.lang.SecurityException;
+ field public static final int FLAG_SET_POLICY_ADD = 2; // 0x2
+ field public static final int FLAG_SET_POLICY_REMOVE = 4; // 0x4
+ field public static final int FLAG_SET_POLICY_WAIT_FOR_CHANGE = 1; // 0x1
+ }
+
+}
+
+package android.car.hardware {
+
+ public class CarPropertyConfig<T> implements android.os.Parcelable {
+ method public int describeContents();
+ method public int getAreaCount();
+ method public int[] getAreaIds();
+ method public int getAreaType();
+ method public int getFirstAndOnlyAreaId();
+ method public T getMaxValue(int);
+ method public T getMaxValue();
+ method public T getMinValue(int);
+ method public T getMinValue();
+ method public int getPropertyId();
+ method public java.lang.Class<T> getPropertyType();
+ method public boolean hasArea(int);
+ method public boolean isGlobalProperty();
+ method public static <T> android.car.hardware.CarPropertyConfig.Builder<T> newBuilder(java.lang.Class<T>, int, int, int);
+ method public static <T> android.car.hardware.CarPropertyConfig.Builder<T> newBuilder(java.lang.Class<T>, int, int);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.hardware.CarPropertyConfig> CREATOR;
+ }
+
+ public static class CarPropertyConfig.AreaConfig<T> implements android.os.Parcelable {
+ method public int describeContents();
+ method public T getMaxValue();
+ method public T getMinValue();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.hardware.CarPropertyConfig.AreaConfig<java.lang.Object>> CREATOR;
+ }
+
+ public static class CarPropertyConfig.Builder<T> {
+ method public android.car.hardware.CarPropertyConfig.Builder<T> addArea(int);
+ method public android.car.hardware.CarPropertyConfig.Builder<T> addAreaConfig(int, T, T);
+ method public android.car.hardware.CarPropertyConfig.Builder<T> addAreas(int[]);
+ method public android.car.hardware.CarPropertyConfig<T> build();
+ }
+
+ public class CarPropertyValue<T> implements android.os.Parcelable {
+ ctor public CarPropertyValue(int, T);
+ ctor public CarPropertyValue(int, int, T);
+ ctor public CarPropertyValue(android.os.Parcel);
+ method public int describeContents();
+ method public int getAreaId();
+ method public int getPropertyId();
+ method public T getValue();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.hardware.CarPropertyValue> CREATOR;
+ }
+
+ public class CarSensorEvent implements android.os.Parcelable {
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.hardware.CarSensorEvent> CREATOR;
+ field public static final int DRIVE_STATUS_FULLY_RESTRICTED = 31; // 0x1f
+ field public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 16; // 0x10
+ field public static final int DRIVE_STATUS_NO_CONFIG = 8; // 0x8
+ field public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 2; // 0x2
+ field public static final int DRIVE_STATUS_NO_VIDEO = 1; // 0x1
+ field public static final int DRIVE_STATUS_NO_VOICE_INPUT = 4; // 0x4
+ field public static final int DRIVE_STATUS_UNRESTRICTED = 0; // 0x0
+ field public static final int GEAR_DRIVE = 100; // 0x64
+ field public static final int GEAR_EIGHTH = 8; // 0x8
+ field public static final int GEAR_FIFTH = 5; // 0x5
+ field public static final int GEAR_FIRST = 1; // 0x1
+ field public static final int GEAR_FOURTH = 4; // 0x4
+ field public static final int GEAR_NEUTRAL = 0; // 0x0
+ field public static final int GEAR_NINTH = 9; // 0x9
+ field public static final int GEAR_PARK = 101; // 0x65
+ field public static final int GEAR_REVERSE = 102; // 0x66
+ field public static final int GEAR_SECOND = 2; // 0x2
+ field public static final int GEAR_SEVENTH = 7; // 0x7
+ field public static final int GEAR_SIXTH = 6; // 0x6
+ field public static final int GEAR_TENTH = 10; // 0xa
+ field public static final int GEAR_THIRD = 3; // 0x3
+ field public static final int INDEX_ENVIRONMENT_PRESSURE = 1; // 0x1
+ field public static final int INDEX_ENVIRONMENT_TEMPERATURE = 0; // 0x0
+ field public static final int INDEX_FUEL_LEVEL_IN_DISTANCE = 1; // 0x1
+ field public static final int INDEX_FUEL_LEVEL_IN_PERCENTILE = 0; // 0x0
+ field public static final int INDEX_FUEL_LOW_WARNING = 0; // 0x0
+ field public final float[] floatValues;
+ field public final int[] intValues;
+ field public int sensorType;
+ field public long timestamp;
+ }
+
+ public static class CarSensorEvent.EnvironmentData {
+ field public float pressure;
+ field public float temperature;
+ field public long timestamp;
+ }
+
+ public final class CarSensorManager {
+ method public android.car.hardware.CarSensorEvent getLatestSensorEvent(int) throws android.car.CarNotConnectedException;
+ method public int[] getSupportedSensors() throws android.car.CarNotConnectedException;
+ method public boolean isSensorSupported(int) throws android.car.CarNotConnectedException;
+ method public static boolean isSensorSupported(int[], int);
+ method public boolean registerListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
+ method public void unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener);
+ method public void unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int);
+ field public static final int SENSOR_RATE_FAST = 1; // 0x1
+ field public static final int SENSOR_RATE_FASTEST = 0; // 0x0
+ field public static final int SENSOR_RATE_NORMAL = 3; // 0x3
+ field public static final int SENSOR_RATE_UI = 2; // 0x2
+ field public static final int SENSOR_TYPE_CAR_SPEED = 2; // 0x2
+ field public static final int SENSOR_TYPE_DRIVING_STATUS = 11; // 0xb
+ field public static final int SENSOR_TYPE_ENVIRONMENT = 12; // 0xc
+ field public static final int SENSOR_TYPE_FUEL_LEVEL = 5; // 0x5
+ field public static final int SENSOR_TYPE_GEAR = 7; // 0x7
+ field public static final int SENSOR_TYPE_NIGHT = 9; // 0x9
+ field public static final int SENSOR_TYPE_ODOMETER = 4; // 0x4
+ field public static final int SENSOR_TYPE_PARKING_BRAKE = 6; // 0x6
+ field public static final int SENSOR_TYPE_RPM = 3; // 0x3
+ field public static final int SENSOR_TYPE_VENDOR_EXTENSION_END = 1879048191; // 0x6fffffff
+ }
+
+ public static abstract interface CarSensorManager.OnSensorChangedListener {
+ method public abstract void onSensorChanged(android.car.hardware.CarSensorEvent);
+ }
+
+ public final class CarVendorExtensionManager {
+ method public <E> E getGlobalProperty(java.lang.Class<E>, int) throws android.car.CarNotConnectedException;
+ method public java.util.List<android.car.hardware.CarPropertyConfig> getProperties() throws android.car.CarNotConnectedException;
+ method public <E> E getProperty(java.lang.Class<E>, int, int) throws android.car.CarNotConnectedException;
+ method public void registerCallback(android.car.hardware.CarVendorExtensionManager.CarVendorExtensionCallback) throws android.car.CarNotConnectedException;
+ method public <E> void setGlobalProperty(java.lang.Class<E>, int, E) throws android.car.CarNotConnectedException;
+ method public <E> void setProperty(java.lang.Class<E>, int, int, E) throws android.car.CarNotConnectedException;
+ method public void unregisterCallback(android.car.hardware.CarVendorExtensionManager.CarVendorExtensionCallback);
+ }
+
+ public static abstract interface CarVendorExtensionManager.CarVendorExtensionCallback {
+ method public abstract void onChangeEvent(android.car.hardware.CarPropertyValue);
+ method public abstract void onErrorEvent(int, int);
+ }
+
+}
+
+package android.car.hardware.cabin {
+
+ public final class CarCabinManager {
+ method public boolean getBooleanProperty(int, int) throws android.car.CarNotConnectedException;
+ method public float getFloatProperty(int, int) throws android.car.CarNotConnectedException;
+ method public int getIntProperty(int, int) throws android.car.CarNotConnectedException;
+ method public java.util.List<android.car.hardware.CarPropertyConfig> getPropertyList() throws android.car.CarNotConnectedException;
+ method public static boolean isZonedProperty(int);
+ method public synchronized void registerCallback(android.car.hardware.cabin.CarCabinManager.CarCabinEventCallback) throws android.car.CarNotConnectedException;
+ method public void setBooleanProperty(int, int, boolean) throws android.car.CarNotConnectedException;
+ method public void setFloatProperty(int, int, float) throws android.car.CarNotConnectedException;
+ method public void setIntProperty(int, int, int) throws android.car.CarNotConnectedException;
+ method public synchronized void unregisterCallback(android.car.hardware.cabin.CarCabinManager.CarCabinEventCallback);
+ field public static final int ID_DOOR_LOCK = 3; // 0x3
+ field public static final int ID_DOOR_MOVE = 2; // 0x2
+ field public static final int ID_DOOR_POS = 1; // 0x1
+ field public static final int ID_MIRROR_FOLD = 4102; // 0x1006
+ field public static final int ID_MIRROR_LOCK = 4101; // 0x1005
+ field public static final int ID_MIRROR_Y_MOVE = 4100; // 0x1004
+ field public static final int ID_MIRROR_Y_POS = 4099; // 0x1003
+ field public static final int ID_MIRROR_Z_MOVE = 4098; // 0x1002
+ field public static final int ID_MIRROR_Z_POS = 4097; // 0x1001
+ field public static final int ID_SEAT_BACKREST_ANGLE_1_MOVE = 8201; // 0x2009
+ field public static final int ID_SEAT_BACKREST_ANGLE_1_POS = 8200; // 0x2008
+ field public static final int ID_SEAT_BACKREST_ANGLE_2_MOVE = 8203; // 0x200b
+ field public static final int ID_SEAT_BACKREST_ANGLE_2_POS = 8202; // 0x200a
+ field public static final int ID_SEAT_BELT_BUCKLED = 8195; // 0x2003
+ field public static final int ID_SEAT_BELT_HEIGHT_MOVE = 8197; // 0x2005
+ field public static final int ID_SEAT_BELT_HEIGHT_POS = 8196; // 0x2004
+ field public static final int ID_SEAT_DEPTH_MOVE = 8207; // 0x200f
+ field public static final int ID_SEAT_DEPTH_POS = 8206; // 0x200e
+ field public static final int ID_SEAT_FORE_AFT_MOVE = 8199; // 0x2007
+ field public static final int ID_SEAT_FORE_AFT_POS = 8198; // 0x2006
+ field public static final int ID_SEAT_HEADREST_ANGLE_MOVE = 8217; // 0x2019
+ field public static final int ID_SEAT_HEADREST_ANGLE_POS = 8216; // 0x2018
+ field public static final int ID_SEAT_HEADREST_FORE_AFT_MOVE = 8219; // 0x201b
+ field public static final int ID_SEAT_HEADREST_FORE_AFT_POS = 8218; // 0x201a
+ field public static final int ID_SEAT_HEADREST_HEIGHT_MOVE = 8215; // 0x2017
+ field public static final int ID_SEAT_HEADREST_HEIGHT_POS = 8214; // 0x2016
+ field public static final int ID_SEAT_HEIGHT_MOVE = 8205; // 0x200d
+ field public static final int ID_SEAT_HEIGHT_POS = 8204; // 0x200c
+ field public static final int ID_SEAT_LUMBAR_FORE_AFT_MOVE = 8211; // 0x2013
+ field public static final int ID_SEAT_LUMBAR_FORE_AFT_POS = 8210; // 0x2012
+ field public static final int ID_SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 8213; // 0x2015
+ field public static final int ID_SEAT_LUMBAR_SIDE_SUPPORT_POS = 8212; // 0x2014
+ field public static final int ID_SEAT_MEMORY_SELECT = 8193; // 0x2001
+ field public static final int ID_SEAT_MEMORY_SET = 8194; // 0x2002
+ field public static final int ID_SEAT_TILT_MOVE = 8209; // 0x2011
+ field public static final int ID_SEAT_TILT_POS = 8208; // 0x2010
+ field public static final int ID_WINDOW_LOCK = 12293; // 0x3005
+ field public static final int ID_WINDOW_MOVE = 12290; // 0x3002
+ field public static final int ID_WINDOW_POS = 12289; // 0x3001
+ field public static final int ID_WINDOW_VENT_MOVE = 12292; // 0x3004
+ field public static final int ID_WINDOW_VENT_POS = 12291; // 0x3003
+ }
+
+ public static abstract interface CarCabinManager.CarCabinEventCallback {
+ method public abstract void onChangeEvent(android.car.hardware.CarPropertyValue);
+ method public abstract void onErrorEvent(int, int);
+ }
+
+}
+
+package android.car.hardware.camera {
+
+ public class CarCamera {
+ ctor public CarCamera(android.car.hardware.camera.ICarCamera, int);
+ method public android.graphics.Rect getCameraCrop() throws android.car.CarNotConnectedException;
+ method public android.graphics.Rect getCameraPosition() throws android.car.CarNotConnectedException;
+ method public android.car.hardware.camera.CarCameraState getCameraState() throws android.car.CarNotConnectedException;
+ method public int getCapabilities() throws android.car.CarNotConnectedException;
+ method public void setCameraCrop(android.graphics.Rect) throws android.car.CarNotConnectedException;
+ method public void setCameraPosition(android.graphics.Rect) throws android.car.CarNotConnectedException;
+ method public void setCameraState(android.car.hardware.camera.CarCameraState) throws android.car.CarNotConnectedException;
+ field public static final java.lang.String TAG;
+ field public final int mCameraType;
+ }
+
+ public final class CarCameraManager {
+ method public void closeCamera(android.car.hardware.camera.CarCamera);
+ method public int getCameraCapabilities(int) throws android.car.CarNotConnectedException;
+ method public int[] getCameraList() throws android.car.CarNotConnectedException;
+ method public android.car.hardware.camera.CarCamera openCamera(int) throws android.car.CarNotConnectedException;
+ field public static final int ANDROID_OVERLAY_SUPPORT_FLAG = 1; // 0x1
+ field public static final int CAMERA_CROP_SUPPORT_FLAG = 2; // 0x2
+ field public static final int CAMERA_POSITIONING_SUPPORT_FLAG = 4; // 0x4
+ field public static final int CAR_CAMERA_TYPE_NONE = 0; // 0x0
+ field public static final int CAR_CAMERA_TYPE_RVC = 1; // 0x1
+ }
+
+ public class CarCameraState implements android.os.Parcelable {
+ ctor public CarCameraState(android.car.hardware.camera.CarCameraState);
+ ctor public CarCameraState(boolean, boolean);
+ method public int describeContents();
+ method public boolean getCameraIsOn();
+ method public boolean getOverlayIsOn();
+ method public void setCameraIsOn(boolean);
+ method public void setOverlayIsOn(boolean);
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.hardware.camera.CarCameraState> CREATOR;
+ }
+
+ public abstract interface ICarCamera implements android.os.IInterface {
+ method public abstract android.graphics.Rect getCameraCrop(int) throws android.os.RemoteException;
+ method public abstract int[] getCameraList() throws android.os.RemoteException;
+ method public abstract android.graphics.Rect getCameraPosition(int) throws android.os.RemoteException;
+ method public abstract android.car.hardware.camera.CarCameraState getCameraState(int) throws android.os.RemoteException;
+ method public abstract int getCapabilities(int) throws android.os.RemoteException;
+ method public abstract void setCameraCrop(int, android.graphics.Rect) throws android.os.RemoteException;
+ method public abstract void setCameraPosition(int, android.graphics.Rect) throws android.os.RemoteException;
+ method public abstract void setCameraState(int, android.car.hardware.camera.CarCameraState) throws android.os.RemoteException;
+ }
+
+}
+
+package android.car.hardware.hvac {
+
+ public final class CarHvacManager {
+ method public boolean getBooleanProperty(int, int) throws android.car.CarNotConnectedException;
+ method public float getFloatProperty(int, int) throws android.car.CarNotConnectedException;
+ method public int getIntProperty(int, int) throws android.car.CarNotConnectedException;
+ method public java.util.List<android.car.hardware.CarPropertyConfig> getPropertyList() throws android.car.CarNotConnectedException;
+ method public static boolean isZonedProperty(int);
+ method public synchronized void registerCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback) throws android.car.CarNotConnectedException;
+ method public void setBooleanProperty(int, int, boolean) throws android.car.CarNotConnectedException;
+ method public void setFloatProperty(int, int, float) throws android.car.CarNotConnectedException;
+ method public void setIntProperty(int, int, int) throws android.car.CarNotConnectedException;
+ method public synchronized void unregisterCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback);
+ field public static final int ID_MIRROR_DEFROSTER_ON = 1; // 0x1
+ field public static final int ID_OUTSIDE_AIR_TEMP = 3; // 0x3
+ field public static final int ID_STEERING_WHEEL_TEMP = 2; // 0x2
+ field public static final int ID_TEMPERATURE_UNITS = 4; // 0x4
+ field public static final int ID_WINDOW_DEFROSTER_ON = 20481; // 0x5001
+ field public static final int ID_ZONED_AC_ON = 16393; // 0x4009
+ field public static final int ID_ZONED_AIR_RECIRCULATION_ON = 16395; // 0x400b
+ field public static final int ID_ZONED_AUTOMATIC_MODE_ON = 16394; // 0x400a
+ field public static final int ID_ZONED_DUAL_ZONE_ON = 16397; // 0x400d
+ field public static final int ID_ZONED_FAN_POSITION = 16391; // 0x4007
+ field public static final int ID_ZONED_FAN_POSITION_AVAILABLE = 16390; // 0x4006
+ field public static final int ID_ZONED_FAN_SPEED_RPM = 16389; // 0x4005
+ field public static final int ID_ZONED_FAN_SPEED_SETPOINT = 16388; // 0x4004
+ field public static final int ID_ZONED_HVAC_POWER_ON = 16387; // 0x4003
+ field public static final int ID_ZONED_MAX_AC_ON = 16396; // 0x400c
+ field public static final int ID_ZONED_MAX_DEFROST_ON = 16398; // 0x400e
+ field public static final int ID_ZONED_SEAT_TEMP = 16392; // 0x4008
+ field public static final int ID_ZONED_TEMP_ACTUAL = 16386; // 0x4002
+ field public static final int ID_ZONED_TEMP_SETPOINT = 16385; // 0x4001
+ }
+
+ public static abstract interface CarHvacManager.CarHvacEventCallback {
+ method public abstract void onChangeEvent(android.car.hardware.CarPropertyValue);
+ method public abstract void onErrorEvent(int, int);
+ }
+
+}
+
+package android.car.hardware.radio {
+
+ public class CarRadioEvent implements android.os.Parcelable {
+ ctor public CarRadioEvent(int, android.car.hardware.radio.CarRadioPreset);
+ method public int describeContents();
+ method public int getEventType();
+ method public android.car.hardware.radio.CarRadioPreset getPreset();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.hardware.radio.CarRadioEvent> CREATOR;
+ field public static final int RADIO_PRESET = 0; // 0x0
+ }
+
+ public final class CarRadioManager {
+ method public android.car.hardware.radio.CarRadioPreset getPreset(int) throws android.car.CarNotConnectedException;
+ method public int getPresetCount() throws android.car.CarNotConnectedException;
+ method public synchronized void registerListener(android.car.hardware.radio.CarRadioManager.CarRadioEventListener) throws android.car.CarNotConnectedException;
+ method public boolean setPreset(android.car.hardware.radio.CarRadioPreset) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
+ method public synchronized void unregisterListener();
+ }
+
+ public static abstract interface CarRadioManager.CarRadioEventListener {
+ method public abstract void onEvent(android.car.hardware.radio.CarRadioEvent);
+ }
+
+ public class CarRadioPreset implements android.os.Parcelable {
+ ctor public CarRadioPreset(int, int, int, int);
+ method public int describeContents();
+ method public int getBand();
+ method public int getChannel();
+ method public int getPresetNumber();
+ method public int getSubChannel();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator<android.car.hardware.radio.CarRadioPreset> CREATOR;
+ }
+
+}
+
+package android.car.input {
+
+ public abstract class CarInputHandlingService extends android.app.Service {
+ ctor protected CarInputHandlingService(android.car.input.CarInputHandlingService.InputFilter[]);
+ method public android.os.IBinder onBind(android.content.Intent);
+ method protected abstract void onKeyEvent(android.view.KeyEvent, int);
+ field public static final int INPUT_CALLBACK_BINDER_CODE = 1; // 0x1
+ field public static final java.lang.String INPUT_CALLBACK_BINDER_KEY = "callback_binder";
+ }
+
+ public static class CarInputHandlingService.InputFilter implements android.os.Parcelable {
+ ctor public CarInputHandlingService.InputFilter(int, int);
+ method public int describeContents();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final android.os.Parcelable.Creator CREATOR;
+ field public final int mKeyCode;
+ field public final int mTargetDisplay;
+ }
+
+}
+
+package android.car.media {
+
+ public final class CarAudioManager {
+ method public void abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
+ method public android.media.AudioAttributes getAudioAttributesForCarUsage(int) throws android.car.CarNotConnectedException;
+ method public int getStreamMaxVolume(int) throws android.car.CarNotConnectedException;
+ method public int getStreamMinVolume(int) throws android.car.CarNotConnectedException;
+ method public int getStreamVolume(int) throws android.car.CarNotConnectedException;
+ method public boolean isMediaMuted() throws android.car.CarNotConnectedException;
+ method public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
+ method public boolean setMediaMute(boolean) throws android.car.CarNotConnectedException;
+ method public void setStreamVolume(int, int, int) throws android.car.CarNotConnectedException;
+ method public void setVolumeController(android.media.IVolumeController) throws android.car.CarNotConnectedException;
+ field public static final int CAR_AUDIO_USAGE_ALARM = 6; // 0x6
+ field public static final int CAR_AUDIO_USAGE_DEFAULT = 0; // 0x0
+ field public static final int CAR_AUDIO_USAGE_MUSIC = 1; // 0x1
+ field public static final int CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE = 3; // 0x3
+ field public static final int CAR_AUDIO_USAGE_NOTIFICATION = 7; // 0x7
+ field public static final int CAR_AUDIO_USAGE_RADIO = 2; // 0x2
+ field public static final int CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT = 9; // 0x9
+ field public static final int CAR_AUDIO_USAGE_SYSTEM_SOUND = 8; // 0x8
+ field public static final int CAR_AUDIO_USAGE_VOICE_CALL = 4; // 0x4
+ field public static final int CAR_AUDIO_USAGE_VOICE_COMMAND = 5; // 0x5
+ }
+
+}
+
+package android.car.navigation {
+
+ public class CarNavigationInstrumentCluster implements android.os.Parcelable {
+ ctor public CarNavigationInstrumentCluster(android.car.navigation.CarNavigationInstrumentCluster);
+ method public static android.car.navigation.CarNavigationInstrumentCluster createCluster(int);
+ method public static android.car.navigation.CarNavigationInstrumentCluster createCustomImageCluster(int, int, int, int);
+ method public int describeContents();
+ method public int getImageColorDepthBits();
+ method public int getImageHeight();
+ method public int getImageWidth();
+ method public int getMinIntervalMillis();
+ method public int getType();
+ method public boolean supportsCustomImages();
+ method public void writeToParcel(android.os.Parcel, int);
+ field public static final int CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED = 1; // 0x1
+ field public static final int CLUSTER_TYPE_IMAGE_CODES_ONLY = 2; // 0x2
+ field public static final android.os.Parcelable.Creator<android.car.navigation.CarNavigationInstrumentCluster> CREATOR;
+ }
+
+}
+
+package android.car.settings {
+
+ public class CarSettings {
+ ctor public CarSettings();
+ }
+
+ public static final class CarSettings.Global {
+ ctor public CarSettings.Global();
+ field public static final java.lang.String KEY_GARAGE_MODE_ENABLED = "android.car.GARAGE_MODE_ENABLED";
+ field public static final java.lang.String KEY_GARAGE_MODE_MAINTENANCE_WINDOW = "android.car.GARAGE_MODE_MAINTENANCE_WINDOW";
+ field public static final java.lang.String KEY_GARAGE_MODE_WAKE_UP_TIME = "android.car.GARAGE_MODE_WAKE_UP_TIME";
+ }
+
+}
+
+package android.car.test {
+
+ public class CarTestManagerBinderWrapper {
+ ctor public CarTestManagerBinderWrapper(android.os.IBinder);
+ method public void onCarDisconnected();
+ field public final android.os.IBinder binder;
+ }
+
+}
+
diff --git a/car-lib/api/system-current.txt b/car-lib/api/system-current.txt
index 32460c16ab..e8540ad116 100644
--- a/car-lib/api/system-current.txt
+++ b/car-lib/api/system-current.txt
@@ -38,7 +38,7 @@ package android.car {
field public static final java.lang.String SENSOR_SERVICE = "sensor";
field public static final java.lang.String TEST_SERVICE = "car-service-test";
field public static final java.lang.String VENDOR_EXTENSION_SERVICE = "vendor_extension";
- field public static final int VERSION = 1; // 0x1
+ field public static final int VERSION = 2; // 0x2
field public static final java.lang.String VMS_SUBSCRIBER_SERVICE = "vehicle_map_subscriber_service";
}
diff --git a/car-lib/src/android/car/Car.java b/car-lib/src/android/car/Car.java
index ec554f1b17..5ac5b031e9 100644
--- a/car-lib/src/android/car/Car.java
+++ b/car-lib/src/android/car/Car.java
@@ -59,9 +59,11 @@ import java.util.HashMap;
public final class Car {
/**
- * Represent the version of Car API.
+ * Represent the version of Car API. This is only updated when there is API change.
+ * 1 : N
+ * 2 : O
*/
- public static final int VERSION = 1;
+ public static final int VERSION = 2;
/** Service name for {@link CarSensorManager}, to be used in {@link #getCarManager(String)}. */
public static final String SENSOR_SERVICE = "sensor";