Merge "Move boottime tools to system/extra" into pi-dev am: 99130c5c6c
am: 1ec31ea200

Change-Id: I0c4b7771b224721dd59d52aa43b4f485a404e61f
diff --git a/car-lib/api/current.txt b/car-lib/api/current.txt
index b2b7b8e..b1d19e7 100644
--- a/car-lib/api/current.txt
+++ b/car-lib/api/current.txt
@@ -17,9 +17,19 @@
     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_ADJUST_CAR_CLIMATE = "android.car.permission.ADJUST_CAR_CLIMATE";
     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_INFO = "android.car.permission.CAR_INFO";
+    field public static final java.lang.String PERMISSION_ENGINE = "android.car.permission.CAR_ENGINE";
+    field public static final java.lang.String PERMISSION_EV = "android.car.permission.CAR_EV";
+    field public static final java.lang.String PERMISSION_EV_DETAILED = "android.car.permission.CAR_EV_DETAILED";
+    field public static final java.lang.String PERMISSION_EXTERIOR_CLIMATE = "android.car.permission.CAR_EXTERIOR_CLIMATE ";
     field public static final java.lang.String PERMISSION_FUEL = "android.car.permission.CAR_FUEL";
+    field public static final java.lang.String PERMISSION_FUEL_DETAILED = "android.car.permission.CAR_FUEL_DETAILED";
+    field public static final java.lang.String PERMISSION_GEAR = "android.car.permission.CAR_GEAR";
+    field public static final java.lang.String PERMISSION_LIGHTS = "android.car.permission.CAR_LIGHTS";
     field public static final java.lang.String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
+    field public static final java.lang.String PERMISSION_RANGE = "android.car.permission.CAR_RANGE";
     field public static final java.lang.String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
     field public static final java.lang.String PERMISSION_VEHICLE_DYNAMICS_STATE = "android.car.permission.VEHICLE_DYNAMICS_STATE";
     field public static final java.lang.String SENSOR_SERVICE = "sensor";
diff --git a/car-lib/api/system-current.txt b/car-lib/api/system-current.txt
index 35a0cb2..f728fdc 100644
--- a/car-lib/api/system-current.txt
+++ b/car-lib/api/system-current.txt
@@ -6,7 +6,6 @@
     field public static final java.lang.String DIAGNOSTIC_SERVICE = "diagnostic";
     field public static final java.lang.String HVAC_SERVICE = "hvac";
     field public static final java.lang.String PERMISSION_ADJUST_CAR_CABIN = "android.car.permission.ADJUST_CAR_CABIN";
-    field public static final java.lang.String PERMISSION_ADJUST_CAR_CLIMATE = "android.car.permission.ADJUST_CAR_CLIMATE";
     field public static final java.lang.String PERMISSION_CAR_DIAGNOSTIC_CLEAR = "android.car.permission.CLEAR_CAR_DIAGNOSTICS";
     field public static final java.lang.String PERMISSION_CAR_DIAGNOSTIC_READ_ALL = "android.car.permission.CAR_DIAGNOSTICS";
     field public static final java.lang.String PERMISSION_CAR_DRIVING_STATE = "android.car.permission.CAR_DRIVING_STATE";
diff --git a/car-lib/src/android/car/Car.java b/car-lib/src/android/car/Car.java
index 66259e9..56de871 100644
--- a/car-lib/src/android/car/Car.java
+++ b/car-lib/src/android/car/Car.java
@@ -181,7 +181,17 @@
     public static final String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
 
     /** Permission necessary to access car's fuel level. */
-    public static final String PERMISSION_FUEL = "android.car.permission.CAR_FUEL";
+    public static final String PERMISSION_FUEL_DETAILED =
+        "android.car.permission.CAR_FUEL_DETAILED";
+
+    /** Permission necessary to access car's fuel door status and fuel_level_low. */
+    public static final String PERMISSION_FUEL =  "android.car.permission.CAR_FUEL";
+
+    /** Permission necessary to access car's ev detailed status. */
+    public static final String PERMISSION_EV_DETAILED = "android.car.permission.CAR_EV_DETAILED";
+
+    /** Permission necessary to access car's ev status. */
+    public static final String PERMISSION_EV = "android.car.permission.CAR_EV";
 
     /** Permission necessary to access car's speed. */
     public static final String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
@@ -190,6 +200,13 @@
     public static final String PERMISSION_VEHICLE_DYNAMICS_STATE =
         "android.car.permission.VEHICLE_DYNAMICS_STATE";
 
+    /** Permission necessary to use {@link CarInfoManager}. */
+    public static final String PERMISSION_CAR_INFO = "android.car.permission.CAR_INFO";
+
+    /**Permission necessary to access outside temperature.*/
+    public static final String PERMISSION_EXTERIOR_CLIMATE =
+        "android.car.permission.CAR_EXTERIOR_CLIMATE ";
+
     /**
      * Permission necessary to change car audio volume through {@link CarAudioManager}.
      */
@@ -248,7 +265,8 @@
      * @hide
      */
     @SystemApi
-    public static final String PERMISSION_ADJUST_CAR_CABIN = "android.car.permission.ADJUST_CAR_CABIN";
+    public static final String PERMISSION_ADJUST_CAR_CABIN =
+        "android.car.permission.ADJUST_CAR_CABIN";
 
     /**
      * Permission necessary to access car's engine information.
@@ -258,12 +276,21 @@
     public static final String PERMISSION_CAR_ENGINE_DETAILED =
         "android.car.permission.CAR_ENGINE_DETAILED";
 
-    /**
-     * Permission necessary to access Car HVAC APIs.
-     * @hide
-     */
-    @SystemApi
-    public static final String PERMISSION_ADJUST_CAR_CLIMATE = "android.car.permission.ADJUST_CAR_CLIMATE";
+    /**Permission necessary to access car's engine information.*/
+    public static final String PERMISSION_ENGINE = "android.car.permission.CAR_ENGINE";
+
+    /**Permission necessary to access range remaining.*/
+    public static final String PERMISSION_RANGE= "android.car.permission.CAR_RANGE";
+
+    /** Permission necessary to access car's gear information.*/
+    public static final String PERMISSION_GEAR = "android.car.permission.CAR_GEAR";
+
+    /** Permission necessary to access car's lights information.*/
+    public static final String PERMISSION_LIGHTS = "android.car.permission.CAR_LIGHTS";
+
+    /**Permission necessary to access Car HVAC APIs.*/
+    public static final String PERMISSION_ADJUST_CAR_CLIMATE =
+        "android.car.permission.ADJUST_CAR_CLIMATE";
 
     /**
      * Permission necessary to access Car RADIO system APIs.
diff --git a/car-lib/src/android/car/hardware/CarSensorManager.java b/car-lib/src/android/car/hardware/CarSensorManager.java
index c17605c..34cd635 100644
--- a/car-lib/src/android/car/hardware/CarSensorManager.java
+++ b/car-lib/src/android/car/hardware/CarSensorManager.java
@@ -31,7 +31,6 @@
 import android.os.RemoteException;
 import android.util.Log;
 import android.util.SparseArray;
-import android.util.SparseIntArray;
 
 import com.android.car.internal.CarRatedListeners;
 import com.android.car.internal.SingleMessageHandler;
@@ -40,7 +39,6 @@
 import java.lang.annotation.RetentionPolicy;
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 import java.util.function.Consumer;
 
@@ -58,6 +56,7 @@
     public static final int SENSOR_TYPE_CAR_SPEED                   = 2;
     /**
      * Represents engine RPM of the car. Sensor data in {@link CarSensorEvent} is a float.
+     * This requires {@link Car#PERMISSION_CAR_ENGINE_DETAILED} permission.
      */
     public static final int SENSOR_TYPE_RPM                         = 3;
     /**
@@ -68,7 +67,7 @@
     /**
      * Indicates fuel level of the car.
      * In {@link CarSensorEvent}, represents fuel level in milliliters.
-     * This requires {@link Car#PERMISSION_FUEL} permission.
+     * This requires {@link Car#PERMISSION_FUEL_DETAILED} permission.
      */
     public static final int SENSOR_TYPE_FUEL_LEVEL                  = 5;
     /**
@@ -82,6 +81,7 @@
      * This represents the current position of transmission gear. Sensor data in
      * {@link CarSensorEvent} is an intValues[0]. For the meaning of the value, check
      * {@link CarSensorEvent#GEAR_NEUTRAL} and other GEAR_*.
+     * This requires {@link Car#PERMISSION_GEAR} permission
      */
     public static final int SENSOR_TYPE_GEAR                        = 7;
     /** @hide */
@@ -122,6 +122,7 @@
     /**
      * Represents ignition state. The value should be one of the constants that starts with
      * IGNITION_STATE_* in {@link CarSensorEvent}.
+     * This requires {@link Car#PERMISSION_ENGINE} permission.
      */
     public static final int SENSOR_TYPE_IGNITION_STATE              = 22;
     /**
@@ -144,6 +145,7 @@
     public static final int SENSOR_TYPE_TRACTION_CONTROL_ACTIVE     = 25;
     /**
      * Set to true if the engine is on.
+     * This requires {@link Car#PERMISSION_ENGINE} permission.
      */
     public static final int SENSOR_TYPE_ENGINE_ON                   = 26;
     /**
@@ -157,20 +159,22 @@
      * CarSensorEvent#INDEX_EV_BATTERY_CAPACITY_ACTUAL}] represents the actual battery capacity in
      * WH.  The battery degrades over time, so this value is expected to drop slowly over the life
      * of the vehicle.
-     * This requires {@link Car#PERMISSION_FUEL} permission.
+     * This requires {@link Car#PERMISSION_FUEL_DETAILED} permission.
      */
     public static final int SENSOR_TYPE_EV_BATTERY_LEVEL            = 28;
     /**
      * Set to true if EV charging port is open.
+     * This requires {@link Car#PERMISSION_EV} permission.
      */
     public static final int SENSOR_TYPE_EV_CHARGE_PORT_OPEN         = 29;
     /**
      * Set to true if EV charging port is connected.
+     * This requires {@link Car#PERMISSION_EV} permission.
      */
     public static final int SENSOR_TYPE_EV_CHARGE_PORT_CONNECTED    = 30;
     /**
      *  Indicates the instantaneous battery charging rate in mW.
-     *  This requires {@link Car#PERMISSION_FUEL} permission.
+     *  This requires {@link Car#PERMISSION_FUEL_DETAILED} permission.
      */
     public static final int SENSOR_TYPE_EV_BATTERY_CHARGE_RATE      = 31;
     /**
@@ -353,7 +357,7 @@
      * <p>
      * Requires {@link Car#PERMISSION_SPEED} for {@link #SENSOR_TYPE_CAR_SPEED} and
      *  {@link #SENSOR_TYPE_WHEEL_TICK_DISTANCE}, {@link Car#PERMISSION_MILEAGE} for
-     *  {@link #SENSOR_TYPE_ODOMETER}, {@link Car#PERMISSION_FUEL} for
+     *  {@link #SENSOR_TYPE_ODOMETER}, {@link Car#PERMISSION_FUEL_DETAILED} for
      *  {@link #SENSOR_TYPE_FUEL_LEVEL} and (@link #SENSOR_TYPE_EV_BATTERY_LEVEL and
      *  {@link #SENSOR_TYPE_EV_CHARGE_RATE}, {@link Car#PERMISSION_VEHICLE_DYNAMICS_STATE} for
      *  {@link #SENSOR_TYPE_ABS_ACTIVE} and {@link #SENSOR_TYPE_TRACTION_CONTROL_ACTIVE}
@@ -373,7 +377,7 @@
      * @throws SecurityException if missing the appropriate permission
      */
     @RequiresPermission(anyOf={Manifest.permission.ACCESS_FINE_LOCATION, Car.PERMISSION_SPEED,
-            Car.PERMISSION_MILEAGE, Car.PERMISSION_FUEL, Car.PERMISSION_VEHICLE_DYNAMICS_STATE},
+            Car.PERMISSION_MILEAGE, Car.PERMISSION_FUEL_DETAILED, Car.PERMISSION_VEHICLE_DYNAMICS_STATE},
             conditional=true)
     public boolean registerListener(OnSensorChangedListener listener, @SensorType int sensorType,
             @SensorRate int rate) throws CarNotConnectedException, IllegalArgumentException {
diff --git a/car-lib/src/android/car/media/CarAudioManager.java b/car-lib/src/android/car/media/CarAudioManager.java
index 8245d35..e46754a 100644
--- a/car-lib/src/android/car/media/CarAudioManager.java
+++ b/car-lib/src/android/car/media/CarAudioManager.java
@@ -108,7 +108,7 @@
         try {
             return mService.getGroupMaxVolume(groupId);
         } catch (RemoteException e) {
-            Log.e(CarLibLog.TAG_CAR, "getUsageMaxVolume failed", e);
+            Log.e(CarLibLog.TAG_CAR, "getGroupMaxVolume failed", e);
             throw new CarNotConnectedException(e);
         }
     }
@@ -126,7 +126,7 @@
         try {
             return mService.getGroupMinVolume(groupId);
         } catch (RemoteException e) {
-            Log.e(CarLibLog.TAG_CAR, "getUsageMinVolume failed", e);
+            Log.e(CarLibLog.TAG_CAR, "getGroupMinVolume failed", e);
             throw new CarNotConnectedException(e);
         }
     }
