Start moving DisplayRepository in displaylib

This will make several classes usable also from launcher (or other processes)

Bug: 401305290
Test: DisplayRepositoryTest
Flag: NONE - creating new lib skeleton
Change-Id: I7e5ef82fc9c36a0298abf52a808ca2ebc6190d93
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index 5b48566..129949f 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -534,6 +534,7 @@
         "androidx.compose.animation_animation-graphics",
         "androidx.lifecycle_lifecycle-viewmodel-compose",
         "kairos",
+        "displaylib",
         "aconfig_settings_flags_lib",
     ],
     libs: [
@@ -728,6 +729,7 @@
         "Traceur-res",
         "aconfig_settings_flags_lib",
         "kairos",
+        "displaylib",
     ],
 }
 
@@ -770,6 +772,7 @@
         "androidx.compose.runtime_runtime",
         "kairos",
         "kosmos",
+        "displaylib",
         "testables",
         "androidx.test.rules",
         "platform-compat-test-rules",
diff --git a/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt b/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt
index 721d116..101e8cc 100644
--- a/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt
+++ b/packages/SystemUI/src/com/android/systemui/display/data/repository/DisplayRepository.kt
@@ -27,6 +27,7 @@
 import android.util.Log
 import android.view.Display
 import android.view.IWindowManager
+import com.android.app.displaylib.DisplayRepository as DisplayRepositoryFromLib
 import com.android.app.tracing.FlowTracing.traceEach
 import com.android.app.tracing.traceSection
 import com.android.systemui.dagger.SysUISingleton
@@ -60,7 +61,7 @@
 import kotlinx.coroutines.flow.stateIn
 
 /** Repository for providing access to display related information and events. */
-interface DisplayRepository {
+interface DisplayRepository : DisplayRepositoryFromLib {
     /** Display change event indicating a change to the given displayId has occurred. */
     val displayChangeEvent: Flow<Int>
 
@@ -74,13 +75,6 @@
     val displayIdsWithSystemDecorations: StateFlow<Set<Int>>
 
     /**
-     * Provides the current set of displays.
-     *
-     * Consider using [displayIds] if only the [Display.getDisplayId] is needed.
-     */
-    val displays: StateFlow<Set<Display>>
-
-    /**
      * Provides the current set of display ids.
      *
      * Note that it is preferred to use this instead of [displays] if only the