diff --git a/core/java/android/hardware/display/DisplayManagerInternal.java b/core/java/android/hardware/display/DisplayManagerInternal.java
index 5a03adee4eabd..95f1d124b9a1c 100644
--- a/core/java/android/hardware/display/DisplayManagerInternal.java
+++ b/core/java/android/hardware/display/DisplayManagerInternal.java
@@ -465,4 +465,46 @@ public abstract class DisplayManagerInternal {
public interface DisplayTransactionListener {
void onDisplayTransaction(Transaction t);
}
+
+ /**
+ * Called when there are changes to {@link com.android.server.display.DisplayGroup
+ * DisplayGroups}.
+ */
+ public interface DisplayGroupListener {
+ /**
+ * A new display group with the provided {@code groupId} was added.
+ *
+ *
+ * - The {@code groupId} is applied to all appropriate {@link Display displays}.
+ *
- This method is called.
+ *
- {@link android.hardware.display.DisplayManager.DisplayListener DisplayListeners}
+ * are informed of any corresponding changes.
+ *
+ */
+ void onDisplayGroupAdded(int groupId);
+
+ /**
+ * The display group with the provided {@code groupId} was removed.
+ *
+ *
+ * - All affected {@link Display displays} have their group IDs updated appropriately.
+ *
- {@link android.hardware.display.DisplayManager.DisplayListener DisplayListeners}
+ * are informed of any corresponding changes.
+ *
- This method is called.
+ *
+ */
+ void onDisplayGroupRemoved(int groupId);
+
+ /**
+ * The display group with the provided {@code groupId} has changed.
+ *
+ *
+ * - All affected {@link Display displays} have their group IDs updated appropriately.
+ *
- {@link android.hardware.display.DisplayManager.DisplayListener DisplayListeners}
+ * are informed of any corresponding changes.
+ *
- This method is called.
+ *
+ */
+ void onDisplayGroupChanged(int groupId);
+ }
}