@@ -147,7 +147,7 @@
         try {
             return mService.getGroupVolume(groupId);
         } catch (RemoteException e) {
-            Log.e(CarLibLog.TAG_CAR, "getUsageVolume failed", e);
+            Log.e(CarLibLog.TAG_CAR, "getGroupVolume failed", e);
             throw new CarNotConnectedException(e);
         }
     }
diff --git a/car-support-lib/proguard-release.flags b/car-support-lib/proguard-release.flags
index 2257f99..021149a 100644
--- a/car-support-lib/proguard-release.flags
+++ b/car-support-lib/proguard-release.flags
@@ -750,7 +750,6 @@
     public void finishAndRemoveTask();
     public void finishFromChild(android.app.Activity);
     public android.app.ActionBar getActionBar();
-    public android.app.ActivityThread getActivityThread();
     public android.os.IBinder getActivityToken();
     public android.app.Application getApplication();
     public android.view.autofill.AutofillManager$AutofillClient getAutofillClient();
@@ -1491,14 +1490,13 @@
 }
 
 -keep class android.app.ActivityManager$TaskSnapshot {
-    <init>(android.graphics.GraphicBuffer, int, android.graphics.Rect, boolean, float, boolean);
+    <init>(android.graphics.GraphicBuffer, int, android.graphics.Rect, boolean, float);
 
     public int describeContents();
     public android.graphics.Rect getContentInsets();
     public int getOrientation();
     public float getScale();
     public android.graphics.GraphicBuffer getSnapshot();
-    public boolean isRealSnapshot();
     public boolean isReducedResolution();
     public java.lang.String toString();
     public void writeToParcel(android.os.Parcel, int);
@@ -1845,7 +1843,6 @@
     public static int permissionToOpCode(java.lang.String);
     public void resetAllModes();
     public void setMode(int, int, java.lang.String, int);
-    public void setMode(java.lang.String, int, java.lang.String, int);
     public void setRestriction(int, int, int, java.lang.String[]);
     public void setUidMode(int, int, int);
     public void setUidMode(java.lang.String, int, int);
@@ -2075,7 +2072,6 @@
     <init>();
 
     public android.view.autofill.AutofillManager$AutofillClient getAutofillClient();
-    public static java.lang.String getProcessName();
     public void onConfigurationChanged(android.content.res.Configuration);
     public void onCreate();
     public void onLowMemory();
@@ -4376,7 +4372,6 @@
     public int describeContents();
     public void dump(boolean);
     public void ensureData();
-    public void ensureDataForAutofill();
     public long getAcquisitionEndTime();
     public long getAcquisitionStartTime();
     public android.content.ComponentName getActivityComponent();
@@ -5006,6 +5001,7 @@
     public void registerContentObserver(android.net.Uri, boolean, android.database.ContentObserver);
     public void registerContentObserver(android.net.Uri, boolean, android.database.ContentObserver, int);
     public void releasePersistableUriPermission(android.net.Uri, int);
+    public void releasePersistableUriPermission(java.lang.String, android.net.Uri, int);
     public abstract boolean releaseProvider(android.content.IContentProvider);
     public abstract boolean releaseUnstableProvider(android.content.IContentProvider);
     public static void removePeriodicSync(android.accounts.Account, java.lang.String, android.os.Bundle);
@@ -5942,7 +5938,6 @@
     public static java.lang.String ACTION_ASSIST;
     public static java.lang.String ACTION_ATTACH_DATA;
     public static java.lang.String ACTION_BATTERY_CHANGED;
-    public static java.lang.String ACTION_BATTERY_LEVEL_CHANGED;
     public static java.lang.String ACTION_BATTERY_LOW;
     public static java.lang.String ACTION_BATTERY_OKAY;
     public static java.lang.String ACTION_BOOT_COMPLETED;
@@ -9809,7 +9804,6 @@
     public static int CONFLICT_REPLACE;
     public static int CONFLICT_ROLLBACK;
     public static int CREATE_IF_NECESSARY;
-    public static int DISABLE_COMPATIBILITY_WAL;
     public static int ENABLE_WRITE_AHEAD_LOGGING;
     public static int MAX_SQL_CACHE_SIZE;
     public static int NO_LOCALIZED_COLLATORS;
@@ -9888,6 +9882,7 @@
     public int openFlags;
     public java.lang.String path;
     public java.lang.String syncMode;
+    public boolean useCompatibilityWal;
 }
 
 -keep class android.database.sqlite.SQLiteDebug {
@@ -10583,6 +10578,7 @@
     public boolean addFont(java.lang.String, int, android.graphics.fonts.FontVariationAxis[], int, int);
     public boolean addFontFromAssetManager(android.content.res.AssetManager, java.lang.String, int, boolean, int, int, int, android.graphics.fonts.FontVariationAxis[]);
     public boolean addFontFromBuffer(java.nio.ByteBuffer, int, android.graphics.fonts.FontVariationAxis[], int, int);
+    protected void finalize();
     public boolean freeze();
 
 
@@ -11487,6 +11483,7 @@
     public static android.graphics.Typeface createFromTypefaceWithVariation(android.graphics.Typeface, java.util.List);
     public static android.graphics.Typeface defaultFromStyle(int);
     public boolean equals(java.lang.Object);
+    protected void finalize();
     public static android.graphics.Typeface findFromCache(android.content.res.AssetManager, java.lang.String);
     public int getStyle();
     public int getWeight();
@@ -12092,10 +12089,9 @@
     public static int[] SDK_USAGES;
     public static int SUPPRESSIBLE_ALARM;
     public static int SUPPRESSIBLE_CALL;
-    public static int SUPPRESSIBLE_MEDIA;
+    public static int SUPPRESSIBLE_MEDIA_SYSTEM_OTHER;
     public static int SUPPRESSIBLE_NEVER;
     public static int SUPPRESSIBLE_NOTIFICATION;
-    public static int SUPPRESSIBLE_SYSTEM;
     public static android.util.SparseIntArray SUPPRESSIBLE_USAGES;
     public static int USAGE_ALARM;
     public static int USAGE_ASSISTANCE_ACCESSIBILITY;
@@ -16116,14 +16112,17 @@
 }
 
 -keep class android.view.DisplayCutout {
-    <init>(android.graphics.Rect, java.util.List);
+    <init>(android.graphics.Rect, android.graphics.Region);
+    <init>(android.graphics.Rect, android.graphics.Region, android.util.Size);
 
+    public android.view.DisplayCutout calculateRelativeTo(android.graphics.Rect);
+    public android.view.DisplayCutout computeSafeInsets(int, int);
     public boolean equals(java.lang.Object);
     public static android.view.DisplayCutout fromBoundingRect(int, int, int, int);
     public static android.view.DisplayCutout fromBounds(android.graphics.Path);
-    public static android.view.DisplayCutout fromResources(android.content.res.Resources, int, int);
-    public static android.view.DisplayCutout fromSpec(java.lang.String, int, int, float);
-    public java.util.List getBoundingRects();
+    public static android.view.DisplayCutout fromResources(android.content.res.Resources, int);
+    public static android.view.DisplayCutout fromSpec(java.lang.String, int, float);
+    public android.graphics.Rect getBoundingRect();
     public android.graphics.Region getBounds();
     public int getSafeInsetBottom();
     public int getSafeInsetLeft();
@@ -16132,9 +16131,7 @@
     public android.graphics.Rect getSafeInsets();
     public int hashCode();
     public android.view.DisplayCutout inset(int, int, int, int);
-    public boolean isBoundsEmpty();
     public boolean isEmpty();
-    public android.view.DisplayCutout replaceSafeInsets(android.graphics.Rect);
     public java.lang.String toString();
     public void writeToProto(android.util.proto.ProtoOutputStream, long);
 
@@ -16338,7 +16335,6 @@
 
     public abstract void finish(boolean);
     public abstract android.app.ActivityManager$TaskSnapshot screenshotTask(int);
-    public abstract void setAnimationTargetsBehindSystemBars(boolean);
     public abstract void setInputConsumerEnabled(boolean);
 
 
@@ -17702,11 +17698,9 @@
     <init>(android.os.Parcel);
 
     public int describeContents();
-    public int getCallingPid();
     public long getDuration();
     public android.view.IRemoteAnimationRunner getRunner();
     public long getStatusBarTransitionDelay();
-    public void setCallingPid(int);
     public void writeToParcel(android.os.Parcel, int);
 
 
@@ -17717,12 +17711,10 @@
     <init>();
     <init>(android.os.Parcel);
 
-    public void addRemoteAnimation(int, int, android.view.RemoteAnimationAdapter);
     public void addRemoteAnimation(int, android.view.RemoteAnimationAdapter);
     public int describeContents();
-    public android.view.RemoteAnimationAdapter getAdapter(int, android.util.ArraySet);
-    public boolean hasTransition(int, android.util.ArraySet);
-    public void setCallingPid(int);
+    public android.view.RemoteAnimationAdapter getAdapter(int);
+    public boolean hasTransition(int);
     public void writeToParcel(android.os.Parcel, int);
 
 
@@ -17730,13 +17722,11 @@
 }
 
 -keep class android.view.RemoteAnimationTarget {
-    <init>(int, int, android.view.SurfaceControl, boolean, android.graphics.Rect, android.graphics.Rect, int, android.graphics.Point, android.graphics.Rect, android.app.WindowConfiguration, boolean);
+    <init>(int, int, android.view.SurfaceControl, boolean, android.graphics.Rect, android.graphics.Rect, int, android.graphics.Point, android.graphics.Rect, android.app.WindowConfiguration);
     <init>(android.os.Parcel);
 
     public int describeContents();
-    public void dump(java.io.PrintWriter, java.lang.String);
     public void writeToParcel(android.os.Parcel, int);
-    public void writeToProto(android.util.proto.ProtoOutputStream, long);
 
 
     public static android.os.Parcelable$Creator CREATOR;
@@ -17744,7 +17734,6 @@
     public static int MODE_OPENING;
     public android.graphics.Rect clipRect;
     public android.graphics.Rect contentInsets;
-    public boolean isNotInRecents;
     public boolean isTranslucent;
     public android.view.SurfaceControl leash;
     public int mode;
@@ -17922,7 +17911,6 @@
     public boolean isValid();
     public android.graphics.Canvas lockCanvas(android.graphics.Rect);
     public android.graphics.Canvas lockHardwareCanvas();
-    public android.graphics.Canvas lockHardwareWideColorGamutCanvas();
     public void readFromParcel(android.os.Parcel);
     public void release();
     public static java.lang.String rotationToString(int);
@@ -18168,6 +18156,7 @@
     public void setResizeBackgroundColor(int);
     public void setSecure(boolean);
     public void setVisibility(int);
+    public void setWindowType(int);
     public void setZOrderMediaOverlay(boolean);
     public void setZOrderOnTop(boolean);
     public void surfacePositionLost_uiRtSync(long);
@@ -20754,7 +20743,6 @@
     public static int LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
     public static int LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT;
     public static int LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;
-    public static int LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
     public static int MEMORY_TYPE_CHANGED;
     public static int MEMORY_TYPE_GPU;
     public static int MEMORY_TYPE_HARDWARE;
@@ -21251,7 +21239,7 @@
     public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SET_TEXT;
     public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SHOW_ON_SCREEN;
     public static android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction ACTION_SHOW_TOOLTIP;
-    public long mSerializationFlag;
+    public int mSerializationFlag;
     public static android.util.ArraySet sStandardActions;
 }
 
diff --git a/service/AndroidManifest.xml b/service/AndroidManifest.xml
index a25df87..4d3d3f4 100644
--- a/service/AndroidManifest.xml
+++ b/service/AndroidManifest.xml
@@ -38,17 +38,58 @@
         android:label="@string/car_permission_label_camera"
         android:description="@string/car_permission_desc_camera" />
     <permission
-        android:name="android.car.permission.CAR_FUEL"
+        android:name="android.car.permission.CAR_FUEL_DETAILED"
         android:permissionGroup="android.car.permission-group.CAR_MONITORING"
         android:protectionLevel="dangerous"
+        android:label="@string/car_permission_label_fuel_detailed"
+        android:description="@string/car_permission_desc_fuel_detailed" />
+    <permission
+        android:name="android.car.permission.CAR_FUEL"
+        android:permissionGroup="android.car.permission-group.CAR_MONITORING"
+        android:protectionLevel="normal"
         android:label="@string/car_permission_label_fuel"
         android:description="@string/car_permission_desc_fuel" />
     <permission
+        android:name="android.car.permission.CAR_RANGE"
+        android:permissionGroup="android.car.permission-group.CAR_MONITORING"
+        android:protectionLevel="dangerous"
+        android:label="@string/car_permission_label_range"
+        android:description="@string/car_permission_desc_range" />
+    <permission
+        android:name="android.car.permission.CAR_EV"
+        android:permissionGroup="android.car.permission-group.CAR_MONITORING"
+        android:protectionLevel="normal"
+        android:label="@string/car_permission_label_ev"
+        android:description="@string/car_permission_desc_ev" />
+    <permission
+        android:name="android.car.permission.CAR_EV_DETAILED"
+        android:permissionGroup="android.car.permission-group.CAR_MONITORING"
+        android:protectionLevel="dangerous"
+        android:label="@string/car_permission_label_ev_detailed"
+        android:description="@string/car_permission_desc_ev_detailed" />
+    <permission
+        android:name="android.car.permission.CAR_GEAR"
+        android:permissionGroup="android.car.permission-group.CAR_MONITORING"
+        android:protectionLevel="normal"
+        android:label="@string/car_permission_label_car_gear"
+        android:description="@string/car_permission_desc_car_gear" />
+    <permission
+        android:name="android.car.permission.CAR_LIGHTS"
+        android:permissionGroup="android.car.permission-group.CAR_MONITORING"
+        android:protectionLevel="normal"
+        android:label="@string/car_permission_label_car_lights"
+        android:description="@string/car_permission_desc_car_lights" />
+    <permission
         android:name="android.car.permission.ADJUST_CAR_CLIMATE"
         android:protectionLevel="system|signature"
         android:label="@string/car_permission_label_hvac"
         android:description="@string/car_permission_desc_hvac" />
     <permission
