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