Home | History | Annotate | Download | only in api
      1 package android.car {
      2 
      3   public final class Car {
      4     method public void connect() throws java.lang.IllegalStateException;
      5     method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection, android.os.Handler);
      6     method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection);
      7     method public void disconnect();
      8     method public int getCarConnectionType();
      9     method public java.lang.Object getCarManager(java.lang.String) throws android.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 CABIN_SERVICE = "cabin";
     15     field public static final java.lang.String CAR_EXTRA_MEDIA_PACKAGE = "android.car.intent.extra.MEDIA_PACKAGE";
     16     field public static final java.lang.String CAR_INTENT_ACTION_MEDIA_TEMPLATE = "android.car.intent.action.MEDIA_TEMPLATE";
     17     field public static final int CONNECTION_TYPE_EMBEDDED = 5; // 0x5
     18     field public static final java.lang.String DIAGNOSTIC_SERVICE = "diagnostic";
     19     field public static final java.lang.String HVAC_SERVICE = "hvac";
     20     field public static final java.lang.String INFO_SERVICE = "info";
     21     field public static final java.lang.String PACKAGE_SERVICE = "package";
     22     field public static final java.lang.String PERMISSION_CAR_CABIN = "android.car.permission.CAR_CABIN";
     23     field public static final java.lang.String PERMISSION_CAR_CONTROL_AUDIO_VOLUME = "android.car.permission.CAR_CONTROL_AUDIO_VOLUME";
     24     field public static final java.lang.String PERMISSION_CAR_DIAGNOSTIC_CLEAR = "android.car.permission.DIAGNOSTIC_CLEAR";
     25     field public static final java.lang.String PERMISSION_CAR_DIAGNOSTIC_READ_ALL = "android.car.permission.DIAGNOSTIC_READ_ALL";
     26     field public static final java.lang.String PERMISSION_CAR_HVAC = "android.car.permission.CAR_HVAC";
     27     field public static final java.lang.String PERMISSION_CAR_PROJECTION = "android.car.permission.CAR_PROJECTION";
     28     field public static final java.lang.String PERMISSION_CAR_RADIO = "android.car.permission.CAR_RADIO";
     29     field public static final java.lang.String PERMISSION_CAR_TEST_SERVICE = "android.car.permission.CAR_TEST_SERVICE";
     30     field public static final java.lang.String PERMISSION_CONTROL_APP_BLOCKING = "android.car.permission.CONTROL_APP_BLOCKING";
     31     field public static final java.lang.String PERMISSION_FUEL = "android.car.permission.CAR_FUEL";
     32     field public static final java.lang.String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
     33     field public static final deprecated java.lang.String PERMISSION_MOCK_VEHICLE_HAL = "android.car.permission.CAR_MOCK_VEHICLE_HAL";
     34     field public static final java.lang.String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
     35     field public static final java.lang.String PERMISSION_VEHICLE_DYNAMICS_STATE = "android.car.permission.VEHICLE_DYNAMICS_STATE";
     36     field public static final java.lang.String PERMISSION_VENDOR_EXTENSION = "android.car.permission.CAR_VENDOR_EXTENSION";
     37     field public static final java.lang.String PROJECTION_SERVICE = "projection";
     38     field public static final java.lang.String RADIO_SERVICE = "radio";
     39     field public static final java.lang.String SENSOR_SERVICE = "sensor";
     40     field public static final java.lang.String TEST_SERVICE = "car-service-test";
     41     field public static final java.lang.String VENDOR_EXTENSION_SERVICE = "vendor_extension";
     42     field public static final int VERSION = 3; // 0x3
     43   }
     44 
     45   public final class CarAppFocusManager {
     46     method public void abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int);
     47     method public void abandonAppFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback);
     48     method public void addFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int) throws android.car.CarNotConnectedException;
     49     method public boolean isOwningFocus(android.car.CarAppFocusManager.OnAppFocusOwnershipCallback, int) throws android.car.CarNotConnectedException;
     50     method public void removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener, int);
     51     method public void removeFocusListener(android.car.CarAppFocusManager.OnAppFocusChangedListener);
     52     method public int requestAppFocus(int, android.car.CarAppFocusManager.OnAppFocusOwnershipCallback) throws android.car.CarNotConnectedException, java.lang.SecurityException;
     53     field public static final int APP_FOCUS_REQUEST_FAILED = 0; // 0x0
     54     field public static final int APP_FOCUS_REQUEST_SUCCEEDED = 1; // 0x1
     55     field public static final int APP_FOCUS_TYPE_NAVIGATION = 1; // 0x1
     56     field public static final int APP_FOCUS_TYPE_VOICE_COMMAND = 2; // 0x2
     57   }
     58 
     59   public static abstract interface CarAppFocusManager.OnAppFocusChangedListener {
     60     method public abstract void onAppFocusChanged(int, boolean);
     61   }
     62 
     63   public static abstract interface CarAppFocusManager.OnAppFocusOwnershipCallback {
     64     method public abstract void onAppFocusOwnershipGranted(int);
     65     method public abstract void onAppFocusOwnershipLost(int);
     66   }
     67 
     68   public final class CarInfoManager {
     69     method public java.lang.String getManufacturer() throws android.car.CarNotConnectedException;
     70     method public java.lang.String getModel() throws android.car.CarNotConnectedException;
     71     method public java.lang.String getModelYear() throws android.car.CarNotConnectedException;
     72     method public java.lang.String getVehicleId() throws android.car.CarNotConnectedException;
     73   }
     74 
     75   public class CarNotConnectedException extends java.lang.Exception {
     76     ctor public CarNotConnectedException();
     77     ctor public CarNotConnectedException(java.lang.String);
     78     ctor public CarNotConnectedException(java.lang.String, java.lang.Throwable);
     79     ctor public CarNotConnectedException(java.lang.Exception);
     80   }
     81 
     82   public final class CarProjectionManager {
     83     method public void onCarDisconnected();
     84     method public void registerProjectionListener(android.car.CarProjectionManager.CarProjectionListener, int) throws android.car.CarNotConnectedException;
     85     method public void registerProjectionRunner(android.content.Intent) throws android.car.CarNotConnectedException;
     86     method public void unregisterProjectionListener();
     87     method public void unregisterProjectionRunner(android.content.Intent);
     88     field public static final int PROJECTION_LONG_PRESS_VOICE_SEARCH = 2; // 0x2
     89     field public static final int PROJECTION_VOICE_SEARCH = 1; // 0x1
     90   }
     91 
     92   public static abstract interface CarProjectionManager.CarProjectionListener {
     93     method public abstract void onVoiceAssistantRequest(boolean);
     94   }
     95 
     96   public final class VehicleAreaType {
     97     field public static final int VEHICLE_AREA_TYPE_DOOR = 4; // 0x4
     98     field public static final int VEHICLE_AREA_TYPE_MIRROR = 5; // 0x5
     99     field public static final int VEHICLE_AREA_TYPE_NONE = 0; // 0x0
    100     field public static final int VEHICLE_AREA_TYPE_SEAT = 3; // 0x3
    101     field public static final int VEHICLE_AREA_TYPE_WINDOW = 2; // 0x2
    102     field public static final int VEHICLE_AREA_TYPE_ZONE = 1; // 0x1
    103   }
    104 
    105   public final class VehicleDoor {
    106     field public static final int DOOR_HOOD = 268435456; // 0x10000000
    107     field public static final int DOOR_REAR = 536870912; // 0x20000000
    108     field public static final int DOOR_ROW_1_LEFT = 1; // 0x1
    109     field public static final int DOOR_ROW_1_RIGHT = 4; // 0x4
    110     field public static final int DOOR_ROW_2_LEFT = 16; // 0x10
    111     field public static final int DOOR_ROW_2_RIGHT = 64; // 0x40
    112     field public static final int DOOR_ROW_3_LEFT = 256; // 0x100
    113     field public static final int DOOR_ROW_3_RIGHT = 1024; // 0x400
    114   }
    115 
    116   public final class VehicleMirror {
    117     field public static final int MIRROR_DRIVER_CENTER = 4; // 0x4
    118     field public static final int MIRROR_DRIVER_LEFT = 1; // 0x1
    119     field public static final int MIRROR_DRIVER_RIGHT = 2; // 0x2
    120   }
    121 
    122   public final class VehicleSeat {
    123     field public static final int SEAT_ROW_1_CENTER = 2; // 0x2
    124     field public static final int SEAT_ROW_1_LEFT = 1; // 0x1
    125     field public static final int SEAT_ROW_1_RIGHT = 4; // 0x4
    126     field public static final int SEAT_ROW_2_CENTER = 32; // 0x20
    127     field public static final int SEAT_ROW_2_LEFT = 16; // 0x10
    128     field public static final int SEAT_ROW_2_RIGHT = 64; // 0x40
    129     field public static final int SEAT_ROW_3_CENTER = 512; // 0x200
    130     field public static final int SEAT_ROW_3_LEFT = 256; // 0x100
    131     field public static final int SEAT_ROW_3_RIGHT = 1024; // 0x400
    132   }
    133 
    134   public final class VehicleWindow {
    135     field public static final int WINDOW_FRONT_WINDSHIELD = 1; // 0x1
    136     field public static final int WINDOW_REAR_WINDSHIELD = 2; // 0x2
    137     field public static final int WINDOW_ROOF_TOP = 4; // 0x4
    138     field public static final int WINDOW_ROW_1_LEFT = 16; // 0x10
    139     field public static final int WINDOW_ROW_1_RIGHT = 32; // 0x20
    140     field public static final int WINDOW_ROW_2_LEFT = 256; // 0x100
    141     field public static final int WINDOW_ROW_2_RIGHT = 512; // 0x200
    142     field public static final int WINDOW_ROW_3_LEFT = 4096; // 0x1000
    143     field public static final int WINDOW_ROW_3_RIGHT = 8192; // 0x2000
    144   }
    145 
    146   public final class VehicleZone {
    147     field public static final int ZONE_ALL = -2147483648; // 0x80000000
    148     field public static final int ZONE_ROW_1_ALL = 8; // 0x8
    149     field public static final int ZONE_ROW_1_CENTER = 2; // 0x2
    150     field public static final int ZONE_ROW_1_LEFT = 1; // 0x1
    151     field public static final int ZONE_ROW_1_RIGHT = 4; // 0x4
    152     field public static final int ZONE_ROW_2_ALL = 128; // 0x80
    153     field public static final int ZONE_ROW_2_CENTER = 32; // 0x20
    154     field public static final int ZONE_ROW_2_LEFT = 16; // 0x10
    155     field public static final int ZONE_ROW_2_RIGHT = 64; // 0x40
    156     field public static final int ZONE_ROW_3_ALL = 2048; // 0x800
    157     field public static final int ZONE_ROW_3_CENTER = 512; // 0x200
    158     field public static final int ZONE_ROW_3_LEFT = 256; // 0x100
    159     field public static final int ZONE_ROW_3_RIGHT = 1024; // 0x400
    160     field public static final int ZONE_ROW_4_ALL = 32768; // 0x8000
    161     field public static final int ZONE_ROW_4_CENTER = 8192; // 0x2000
    162     field public static final int ZONE_ROW_4_LEFT = 4096; // 0x1000
    163     field public static final int ZONE_ROW_4_RIGHT = 16384; // 0x4000
    164   }
    165 
    166   public final class VehicleZoneUtil {
    167     method public static int getFirstZone(int);
    168     method public static int getNextZone(int, int) throws java.lang.IllegalArgumentException;
    169     method public static int getNumberOfZones(int);
    170     method public static int[] listAllZones(int);
    171     method public static int zoneToIndex(int, int) throws java.lang.IllegalArgumentException;
    172   }
    173 
    174 }
    175 
    176 package android.car.app.menu {
    177 
    178   public abstract class CarMenuCallbacks {
    179     ctor public CarMenuCallbacks();
    180     method public abstract android.car.app.menu.RootMenu getRootMenu(android.os.Bundle);
    181     method public abstract void onCarMenuClosed();
    182     method public abstract void onCarMenuClosing();
    183     method public abstract void onCarMenuOpened();
    184     method public abstract void onCarMenuOpening();
    185     method public abstract void onItemClicked(java.lang.String);
    186     method public abstract boolean onItemLongClicked(java.lang.String);
    187     method public abstract boolean onMenuClicked();
    188     method public abstract void subscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
    189     method public abstract void unsubscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
    190   }
    191 
    192   public class CarMenuConstants {
    193     ctor public CarMenuConstants();
    194   }
    195 
    196   public static class CarMenuConstants.MenuItemConstants {
    197     ctor public CarMenuConstants.MenuItemConstants();
    198     field public static final int FLAG_BROWSABLE = 1; // 0x1
    199     field public static final int FLAG_FIRSTITEM = 2; // 0x2
    200     field public static final java.lang.String KEY_EMPTY_PLACEHOLDER = "android.car.app.menu.empty_placeholder";
    201     field public static final java.lang.String KEY_FLAGS = "android.car.app.menu.flags";
    202     field public static final java.lang.String KEY_ID = "android.car.app.menu.id";
    203     field public static final java.lang.String KEY_LEFTICON = "android.car.app.menu.leftIcon";
    204     field public static final java.lang.String KEY_REMOTEVIEWS = "android.car.app.menu.remoteViews";
    205     field public static final java.lang.String KEY_RIGHTICON = "android.car.app.menu.rightIcon";
    206     field public static final java.lang.String KEY_RIGHTTEXT = "android.car.app.menu.rightText";
    207     field public static final java.lang.String KEY_TEXT = "android.car.app.menu.text";
    208     field public static final java.lang.String KEY_TITLE = "android.car.app.menu.title";
    209     field public static final java.lang.String KEY_WIDGET = "android.car.app.menu.widget";
    210     field public static final java.lang.String KEY_WIDGET_STATE = "android.car.app.menu.widget_state";
    211     field public static final int WIDGET_CHECKBOX = 1; // 0x1
    212     field public static final int WIDGET_TEXT_VIEW = 2; // 0x2
    213   }
    214 
    215   public static abstract class CarMenuConstants.MenuItemConstants.MenuItemFlags implements java.lang.annotation.Annotation {
    216   }
    217 
    218   public static abstract class CarMenuConstants.MenuItemConstants.WidgetTypes implements java.lang.annotation.Annotation {
    219   }
    220 
    221   public abstract class CarUiEntry {
    222     ctor public CarUiEntry(android.content.Context, android.content.Context);
    223     method public abstract void closeDrawer();
    224     method public abstract android.view.View getContentView();
    225     method public abstract int getFragmentContainerId();
    226     method public abstract java.lang.CharSequence getSearchBoxText();
    227     method public abstract void hideMenuButton();
    228     method public abstract void hideTitle();
    229     method public abstract void onPause();
    230     method public abstract void onRestoreInstanceState(android.os.Bundle);
    231     method public abstract void onResume();
    232     method public abstract void onSaveInstanceState(android.os.Bundle);
    233     method public abstract void onStart();
    234     method public abstract void onStop();
    235     method public abstract void openDrawer();
    236     method public abstract void restoreMenuDrawable();
    237     method public abstract void setAutoLightDarkMode();
    238     method public abstract void setBackground(android.graphics.Bitmap);
    239     method public abstract void setCarMenuCallbacks(android.car.app.menu.CarMenuCallbacks);
    240     method public abstract void setDarkMode();
    241     method public abstract void setLightMode();
    242     method public abstract void setMenuButtonBitmap(android.graphics.Bitmap);
    243     method public abstract void setMenuButtonColor(int);
    244     method public abstract void setScrimColor(int);
    245     method public abstract void setSearchBoxColors(int, int, int, int);
    246     method public abstract void setSearchBoxEditListener(android.car.app.menu.SearchBoxEditListener);
    247     method public abstract void setSearchBoxEndView(android.view.View);
    248     method public abstract void setTitle(java.lang.CharSequence);
    249     method public abstract void showMenu(java.lang.String, java.lang.String);
    250     method public abstract void showSearchBox(android.view.View.OnClickListener);
    251     method public abstract void showTitle();
    252     method public abstract void showToast(java.lang.String, long);
    253     method public abstract android.widget.EditText startInput(java.lang.String, android.view.View.OnClickListener);
    254     method public abstract void stopInput();
    255     field protected final android.content.Context mAppContext;
    256     field protected final android.content.Context mUiLibContext;
    257   }
    258 
    259   public class RootMenu {
    260     ctor public RootMenu(java.lang.String);
    261     ctor public RootMenu(java.lang.String, android.os.Bundle);
    262     method public android.os.Bundle getBundle();
    263     method public java.lang.String getId();
    264   }
    265 
    266   public abstract class SearchBoxEditListener {
    267     ctor public SearchBoxEditListener();
    268     method public abstract void onEdit(java.lang.String);
    269     method public abstract void onSearch(java.lang.String);
    270   }
    271 
    272   public abstract class SubscriptionCallbacks {
    273     ctor public SubscriptionCallbacks();
    274     method public abstract void onChildChanged(java.lang.String, android.os.Bundle);
    275     method public abstract void onChildrenLoaded(java.lang.String, java.util.List<android.os.Bundle>);
    276     method public abstract void onError(java.lang.String);
    277   }
    278 
    279 }
    280 
    281 package android.car.cluster.renderer {
    282 
    283   public abstract class InstrumentClusterRenderer {
    284     ctor public InstrumentClusterRenderer();
    285     method protected abstract android.car.cluster.renderer.NavigationRenderer createNavigationRenderer();
    286     method public synchronized android.car.cluster.renderer.NavigationRenderer getNavigationRenderer();
    287     method public final synchronized void initialize();
    288     method public abstract void onCreate(android.content.Context);
    289     method public abstract void onStart();
    290     method public abstract void onStop();
    291   }
    292 
    293   public abstract class InstrumentClusterRenderingService extends android.app.Service {
    294     ctor public InstrumentClusterRenderingService();
    295     method protected abstract android.car.cluster.renderer.NavigationRenderer getNavigationRenderer();
    296     method public android.os.IBinder onBind(android.content.Intent);
    297     method protected void onKeyEvent(android.view.KeyEvent);
    298   }
    299 
    300   public abstract class NavigationRenderer {
    301     ctor public NavigationRenderer();
    302     method public abstract android.car.navigation.CarNavigationInstrumentCluster getNavigationProperties();
    303     method public abstract void onNextTurnChanged(int, java.lang.CharSequence, int, int, android.graphics.Bitmap, int);
    304     method public abstract void onNextTurnDistanceChanged(int, int, int, int);
    305     method public abstract void onStartNavigation();
    306     method public abstract void onStopNavigation();
    307   }
    308 
    309 }
    310 
    311 package android.car.content.pm {
    312 
    313   public class AppBlockingPackageInfo implements android.os.Parcelable {
    314     ctor public AppBlockingPackageInfo(java.lang.String, int, int, int, android.content.pm.Signature[], java.lang.String[]);
    315     ctor public AppBlockingPackageInfo(android.os.Parcel);
    316     method public int describeContents();
    317     method public void writeToParcel(android.os.Parcel, int);
    318     field public static final android.os.Parcelable.Creator<android.car.content.pm.AppBlockingPackageInfo> CREATOR;
    319     field public static final int FLAG_SYSTEM_APP = 1; // 0x1
    320     field public static final int FLAG_WHOLE_ACTIVITY = 2; // 0x2
    321     field public final java.lang.String[] activities;
    322     field public final int flags;
    323     field public final int maxRevisionCode;
    324     field public final int minRevisionCode;
    325     field public final java.lang.String packageName;
    326     field public final android.content.pm.Signature[] signatures;
    327   }
    328 
    329   public class CarAppBlockingPolicy implements android.os.Parcelable {
    330     ctor public CarAppBlockingPolicy(android.car.content.pm.AppBlockingPackageInfo[], android.car.content.pm.AppBlockingPackageInfo[]);
    331     ctor public CarAppBlockingPolicy(android.os.Parcel);
    332     method public int describeContents();
    333     method public void writeToParcel(android.os.Parcel, int);
    334     field public static final android.os.Parcelable.Creator<android.car.content.pm.CarAppBlockingPolicy> CREATOR;
    335     field public final android.car.content.pm.AppBlockingPackageInfo[] blacklists;
    336     field public final android.car.content.pm.AppBlockingPackageInfo[] whitelists;
    337   }
    338 
    339   public abstract class CarAppBlockingPolicyService extends android.app.Service {
    340     ctor public CarAppBlockingPolicyService();
    341     method protected abstract android.car.content.pm.CarAppBlockingPolicy getAppBlockingPolicy();
    342     method public android.os.IBinder onBind(android.content.Intent);
    343     field public static final java.lang.String SERVICE_INTERFACE = "android.car.content.pm.CarAppBlockingPolicyService";
    344   }
    345 
    346   public final class CarPackageManager {
    347     method public boolean isActivityAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
    348     method public boolean isActivityBackedBySafeActivity(android.content.ComponentName) throws android.car.CarNotConnectedException;
    349     method public boolean isServiceAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
    350     method public void setAppBlockingPolicy(java.lang.String, android.car.content.pm.CarAppBlockingPolicy, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException, java.lang.SecurityException;
    351     field public static final int FLAG_SET_POLICY_ADD = 2; // 0x2
    352     field public static final int FLAG_SET_POLICY_REMOVE = 4; // 0x4
    353     field public static final int FLAG_SET_POLICY_WAIT_FOR_CHANGE = 1; // 0x1
    354   }
    355 
    356 }
    357 
    358 package android.car.diagnostic {
    359 
    360   public class CarDiagnosticEvent implements android.os.Parcelable {
    361     ctor public CarDiagnosticEvent(android.os.Parcel);
    362     method public int describeContents();
    363     method public java.lang.Integer getFuelSystemStatus();
    364     method public java.lang.Integer getFuelType();
    365     method public android.car.diagnostic.CarDiagnosticEvent.CommonIgnitionMonitors getIgnitionMonitors();
    366     method public java.lang.Integer getSecondaryAirStatus();
    367     method public float getSystemFloatSensor(int, float);
    368     method public java.lang.Float getSystemFloatSensor(int);
    369     method public int getSystemIntegerSensor(int, int);
    370     method public java.lang.Integer getSystemIntegerSensor(int);
    371     method public float getVendorFloatSensor(int, float);
    372     method public java.lang.Float getVendorFloatSensor(int);
    373     method public int getVendorIntegerSensor(int, int);
    374     method public java.lang.Integer getVendorIntegerSensor(int);
    375     method public boolean isFreezeFrame();
    376     method public boolean isLiveFrame();
    377     method public void writeToJson(android.util.JsonWriter) throws java.io.IOException;
    378     method public void writeToParcel(android.os.Parcel, int);
    379     field public static final android.os.Parcelable.Creator<android.car.diagnostic.CarDiagnosticEvent> CREATOR;
    380     field public final java.lang.String dtc;
    381     field public final int frameType;
    382     field public final long timestamp;
    383   }
    384 
    385   public static class CarDiagnosticEvent.Builder {
    386     method public android.car.diagnostic.CarDiagnosticEvent.Builder atTimestamp(long);
    387     method public android.car.diagnostic.CarDiagnosticEvent build();
    388     method public static android.car.diagnostic.CarDiagnosticEvent.Builder newFreezeFrameBuilder();
    389     method public static android.car.diagnostic.CarDiagnosticEvent.Builder newLiveFrameBuilder();
    390     method public android.car.diagnostic.CarDiagnosticEvent.Builder withDtc(java.lang.String);
    391     method public android.car.diagnostic.CarDiagnosticEvent.Builder withFloatValue(int, float);
    392     method public android.car.diagnostic.CarDiagnosticEvent.Builder withIntValue(int, int);
    393   }
    394 
    395   public static class CarDiagnosticEvent.CommonIgnitionMonitors {
    396     method public android.car.diagnostic.CarDiagnosticEvent.CompressionIgnitionMonitors asCompressionIgnitionMonitors();
    397     method public android.car.diagnostic.CarDiagnosticEvent.SparkIgnitionMonitors asSparkIgnitionMonitors();
    398     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor components;
    399     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor fuelSystem;
    400     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor misfire;
    401   }
    402 
    403   public static final class CarDiagnosticEvent.CompressionIgnitionMonitors extends android.car.diagnostic.CarDiagnosticEvent.CommonIgnitionMonitors {
    404     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor EGROrVVT;
    405     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor NMHCCatalyst;
    406     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor NOxSCR;
    407     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor PMFilter;
    408     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor boostPressure;
    409     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor exhaustGasSensor;
    410   }
    411 
    412   public static final class CarDiagnosticEvent.FuelSystemStatus {
    413     field public static final int CLOSED_LOOP = 2; // 0x2
    414     field public static final int CLOSED_LOOP_BUT_FEEDBACK_FAULT = 16; // 0x10
    415     field public static final int OPEN_ENGINE_LOAD_OR_DECELERATION = 4; // 0x4
    416     field public static final int OPEN_INSUFFICIENT_ENGINE_TEMPERATURE = 1; // 0x1
    417     field public static final int OPEN_SYSTEM_FAILURE = 8; // 0x8
    418   }
    419 
    420   public static abstract class CarDiagnosticEvent.FuelSystemStatus.Status implements java.lang.annotation.Annotation {
    421   }
    422 
    423   public static final class CarDiagnosticEvent.FuelType {
    424     field public static final int BIFUEL_RUNNING_CNG = 13; // 0xd
    425     field public static final int BIFUEL_RUNNING_DIESEL = 23; // 0x17
    426     field public static final int BIFUEL_RUNNING_ELECTRIC = 15; // 0xf
    427     field public static final int BIFUEL_RUNNING_ELECTRIC_AND_COMBUSTION = 16; // 0x10
    428     field public static final int BIFUEL_RUNNING_ETHANOL = 11; // 0xb
    429     field public static final int BIFUEL_RUNNING_GASOLINE = 9; // 0x9
    430     field public static final int BIFUEL_RUNNING_LPG = 12; // 0xc
    431     field public static final int BIFUEL_RUNNING_METHANOL = 10; // 0xa
    432     field public static final int BIFUEL_RUNNING_PROPANE = 14; // 0xe
    433     field public static final int CNG = 6; // 0x6
    434     field public static final int DIESEL = 4; // 0x4
    435     field public static final int ELECTRIC = 8; // 0x8
    436     field public static final int ETHANOL = 3; // 0x3
    437     field public static final int GASOLINE = 1; // 0x1
    438     field public static final int HYBRID_DIESEL = 19; // 0x13
    439     field public static final int HYBRID_ELECTRIC = 20; // 0x14
    440     field public static final int HYBRID_ETHANOL = 18; // 0x12
    441     field public static final int HYBRID_GASOLINE = 17; // 0x11
    442     field public static final int HYBRID_REGENERATIVE = 22; // 0x16
    443     field public static final int HYBRID_RUNNING_ELECTRIC_AND_COMBUSTION = 21; // 0x15
    444     field public static final int LPG = 5; // 0x5
    445     field public static final int METHANOL = 2; // 0x2
    446     field public static final int NOT_AVAILABLE = 0; // 0x0
    447     field public static final int PROPANE = 7; // 0x7
    448   }
    449 
    450   public static abstract class CarDiagnosticEvent.FuelType.Type implements java.lang.annotation.Annotation {
    451   }
    452 
    453   public static final class CarDiagnosticEvent.IgnitionMonitor {
    454     field public final boolean available;
    455     field public final boolean incomplete;
    456   }
    457 
    458   public static final class CarDiagnosticEvent.SecondaryAirStatus {
    459     field public static final int DOWNSTREAM_OF_CATALYCIC_CONVERTER = 2; // 0x2
    460     field public static final int FROM_OUTSIDE_OR_OFF = 4; // 0x4
    461     field public static final int PUMP_ON_FOR_DIAGNOSTICS = 8; // 0x8
    462     field public static final int UPSTREAM = 1; // 0x1
    463   }
    464 
    465   public static abstract class CarDiagnosticEvent.SecondaryAirStatus.Status implements java.lang.annotation.Annotation {
    466   }
    467 
    468   public static final class CarDiagnosticEvent.SparkIgnitionMonitors extends android.car.diagnostic.CarDiagnosticEvent.CommonIgnitionMonitors {
    469     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor ACRefrigerant;
    470     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor EGR;
    471     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor catalyst;
    472     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor evaporativeSystem;
    473     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor heatedCatalyst;
    474     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor oxygenSensor;
    475     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor oxygenSensorHeater;
    476     field public final android.car.diagnostic.CarDiagnosticEvent.IgnitionMonitor secondaryAirSystem;
    477   }
    478 
    479   public final class CarDiagnosticManager {
    480     method public boolean clearFreezeFrames(long...) throws android.car.CarNotConnectedException;
    481     method public android.car.diagnostic.CarDiagnosticEvent getFreezeFrame(long) throws android.car.CarNotConnectedException;
    482     method public long[] getFreezeFrameTimestamps() throws android.car.CarNotConnectedException;
    483     method public android.car.diagnostic.CarDiagnosticEvent getLatestLiveFrame() throws android.car.CarNotConnectedException;
    484     method public boolean isClearFreezeFramesSupported() throws android.car.CarNotConnectedException;
    485     method public boolean isFreezeFrameNotificationSupported() throws android.car.CarNotConnectedException;
    486     method public boolean isGetFreezeFrameSupported() throws android.car.CarNotConnectedException;
    487     method public boolean isLiveFrameSupported() throws android.car.CarNotConnectedException;
    488     method public void onCarDisconnected();
    489     method public boolean registerListener(android.car.diagnostic.CarDiagnosticManager.OnDiagnosticEventListener, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
    490     method public void unregisterListener(android.car.diagnostic.CarDiagnosticManager.OnDiagnosticEventListener);
    491     field public static final int FRAME_TYPE_FREEZE = 1; // 0x1
    492     field public static final int FRAME_TYPE_LIVE = 0; // 0x0
    493   }
    494 
    495   public static abstract class CarDiagnosticManager.FrameType implements java.lang.annotation.Annotation {
    496   }
    497 
    498   public static abstract interface CarDiagnosticManager.OnDiagnosticEventListener {
    499     method public abstract void onDiagnosticEvent(android.car.diagnostic.CarDiagnosticEvent);
    500   }
    501 
    502   public final class FloatSensorIndex {
    503     field public static final int ABSOLUTE_EVAPORATION_SYSTEM_VAPOR_PRESSURE = 58; // 0x3a
    504     field public static final int ABSOLUTE_LOAD_VALUE = 48; // 0x30
    505     field public static final int ABSOLUTE_THROTTLE_POSITION_B = 51; // 0x33
    506     field public static final int ABSOLUTE_THROTTLE_POSITION_C = 52; // 0x34
    507     field public static final int ACCELERATOR_PEDAL_POSITION_D = 53; // 0x35
    508     field public static final int ACCELERATOR_PEDAL_POSITION_E = 54; // 0x36
    509     field public static final int ACCELERATOR_PEDAL_POSITION_F = 55; // 0x37
    510     field public static final int CALCULATED_ENGINE_LOAD = 0; // 0x0
    511     field public static final int CATALYST_TEMPERATURE_BANK1_SENSOR1 = 44; // 0x2c
    512     field public static final int CATALYST_TEMPERATURE_BANK1_SENSOR2 = 46; // 0x2e
    513     field public static final int CATALYST_TEMPERATURE_BANK2_SENSOR1 = 45; // 0x2d
    514     field public static final int CATALYST_TEMPERATURE_BANK2_SENSOR2 = 47; // 0x2f
    515     field public static final int COMMANDED_EVAPORATIVE_PURGE = 41; // 0x29
    516     field public static final int COMMANDED_EXHAUST_GAS_RECIRCULATION = 39; // 0x27
    517     field public static final int COMMANDED_THROTTLE_ACTUATOR = 56; // 0x38
    518     field public static final int ENGINE_COOLANT_TEMPERATURE = 1; // 0x1
    519     field public static final int ENGINE_FUEL_RATE = 70; // 0x46
    520     field public static final int ENGINE_RPM = 8; // 0x8
    521     field public static final int ETHANOL_FUEL_PERCENTAGE = 57; // 0x39
    522     field public static final int EVAPORATION_SYSTEM_VAPOR_PRESSURE = 43; // 0x2b
    523     field public static final int EXHAUST_GAS_RECIRCULATION_ERROR = 40; // 0x28
    524     field public static final int FUEL_AIR_COMMANDED_EQUIVALENCE_RATIO = 49; // 0x31
    525     field public static final int FUEL_INJECTION_TIMING = 69; // 0x45
    526     field public static final int FUEL_PRESSURE = 6; // 0x6
    527     field public static final int FUEL_RAIL_GAUGE_PRESSURE = 38; // 0x26
    528     field public static final int FUEL_RAIL_PRESSURE = 37; // 0x25
    529     field public static final int FUEL_TANK_LEVEL_INPUT = 42; // 0x2a
    530     field public static final int HYBRID_BATTERY_PACK_REMAINING_LIFE = 68; // 0x44
    531     field public static final int INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 7; // 0x7
    532     field public static final int LAST_SYSTEM = 70; // 0x46
    533     field public static final int LONG_TERM_FUEL_TRIM_BANK1 = 3; // 0x3
    534     field public static final int LONG_TERM_FUEL_TRIM_BANK2 = 5; // 0x5
    535     field public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 63; // 0x3f
    536     field public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 64; // 0x40
    537     field public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 65; // 0x41
    538     field public static final int LONG_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 66; // 0x42
    539     field public static final int MAF_AIR_FLOW_RATE = 11; // 0xb
    540     field public static final int OXYGEN_SENSOR1_FUEL_AIR_EQUIVALENCE_RATIO = 15; // 0xf
    541     field public static final int OXYGEN_SENSOR1_SHORT_TERM_FUEL_TRIM = 14; // 0xe
    542     field public static final int OXYGEN_SENSOR1_VOLTAGE = 13; // 0xd
    543     field public static final int OXYGEN_SENSOR2_FUEL_AIR_EQUIVALENCE_RATIO = 18; // 0x12
    544     field public static final int OXYGEN_SENSOR2_SHORT_TERM_FUEL_TRIM = 17; // 0x11
    545     field public static final int OXYGEN_SENSOR2_VOLTAGE = 16; // 0x10
    546     field public static final int OXYGEN_SENSOR3_FUEL_AIR_EQUIVALENCE_RATIO = 21; // 0x15
    547     field public static final int OXYGEN_SENSOR3_SHORT_TERM_FUEL_TRIM = 20; // 0x14
    548     field public static final int OXYGEN_SENSOR3_VOLTAGE = 19; // 0x13
    549     field public static final int OXYGEN_SENSOR4_FUEL_AIR_EQUIVALENCE_RATIO = 24; // 0x18
    550     field public static final int OXYGEN_SENSOR4_SHORT_TERM_FUEL_TRIM = 23; // 0x17
    551     field public static final int OXYGEN_SENSOR4_VOLTAGE = 22; // 0x16
    552     field public static final int OXYGEN_SENSOR5_FUEL_AIR_EQUIVALENCE_RATIO = 27; // 0x1b
    553     field public static final int OXYGEN_SENSOR5_SHORT_TERM_FUEL_TRIM = 26; // 0x1a
    554     field public static final int OXYGEN_SENSOR5_VOLTAGE = 25; // 0x19
    555     field public static final int OXYGEN_SENSOR6_FUEL_AIR_EQUIVALENCE_RATIO = 30; // 0x1e
    556     field public static final int OXYGEN_SENSOR6_SHORT_TERM_FUEL_TRIM = 29; // 0x1d
    557     field public static final int OXYGEN_SENSOR6_VOLTAGE = 28; // 0x1c
    558     field public static final int OXYGEN_SENSOR7_FUEL_AIR_EQUIVALENCE_RATIO = 33; // 0x21
    559     field public static final int OXYGEN_SENSOR7_SHORT_TERM_FUEL_TRIM = 32; // 0x20
    560     field public static final int OXYGEN_SENSOR7_VOLTAGE = 31; // 0x1f
    561     field public static final int OXYGEN_SENSOR8_FUEL_AIR_EQUIVALENCE_RATIO = 36; // 0x24
    562     field public static final int OXYGEN_SENSOR8_SHORT_TERM_FUEL_TRIM = 35; // 0x23
    563     field public static final int OXYGEN_SENSOR8_VOLTAGE = 34; // 0x22
    564     field public static final int RELATIVE_ACCELERATOR_PEDAL_POSITION = 67; // 0x43
    565     field public static final int RELATIVE_THROTTLE_POSITION = 50; // 0x32
    566     field public static final int SHORT_TERM_FUEL_TRIM_BANK1 = 2; // 0x2
    567     field public static final int SHORT_TERM_FUEL_TRIM_BANK2 = 4; // 0x4
    568     field public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK1 = 59; // 0x3b
    569     field public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK2 = 60; // 0x3c
    570     field public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK3 = 61; // 0x3d
    571     field public static final int SHORT_TERM_SECONDARY_OXYGEN_SENSOR_TRIM_BANK4 = 62; // 0x3e
    572     field public static final int THROTTLE_POSITION = 12; // 0xc
    573     field public static final int TIMING_ADVANCE = 10; // 0xa
    574     field public static final int VEHICLE_SPEED = 9; // 0x9
    575     field public static final int VENDOR_START = 71; // 0x47
    576   }
    577 
    578   public final class IntegerSensorIndex {
    579     field public static final int ABSOLUTE_BAROMETRIC_PRESSURE = 11; // 0xb
    580     field public static final int AMBIENT_AIR_TEMPERATURE = 13; // 0xd
    581     field public static final int COMMANDED_SECONDARY_AIR_STATUS = 5; // 0x5
    582     field public static final int CONTROL_MODULE_VOLTAGE = 12; // 0xc
    583     field public static final int DISTANCE_TRAVELED_SINCE_CODES_CLEARED = 10; // 0xa
    584     field public static final int DISTANCE_TRAVELED_WITH_MALFUNCTION_INDICATOR_LIGHT_ON = 8; // 0x8
    585     field public static final int DRIVER_DEMAND_PERCENT_TORQUE = 24; // 0x18
    586     field public static final int ENGINE_ACTUAL_PERCENT_TORQUE = 25; // 0x19
    587     field public static final int ENGINE_OIL_TEMPERATURE = 23; // 0x17
    588     field public static final int ENGINE_PERCENT_TORQUE_DATA_IDLE = 27; // 0x1b
    589     field public static final int ENGINE_PERCENT_TORQUE_DATA_POINT1 = 28; // 0x1c
    590     field public static final int ENGINE_PERCENT_TORQUE_DATA_POINT2 = 29; // 0x1d
    591     field public static final int ENGINE_PERCENT_TORQUE_DATA_POINT3 = 30; // 0x1e
    592     field public static final int ENGINE_PERCENT_TORQUE_DATA_POINT4 = 31; // 0x1f
    593     field public static final int ENGINE_REFERENCE_PERCENT_TORQUE = 26; // 0x1a
    594     field public static final int FUEL_RAIL_ABSOLUTE_PRESSURE = 22; // 0x16
    595     field public static final int FUEL_SYSTEM_STATUS = 0; // 0x0
    596     field public static final int FUEL_TYPE = 21; // 0x15
    597     field public static final int IGNITION_MONITORS_SUPPORTED = 2; // 0x2
    598     field public static final int IGNITION_SPECIFIC_MONITORS = 3; // 0x3
    599     field public static final int INTAKE_AIR_TEMPERATURE = 4; // 0x4
    600     field public static final int LAST_SYSTEM = 31; // 0x1f
    601     field public static final int MALFUNCTION_INDICATOR_LIGHT_ON = 1; // 0x1
    602     field public static final int MAX_AIR_FLOW_RATE_FROM_MASS_AIR_FLOW_SENSOR = 20; // 0x14
    603     field public static final int MAX_FUEL_AIR_EQUIVALENCE_RATIO = 16; // 0x10
    604     field public static final int MAX_INTAKE_MANIFOLD_ABSOLUTE_PRESSURE = 19; // 0x13
    605     field public static final int MAX_OXYGEN_SENSOR_CURRENT = 18; // 0x12
    606     field public static final int MAX_OXYGEN_SENSOR_VOLTAGE = 17; // 0x11
    607     field public static final int NUM_OXYGEN_SENSORS_PRESENT = 6; // 0x6
    608     field public static final int RUNTIME_SINCE_ENGINE_START = 7; // 0x7
    609     field public static final int TIME_SINCE_TROUBLE_CODES_CLEARED = 15; // 0xf
    610     field public static final int TIME_WITH_MALFUNCTION_LIGHT_ON = 14; // 0xe
    611     field public static final int VENDOR_START = 32; // 0x20
    612     field public static final int WARMUPS_SINCE_CODES_CLEARED = 9; // 0x9
    613   }
    614 
    615 }
    616 
    617 package android.car.hardware {
    618 
    619   public class CarPropertyConfig<T> implements android.os.Parcelable {
    620     method public int describeContents();
    621     method public int getAreaCount();
    622     method public int[] getAreaIds();
    623     method public int getAreaType();
    624     method public int getFirstAndOnlyAreaId();
    625     method public T getMaxValue(int);
    626     method public T getMaxValue();
    627     method public T getMinValue(int);
    628     method public T getMinValue();
    629     method public int getPropertyId();
    630     method public java.lang.Class<T> getPropertyType();
    631     method public boolean hasArea(int);
    632     method public boolean isGlobalProperty();
    633     method public static <T> android.car.hardware.CarPropertyConfig.Builder<T> newBuilder(java.lang.Class<T>, int, int, int);
    634     method public static <T> android.car.hardware.CarPropertyConfig.Builder<T> newBuilder(java.lang.Class<T>, int, int);
    635     method public void writeToParcel(android.os.Parcel, int);
    636     field public static final android.os.Parcelable.Creator<android.car.hardware.CarPropertyConfig> CREATOR;
    637   }
    638 
    639   public static class CarPropertyConfig.AreaConfig<T> implements android.os.Parcelable {
    640     method public int describeContents();
    641     method public T getMaxValue();
    642     method public T getMinValue();
    643     method public void writeToParcel(android.os.Parcel, int);
    644     field public static final android.os.Parcelable.Creator<android.car.hardware.CarPropertyConfig.AreaConfig<java.lang.Object>> CREATOR;
    645   }
    646 
    647   public static class CarPropertyConfig.Builder<T> {
    648     method public android.car.hardware.CarPropertyConfig.Builder<T> addArea(int);
    649     method public android.car.hardware.CarPropertyConfig.Builder<T> addAreaConfig(int, T, T);
    650     method public android.car.hardware.CarPropertyConfig.Builder<T> addAreas(int[]);
    651     method public android.car.hardware.CarPropertyConfig<T> build();
    652   }
    653 
    654   public class CarPropertyValue<T> implements android.os.Parcelable {
    655     ctor public CarPropertyValue(int, T);
    656     ctor public CarPropertyValue(int, int, T);
    657     ctor public CarPropertyValue(android.os.Parcel);
    658     method public int describeContents();
    659     method public int getAreaId();
    660     method public int getPropertyId();
    661     method public T getValue();
    662     method public void writeToParcel(android.os.Parcel, int);
    663     field public static final android.os.Parcelable.Creator<android.car.hardware.CarPropertyValue> CREATOR;
    664   }
    665 
    666   public class CarSensorEvent implements android.os.Parcelable {
    667     method public int describeContents();
    668     method public void writeToParcel(android.os.Parcel, int);
    669     field public static final android.os.Parcelable.Creator<android.car.hardware.CarSensorEvent> CREATOR;
    670     field public static final int DRIVE_STATUS_FULLY_RESTRICTED = 31; // 0x1f
    671     field public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 16; // 0x10
    672     field public static final int DRIVE_STATUS_NO_CONFIG = 8; // 0x8
    673     field public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 2; // 0x2
    674     field public static final int DRIVE_STATUS_NO_VIDEO = 1; // 0x1
    675     field public static final int DRIVE_STATUS_NO_VOICE_INPUT = 4; // 0x4
    676     field public static final int DRIVE_STATUS_UNRESTRICTED = 0; // 0x0
    677     field public static final int GEAR_DRIVE = 100; // 0x64
    678     field public static final int GEAR_EIGHTH = 8; // 0x8
    679     field public static final int GEAR_FIFTH = 5; // 0x5
    680     field public static final int GEAR_FIRST = 1; // 0x1
    681     field public static final int GEAR_FOURTH = 4; // 0x4
    682     field public static final int GEAR_NEUTRAL = 0; // 0x0
    683     field public static final int GEAR_NINTH = 9; // 0x9
    684     field public static final int GEAR_PARK = 101; // 0x65
    685     field public static final int GEAR_REVERSE = 102; // 0x66
    686     field public static final int GEAR_SECOND = 2; // 0x2
    687     field public static final int GEAR_SEVENTH = 7; // 0x7
    688     field public static final int GEAR_SIXTH = 6; // 0x6
    689     field public static final int GEAR_TENTH = 10; // 0xa
    690     field public static final int GEAR_THIRD = 3; // 0x3
    691     field public static final int IGNITION_STATE_ACC = 3; // 0x3
    692     field public static final int IGNITION_STATE_LOCK = 1; // 0x1
    693     field public static final int IGNITION_STATE_OFF = 2; // 0x2
    694     field public static final int IGNITION_STATE_ON = 4; // 0x4
    695     field public static final int IGNITION_STATE_START = 5; // 0x5
    696     field public static final int IGNITION_STATE_UNDEFINED = 0; // 0x0
    697     field public static final int INDEX_ENVIRONMENT_PRESSURE = 1; // 0x1
    698     field public static final int INDEX_ENVIRONMENT_TEMPERATURE = 0; // 0x0
    699     field public static final int INDEX_FUEL_LEVEL_IN_DISTANCE = 1; // 0x1
    700     field public static final int INDEX_FUEL_LEVEL_IN_PERCENTILE = 0; // 0x0
    701     field public static final int INDEX_FUEL_LOW_WARNING = 0; // 0x0
    702     field public static final int INDEX_WHEEL_DISTANCE_FRONT_LEFT = 1; // 0x1
    703     field public static final int INDEX_WHEEL_DISTANCE_FRONT_RIGHT = 2; // 0x2
    704     field public static final int INDEX_WHEEL_DISTANCE_REAR_LEFT = 4; // 0x4
    705     field public static final int INDEX_WHEEL_DISTANCE_REAR_RIGHT = 3; // 0x3
    706     field public static final int INDEX_WHEEL_DISTANCE_RESET_COUNT = 0; // 0x0
    707     field public final float[] floatValues;
    708     field public final int[] intValues;
    709     field public final long[] longValues;
    710     field public int sensorType;
    711     field public long timestamp;
    712   }
    713 
    714   public static class CarSensorEvent.EnvironmentData {
    715     field public float pressure;
    716     field public float temperature;
    717     field public long timestamp;
    718   }
    719 
    720   public final class CarSensorManager {
    721     method public android.car.hardware.CarSensorEvent getLatestSensorEvent(int) throws android.car.CarNotConnectedException;
    722     method public int[] getSupportedSensors() throws android.car.CarNotConnectedException;
    723     method public boolean isSensorSupported(int) throws android.car.CarNotConnectedException;
    724     method public static boolean isSensorSupported(int[], int);
    725     method public boolean registerListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
    726     method public void unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener);
    727     method public void unregisterListener(android.car.hardware.CarSensorManager.OnSensorChangedListener, int);
    728     field public static final int SENSOR_RATE_FAST = 1; // 0x1
    729     field public static final int SENSOR_RATE_FASTEST = 0; // 0x0
    730     field public static final int SENSOR_RATE_NORMAL = 3; // 0x3
    731     field public static final int SENSOR_RATE_UI = 2; // 0x2
    732     field public static final int SENSOR_TYPE_ABS_ACTIVE = 24; // 0x18
    733     field public static final int SENSOR_TYPE_CAR_SPEED = 2; // 0x2
    734     field public static final int SENSOR_TYPE_DRIVING_STATUS = 11; // 0xb
    735     field public static final int SENSOR_TYPE_ENVIRONMENT = 12; // 0xc
    736     field public static final int SENSOR_TYPE_FUEL_LEVEL = 5; // 0x5
    737     field public static final int SENSOR_TYPE_GEAR = 7; // 0x7
    738     field public static final int SENSOR_TYPE_IGNITION_STATE = 22; // 0x16
    739     field public static final int SENSOR_TYPE_NIGHT = 9; // 0x9
    740     field public static final int SENSOR_TYPE_ODOMETER = 4; // 0x4
    741     field public static final int SENSOR_TYPE_PARKING_BRAKE = 6; // 0x6
    742     field public static final int SENSOR_TYPE_RPM = 3; // 0x3
    743     field public static final int SENSOR_TYPE_TRACTION_CONTROL_ACTIVE = 25; // 0x19
    744     field public static final int SENSOR_TYPE_VENDOR_EXTENSION_END = 1879048191; // 0x6fffffff
    745     field public static final int SENSOR_TYPE_WHEEL_TICK_DISTANCE = 23; // 0x17
    746   }
    747 
    748   public static abstract interface CarSensorManager.OnSensorChangedListener {
    749     method public abstract void onSensorChanged(android.car.hardware.CarSensorEvent);
    750   }
    751 
    752   public final class CarVendorExtensionManager {
    753     method public <E> E getGlobalProperty(java.lang.Class<E>, int) throws android.car.CarNotConnectedException;
    754     method public java.util.List<android.car.hardware.CarPropertyConfig> getProperties() throws android.car.CarNotConnectedException;
    755     method public <E> E getProperty(java.lang.Class<E>, int, int) throws android.car.CarNotConnectedException;
    756     method public void registerCallback(android.car.hardware.CarVendorExtensionManager.CarVendorExtensionCallback) throws android.car.CarNotConnectedException;
    757     method public <E> void setGlobalProperty(java.lang.Class<E>, int, E) throws android.car.CarNotConnectedException;
    758     method public <E> void setProperty(java.lang.Class<E>, int, int, E) throws android.car.CarNotConnectedException;
    759     method public void unregisterCallback(android.car.hardware.CarVendorExtensionManager.CarVendorExtensionCallback);
    760   }
    761 
    762   public static abstract interface CarVendorExtensionManager.CarVendorExtensionCallback {
    763     method public abstract void onChangeEvent(android.car.hardware.CarPropertyValue);
    764     method public abstract void onErrorEvent(int, int);
    765   }
    766 
    767 }
    768 
    769 package android.car.hardware.cabin {
    770 
    771   public final class CarCabinManager {
    772     method public boolean getBooleanProperty(int, int) throws android.car.CarNotConnectedException;
    773     method public float getFloatProperty(int, int) throws android.car.CarNotConnectedException;
    774     method public int getIntProperty(int, int) throws android.car.CarNotConnectedException;
    775     method public java.util.List<android.car.hardware.CarPropertyConfig> getPropertyList() throws android.car.CarNotConnectedException;
    776     method public static boolean isZonedProperty(int);
    777     method public synchronized void registerCallback(android.car.hardware.cabin.CarCabinManager.CarCabinEventCallback) throws android.car.CarNotConnectedException;
    778     method public void setBooleanProperty(int, int, boolean) throws android.car.CarNotConnectedException;
    779     method public void setFloatProperty(int, int, float) throws android.car.CarNotConnectedException;
    780     method public void setIntProperty(int, int, int) throws android.car.CarNotConnectedException;
    781     method public synchronized void unregisterCallback(android.car.hardware.cabin.CarCabinManager.CarCabinEventCallback);
    782     field public static final int ID_DOOR_LOCK = 3; // 0x3
    783     field public static final int ID_DOOR_MOVE = 2; // 0x2
    784     field public static final int ID_DOOR_POS = 1; // 0x1
    785     field public static final int ID_MIRROR_FOLD = 4102; // 0x1006
    786     field public static final int ID_MIRROR_LOCK = 4101; // 0x1005
    787     field public static final int ID_MIRROR_Y_MOVE = 4100; // 0x1004
    788     field public static final int ID_MIRROR_Y_POS = 4099; // 0x1003
    789     field public static final int ID_MIRROR_Z_MOVE = 4098; // 0x1002
    790     field public static final int ID_MIRROR_Z_POS = 4097; // 0x1001
    791     field public static final int ID_SEAT_BACKREST_ANGLE_1_MOVE = 8201; // 0x2009
    792     field public static final int ID_SEAT_BACKREST_ANGLE_1_POS = 8200; // 0x2008
    793     field public static final int ID_SEAT_BACKREST_ANGLE_2_MOVE = 8203; // 0x200b
    794     field public static final int ID_SEAT_BACKREST_ANGLE_2_POS = 8202; // 0x200a
    795     field public static final int ID_SEAT_BELT_BUCKLED = 8195; // 0x2003
    796     field public static final int ID_SEAT_BELT_HEIGHT_MOVE = 8197; // 0x2005
    797     field public static final int ID_SEAT_BELT_HEIGHT_POS = 8196; // 0x2004
    798     field public static final int ID_SEAT_DEPTH_MOVE = 8207; // 0x200f
    799     field public static final int ID_SEAT_DEPTH_POS = 8206; // 0x200e
    800     field public static final int ID_SEAT_FORE_AFT_MOVE = 8199; // 0x2007
    801     field public static final int ID_SEAT_FORE_AFT_POS = 8198; // 0x2006
    802     field public static final int ID_SEAT_HEADREST_ANGLE_MOVE = 8217; // 0x2019
    803     field public static final int ID_SEAT_HEADREST_ANGLE_POS = 8216; // 0x2018
    804     field public static final int ID_SEAT_HEADREST_FORE_AFT_MOVE = 8219; // 0x201b
    805     field public static final int ID_SEAT_HEADREST_FORE_AFT_POS = 8218; // 0x201a
    806     field public static final int ID_SEAT_HEADREST_HEIGHT_MOVE = 8215; // 0x2017
    807     field public static final int ID_SEAT_HEADREST_HEIGHT_POS = 8214; // 0x2016
    808     field public static final int ID_SEAT_HEIGHT_MOVE = 8205; // 0x200d
    809     field public static final int ID_SEAT_HEIGHT_POS = 8204; // 0x200c
    810     field public static final int ID_SEAT_LUMBAR_FORE_AFT_MOVE = 8211; // 0x2013
    811     field public static final int ID_SEAT_LUMBAR_FORE_AFT_POS = 8210; // 0x2012
    812     field public static final int ID_SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 8213; // 0x2015
    813     field public static final int ID_SEAT_LUMBAR_SIDE_SUPPORT_POS = 8212; // 0x2014
    814     field public static final int ID_SEAT_MEMORY_SELECT = 8193; // 0x2001
    815     field public static final int ID_SEAT_MEMORY_SET = 8194; // 0x2002
    816     field public static final int ID_SEAT_TILT_MOVE = 8209; // 0x2011
    817     field public static final int ID_SEAT_TILT_POS = 8208; // 0x2010
    818     field public static final int ID_WINDOW_LOCK = 12293; // 0x3005
    819     field public static final int ID_WINDOW_MOVE = 12290; // 0x3002
    820     field public static final int ID_WINDOW_POS = 12289; // 0x3001
    821     field public static final int ID_WINDOW_VENT_MOVE = 12292; // 0x3004
    822     field public static final int ID_WINDOW_VENT_POS = 12291; // 0x3003
    823   }
    824 
    825   public static abstract interface CarCabinManager.CarCabinEventCallback {
    826     method public abstract void onChangeEvent(android.car.hardware.CarPropertyValue);
    827     method public abstract void onErrorEvent(int, int);
    828   }
    829 
    830 }
    831 
    832 package android.car.hardware.hvac {
    833 
    834   public final class CarHvacManager {
    835     method public boolean getBooleanProperty(int, int) throws android.car.CarNotConnectedException;
    836     method public float getFloatProperty(int, int) throws android.car.CarNotConnectedException;
    837     method public int getIntProperty(int, int) throws android.car.CarNotConnectedException;
    838     method public java.util.List<android.car.hardware.CarPropertyConfig> getPropertyList() throws android.car.CarNotConnectedException;
    839     method public static boolean isZonedProperty(int);
    840     method public synchronized void registerCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback) throws android.car.CarNotConnectedException;
    841     method public void setBooleanProperty(int, int, boolean) throws android.car.CarNotConnectedException;
    842     method public void setFloatProperty(int, int, float) throws android.car.CarNotConnectedException;
    843     method public void setIntProperty(int, int, int) throws android.car.CarNotConnectedException;
    844     method public synchronized void unregisterCallback(android.car.hardware.hvac.CarHvacManager.CarHvacEventCallback);
    845     field public static final int FAN_POSITION_DEFROST = 4; // 0x4
    846     field public static final int FAN_POSITION_DEFROST_AND_FLOOR = 5; // 0x5
    847     field public static final int FAN_POSITION_FACE = 1; // 0x1
    848     field public static final int FAN_POSITION_FACE_AND_FLOOR = 3; // 0x3
    849     field public static final int FAN_POSITION_FLOOR = 2; // 0x2
    850     field public static final int ID_MIRROR_DEFROSTER_ON = 1; // 0x1
    851     field public static final int ID_OUTSIDE_AIR_TEMP = 3; // 0x3
    852     field public static final int ID_STEERING_WHEEL_TEMP = 2; // 0x2
    853     field public static final int ID_TEMPERATURE_UNITS = 4; // 0x4
    854     field public static final int ID_WINDOW_DEFROSTER_ON = 20481; // 0x5001
    855     field public static final int ID_ZONED_AC_ON = 16393; // 0x4009
    856     field public static final int ID_ZONED_AIR_RECIRCULATION_ON = 16395; // 0x400b
    857     field public static final int ID_ZONED_AUTOMATIC_MODE_ON = 16394; // 0x400a
    858     field public static final int ID_ZONED_DUAL_ZONE_ON = 16397; // 0x400d
    859     field public static final int ID_ZONED_FAN_POSITION = 16391; // 0x4007
    860     field public static final int ID_ZONED_FAN_POSITION_AVAILABLE = 16390; // 0x4006
    861     field public static final int ID_ZONED_FAN_SPEED_RPM = 16389; // 0x4005
    862     field public static final int ID_ZONED_FAN_SPEED_SETPOINT = 16388; // 0x4004
    863     field public static final int ID_ZONED_HVAC_AUTO_RECIRC_ON = 16399; // 0x400f
    864     field public static final int ID_ZONED_HVAC_POWER_ON = 16387; // 0x4003
    865     field public static final int ID_ZONED_MAX_AC_ON = 16396; // 0x400c
    866     field public static final int ID_ZONED_MAX_DEFROST_ON = 16398; // 0x400e
    867     field public static final int ID_ZONED_SEAT_TEMP = 16392; // 0x4008
    868     field public static final int ID_ZONED_TEMP_ACTUAL = 16386; // 0x4002
    869     field public static final int ID_ZONED_TEMP_SETPOINT = 16385; // 0x4001
    870   }
    871 
    872   public static abstract interface CarHvacManager.CarHvacEventCallback {
    873     method public abstract void onChangeEvent(android.car.hardware.CarPropertyValue);
    874     method public abstract void onErrorEvent(int, int);
    875   }
    876 
    877 }
    878 
    879 package android.car.hardware.radio {
    880 
    881   public class CarRadioEvent implements android.os.Parcelable {
    882     ctor public CarRadioEvent(int, android.car.hardware.radio.CarRadioPreset);
    883     method public int describeContents();
    884     method public int getEventType();
    885     method public android.car.hardware.radio.CarRadioPreset getPreset();
    886     method public void writeToParcel(android.os.Parcel, int);
    887     field public static final android.os.Parcelable.Creator<android.car.hardware.radio.CarRadioEvent> CREATOR;
    888     field public static final int RADIO_PRESET = 0; // 0x0
    889   }
    890 
    891   public final class CarRadioManager {
    892     method public android.car.hardware.radio.CarRadioPreset getPreset(int) throws android.car.CarNotConnectedException;
    893     method public int getPresetCount() throws android.car.CarNotConnectedException;
    894     method public synchronized void registerListener(android.car.hardware.radio.CarRadioManager.CarRadioEventListener) throws android.car.CarNotConnectedException;
    895     method public boolean setPreset(android.car.hardware.radio.CarRadioPreset) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
    896     method public synchronized void unregisterListener();
    897   }
    898 
    899   public static abstract interface CarRadioManager.CarRadioEventListener {
    900     method public abstract void onEvent(android.car.hardware.radio.CarRadioEvent);
    901   }
    902 
    903   public class CarRadioPreset implements android.os.Parcelable {
    904     ctor public CarRadioPreset(int, int, int, int);
    905     method public int describeContents();
    906     method public int getBand();
    907     method public int getChannel();
    908     method public int getPresetNumber();
    909     method public int getSubChannel();
    910     method public void writeToParcel(android.os.Parcel, int);
    911     field public static final android.os.Parcelable.Creator<android.car.hardware.radio.CarRadioPreset> CREATOR;
    912   }
    913 
    914 }
    915 
    916 package android.car.input {
    917 
    918   public abstract class CarInputHandlingService extends android.app.Service {
    919     ctor protected CarInputHandlingService(android.car.input.CarInputHandlingService.InputFilter[]);
    920     method public android.os.IBinder onBind(android.content.Intent);
    921     method protected abstract void onKeyEvent(android.view.KeyEvent, int);
    922     field public static final int INPUT_CALLBACK_BINDER_CODE = 1; // 0x1
    923     field public static final java.lang.String INPUT_CALLBACK_BINDER_KEY = "callback_binder";
    924   }
    925 
    926   public static class CarInputHandlingService.InputFilter implements android.os.Parcelable {
    927     ctor public CarInputHandlingService.InputFilter(int, int);
    928     method public int describeContents();
    929     method public void writeToParcel(android.os.Parcel, int);
    930     field public static final android.os.Parcelable.Creator CREATOR;
    931     field public final int mKeyCode;
    932     field public final int mTargetDisplay;
    933   }
    934 
    935 }
    936 
    937 package android.car.media {
    938 
    939   public final class CarAudioManager {
    940     method public void abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
    941     method public android.media.AudioAttributes getAudioAttributesForCarUsage(int) throws android.car.CarNotConnectedException;
    942     method public int getStreamMaxVolume(int) throws android.car.CarNotConnectedException;
    943     method public int getStreamMinVolume(int) throws android.car.CarNotConnectedException;
    944     method public int getStreamVolume(int) throws android.car.CarNotConnectedException;
    945     method public boolean isMediaMuted() throws android.car.CarNotConnectedException;
    946     method public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
    947     method public boolean setMediaMute(boolean) throws android.car.CarNotConnectedException;
    948     method public void setStreamVolume(int, int, int) throws android.car.CarNotConnectedException;
    949     method public void setVolumeController(android.media.IVolumeController) throws android.car.CarNotConnectedException;
    950     field public static final int CAR_AUDIO_USAGE_ALARM = 6; // 0x6
    951     field public static final int CAR_AUDIO_USAGE_DEFAULT = 0; // 0x0
    952     field public static final int CAR_AUDIO_USAGE_MUSIC = 1; // 0x1
    953     field public static final int CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE = 3; // 0x3
    954     field public static final int CAR_AUDIO_USAGE_NOTIFICATION = 7; // 0x7
    955     field public static final int CAR_AUDIO_USAGE_RADIO = 2; // 0x2
    956     field public static final int CAR_AUDIO_USAGE_RINGTONE = 10; // 0xa
    957     field public static final int CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT = 9; // 0x9
    958     field public static final int CAR_AUDIO_USAGE_SYSTEM_SOUND = 8; // 0x8
    959     field public static final int CAR_AUDIO_USAGE_VOICE_CALL = 4; // 0x4
    960     field public static final int CAR_AUDIO_USAGE_VOICE_COMMAND = 5; // 0x5
    961   }
    962 
    963 }
    964 
    965 package android.car.navigation {
    966 
    967   public class CarNavigationInstrumentCluster implements android.os.Parcelable {
    968     ctor public CarNavigationInstrumentCluster(android.car.navigation.CarNavigationInstrumentCluster);
    969     method public static android.car.navigation.CarNavigationInstrumentCluster createCluster(int);
    970     method public static android.car.navigation.CarNavigationInstrumentCluster createCustomImageCluster(int, int, int, int);
    971     method public int describeContents();
    972     method public int getImageColorDepthBits();
    973     method public int getImageHeight();
    974     method public int getImageWidth();
    975     method public int getMinIntervalMillis();
    976     method public int getType();
    977     method public boolean supportsCustomImages();
    978     method public void writeToParcel(android.os.Parcel, int);
    979     field public static final int CLUSTER_TYPE_CUSTOM_IMAGES_SUPPORTED = 1; // 0x1
    980     field public static final int CLUSTER_TYPE_IMAGE_CODES_ONLY = 2; // 0x2
    981     field public static final android.os.Parcelable.Creator<android.car.navigation.CarNavigationInstrumentCluster> CREATOR;
    982   }
    983 
    984 }
    985 
    986 package android.car.settings {
    987 
    988   public class CarSettings {
    989     ctor public CarSettings();
    990   }
    991 
    992   public static final class CarSettings.Global {
    993     ctor public CarSettings.Global();
    994     field public static final java.lang.String KEY_GARAGE_MODE_ENABLED = "android.car.GARAGE_MODE_ENABLED";
    995     field public static final java.lang.String KEY_GARAGE_MODE_MAINTENANCE_WINDOW = "android.car.GARAGE_MODE_MAINTENANCE_WINDOW";
    996     field public static final java.lang.String KEY_GARAGE_MODE_WAKE_UP_TIME = "android.car.GARAGE_MODE_WAKE_UP_TIME";
    997   }
    998 
    999 }
   1000 
   1001 package android.car.test {
   1002 
   1003   public class CarTestManagerBinderWrapper {
   1004     ctor public CarTestManagerBinderWrapper(android.os.IBinder);
   1005     method public void onCarDisconnected();
   1006     field public final android.os.IBinder binder;
   1007   }
   1008 
   1009 }
   1010 
   1011