+        android:name="android.car.permission.CAR_EXTERIOR_CLIMATE"
+        android:protectionLevel="normal"
+        android:label="@string/car_permission_label_exterior_climate"
+        android:description="@string/car_permission_desc_exterior_climate" />
+    <permission
         android:name="android.car.permission.CAR_MILEAGE"
         android:permissionGroup="android.car.permission-group.CAR_MONITORING"
         android:protectionLevel="system|signature"
@@ -67,6 +108,17 @@
         android:label="@string/car_permission_label_car_engine_detailed"
         android:description="@string/car_permission_desc_car_engine_detailed" />
     <permission
+        android:name="android.car.permission.CAR_ENGINE"
+        android:permissionGroup="android.car.permission-group.CAR_MONITORING"
+        android:protectionLevel="normal"
+        android:label="@string/car_permission_label_car_engine"
+        android:description="@string/car_permission_desc_car_engine" />
+    <permission
+        android:name="android.car.permission.CAR_INFO"
+        android:protectionLevel="normal"
+        android:label="@string/car_permission_label_car_info"
+        android:description="@string/car_permission_desc_car_info" />
+    <permission
         android:name="android.car.permission.VEHICLE_DYNAMICS_STATE"
         android:permissionGroup="android.car.permission-group.CAR_MONITORING"
         android:protectionLevel="system|signature"
diff --git a/service/res/values/strings.xml b/service/res/values/strings.xml
index d483984..b8960ca 100644
--- a/service/res/values/strings.xml
+++ b/service/res/values/strings.xml
@@ -32,6 +32,10 @@
     <string name="car_permission_label_fuel">Car fuel level</string>
     <!-- Permission text: can access your car's fuel level [CHAR LIMIT=NONE] -->
     <string name="car_permission_desc_fuel">Access your car\'s fuel level information.</string>
+    <!-- Permission text: can access your car's fuel level detailed information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_fuel_detailed">Car fuel level detailed </string>
+    <!-- Permission text: can access your car's fuel level detailed [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_fuel_detailed">Access your car\'s fuel level detailed information.</string>
     <!-- Permission text: apps can control car hvac [CHAR LIMIT=NONE] -->
     <string name="car_permission_label_hvac">Car Hvac</string>
     <!-- Permission text: apps can control car hvac [CHAR LIMIT=NONE] -->
@@ -136,8 +140,48 @@
     <!-- Permission text: apps can listen to driving state changes [CHAR LIMIT=NONE] -->
     <string name="car_permission_desc_driving_state">Listen to Driving state changes </string>
 
-    <!-- Permission text: apps read Engine Detailed [CHAR LIMIT=NONE] -->
+    <!-- Permission text: apps read Engine Detailed information[CHAR LIMIT=NONE] -->
     <string name="car_permission_label_car_engine_detailed">Engine Detailed</string>
     <!-- Permission text: apps can listen to Engine Detailed [CHAR LIMIT=NONE] -->
