Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c07e73cb authored by Nicolo' Mazzucato's avatar Nicolo' Mazzucato Committed by Nicolò Mazzucato
Browse files

[revert^2] Move PerDisplayRepository from SystemUI to displaylib

This moved PerDisplayRepository to displaylib, making it available to places outside of sysui.

A thing worth noticing is that the factory is not actually generated from the dagger component of displaylib, as we can't directly expose an element with a generic constructor.

The way this works is that PerDisplayRepository takes part in the dagger graph of systemui (or any other project compiling this).

For this reason, the @DisplayLibBackground annotation has been introduced, to allow systemui to provide a coroutine scope usable from PerDisplayRepositoryImpl.Factory.

Tests are untouched, and still in SystemUI (by purpose, to prove the behavior didn't change)

In a follow up I'll remove the displaylib dagger component (not strictly needed here), and move the tests to displaylib.

Bug: 401305290
Test: PerDisplayInstanceRepositoryImplTest, builds and runs successfully
Flag: NONE - Just moving code around
Change-Id: I2e56fd8516ed965779c92bd452bbb79a0d861bcb
parent 546ca204
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ package com.android.systemui.display.data.repository
import android.view.Display
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import com.android.app.displaylib.PerDisplayInstanceRepositoryImpl
import com.android.systemui.SysuiTestCase
import com.android.systemui.dump.dumpManager
import com.android.systemui.kosmos.testScope
+1 −1
Original line number Diff line number Diff line
@@ -17,9 +17,9 @@
package com.android.systemui.common.domain.interactor

import android.util.Log
import com.android.app.displaylib.PerDisplayRepository
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.display.data.repository.DisplayRepository
import com.android.systemui.display.data.repository.PerDisplayRepository
import com.android.systemui.model.StateChange
import com.android.systemui.model.SysUiState
import javax.inject.Inject
+3 −3
Original line number Diff line number Diff line
@@ -16,9 +16,9 @@

package com.android.systemui.dagger

import com.android.systemui.display.data.repository.DefaultDisplayOnlyInstanceRepositoryImpl
import com.android.systemui.display.data.repository.PerDisplayInstanceRepositoryImpl
import com.android.systemui.display.data.repository.PerDisplayRepository
import com.android.app.displaylib.DefaultDisplayOnlyInstanceRepositoryImpl
import com.android.app.displaylib.PerDisplayInstanceRepositoryImpl
import com.android.app.displaylib.PerDisplayRepository
import com.android.systemui.model.SysUIStateInstanceProvider
import com.android.systemui.model.SysUiState
import com.android.systemui.shade.shared.flag.ShadeWindowGoesAround
+1 −1
Original line number Diff line number Diff line
@@ -65,7 +65,7 @@ import com.android.systemui.dagger.qualifiers.UiBackground;
import com.android.systemui.demomode.dagger.DemoModeModule;
import com.android.systemui.deviceentry.DeviceEntryModule;
import com.android.systemui.display.DisplayModule;
import com.android.systemui.display.data.repository.PerDisplayRepository;
import com.android.app.displaylib.PerDisplayRepository;
import com.android.systemui.doze.dagger.DozeComponent;
import com.android.systemui.dreams.dagger.DreamModule;
import com.android.systemui.flags.FeatureFlags;
+6 −1
Original line number Diff line number Diff line
@@ -18,7 +18,9 @@ package com.android.systemui.display

import android.hardware.display.DisplayManager
import android.os.Handler
import com.android.app.displaylib.DisplayLibBackground
import com.android.app.displaylib.DisplayLibComponent
import com.android.app.displaylib.PerDisplayRepository
import com.android.app.displaylib.createDisplayLibComponent
import com.android.systemui.CoreStartable
import com.android.systemui.dagger.SysUISingleton
@@ -34,7 +36,6 @@ import com.android.systemui.display.data.repository.DisplayWindowPropertiesRepos
import com.android.systemui.display.data.repository.FocusedDisplayRepository
import com.android.systemui.display.data.repository.FocusedDisplayRepositoryImpl
import com.android.systemui.display.data.repository.PerDisplayRepoDumpHelper
import com.android.systemui.display.data.repository.PerDisplayRepository
import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractor
import com.android.systemui.display.domain.interactor.ConnectedDisplayInteractorImpl
import com.android.systemui.display.domain.interactor.DisplayWindowPropertiesInteractorModule
@@ -85,6 +86,10 @@ interface DisplayModule {
    @Binds
    fun dumpRegistrationLambda(helper: PerDisplayRepoDumpHelper): PerDisplayRepository.InitCallback

    @Binds
    @DisplayLibBackground
    fun bindDisplayLibBackground(@Background bgScope: CoroutineScope): CoroutineScope

    companion object {
        @Provides
        @SysUISingleton
Loading