Merge "Add Display ID when Getting Display State" into udc-dev
diff --git a/automotive/evs/aidl/aidl_api/android.hardware.automotive.evs/current/android/hardware/automotive/evs/IEvsEnumerator.aidl b/automotive/evs/aidl/aidl_api/android.hardware.automotive.evs/current/android/hardware/automotive/evs/IEvsEnumerator.aidl
index 225b504..4cefdf2 100644
--- a/automotive/evs/aidl/aidl_api/android.hardware.automotive.evs/current/android/hardware/automotive/evs/IEvsEnumerator.aidl
+++ b/automotive/evs/aidl/aidl_api/android.hardware.automotive.evs/current/android/hardware/automotive/evs/IEvsEnumerator.aidl
@@ -47,4 +47,5 @@
   android.hardware.automotive.evs.IEvsDisplay openDisplay(in int id);
   android.hardware.automotive.evs.IEvsUltrasonicsArray openUltrasonicsArray(in String ultrasonicsArrayId);
   void registerStatusCallback(in android.hardware.automotive.evs.IEvsEnumeratorStatusCallback callback);
+  android.hardware.automotive.evs.DisplayState getDisplayStateById(in int id);
 }
diff --git a/automotive/evs/aidl/android/hardware/automotive/evs/IEvsEnumerator.aidl b/automotive/evs/aidl/android/hardware/automotive/evs/IEvsEnumerator.aidl
index 8698700..37b8ea5 100644
--- a/automotive/evs/aidl/android/hardware/automotive/evs/IEvsEnumerator.aidl
+++ b/automotive/evs/aidl/android/hardware/automotive/evs/IEvsEnumerator.aidl
@@ -78,12 +78,12 @@
     byte[] getDisplayIdList();
 
     /**
-     * This call requests the current state of the display
+     * This call requests the current state of the primary display
      *
      * If there is no open display, this returns DisplayState::NOT_OPEN. otherwise, it returns
-     * the actual state of the active display.  This call is replicated on the IEvsEnumerator
-     * interface in order to allow secondary clients to monitor the state of the EVS display
-     * without acquiring exclusive ownership of the display.
+     * the actual state of the active primary display.  This call is replicated on the
+     * IEvsEnumerator interface in order to allow secondary clients to monitor the state of the EVS
+     * display without acquiring exclusive ownership of the display.
      *
      * @return Current DisplayState of this Display.
      * @throws EvsResult::OWNERSHIP_LOST if current display is inactive
@@ -163,4 +163,19 @@
      * @param in callback IEvsEnumeratorStatusCallback implementation
      */
     void registerStatusCallback(in IEvsEnumeratorStatusCallback callback);
+
+    /**
+     * This call requests the current state of the display
+     *
+     * If the requested display is not active, this returns DisplayState::NOT_OPEN. otherwise, it
+     * returns the actual state of the active display.  This call is replicated on the
+     * IEvsEnumerator interface in order to allow secondary clients to monitor the state of the EVS
+     * display without acquiring exclusive ownership of the display.
+     *
+     * @param in id ID of the requested display.
+     * @return Current DisplayState of this Display.
+     * @throws EvsResult::OWNERSHIP_LOST if current display is inactive
+     *        EvsResult::PERMISSION_DENIED if the process is not permitted to do this operation.
+     */
+    DisplayState getDisplayStateById(in int id);
 }