-    <string name="car_permission_desc_car_engine_detailed">Read Engine Detailed</string>
+    <string name="car_permission_desc_car_engine_detailed">Access your car\'s engine detailed information</string>
+
+    <!-- Permission text: apps read car engine information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_car_engine">Car engine</string>
+    <!-- Permission text: apps read car engine information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_car_engine">Access your car\'s engine information</string>
+
+    <!-- Permission text: apps read car's ev information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_ev">Car EV level</string>
+    <!-- Permission text: apps read car's ev information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_ev">Access your car\'s EV level information</string>
+
+    <!-- Permission text: apps read car's ev detailed information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_ev_detailed">Car ev level detailed</string>
+    <!-- Permission text: apps read car's ev detailed information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_ev_detailed">Access your car\'s ev level detailed information</string>
+
+    <!-- Permission text: apps read car's gear information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_car_gear">Car gear</string>
+    <!-- Permission text: apps read car's gear information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_car_gear">Access your car\'s gear information</string>
+
+    <!-- Permission text: apps access car's lights state [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_car_lights">Car lights</string>
+    <!-- Permission text: apps access car's lights state [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_car_lights">Access your car lights state</string>
+
+    <!-- Permission text: apps read exterior temperature [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_exterior_climate">Exterior climate</string>
+    <!-- Permission text: apps read exterior temperature [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_exterior_climate">Access Exterior climate</string>
+
+    <!-- Permission text: apps read car's basic information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_car_info">Car basic information</string>
+    <!-- Permission text: apps read car's basic information [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_car_info">Access car basic information</string>
+
+    <!-- Permission text: apps access range remaining [CHAR LIMIT=NONE] -->
+    <string name="car_permission_label_range">Car range remaining</string>
+    <!-- Permission text: apps access range remaining [CHAR LIMIT=NONE] -->
+    <string name="car_permission_desc_range">Access range remaining of car</string>
 </resources>
diff --git a/service/src/com/android/car/CarSensorService.java b/service/src/com/android/car/CarSensorService.java
index a5000c8..f1b9b6d 100644
--- a/service/src/com/android/car/CarSensorService.java
+++ b/service/src/com/android/car/CarSensorService.java
@@ -26,7 +26,6 @@
 import android.car.hardware.ICarSensorEventListener;
 import android.content.Context;
 import android.content.pm.PackageManager;
-import android.content.res.Resources;
 import android.os.Binder;
 import android.os.Handler;
 import android.os.HandlerThread;
@@ -444,6 +443,21 @@
         }
         String permission = null;
         switch (sensorType) {
+            case CarSensorManager.SENSOR_TYPE_EV_CHARGE_PORT_OPEN:
+            case CarSensorManager.SENSOR_TYPE_EV_CHARGE_PORT_CONNECTED:
+                permission = Car.PERMISSION_EV;
+                break;
+            case CarSensorManager.SENSOR_TYPE_IGNITION_STATE:
+            case CarSensorManager.SENSOR_TYPE_ENGINE_ON:
+                permission = Car.PERMISSION_ENGINE;
+                break;
+            case CarSensorManager.SENSOR_TYPE_RPM:
+            case CarSensorManager.SENSOR_TYPE_ENGINE_OIL_LEVEL:
+                permission = Car.PERMISSION_CAR_ENGINE_DETAILED;
+                break;
+            case CarSensorManager.SENSOR_TYPE_GEAR:
+                permission = Car.PERMISSION_GEAR;
+                break;
             case CarSensorManager.SENSOR_TYPE_CAR_SPEED:
             case CarSensorManager.SENSOR_TYPE_WHEEL_TICK_DISTANCE:
                 permission = Car.PERMISSION_SPEED;
@@ -452,9 +466,11 @@
                 permission = Car.PERMISSION_MILEAGE;
                 break;
             case CarSensorManager.SENSOR_TYPE_FUEL_LEVEL:
+                permission = Car.PERMISSION_FUEL_DETAILED;
+                break;
             case CarSensorManager.SENSOR_TYPE_EV_BATTERY_LEVEL:
             case CarSensorManager.SENSOR_TYPE_EV_BATTERY_CHARGE_RATE:
-                permission = Car.PERMISSION_FUEL;
+                permission = Car.PERMISSION_EV_DETAILED;
                 break;
             case CarSensorManager.SENSOR_TYPE_ABS_ACTIVE:
             case CarSensorManager.SENSOR_TYPE_TRACTION_CONTROL_ACTIVE:
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
index 2b9ee54..54f846c 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
@@ -58,7 +58,7 @@
         Manifest.permission.ACCESS_FINE_LOCATION,
         Manifest.permission.ACCESS_COARSE_LOCATION,
         Car.PERMISSION_MILEAGE,
-        Car.PERMISSION_FUEL,
+        Car.PERMISSION_FUEL_DETAILED,
         Car.PERMISSION_SPEED,
         Car.PERMISSION_VEHICLE_DYNAMICS_STATE
     };
diff --git a/tests/UxRestrictionsSample/Android.mk b/tests/UxRestrictionsSample/Android.mk
index 2ed4258..8df3025 100644
--- a/tests/UxRestrictionsSample/Android.mk
+++ b/tests/UxRestrictionsSample/Android.mk
@@ -40,12 +40,9 @@
 LOCAL_STATIC_JAVA_LIBRARIES += vehicle-hal-support-lib
 
 LOCAL_STATIC_ANDROID_LIBRARIES += \
-    android-support-car \
-    android-support-design \
+    $(ANDROID_SUPPORT_CAR_TARGETS) \
     android-support-v4 \
-    android-support-v7-appcompat \
-    android-support-v7-cardview \
-    android-support-v7-recyclerview
+    android-support-v7-appcompat
 
 LOCAL_JAVA_LIBRARIES += android.car
 
diff --git a/tests/carservice_test/AndroidManifest.xml b/tests/carservice_test/AndroidManifest.xml
index 489ccb9..a790c4a 100644
--- a/tests/carservice_test/AndroidManifest.xml
+++ b/tests/carservice_test/AndroidManifest.xml
@@ -21,7 +21,8 @@
     <uses-permission android:name="android.car.permission.ADJUST_CAR_CLIMATE" />
     <uses-permission android:name="android.car.permission.CAR_RADIO" />
     <uses-permission android:name="android.car.permission.ADJUST_CAR_CABIN" />
-    <uses-permission android:name="android.car.permission.CAR_FUEL" />
+    <uses-permission android:name="android.car.permission.CAR_FUEL_DETAILED" />
+    <uses-permission android:name="android.car.permission.CAR_EV_DETAILED" />
     <uses-permission android:name="android.car.permission.CONTROL_APP_BLOCKING" />
     <uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_VOLUME" />
     <uses-permission android:name="android.car.permission.CAR_CONTROL_AUDIO_SETTINGS" />
diff --git a/tools/emulator/vhal_consts_2_0.py b/tools/emulator/vhal_consts_2_0.py
index 4a4e7ea..b7ec8cc 100644
--- a/tools/emulator/vhal_consts_2_0.py
+++ b/tools/emulator/vhal_consts_2_0.py
@@ -15,277 +15,6 @@
 # DO NOT EDIT MANUALLY
 # This file was autogenerated by vhal_const_generate.py
 
-# VehiclePropertyChangeMode
-VEHICLEPROPERTYCHANGEMODE_STATIC = 0x0
-VEHICLEPROPERTYCHANGEMODE_ON_CHANGE = 0x1
-VEHICLEPROPERTYCHANGEMODE_CONTINUOUS = 0x2
-VEHICLEPROPERTYCHANGEMODE_POLL = 0x3
-VEHICLEPROPERTYCHANGEMODE_ON_SET = 0x4
-
-# VehiclePropertyGroup
-VEHICLEPROPERTYGROUP_SYSTEM = 0x10000000
-VEHICLEPROPERTYGROUP_VENDOR = 0x20000000
-VEHICLEPROPERTYGROUP_MASK = 0xf0000000
-
-# VehicleHwKeyInputAction
-VEHICLEHWKEYINPUTACTION_ACTION_DOWN = 0x0
-VEHICLEHWKEYINPUTACTION_ACTION_UP = 0x1
-
-# VehicleProperty
-VEHICLEPROPERTY_INVALID = 0x0
-VEHICLEPROPERTY_INFO_VIN = 0x11100100
-VEHICLEPROPERTY_INFO_MAKE = 0x11100101
-VEHICLEPROPERTY_INFO_MODEL = 0x11100102
-VEHICLEPROPERTY_INFO_MODEL_YEAR = 0x11400103
-VEHICLEPROPERTY_INFO_FUEL_CAPACITY = 0x11600104
-VEHICLEPROPERTY_INFO_FUEL_TYPE = 0x11410105
-VEHICLEPROPERTY_INFO_EV_BATTERY_CAPACITY = 0x11600106
-VEHICLEPROPERTY_INFO_EV_CONNECTOR_TYPE = 0x11410107
-VEHICLEPROPERTY_PERF_ODOMETER = 0x11600204
-VEHICLEPROPERTY_PERF_VEHICLE_SPEED = 0x11600207
-VEHICLEPROPERTY_ENGINE_ON = 0x11200300
-VEHICLEPROPERTY_ENGINE_COOLANT_TEMP = 0x11600301
-VEHICLEPROPERTY_ENGINE_OIL_TEMP = 0x11600304
-VEHICLEPROPERTY_ENGINE_RPM = 0x11600305
-VEHICLEPROPERTY_WHEEL_TICK = 0x11e00306
-VEHICLEPROPERTY_FUEL_LEVEL = 0x11600307
-VEHICLEPROPERTY_FUEL_DOOR_OPEN = 0x11200308
-VEHICLEPROPERTY_EV_BATTERY_LEVEL = 0x11600309
-VEHICLEPROPERTY_EV_CHARGE_PORT_OPEN = 0x1120030a
-VEHICLEPROPERTY_EV_CHARGE_PORT_CONNECTED = 0x1120030b
-VEHICLEPROPERTY_EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 0x1160030c
-VEHICLEPROPERTY_GEAR_SELECTION = 0x11400400
-VEHICLEPROPERTY_CURRENT_GEAR = 0x11400401
-VEHICLEPROPERTY_PARKING_BRAKE_ON = 0x11200402
-VEHICLEPROPERTY_DRIVING_STATUS = 0x11400404
-VEHICLEPROPERTY_FUEL_LEVEL_LOW = 0x11200405
-VEHICLEPROPERTY_NIGHT_MODE = 0x11200407
-VEHICLEPROPERTY_TURN_SIGNAL_STATE = 0x11400408
-VEHICLEPROPERTY_IGNITION_STATE = 0x11400409
-VEHICLEPROPERTY_ABS_ACTIVE = 0x1120040a
-VEHICLEPROPERTY_TRACTION_CONTROL_ACTIVE = 0x1120040b
-VEHICLEPROPERTY_HVAC_FAN_SPEED = 0x12400500
-VEHICLEPROPERTY_HVAC_FAN_DIRECTION = 0x12400501
-VEHICLEPROPERTY_HVAC_TEMPERATURE_CURRENT = 0x12600502
-VEHICLEPROPERTY_HVAC_TEMPERATURE_SET = 0x12600503
-VEHICLEPROPERTY_HVAC_DEFROSTER = 0x13200504
-VEHICLEPROPERTY_HVAC_AC_ON = 0x12200505
-VEHICLEPROPERTY_HVAC_MAX_AC_ON = 0x12200506
-VEHICLEPROPERTY_HVAC_MAX_DEFROST_ON = 0x12200507
-VEHICLEPROPERTY_HVAC_RECIRC_ON = 0x12200508
-VEHICLEPROPERTY_HVAC_DUAL_ON = 0x12200509
-VEHICLEPROPERTY_HVAC_AUTO_ON = 0x1220050a
-VEHICLEPROPERTY_HVAC_SEAT_TEMPERATURE = 0x1540050b
-VEHICLEPROPERTY_HVAC_SIDE_MIRROR_HEAT = 0x1440050c
-VEHICLEPROPERTY_HVAC_STEERING_WHEEL_TEMP = 0x1140050d
-VEHICLEPROPERTY_HVAC_TEMPERATURE_UNITS = 0x1240050e
-VEHICLEPROPERTY_HVAC_ACTUAL_FAN_SPEED_RPM = 0x1240050f
-VEHICLEPROPERTY_HVAC_POWER_ON = 0x12200510
-VEHICLEPROPERTY_HVAC_FAN_DIRECTION_AVAILABLE = 0x12400511
-VEHICLEPROPERTY_HVAC_AUTO_RECIRC_ON = 0x12200512
-VEHICLEPROPERTY_ENV_OUTSIDE_TEMPERATURE = 0x11600703
-VEHICLEPROPERTY_ENV_CABIN_TEMPERATURE = 0x11600704
-VEHICLEPROPERTY_RADIO_PRESET = 0x11410801
-VEHICLEPROPERTY_AP_POWER_STATE = 0x11410a00
-VEHICLEPROPERTY_DISPLAY_BRIGHTNESS = 0x11400a01
-VEHICLEPROPERTY_AP_POWER_BOOTUP_REASON = 0x11400a02
-VEHICLEPROPERTY_HW_KEY_INPUT = 0x11410a10
-VEHICLEPROPERTY_INSTRUMENT_CLUSTER_INFO = 0x11410a20
-VEHICLEPROPERTY_UNIX_TIME = 0x11500a30
-VEHICLEPROPERTY_CURRENT_TIME_IN_SECONDS = 0x11400a31
-VEHICLEPROPERTY_DOOR_POS = 0x16400b00
-VEHICLEPROPERTY_DOOR_MOVE = 0x16400b01
-VEHICLEPROPERTY_DOOR_LOCK = 0x16200b02
-VEHICLEPROPERTY_MIRROR_Z_POS = 0x14400b40
-VEHICLEPROPERTY_MIRROR_Z_MOVE = 0x14400b41
-VEHICLEPROPERTY_MIRROR_Y_POS = 0x14400b42
-VEHICLEPROPERTY_MIRROR_Y_MOVE = 0x14400b43
-VEHICLEPROPERTY_MIRROR_LOCK = 0x11200b44
-VEHICLEPROPERTY_MIRROR_FOLD = 0x11200b45
-VEHICLEPROPERTY_SEAT_MEMORY_SELECT = 0x15400b80
-VEHICLEPROPERTY_SEAT_MEMORY_SET = 0x15400b81
-VEHICLEPROPERTY_SEAT_BELT_BUCKLED = 0x15200b82
-VEHICLEPROPERTY_SEAT_BELT_HEIGHT_POS = 0x15400b83
-VEHICLEPROPERTY_SEAT_BELT_HEIGHT_MOVE = 0x15400b84
-VEHICLEPROPERTY_SEAT_FORE_AFT_POS = 0x15400b85
-VEHICLEPROPERTY_SEAT_FORE_AFT_MOVE = 0x15400b86
-VEHICLEPROPERTY_SEAT_BACKREST_ANGLE_1_POS = 0x15400b87
-VEHICLEPROPERTY_SEAT_BACKREST_ANGLE_1_MOVE = 0x15400b88
-VEHICLEPROPERTY_SEAT_BACKREST_ANGLE_2_POS = 0x15400b89
-VEHICLEPROPERTY_SEAT_BACKREST_ANGLE_2_MOVE = 0x15400b8a
-VEHICLEPROPERTY_SEAT_HEIGHT_POS = 0x15400b8b
-VEHICLEPROPERTY_SEAT_HEIGHT_MOVE = 0x15400b8c
-VEHICLEPROPERTY_SEAT_DEPTH_POS = 0x15400b8d
-VEHICLEPROPERTY_SEAT_DEPTH_MOVE = 0x15400b8e
-VEHICLEPROPERTY_SEAT_TILT_POS = 0x15400b8f
-VEHICLEPROPERTY_SEAT_TILT_MOVE = 0x15400b90
-VEHICLEPROPERTY_SEAT_LUMBAR_FORE_AFT_POS = 0x15400b91
-VEHICLEPROPERTY_SEAT_LUMBAR_FORE_AFT_MOVE = 0x15400b92
-VEHICLEPROPERTY_SEAT_LUMBAR_SIDE_SUPPORT_POS = 0x15400b93
-VEHICLEPROPERTY_SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 0x15400b94
-VEHICLEPROPERTY_SEAT_HEADREST_HEIGHT_POS = 0x11400b95
-VEHICLEPROPERTY_SEAT_HEADREST_HEIGHT_MOVE = 0x15400b96
-VEHICLEPROPERTY_SEAT_HEADREST_ANGLE_POS = 0x15400b97
-VEHICLEPROPERTY_SEAT_HEADREST_ANGLE_MOVE = 0x15400b98
-VEHICLEPROPERTY_SEAT_HEADREST_FORE_AFT_POS = 0x15400b99
-VEHICLEPROPERTY_SEAT_HEADREST_FORE_AFT_MOVE = 0x15400b9a
-VEHICLEPROPERTY_WINDOW_POS = 0x13400bc0
-VEHICLEPROPERTY_WINDOW_MOVE = 0x13400bc1
-VEHICLEPROPERTY_WINDOW_VENT_POS = 0x13400bc2
-VEHICLEPROPERTY_WINDOW_VENT_MOVE = 0x13400bc3
-VEHICLEPROPERTY_WINDOW_LOCK = 0x13200bc4
-VEHICLEPROPERTY_VEHICLE_MAP_SERVICE = 0x11e00c00
-VEHICLEPROPERTY_OBD2_LIVE_FRAME = 0x11e00d00
-VEHICLEPROPERTY_OBD2_FREEZE_FRAME = 0x11e00d01
-VEHICLEPROPERTY_OBD2_FREEZE_FRAME_INFO = 0x11e00d02
-VEHICLEPROPERTY_OBD2_FREEZE_FRAME_CLEAR = 0x11e00d03
-
-# VmsBaseMessageIntegerValuesIndex
-VMSBASEMESSAGEINTEGERVALUESINDEX_MESSAGE_TYPE = 0x0
-
-# VehicleHvacFanDirection
-VEHICLEHVACFANDIRECTION_FACE = 0x1
-VEHICLEHVACFANDIRECTION_FLOOR = 0x2
-VEHICLEHVACFANDIRECTION_FACE_AND_FLOOR = 0x3
-VEHICLEHVACFANDIRECTION_DEFROST = 0x4
-VEHICLEHVACFANDIRECTION_DEFROST_AND_FLOOR = 0x5
-
-# VehicleAreaZone
-VEHICLEAREAZONE_ROW_1_LEFT = 0x1
-VEHICLEAREAZONE_ROW_1_CENTER = 0x2
-VEHICLEAREAZONE_ROW_1_RIGHT = 0x4
-VEHICLEAREAZONE_ROW_2_LEFT = 0x10
-VEHICLEAREAZONE_ROW_2_CENTER = 0x20
-VEHICLEAREAZONE_ROW_2_RIGHT = 0x40
-VEHICLEAREAZONE_ROW_3_LEFT = 0x100
-VEHICLEAREAZONE_ROW_3_CENTER = 0x200
-VEHICLEAREAZONE_ROW_3_RIGHT = 0x400
-VEHICLEAREAZONE_ROW_4_LEFT = 0x1000
-VEHICLEAREAZONE_ROW_4_CENTER = 0x2000
-VEHICLEAREAZONE_ROW_4_RIGHT = 0x4000
-
-# VmsMessageWithLayerIntegerValuesIndex
-VMSMESSAGEWITHLAYERINTEGERVALUESINDEX_LAYER_TYPE = 0x1
-VMSMESSAGEWITHLAYERINTEGERVALUESINDEX_LAYER_SUBTYPE = 0x2
-VMSMESSAGEWITHLAYERINTEGERVALUESINDEX_LAYER_VERSION = 0x3
-
-# VehiclePropertyType
-VEHICLEPROPERTYTYPE_STRING = 0x100000
-VEHICLEPROPERTYTYPE_BOOLEAN = 0x200000
-VEHICLEPROPERTYTYPE_INT32 = 0x400000
-VEHICLEPROPERTYTYPE_INT32_VEC = 0x410000
-VEHICLEPROPERTYTYPE_INT64 = 0x500000
-VEHICLEPROPERTYTYPE_INT64_VEC = 0x510000
-VEHICLEPROPERTYTYPE_FLOAT = 0x600000
-VEHICLEPROPERTYTYPE_FLOAT_VEC = 0x610000
-VEHICLEPROPERTYTYPE_BYTES = 0x700000
-VEHICLEPROPERTYTYPE_MIXED = 0xe00000
-VEHICLEPROPERTYTYPE_MASK = 0xff0000
-
-# SubscribeFlags
-SUBSCRIBEFLAGS_UNDEFINED = 0x0
-SUBSCRIBEFLAGS_HAL_EVENT = 0x1
-SUBSCRIBEFLAGS_SET_CALL = 0x2
-SUBSCRIBEFLAGS_DEFAULT = 0x1
-
-# VehicleApPowerSetState
-VEHICLEAPPOWERSETSTATE_BOOT_COMPLETE = 0x1
-VEHICLEAPPOWERSETSTATE_DEEP_SLEEP_ENTRY = 0x2
-VEHICLEAPPOWERSETSTATE_DEEP_SLEEP_EXIT = 0x3
-VEHICLEAPPOWERSETSTATE_SHUTDOWN_POSTPONE = 0x4
-VEHICLEAPPOWERSETSTATE_SHUTDOWN_START = 0x5
-VEHICLEAPPOWERSETSTATE_DISPLAY_OFF = 0x6
-VEHICLEAPPOWERSETSTATE_DISPLAY_ON = 0x7
-
-# VehicleRadioConstants
-VEHICLERADIOCONSTANTS_VEHICLE_RADIO_PRESET_MIN_VALUE = 0x1
-
-# StatusCode
-STATUSCODE_OK = 0x0
-STATUSCODE_TRY_AGAIN = 0x1
-STATUSCODE_INVALID_ARG = 0x2
-STATUSCODE_NOT_AVAILABLE = 0x3
-STATUSCODE_ACCESS_DENIED = 0x4
-STATUSCODE_INTERNAL_ERROR = 0x5
-
-# Obd2FuelType
-OBD2FUELTYPE_NOT_AVAILABLE = 0x0
-OBD2FUELTYPE_GASOLINE = 0x1
-OBD2FUELTYPE_METHANOL = 0x2
-OBD2FUELTYPE_ETHANOL = 0x3
-OBD2FUELTYPE_DIESEL = 0x4
-OBD2FUELTYPE_LPG = 0x5
-OBD2FUELTYPE_CNG = 0x6
-OBD2FUELTYPE_PROPANE = 0x7
-OBD2FUELTYPE_ELECTRIC = 0x8
-OBD2FUELTYPE_BIFUEL_RUNNING_GASOLINE = 0x9
-OBD2FUELTYPE_BIFUEL_RUNNING_METHANOL = 0xa
-OBD2FUELTYPE_BIFUEL_RUNNING_ETHANOL = 0xb
-OBD2FUELTYPE_BIFUEL_RUNNING_LPG = 0xc
-OBD2FUELTYPE_BIFUEL_RUNNING_CNG = 0xd
-OBD2FUELTYPE_BIFUEL_RUNNING_PROPANE = 0xe
-OBD2FUELTYPE_BIFUEL_RUNNING_ELECTRIC = 0xf
-OBD2FUELTYPE_BIFUEL_RUNNING_ELECTRIC_AND_COMBUSTION = 0x10
-OBD2FUELTYPE_HYBRID_GASOLINE = 0x11
-OBD2FUELTYPE_HYBRID_ETHANOL = 0x12
-OBD2FUELTYPE_HYBRID_DIESEL = 0x13
-OBD2FUELTYPE_HYBRID_ELECTRIC = 0x14
-OBD2FUELTYPE_HYBRID_RUNNING_ELECTRIC_AND_COMBUSTION = 0x15
-OBD2FUELTYPE_HYBRID_REGENERATIVE = 0x16
-OBD2FUELTYPE_BIFUEL_RUNNING_DIESEL = 0x17
-
-# VmsAvailabilityStateIntegerValuesIndex
-VMSAVAILABILITYSTATEINTEGERVALUESINDEX_SEQUENCE_NUMBER = 0x1
-VMSAVAILABILITYSTATEINTEGERVALUESINDEX_NUMBER_OF_ASSOCIATED_LAYERS = 0x2
-VMSAVAILABILITYSTATEINTEGERVALUESINDEX_LAYERS_START = 0x3
-
-# VehicleArea
-VEHICLEAREA_GLOBAL = 0x1000000
-VEHICLEAREA_ZONE = 0x2000000
-VEHICLEAREA_WINDOW = 0x3000000
-VEHICLEAREA_MIRROR = 0x4000000
-VEHICLEAREA_SEAT = 0x5000000
-VEHICLEAREA_DOOR = 0x6000000
-VEHICLEAREA_MASK = 0xf000000
-
-# Obd2FuelSystemStatus
-OBD2FUELSYSTEMSTATUS_OPEN_INSUFFICIENT_ENGINE_TEMPERATURE = 0x1
-OBD2FUELSYSTEMSTATUS_CLOSED_LOOP = 0x2
-OBD2FUELSYSTEMSTATUS_OPEN_ENGINE_LOAD_OR_DECELERATION = 0x4
-OBD2FUELSYSTEMSTATUS_OPEN_SYSTEM_FAILURE = 0x8
-OBD2FUELSYSTEMSTATUS_CLOSED_LOOP_BUT_FEEDBACK_FAULT = 0x10
-
-# Obd2CommonIgnitionMonitors
-OBD2COMMONIGNITIONMONITORS_COMPONENTS_AVAILABLE = 0x1
-OBD2COMMONIGNITIONMONITORS_COMPONENTS_INCOMPLETE = 0x2
-OBD2COMMONIGNITIONMONITORS_FUEL_SYSTEM_AVAILABLE = 0x4
-OBD2COMMONIGNITIONMONITORS_FUEL_SYSTEM_INCOMPLETE = 0x8
-OBD2COMMONIGNITIONMONITORS_MISFIRE_AVAILABLE = 0x10
-OBD2COMMONIGNITIONMONITORS_MISFIRE_INCOMPLETE = 0x20
-
-# VehicleApPowerStateIndex
-VEHICLEAPPOWERSTATEINDEX_STATE = 0x0
-VEHICLEAPPOWERSTATEINDEX_ADDITIONAL = 0x1
-
-# VmsMessageWithLayerAndPublisherIdIntegerValuesIndex
-VMSMESSAGEWITHLAYERANDPUBLISHERIDINTEGERVALUESINDEX_PUBLISHER_ID = 0x4
-
-# VmsOfferingMessageIntegerValuesIndex
-VMSOFFERINGMESSAGEINTEGERVALUESINDEX_PUBLISHER_ID = 0x1
-VMSOFFERINGMESSAGEINTEGERVALUESINDEX_NUMBER_OF_OFFERS = 0x2
-VMSOFFERINGMESSAGEINTEGERVALUESINDEX_OFFERING_START = 0x3
-
-# VehicleAreaSeat
-VEHICLEAREASEAT_ROW_1_LEFT = 0x1
-VEHICLEAREASEAT_ROW_1_CENTER = 0x2
-VEHICLEAREASEAT_ROW_1_RIGHT = 0x4
-VEHICLEAREASEAT_ROW_2_LEFT = 0x10
-VEHICLEAREASEAT_ROW_2_CENTER = 0x20
-VEHICLEAREASEAT_ROW_2_RIGHT = 0x40
-VEHICLEAREASEAT_ROW_3_LEFT = 0x100
-VEHICLEAREASEAT_ROW_3_CENTER = 0x200
-VEHICLEAREASEAT_ROW_3_RIGHT = 0x400
-
 # DiagnosticFloatSensorIndex
 DIAGNOSTICFLOATSENSORINDEX_CALCULATED_ENGINE_LOAD = 0x0
 DIAGNOSTICFLOATSENSORINDEX_ENGINE_COOLANT_TEMPERATURE = 0x1
@@ -360,96 +89,39 @@
 DIAGNOSTICFLOATSENSORINDEX_ENGINE_FUEL_RATE = 0x46
 DIAGNOSTICFLOATSENSORINDEX_LAST_SYSTEM_INDEX = 0x46
 
-# VmsPublisherInformationIntegerValuesIndex
-VMSPUBLISHERINFORMATIONINTEGERVALUESINDEX_PUBLISHER_ID = 0x1
+# VehiclePropertyType
+VEHICLEPROPERTYTYPE_STRING = 0x100000
+VEHICLEPROPERTYTYPE_BOOLEAN = 0x200000
+VEHICLEPROPERTYTYPE_INT32 = 0x400000
+VEHICLEPROPERTYTYPE_INT32_VEC = 0x410000
+VEHICLEPROPERTYTYPE_INT64 = 0x500000
+VEHICLEPROPERTYTYPE_INT64_VEC = 0x510000
+VEHICLEPROPERTYTYPE_FLOAT = 0x600000
+VEHICLEPROPERTYTYPE_FLOAT_VEC = 0x610000
+VEHICLEPROPERTYTYPE_BYTES = 0x700000
+VEHICLEPROPERTYTYPE_MIXED = 0xe00000
+VEHICLEPROPERTYTYPE_MASK = 0xff0000
 
-# VehicleApPowerStateShutdownParam
-VEHICLEAPPOWERSTATESHUTDOWNPARAM_SHUTDOWN_IMMEDIATELY = 0x1
-VEHICLEAPPOWERSTATESHUTDOWNPARAM_CAN_SLEEP = 0x2
-VEHICLEAPPOWERSTATESHUTDOWNPARAM_SHUTDOWN_ONLY = 0x3
+# VmsMessageWithLayerIntegerValuesIndex
+VMSMESSAGEWITHLAYERINTEGERVALUESINDEX_LAYER_TYPE = 0x1
+VMSMESSAGEWITHLAYERINTEGERVALUESINDEX_LAYER_SUBTYPE = 0x2
+VMSMESSAGEWITHLAYERINTEGERVALUESINDEX_LAYER_VERSION = 0x3
 
-# Obd2IgnitionMonitorKind
-OBD2IGNITIONMONITORKIND_SPARK = 0x0
-OBD2IGNITIONMONITORKIND_COMPRESSION = 0x1
+# VehiclePropertyGroup
+VEHICLEPROPERTYGROUP_SYSTEM = 0x10000000
+VEHICLEPROPERTYGROUP_VENDOR = 0x20000000
+VEHICLEPROPERTYGROUP_MASK = 0xf0000000
 
-# EvConnectorType
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_UNKNOWN = 0x0
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_J1772 = 0x1
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_MENNEKES = 0x2
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_CHADEMO = 0x3
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_COMBO_1 = 0x4
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_COMBO_2 = 0x5
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_ROADSTER = 0x6
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_HPWC = 0x7
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_SUPERCHARGER = 0x8
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_GBT = 0x9
-EVCONNECTORTYPE_EV_CONNECTOR_TYPE_OTHER = 0x65
-
-# VmsMessageType
-VMSMESSAGETYPE_SUBSCRIBE = 0x1
-VMSMESSAGETYPE_SUBSCRIBE_TO_PUBLISHER = 0x2
-VMSMESSAGETYPE_UNSUBSCRIBE = 0x3
-VMSMESSAGETYPE_UNSUBSCRIBE_TO_PUBLISHER = 0x4
-VMSMESSAGETYPE_OFFERING = 0x5
-VMSMESSAGETYPE_AVAILABILITY_REQUEST = 0x6
-VMSMESSAGETYPE_SUBSCRIPTIONS_REQUEST = 0x7
-VMSMESSAGETYPE_AVAILABILITY_RESPONSE = 0x8
-VMSMESSAGETYPE_AVAILABILITY_CHANGE = 0x9
-VMSMESSAGETYPE_SUBSCRIPTIONS_RESPONSE = 0xa
-VMSMESSAGETYPE_SUBSCRIPTIONS_CHANGE = 0xb
-VMSMESSAGETYPE_DATA = 0xc
-VMSMESSAGETYPE_PUBLISHER_ID_REQUEST = 0xd
-VMSMESSAGETYPE_PUBLISHER_ID_RESPONSE = 0xe
-VMSMESSAGETYPE_PUBLISHER_INFORMATION_REQUEST = 0xf
-VMSMESSAGETYPE_PUBLISHER_INFORMATION_RESPONSE = 0x10
-VMSMESSAGETYPE_LAST_VMS_MESSAGE_TYPE = 0x10
-
-# Obd2SecondaryAirStatus
-OBD2SECONDARYAIRSTATUS_UPSTREAM = 0x1
-OBD2SECONDARYAIRSTATUS_DOWNSTREAM_OF_CATALYCIC_CONVERTER = 0x2
-OBD2SECONDARYAIRSTATUS_FROM_OUTSIDE_OR_OFF = 0x4
-OBD2SECONDARYAIRSTATUS_PUMP_ON_FOR_DIAGNOSTICS = 0x8
-
-# VehiclePropertyOperation
-VEHICLEPROPERTYOPERATION_GENERIC = 0x0
-VEHICLEPROPERTYOPERATION_SET = 0x1
-VEHICLEPROPERTYOPERATION_GET = 0x2
-VEHICLEPROPERTYOPERATION_SUBSCRIBE = 0x3
-
-# VehicleApPowerStateConfigFlag
-VEHICLEAPPOWERSTATECONFIGFLAG_ENABLE_DEEP_SLEEP_FLAG = 0x1
-VEHICLEAPPOWERSTATECONFIGFLAG_CONFIG_SUPPORT_TIMER_POWER_ON_FLAG = 0x2
-
-# VehicleInstrumentClusterType
-VEHICLEINSTRUMENTCLUSTERTYPE_NONE = 0x0
-VEHICLEINSTRUMENTCLUSTERTYPE_HAL_INTERFACE = 0x1
-VEHICLEINSTRUMENTCLUSTERTYPE_EXTERNAL_DISPLAY = 0x2
-
-# VehicleDrivingStatus
-VEHICLEDRIVINGSTATUS_UNRESTRICTED = 0x0
-VEHICLEDRIVINGSTATUS_NO_VIDEO = 0x1
-VEHICLEDRIVINGSTATUS_NO_KEYBOARD_INPUT = 0x2
-VEHICLEDRIVINGSTATUS_NO_VOICE_INPUT = 0x4
-VEHICLEDRIVINGSTATUS_NO_CONFIG = 0x8
-VEHICLEDRIVINGSTATUS_LIMIT_MESSAGE_LEN = 0x10
-
-# VehicleTurnSignal
-VEHICLETURNSIGNAL_NONE = 0x0
-VEHICLETURNSIGNAL_RIGHT = 0x1
-VEHICLETURNSIGNAL_LEFT = 0x2
-VEHICLETURNSIGNAL_EMERGENCY = 0x4
-
-# Wheel
-WHEEL_UNKNOWN = 0x0
-WHEEL_LEFT_FRONT = 0x1
-WHEEL_RIGHT_FRONT = 0x2
-WHEEL_LEFT_REAR = 0x4
-WHEEL_RIGHT_REAR = 0x8
-
-# VehicleApPowerBootupReason
-VEHICLEAPPOWERBOOTUPREASON_USER_POWER_ON = 0x0
-VEHICLEAPPOWERBOOTUPREASON_USER_UNLOCK = 0x1
-VEHICLEAPPOWERBOOTUPREASON_TIMER = 0x2
+# VehicleAreaSeat
+VEHICLEAREASEAT_ROW_1_LEFT = 0x1
+VEHICLEAREASEAT_ROW_1_CENTER = 0x2
+VEHICLEAREASEAT_ROW_1_RIGHT = 0x4
+VEHICLEAREASEAT_ROW_2_LEFT = 0x10
+VEHICLEAREASEAT_ROW_2_CENTER = 0x20
+VEHICLEAREASEAT_ROW_2_RIGHT = 0x40
+VEHICLEAREASEAT_ROW_3_LEFT = 0x100
+VEHICLEAREASEAT_ROW_3_CENTER = 0x200
+VEHICLEAREASEAT_ROW_3_RIGHT = 0x400
 
 # VehicleUnit
 VEHICLEUNIT_SHOULD_NOT_USE = 0x0
@@ -472,6 +144,36 @@
 VEHICLEUNIT_MILLIVOLT = 0x62
 VEHICLEUNIT_MILLIWATTS = 0x63
 
+# VehicleArea
+VEHICLEAREA_GLOBAL = 0x1000000
+VEHICLEAREA_ZONE = 0x2000000
+VEHICLEAREA_WINDOW = 0x3000000
+VEHICLEAREA_MIRROR = 0x4000000
+VEHICLEAREA_SEAT = 0x5000000
+VEHICLEAREA_DOOR = 0x6000000
+VEHICLEAREA_MASK = 0xf000000
+
+# VehicleDisplay
+VEHICLEDISPLAY_MAIN = 0x0
+VEHICLEDISPLAY_INSTRUMENT_CLUSTER = 0x1
+
+# VmsSubscriptionsStateIntegerValuesIndex
+VMSSUBSCRIPTIONSSTATEINTEGERVALUESINDEX_SEQUENCE_NUMBER = 0x1
+VMSSUBSCRIPTIONSSTATEINTEGERVALUESINDEX_NUMBER_OF_LAYERS = 0x2
+VMSSUBSCRIPTIONSSTATEINTEGERVALUESINDEX_NUMBER_OF_ASSOCIATED_LAYERS = 0x3
+VMSSUBSCRIPTIONSSTATEINTEGERVALUESINDEX_SUBSCRIPTIONS_START = 0x4
+
+# VehicleApPowerStateShutdownParam
+VEHICLEAPPOWERSTATESHUTDOWNPARAM_SHUTDOWN_IMMEDIATELY = 0x1
+VEHICLEAPPOWERSTATESHUTDOWNPARAM_CAN_SLEEP = 0x2
+VEHICLEAPPOWERSTATESHUTDOWNPARAM_SHUTDOWN_ONLY = 0x3
+
+# VehiclePropertyAccess
+VEHICLEPROPERTYACCESS_NONE = 0x0
+VEHICLEPROPERTYACCESS_READ = 0x1
+VEHICLEPROPERTYACCESS_WRITE = 0x2
+VEHICLEPROPERTYACCESS_READ_WRITE = 0x3
+
 # VehicleAreaDoor
 VEHICLEAREADOOR_ROW_1_LEFT = 0x1
 VEHICLEAREADOOR_ROW_1_RIGHT = 0x4
@@ -482,6 +184,78 @@
 VEHICLEAREADOOR_HOOD = 0x10000000
 VEHICLEAREADOOR_REAR = 0x20000000
 
+# VehicleApPowerStateIndex
+VEHICLEAPPOWERSTATEINDEX_STATE = 0x0
+VEHICLEAPPOWERSTATEINDEX_ADDITIONAL = 0x1
+
+# Obd2FuelType
+OBD2FUELTYPE_NOT_AVAILABLE = 0x0
+OBD2FUELTYPE_GASOLINE = 0x1
+OBD2FUELTYPE_METHANOL = 0x2
+OBD2FUELTYPE_ETHANOL = 0x3
+OBD2FUELTYPE_DIESEL = 0x4
+OBD2FUELTYPE_LPG = 0x5
+OBD2FUELTYPE_CNG = 0x6
+OBD2FUELTYPE_PROPANE = 0x7
+OBD2FUELTYPE_ELECTRIC = 0x8
+OBD2FUELTYPE_BIFUEL_RUNNING_GASOLINE = 0x9
+OBD2FUELTYPE_BIFUEL_RUNNING_METHANOL = 0xa
+OBD2FUELTYPE_BIFUEL_RUNNING_ETHANOL = 0xb
+OBD2FUELTYPE_BIFUEL_RUNNING_LPG = 0xc
+OBD2FUELTYPE_BIFUEL_RUNNING_CNG = 0xd
+OBD2FUELTYPE_BIFUEL_RUNNING_PROPANE = 0xe
+OBD2FUELTYPE_BIFUEL_RUNNING_ELECTRIC = 0xf
+OBD2FUELTYPE_BIFUEL_RUNNING_ELECTRIC_AND_COMBUSTION = 0x10
+OBD2FUELTYPE_HYBRID_GASOLINE = 0x11
+OBD2FUELTYPE_HYBRID_ETHANOL = 0x12
+OBD2FUELTYPE_HYBRID_DIESEL = 0x13
+OBD2FUELTYPE_HYBRID_ELECTRIC = 0x14
+OBD2FUELTYPE_HYBRID_RUNNING_ELECTRIC_AND_COMBUSTION = 0x15
+OBD2FUELTYPE_HYBRID_REGENERATIVE = 0x16
+OBD2FUELTYPE_BIFUEL_RUNNING_DIESEL = 0x17
+
+# Obd2IgnitionMonitorKind
+OBD2IGNITIONMONITORKIND_SPARK = 0x0
+OBD2IGNITIONMONITORKIND_COMPRESSION = 0x1
+
+# VehicleAreaMirror
+VEHICLEAREAMIRROR_DRIVER_LEFT = 0x1
+VEHICLEAREAMIRROR_DRIVER_RIGHT = 0x2
+VEHICLEAREAMIRROR_DRIVER_CENTER = 0x4
+
+# VmsOfferingMessageIntegerValuesIndex
+VMSOFFERINGMESSAGEINTEGERVALUESINDEX_PUBLISHER_ID = 0x1
+VMSOFFERINGMESSAGEINTEGERVALUESINDEX_NUMBER_OF_OFFERS = 0x2
+VMSOFFERINGMESSAGEINTEGERVALUESINDEX_OFFERING_START = 0x3
+
+# Obd2FuelSystemStatus
+OBD2FUELSYSTEMSTATUS_OPEN_INSUFFICIENT_ENGINE_TEMPERATURE = 0x1
+OBD2FUELSYSTEMSTATUS_CLOSED_LOOP = 0x2
+OBD2FUELSYSTEMSTATUS_OPEN_ENGINE_LOAD_OR_DECELERATION = 0x4
+OBD2FUELSYSTEMSTATUS_OPEN_SYSTEM_FAILURE = 0x8
+OBD2FUELSYSTEMSTATUS_CLOSED_LOOP_BUT_FEEDBACK_FAULT = 0x10
+
+# VmsBaseMessageIntegerValuesIndex
+VMSBASEMESSAGEINTEGERVALUESINDEX_MESSAGE_TYPE = 0x0
+
+# Obd2SparkIgnitionMonitors
+OBD2SPARKIGNITIONMONITORS_EGR_AVAILABLE = 0x40
+OBD2SPARKIGNITIONMONITORS_EGR_INCOMPLETE = 0x80
+OBD2SPARKIGNITIONMONITORS_OXYGEN_SENSOR_HEATER_AVAILABLE = 0x100
+OBD2SPARKIGNITIONMONITORS_OXYGEN_SENSOR_HEATER_INCOMPLETE = 0x200
+OBD2SPARKIGNITIONMONITORS_OXYGEN_SENSOR_AVAILABLE = 0x400
+OBD2SPARKIGNITIONMONITORS_OXYGEN_SENSOR_INCOMPLETE = 0x800
+OBD2SPARKIGNITIONMONITORS_AC_REFRIGERANT_AVAILABLE = 0x1000
+OBD2SPARKIGNITIONMONITORS_AC_REFRIGERANT_INCOMPLETE = 0x2000
+OBD2SPARKIGNITIONMONITORS_SECONDARY_AIR_SYSTEM_AVAILABLE = 0x4000
+OBD2SPARKIGNITIONMONITORS_SECONDARY_AIR_SYSTEM_INCOMPLETE = 0x8000
+OBD2SPARKIGNITIONMONITORS_EVAPORATIVE_SYSTEM_AVAILABLE = 0x10000
+OBD2SPARKIGNITIONMONITORS_EVAPORATIVE_SYSTEM_INCOMPLETE = 0x20000
+OBD2SPARKIGNITIONMONITORS_HEATED_CATALYST_AVAILABLE = 0x40000
+OBD2SPARKIGNITIONMONITORS_HEATED_CATALYST_INCOMPLETE = 0x80000
+OBD2SPARKIGNITIONMONITORS_CATALYST_AVAILABLE = 0x100000
+OBD2SPARKIGNITIONMONITORS_CATALYST_INCOMPLETE = 0x200000
+
 # VehicleApPowerState
 VEHICLEAPPOWERSTATE_OFF = 0x0
 VEHICLEAPPOWERSTATE_DEEP_SLEEP = 0x1
@@ -489,6 +263,75 @@
 VEHICLEAPPOWERSTATE_ON_FULL = 0x3
 VEHICLEAPPOWERSTATE_SHUTDOWN_PREPARE = 0x4
 
+# FuelType
+FUELTYPE_FUEL_TYPE_UNKNOWN = 0x0
+FUELTYPE_FUEL_TYPE_UNLEADED = 0x1
+FUELTYPE_FUEL_TYPE_LEADED = 0x2
+FUELTYPE_FUEL_TYPE_DIESEL_1 = 0x3
+FUELTYPE_FUEL_TYPE_DIESEL_2 = 0x4
+FUELTYPE_FUEL_TYPE_BIODIESEL = 0x5
+FUELTYPE_FUEL_TYPE_E85 = 0x6
+FUELTYPE_FUEL_TYPE_LPG = 0x7
+FUELTYPE_FUEL_TYPE_CNG = 0x8
+FUELTYPE_FUEL_TYPE_LNG = 0x9
+FUELTYPE_FUEL_TYPE_ELECTRIC = 0xa
+FUELTYPE_FUEL_TYPE_HYDROGEN = 0xb
+FUELTYPE_FUEL_TYPE_OTHER = 0xc
+
+# VehicleAreaWindow
+VEHICLEAREAWINDOW_FRONT_WINDSHIELD = 0x1
+VEHICLEAREAWINDOW_REAR_WINDSHIELD = 0x2
+VEHICLEAREAWINDOW_ROOF_TOP = 0x4
+VEHICLEAREAWINDOW_ROW_1_LEFT = 0x10
+VEHICLEAREAWINDOW_ROW_1_RIGHT = 0x20
+VEHICLEAREAWINDOW_ROW_2_LEFT = 0x100
+VEHICLEAREAWINDOW_ROW_2_RIGHT = 0x200
+VEHICLEAREAWINDOW_ROW_3_LEFT = 0x1000
+VEHICLEAREAWINDOW_ROW_3_RIGHT = 0x2000
+
+# Obd2CompressionIgnitionMonitors
+OBD2COMPRESSIONIGNITIONMONITORS_EGR_OR_VVT_AVAILABLE = 0x40
+OBD2COMPRESSIONIGNITIONMONITORS_EGR_OR_VVT_INCOMPLETE = 0x80
+OBD2COMPRESSIONIGNITIONMONITORS_PM_FILTER_AVAILABLE = 0x100
+OBD2COMPRESSIONIGNITIONMONITORS_PM_FILTER_INCOMPLETE = 0x200
+OBD2COMPRESSIONIGNITIONMONITORS_EXHAUST_GAS_SENSOR_AVAILABLE = 0x400
+OBD2COMPRESSIONIGNITIONMONITORS_EXHAUST_GAS_SENSOR_INCOMPLETE = 0x800
+OBD2COMPRESSIONIGNITIONMONITORS_BOOST_PRESSURE_AVAILABLE = 0x1000
+OBD2COMPRESSIONIGNITIONMONITORS_BOOST_PRESSURE_INCOMPLETE = 0x2000
+OBD2COMPRESSIONIGNITIONMONITORS_NOx_SCR_AVAILABLE = 0x4000
+OBD2COMPRESSIONIGNITIONMONITORS_NOx_SCR_INCOMPLETE = 0x8000
+OBD2COMPRESSIONIGNITIONMONITORS_NMHC_CATALYST_AVAILABLE = 0x10000
+OBD2COMPRESSIONIGNITIONMONITORS_NMHC_CATALYST_INCOMPLETE = 0x20000
+
+# VehiclePropertyStatus
+VEHICLEPROPERTYSTATUS_AVAILABLE = 0x0
+VEHICLEPROPERTYSTATUS_UNAVAILABLE = 0x1
+VEHICLEPROPERTYSTATUS_ERROR = 0x2
+
+# VehicleApPowerBootupReason
+VEHICLEAPPOWERBOOTUPREASON_USER_POWER_ON = 0x0
+VEHICLEAPPOWERBOOTUPREASON_USER_UNLOCK = 0x1
+VEHICLEAPPOWERBOOTUPREASON_TIMER = 0x2
+
+# VmsMessageType
+VMSMESSAGETYPE_SUBSCRIBE = 0x1
+VMSMESSAGETYPE_SUBSCRIBE_TO_PUBLISHER = 0x2
+VMSMESSAGETYPE_UNSUBSCRIBE = 0x3
+VMSMESSAGETYPE_UNSUBSCRIBE_TO_PUBLISHER = 0x4
+VMSMESSAGETYPE_OFFERING = 0x5
+VMSMESSAGETYPE_AVAILABILITY_REQUEST = 0x6
+VMSMESSAGETYPE_SUBSCRIPTIONS_REQUEST = 0x7
+VMSMESSAGETYPE_AVAILABILITY_RESPONSE = 0x8
+VMSMESSAGETYPE_AVAILABILITY_CHANGE = 0x9
+VMSMESSAGETYPE_SUBSCRIPTIONS_RESPONSE = 0xa
+VMSMESSAGETYPE_SUBSCRIPTIONS_CHANGE = 0xb
+VMSMESSAGETYPE_DATA = 0xc
+VMSMESSAGETYPE_PUBLISHER_ID_REQUEST = 0xd
+VMSMESSAGETYPE_PUBLISHER_ID_RESPONSE = 0xe
+VMSMESSAGETYPE_PUBLISHER_INFORMATION_REQUEST = 0xf
+VMSMESSAGETYPE_PUBLISHER_INFORMATION_RESPONSE = 0x10
+VMSMESSAGETYPE_LAST_VMS_MESSAGE_TYPE = 0x10
+
 # VehicleGear
 VEHICLEGEAR_GEAR_NEUTRAL = 0x1
 VEHICLEGEAR_GEAR_REVERSE = 0x2
@@ -505,45 +348,250 @@
 VEHICLEGEAR_GEAR_8 = 0x800
 VEHICLEGEAR_GEAR_9 = 0x1000
 
-# VehiclePropertyAccess
-VEHICLEPROPERTYACCESS_NONE = 0x0
-VEHICLEPROPERTYACCESS_READ = 0x1
-VEHICLEPROPERTYACCESS_WRITE = 0x2
-VEHICLEPROPERTYACCESS_READ_WRITE = 0x3
+# VehicleAreaZone
+VEHICLEAREAZONE_ROW_1_LEFT = 0x1
+VEHICLEAREAZONE_ROW_1_CENTER = 0x2
+VEHICLEAREAZONE_ROW_1_RIGHT = 0x4
+VEHICLEAREAZONE_ROW_2_LEFT = 0x10
+VEHICLEAREAZONE_ROW_2_CENTER = 0x20
+VEHICLEAREAZONE_ROW_2_RIGHT = 0x40
+VEHICLEAREAZONE_ROW_3_LEFT = 0x100
+VEHICLEAREAZONE_ROW_3_CENTER = 0x200
+VEHICLEAREAZONE_ROW_3_RIGHT = 0x400
+VEHICLEAREAZONE_ROW_4_LEFT = 0x1000
+VEHICLEAREAZONE_ROW_4_CENTER = 0x2000
+VEHICLEAREAZONE_ROW_4_RIGHT = 0x4000
 
-# VehiclePropertyStatus
-VEHICLEPROPERTYSTATUS_AVAILABLE = 0x0
-VEHICLEPROPERTYSTATUS_UNAVAILABLE = 0x1
-VEHICLEPROPERTYSTATUS_ERROR = 0x2
+# VehicleProperty
+VEHICLEPROPERTY_INVALID = 0x0
+VEHICLEPROPERTY_INFO_VIN = 0x11100100
+VEHICLEPROPERTY_INFO_MAKE = 0x11100101
+VEHICLEPROPERTY_INFO_MODEL = 0x11100102
+VEHICLEPROPERTY_INFO_MODEL_YEAR = 0x11400103
+VEHICLEPROPERTY_INFO_FUEL_CAPACITY = 0x11600104
+VEHICLEPROPERTY_INFO_FUEL_TYPE = 0x11410105
+VEHICLEPROPERTY_INFO_EV_BATTERY_CAPACITY = 0x11600106
+VEHICLEPROPERTY_INFO_EV_CONNECTOR_TYPE = 0x11410107
+VEHICLEPROPERTY_PERF_ODOMETER = 0x11600204
+VEHICLEPROPERTY_PERF_VEHICLE_SPEED = 0x11600207
+VEHICLEPROPERTY_ENGINE_ON = 0x11200300
+VEHICLEPROPERTY_ENGINE_COOLANT_TEMP = 0x11600301
+VEHICLEPROPERTY_ENGINE_OIL_LEVEL = 0x11400303
+VEHICLEPROPERTY_ENGINE_OIL_TEMP = 0x11600304
+VEHICLEPROPERTY_ENGINE_RPM = 0x11600305
+VEHICLEPROPERTY_WHEEL_TICK = 0x11e00306
+VEHICLEPROPERTY_FUEL_LEVEL = 0x11600307
+VEHICLEPROPERTY_FUEL_DOOR_OPEN = 0x11200308
+VEHICLEPROPERTY_EV_BATTERY_LEVEL = 0x11600309
+VEHICLEPROPERTY_EV_CHARGE_PORT_OPEN = 0x1120030a
+VEHICLEPROPERTY_EV_CHARGE_PORT_CONNECTED = 0x1120030b
+VEHICLEPROPERTY_EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 0x1160030c
+VEHICLEPROPERTY_GEAR_SELECTION = 0x11400400
+VEHICLEPROPERTY_CURRENT_GEAR = 0x11400401
+VEHICLEPROPERTY_PARKING_BRAKE_ON = 0x11200402
+VEHICLEPROPERTY_PARKING_BRAKE_AUTO_APPLY = 0x11200403
+VEHICLEPROPERTY_DRIVING_STATUS = 0x11400404
+VEHICLEPROPERTY_FUEL_LEVEL_LOW = 0x11200405
+VEHICLEPROPERTY_NIGHT_MODE = 0x11200407
+VEHICLEPROPERTY_TURN_SIGNAL_STATE = 0x11400408
+VEHICLEPROPERTY_IGNITION_STATE = 0x11400409
+VEHICLEPROPERTY_ABS_ACTIVE = 0x1120040a
+VEHICLEPROPERTY_TRACTION_CONTROL_ACTIVE = 0x1120040b
+VEHICLEPROPERTY_HVAC_FAN_SPEED = 0x12400500
+VEHICLEPROPERTY_HVAC_FAN_DIRECTION = 0x12400501
+VEHICLEPROPERTY_HVAC_TEMPERATURE_CURRENT = 0x12600502
+VEHICLEPROPERTY_HVAC_TEMPERATURE_SET = 0x12600503
+VEHICLEPROPERTY_HVAC_DEFROSTER = 0x13200504
+VEHICLEPROPERTY_HVAC_AC_ON = 0x12200505
+VEHICLEPROPERTY_HVAC_MAX_AC_ON = 0x12200506
+VEHICLEPROPERTY_HVAC_MAX_DEFROST_ON = 0x12200507
+VEHICLEPROPERTY_HVAC_RECIRC_ON = 0x12200508
+VEHICLEPROPERTY_HVAC_DUAL_ON = 0x12200509
+VEHICLEPROPERTY_HVAC_AUTO_ON = 0x1220050a
+VEHICLEPROPERTY_HVAC_SEAT_TEMPERATURE = 0x1540050b
+VEHICLEPROPERTY_HVAC_SIDE_MIRROR_HEAT = 0x1440050c
+VEHICLEPROPERTY_HVAC_STEERING_WHEEL_TEMP = 0x1140050d
+VEHICLEPROPERTY_HVAC_TEMPERATURE_UNITS = 0x1240050e
+VEHICLEPROPERTY_HVAC_ACTUAL_FAN_SPEED_RPM = 0x1240050f
+VEHICLEPROPERTY_HVAC_POWER_ON = 0x12200510
+VEHICLEPROPERTY_HVAC_FAN_DIRECTION_AVAILABLE = 0x12410511
+VEHICLEPROPERTY_HVAC_AUTO_RECIRC_ON = 0x12200512
+VEHICLEPROPERTY_ENV_OUTSIDE_TEMPERATURE = 0x11600703
+VEHICLEPROPERTY_ENV_CABIN_TEMPERATURE = 0x11600704
+VEHICLEPROPERTY_RADIO_PRESET = 0x11410801
+VEHICLEPROPERTY_AP_POWER_STATE = 0x11410a00
+VEHICLEPROPERTY_DISPLAY_BRIGHTNESS = 0x11400a01
+VEHICLEPROPERTY_AP_POWER_BOOTUP_REASON = 0x11400a02
+VEHICLEPROPERTY_HW_KEY_INPUT = 0x11410a10
+VEHICLEPROPERTY_UNIX_TIME = 0x11500a30
+VEHICLEPROPERTY_CURRENT_TIME_IN_SECONDS = 0x11400a31
+VEHICLEPROPERTY_DOOR_POS = 0x16400b00
+VEHICLEPROPERTY_DOOR_MOVE = 0x16400b01
+VEHICLEPROPERTY_DOOR_LOCK = 0x16200b02
+VEHICLEPROPERTY_MIRROR_Z_POS = 0x14400b40
+VEHICLEPROPERTY_MIRROR_Z_MOVE = 0x14400b41
+VEHICLEPROPERTY_MIRROR_Y_POS = 0x14400b42
+VEHICLEPROPERTY_MIRROR_Y_MOVE = 0x14400b43
+VEHICLEPROPERTY_MIRROR_LOCK = 0x11200b44
+VEHICLEPROPERTY_MIRROR_FOLD = 0x11200b45
+VEHICLEPROPERTY_SEAT_MEMORY_SELECT = 0x15400b80
+VEHICLEPROPERTY_SEAT_MEMORY_SET = 0x15400b81
+VEHICLEPROPERTY_SEAT_BELT_BUCKLED = 0x15200b82
+VEHICLEPROPERTY_SEAT_BELT_HEIGHT_POS = 0x15400b83
+VEHICLEPROPERTY_SEAT_BELT_HEIGHT_MOVE = 0x15400b84
+VEHICLEPROPERTY_SEAT_FORE_AFT_POS = 0x15400b85
+VEHICLEPROPERTY_SEAT_FORE_AFT_MOVE = 0x15400b86
+VEHICLEPROPERTY_SEAT_BACKREST_ANGLE_1_POS = 0x15400b87
+VEHICLEPROPERTY_SEAT_BACKREST_ANGLE_1_MOVE = 0x15400b88
+VEHICLEPROPERTY_SEAT_BACKREST_ANGLE_2_POS = 0x15400b89
+VEHICLEPROPERTY_SEAT_BACKREST_ANGLE_2_MOVE = 0x15400b8a
+VEHICLEPROPERTY_SEAT_HEIGHT_POS = 0x15400b8b
+VEHICLEPROPERTY_SEAT_HEIGHT_MOVE = 0x15400b8c
+VEHICLEPROPERTY_SEAT_DEPTH_POS = 0x15400b8d
+VEHICLEPROPERTY_SEAT_DEPTH_MOVE = 0x15400b8e
+VEHICLEPROPERTY_SEAT_TILT_POS = 0x15400b8f
+VEHICLEPROPERTY_SEAT_TILT_MOVE = 0x15400b90
+VEHICLEPROPERTY_SEAT_LUMBAR_FORE_AFT_POS = 0x15400b91
+VEHICLEPROPERTY_SEAT_LUMBAR_FORE_AFT_MOVE = 0x15400b92
+VEHICLEPROPERTY_SEAT_LUMBAR_SIDE_SUPPORT_POS = 0x15400b93
+VEHICLEPROPERTY_SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 0x15400b94
+VEHICLEPROPERTY_SEAT_HEADREST_HEIGHT_POS = 0x11400b95
+VEHICLEPROPERTY_SEAT_HEADREST_HEIGHT_MOVE = 0x15400b96
+VEHICLEPROPERTY_SEAT_HEADREST_ANGLE_POS = 0x15400b97
+VEHICLEPROPERTY_SEAT_HEADREST_ANGLE_MOVE = 0x15400b98
+VEHICLEPROPERTY_SEAT_HEADREST_FORE_AFT_POS = 0x15400b99
+VEHICLEPROPERTY_SEAT_HEADREST_FORE_AFT_MOVE = 0x15400b9a
+VEHICLEPROPERTY_WINDOW_POS = 0x13400bc0
+VEHICLEPROPERTY_WINDOW_MOVE = 0x13400bc1
+VEHICLEPROPERTY_WINDOW_VENT_POS = 0x13400bc2
+VEHICLEPROPERTY_WINDOW_VENT_MOVE = 0x13400bc3
+VEHICLEPROPERTY_WINDOW_LOCK = 0x13200bc4
+VEHICLEPROPERTY_VEHICLE_MAP_SERVICE = 0x11e00c00
+VEHICLEPROPERTY_OBD2_LIVE_FRAME = 0x11e00d00
+VEHICLEPROPERTY_OBD2_FREEZE_FRAME = 0x11e00d01
+VEHICLEPROPERTY_OBD2_FREEZE_FRAME_INFO = 0x11e00d02
+VEHICLEPROPERTY_OBD2_FREEZE_FRAME_CLEAR = 0x11e00d03
 
-# FuelType
-FUELTYPE_FUEL_TYPE_UNKNOWN = 0x0
-FUELTYPE_FUEL_TYPE_UNLEADED = 0x1
-FUELTYPE_FUEL_TYPE_LEADED = 0x2
-FUELTYPE_FUEL_TYPE_DIESEL_1 = 0x3
-FUELTYPE_FUEL_TYPE_DIESEL_2 = 0x4
-FUELTYPE_FUEL_TYPE_BIODIESEL = 0x5
-FUELTYPE_FUEL_TYPE_E85 = 0x6
-FUELTYPE_FUEL_TYPE_LPG = 0x7
-FUELTYPE_FUEL_TYPE_CNG = 0x8
-FUELTYPE_FUEL_TYPE_LNG = 0x9
-FUELTYPE_FUEL_TYPE_ELECTRIC = 0xa
-FUELTYPE_FUEL_TYPE_HYDROGEN = 0xb
-FUELTYPE_FUEL_TYPE_OTHER = 0xc
+# StatusCode
+STATUSCODE_OK = 0x0
+STATUSCODE_TRY_AGAIN = 0x1
+STATUSCODE_INVALID_ARG = 0x2
+STATUSCODE_NOT_AVAILABLE = 0x3
+STATUSCODE_ACCESS_DENIED = 0x4
+STATUSCODE_INTERNAL_ERROR = 0x5
 
-# Obd2CompressionIgnitionMonitors
-OBD2COMPRESSIONIGNITIONMONITORS_EGR_OR_VVT_AVAILABLE = 0x40
-OBD2COMPRESSIONIGNITIONMONITORS_EGR_OR_VVT_INCOMPLETE = 0x80
-OBD2COMPRESSIONIGNITIONMONITORS_PM_FILTER_AVAILABLE = 0x100
-OBD2COMPRESSIONIGNITIONMONITORS_PM_FILTER_INCOMPLETE = 0x200
-OBD2COMPRESSIONIGNITIONMONITORS_EXHAUST_GAS_SENSOR_AVAILABLE = 0x400
-OBD2COMPRESSIONIGNITIONMONITORS_EXHAUST_GAS_SENSOR_INCOMPLETE = 0x800
-OBD2COMPRESSIONIGNITIONMONITORS_BOOST_PRESSURE_AVAILABLE = 0x1000
-OBD2COMPRESSIONIGNITIONMONITORS_BOOST_PRESSURE_INCOMPLETE = 0x2000
-OBD2COMPRESSIONIGNITIONMONITORS_NOx_SCR_AVAILABLE = 0x4000
-OBD2COMPRESSIONIGNITIONMONITORS_NOx_SCR_INCOMPLETE = 0x8000
-OBD2COMPRESSIONIGNITIONMONITORS_NMHC_CATALYST_AVAILABLE = 0x10000
-OBD2COMPRESSIONIGNITIONMONITORS_NMHC_CATALYST_INCOMPLETE = 0x20000
+# VehicleTurnSignal
+VEHICLETURNSIGNAL_NONE = 0x0
+VEHICLETURNSIGNAL_RIGHT = 0x1
+VEHICLETURNSIGNAL_LEFT = 0x2
+VEHICLETURNSIGNAL_EMERGENCY = 0x4
+
+# VehiclePropertyOperation
+VEHICLEPROPERTYOPERATION_GENERIC = 0x0
+VEHICLEPROPERTYOPERATION_SET = 0x1
+VEHICLEPROPERTYOPERATION_GET = 0x2
+VEHICLEPROPERTYOPERATION_SUBSCRIBE = 0x3
+
+# VehicleHwKeyInputAction
+VEHICLEHWKEYINPUTACTION_ACTION_DOWN = 0x0
+VEHICLEHWKEYINPUTACTION_ACTION_UP = 0x1
+
+# EvConnectorType
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_UNKNOWN = 0x0
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_J1772 = 0x1
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_MENNEKES = 0x2
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_CHADEMO = 0x3
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_COMBO_1 = 0x4
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_COMBO_2 = 0x5
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_ROADSTER = 0x6
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_HPWC = 0x7
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_TESLA_SUPERCHARGER = 0x8
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_GBT = 0x9
+EVCONNECTORTYPE_EV_CONNECTOR_TYPE_OTHER = 0x65
+
+# SubscribeFlags
+SUBSCRIBEFLAGS_UNDEFINED = 0x0
+SUBSCRIBEFLAGS_HAL_EVENT = 0x1
+SUBSCRIBEFLAGS_SET_CALL = 0x2
+SUBSCRIBEFLAGS_DEFAULT = 0x1
+
+# Obd2SecondaryAirStatus
+OBD2SECONDARYAIRSTATUS_UPSTREAM = 0x1
+OBD2SECONDARYAIRSTATUS_DOWNSTREAM_OF_CATALYCIC_CONVERTER = 0x2
+OBD2SECONDARYAIRSTATUS_FROM_OUTSIDE_OR_OFF = 0x4
+OBD2SECONDARYAIRSTATUS_PUMP_ON_FOR_DIAGNOSTICS = 0x8
+
+# VmsMessageWithLayerAndPublisherIdIntegerValuesIndex
+VMSMESSAGEWITHLAYERANDPUBLISHERIDINTEGERVALUESINDEX_PUBLISHER_ID = 0x4
+
+# VehicleOilLevel
+VEHICLEOILLEVEL_CRITICALLY_LOW = 0x0
+VEHICLEOILLEVEL_LOW = 0x1
+VEHICLEOILLEVEL_NORMAL = 0x2
+VEHICLEOILLEVEL_HIGH = 0x3
+VEHICLEOILLEVEL_ERROR = 0x4
+
+# VehicleHvacFanDirection
+VEHICLEHVACFANDIRECTION_FACE = 0x1
+VEHICLEHVACFANDIRECTION_FLOOR = 0x2
+VEHICLEHVACFANDIRECTION_DEFROST = 0x4
+
+# VehicleApPowerStateConfigFlag
+VEHICLEAPPOWERSTATECONFIGFLAG_ENABLE_DEEP_SLEEP_FLAG = 0x1
+VEHICLEAPPOWERSTATECONFIGFLAG_CONFIG_SUPPORT_TIMER_POWER_ON_FLAG = 0x2
+
+# VmsPublisherInformationIntegerValuesIndex
+VMSPUBLISHERINFORMATIONINTEGERVALUESINDEX_PUBLISHER_ID = 0x1
+
+# Obd2CommonIgnitionMonitors
+OBD2COMMONIGNITIONMONITORS_COMPONENTS_AVAILABLE = 0x1
+OBD2COMMONIGNITIONMONITORS_COMPONENTS_INCOMPLETE = 0x2
+OBD2COMMONIGNITIONMONITORS_FUEL_SYSTEM_AVAILABLE = 0x4
+OBD2COMMONIGNITIONMONITORS_FUEL_SYSTEM_INCOMPLETE = 0x8
+OBD2COMMONIGNITIONMONITORS_MISFIRE_AVAILABLE = 0x10
+OBD2COMMONIGNITIONMONITORS_MISFIRE_INCOMPLETE = 0x20
+
+# VehicleDrivingStatus
+VEHICLEDRIVINGSTATUS_UNRESTRICTED = 0x0
+VEHICLEDRIVINGSTATUS_NO_VIDEO = 0x1
+VEHICLEDRIVINGSTATUS_NO_KEYBOARD_INPUT = 0x2
+VEHICLEDRIVINGSTATUS_NO_VOICE_INPUT = 0x4
+VEHICLEDRIVINGSTATUS_NO_CONFIG = 0x8
+VEHICLEDRIVINGSTATUS_LIMIT_MESSAGE_LEN = 0x10
+
+# VehicleApPowerSetState
+VEHICLEAPPOWERSETSTATE_BOOT_COMPLETE = 0x1
+VEHICLEAPPOWERSETSTATE_DEEP_SLEEP_ENTRY = 0x2
+VEHICLEAPPOWERSETSTATE_DEEP_SLEEP_EXIT = 0x3
+VEHICLEAPPOWERSETSTATE_SHUTDOWN_POSTPONE = 0x4
+VEHICLEAPPOWERSETSTATE_SHUTDOWN_START = 0x5
+VEHICLEAPPOWERSETSTATE_DISPLAY_OFF = 0x6
+VEHICLEAPPOWERSETSTATE_DISPLAY_ON = 0x7
+
+# VehicleIgnitionState
+VEHICLEIGNITIONSTATE_UNDEFINED = 0x0
+VEHICLEIGNITIONSTATE_LOCK = 0x1
+VEHICLEIGNITIONSTATE_OFF = 0x2
+VEHICLEIGNITIONSTATE_ACC = 0x3
+VEHICLEIGNITIONSTATE_ON = 0x4
+VEHICLEIGNITIONSTATE_START = 0x5
+
+# Wheel
+WHEEL_UNKNOWN = 0x0
+WHEEL_LEFT_FRONT = 0x1
+WHEEL_RIGHT_FRONT = 0x2
+WHEEL_LEFT_REAR = 0x4
+WHEEL_RIGHT_REAR = 0x8
+
+# VehicleRadioConstants
+VEHICLERADIOCONSTANTS_VEHICLE_RADIO_PRESET_MIN_VALUE = 0x1
+
+# VehiclePropertyChangeMode
+VEHICLEPROPERTYCHANGEMODE_STATIC = 0x0
+VEHICLEPROPERTYCHANGEMODE_ON_CHANGE = 0x1
+VEHICLEPROPERTYCHANGEMODE_CONTINUOUS = 0x2
+VEHICLEPROPERTYCHANGEMODE_POLL = 0x3
+VEHICLEPROPERTYCHANGEMODE_ON_SET = 0x4
 
 # DiagnosticIntegerSensorIndex
 DIAGNOSTICINTEGERSENSORINDEX_FUEL_SYSTEM_STATUS = 0x0
@@ -580,57 +628,10 @@
 DIAGNOSTICINTEGERSENSORINDEX_ENGINE_PERCENT_TORQUE_DATA_POINT4 = 0x1f
 DIAGNOSTICINTEGERSENSORINDEX_LAST_SYSTEM_INDEX = 0x1f
 
-# VehicleDisplay
-VEHICLEDISPLAY_MAIN = 0x0
-VEHICLEDISPLAY_INSTRUMENT_CLUSTER = 0x1
-
-# VehicleAreaMirror
-VEHICLEAREAMIRROR_DRIVER_LEFT = 0x1
-VEHICLEAREAMIRROR_DRIVER_RIGHT = 0x2
-VEHICLEAREAMIRROR_DRIVER_CENTER = 0x4
-
-# VehicleIgnitionState
-VEHICLEIGNITIONSTATE_UNDEFINED = 0x0
-VEHICLEIGNITIONSTATE_LOCK = 0x1
-VEHICLEIGNITIONSTATE_OFF = 0x2
-VEHICLEIGNITIONSTATE_ACC = 0x3
-VEHICLEIGNITIONSTATE_ON = 0x4
-VEHICLEIGNITIONSTATE_START = 0x5
-
-# Obd2SparkIgnitionMonitors
-OBD2SPARKIGNITIONMONITORS_EGR_AVAILABLE = 0x40
-OBD2SPARKIGNITIONMONITORS_EGR_INCOMPLETE = 0x80
-OBD2SPARKIGNITIONMONITORS_OXYGEN_SENSOR_HEATER_AVAILABLE = 0x100
-OBD2SPARKIGNITIONMONITORS_OXYGEN_SENSOR_HEATER_INCOMPLETE = 0x200
-OBD2SPARKIGNITIONMONITORS_OXYGEN_SENSOR_AVAILABLE = 0x400
-OBD2SPARKIGNITIONMONITORS_OXYGEN_SENSOR_INCOMPLETE = 0x800
-OBD2SPARKIGNITIONMONITORS_AC_REFRIGERANT_AVAILABLE = 0x1000
-OBD2SPARKIGNITIONMONITORS_AC_REFRIGERANT_INCOMPLETE = 0x2000
-OBD2SPARKIGNITIONMONITORS_SECONDARY_AIR_SYSTEM_AVAILABLE = 0x4000
-OBD2SPARKIGNITIONMONITORS_SECONDARY_AIR_SYSTEM_INCOMPLETE = 0x8000
-OBD2SPARKIGNITIONMONITORS_EVAPORATIVE_SYSTEM_AVAILABLE = 0x10000
-OBD2SPARKIGNITIONMONITORS_EVAPORATIVE_SYSTEM_INCOMPLETE = 0x20000
-OBD2SPARKIGNITIONMONITORS_HEATED_CATALYST_AVAILABLE = 0x40000
-OBD2SPARKIGNITIONMONITORS_HEATED_CATALYST_INCOMPLETE = 0x80000
-OBD2SPARKIGNITIONMONITORS_CATALYST_AVAILABLE = 0x100000
-OBD2SPARKIGNITIONMONITORS_CATALYST_INCOMPLETE = 0x200000
-
-# VmsSubscriptionsStateIntegerValuesIndex
-VMSSUBSCRIPTIONSSTATEINTEGERVALUESINDEX_SEQUENCE_NUMBER = 0x1
-VMSSUBSCRIPTIONSSTATEINTEGERVALUESINDEX_NUMBER_OF_LAYERS = 0x2
-VMSSUBSCRIPTIONSSTATEINTEGERVALUESINDEX_NUMBER_OF_ASSOCIATED_LAYERS = 0x3
-VMSSUBSCRIPTIONSSTATEINTEGERVALUESINDEX_SUBSCRIPTIONS_START = 0x4
-
-# VehicleAreaWindow
-VEHICLEAREAWINDOW_FRONT_WINDSHIELD = 0x1
-VEHICLEAREAWINDOW_REAR_WINDSHIELD = 0x2
-VEHICLEAREAWINDOW_ROOF_TOP = 0x4
-VEHICLEAREAWINDOW_ROW_1_LEFT = 0x10
-VEHICLEAREAWINDOW_ROW_1_RIGHT = 0x20
-VEHICLEAREAWINDOW_ROW_2_LEFT = 0x100
-VEHICLEAREAWINDOW_ROW_2_RIGHT = 0x200
-VEHICLEAREAWINDOW_ROW_3_LEFT = 0x1000
-VEHICLEAREAWINDOW_ROW_3_RIGHT = 0x2000
+# VmsAvailabilityStateIntegerValuesIndex
+VMSAVAILABILITYSTATEINTEGERVALUESINDEX_SEQUENCE_NUMBER = 0x1
+VMSAVAILABILITYSTATEINTEGERVALUESINDEX_NUMBER_OF_ASSOCIATED_LAYERS = 0x2
+VMSAVAILABILITYSTATEINTEGERVALUESINDEX_LAYERS_START = 0x3
 
 # Create a container of value_type constants to be used by vhal_emulator
 class vhal_types_2_0: