Loading packages/SystemUI/src/com/android/systemui/SysUICutoutProvider.kt +6 −14 Original line number Diff line number Diff line Loading @@ -21,10 +21,9 @@ import android.graphics.Rect import android.util.RotationUtils import android.view.Display import android.view.DisplayCutout import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.PerDisplaySingleton import com.android.systemui.display.naturalBounds import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import javax.inject.Inject interface SysUICutoutProvider { Loading @@ -37,11 +36,12 @@ interface SysUICutoutProvider { fun cutoutInfoForCurrentDisplayAndRotation(): SysUICutoutInformation? } @PerDisplaySingleton class SysUICutoutProviderImpl @AssistedInject @Inject constructor( @Assisted private val context: Context, @Assisted private val cameraProtectionLoader: CameraProtectionLoader, private val context: Context, private val cameraProtectionLoader: CameraProtectionLoader, ) : SysUICutoutProvider { private val cameraProtectionList by lazy { Loading Loading @@ -81,12 +81,4 @@ constructor( ) return rotatedBoundsOut } @AssistedFactory interface Factory { fun create( context: Context, cameraProtectionLoader: CameraProtectionLoader, ): SysUICutoutProviderImpl } } packages/SystemUI/src/com/android/systemui/display/dagger/PerDisplayCommonModule.kt +16 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,10 @@ package com.android.systemui.display.dagger import android.content.Context import android.view.Display import com.android.app.displaylib.DisplayRepository import com.android.systemui.CameraProtectionLoader import com.android.systemui.CameraProtectionLoaderImpl import com.android.systemui.SysUICutoutProvider import com.android.systemui.SysUICutoutProviderImpl import com.android.systemui.coroutines.newTracingContext import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background Loading Loading @@ -69,8 +73,20 @@ interface PerDisplayCommonModule { @DisplayAware fun sysUiDarkIconDispatcher(impl: DarkIconDispatcherImpl): SysuiDarkIconDispatcher @Binds @DisplayAware fun sysUICutoutProvider(impl: SysUICutoutProviderImpl): SysUICutoutProvider companion object { @Provides @PerDisplaySingleton @DisplayAware fun cameraProtectionLoader( factory: CameraProtectionLoaderImpl.Factory, @DisplayAware context: Context, ): CameraProtectionLoader { return factory.create(context) } @Provides @PerDisplaySingleton fun provideDisplay( Loading packages/SystemUI/src/com/android/systemui/display/dagger/SystemUIDisplaySubcomponent.kt +3 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.display.dagger import com.android.systemui.SysUICutoutProvider import com.android.systemui.common.ui.ConfigurationState import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.PerDisplaySingleton import com.android.systemui.display.data.repository.DisplayStateRepository Loading Loading @@ -67,6 +68,8 @@ interface SystemUIDisplaySubcomponent { @get:DisplayAware val configurationState: ConfigurationState @get:DisplayAware val sysUICutoutProvider: SysUICutoutProvider @Subcomponent.Factory interface Factory { fun create(@BindsInstance @DisplayId displayId: Int): SystemUIDisplaySubcomponent Loading packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarModule.kt +9 −15 Original line number Diff line number Diff line Loading @@ -19,12 +19,11 @@ package com.android.systemui.statusbar.dagger import android.content.Context import android.view.Display import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR import com.android.systemui.CameraProtectionLoader import com.android.app.displaylib.PerDisplayRepository import com.android.systemui.CoreStartable import com.android.systemui.SysUICutoutProvider import com.android.systemui.SysUICutoutProviderImpl import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent import com.android.systemui.display.data.repository.DisplayWindowPropertiesRepositoryImpl import com.android.systemui.log.LogBuffer import com.android.systemui.log.LogBufferFactory Loading Loading @@ -179,25 +178,20 @@ interface StatusBarModule { return factory.create("StatusBarWindow", 120) } @Provides @SysUISingleton fun sysUiCutoutProvider( factory: SysUICutoutProviderImpl.Factory, context: Context, cameraProtectionLoader: CameraProtectionLoader, ): SysUICutoutProvider { return factory.create(context, cameraProtectionLoader) } @Provides @SysUISingleton fun contentInsetsProvider( factory: StatusBarContentInsetsProviderImpl.Factory, context: Context, configurationController: ConfigurationController, sysUICutoutProvider: SysUICutoutProvider, displaySubcomponentRepo: PerDisplayRepository<SystemUIDisplaySubcomponent>, ): StatusBarContentInsetsProvider { return factory.create(context, configurationController, sysUICutoutProvider) val displaySubcomponent = displaySubcomponentRepo[Display.DEFAULT_DISPLAY]!! return factory.create( context, configurationController, displaySubcomponent.sysUICutoutProvider, ) } @Provides Loading packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarContentInsetsProviderStore.kt +5 −10 Original line number Diff line number Diff line Loading @@ -17,11 +17,11 @@ package com.android.systemui.statusbar.data.repository import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR import com.android.systemui.CameraProtectionLoaderImpl import com.android.app.displaylib.PerDisplayRepository import com.android.systemui.CoreStartable import com.android.systemui.SysUICutoutProviderImpl import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent import com.android.systemui.display.data.repository.DisplayRepository import com.android.systemui.display.data.repository.DisplayWindowPropertiesRepository import com.android.systemui.display.data.repository.PerDisplayStore Loading Loading @@ -49,8 +49,7 @@ constructor( private val factory: StatusBarContentInsetsProviderImpl.Factory, private val displayWindowPropertiesRepository: DisplayWindowPropertiesRepository, private val statusBarConfigurationControllerStore: StatusBarConfigurationControllerStore, private val sysUICutoutProviderFactory: SysUICutoutProviderImpl.Factory, private val cameraProtectionLoaderFactory: CameraProtectionLoaderImpl.Factory, private val displaySubcomponentRepo: PerDisplayRepository<SystemUIDisplaySubcomponent>, ) : StatusBarContentInsetsProviderStore, StatusBarPerDisplayStoreImpl<StatusBarContentInsetsProvider>( Loading @@ -64,13 +63,9 @@ constructor( val context = displayWindowProperties.context val configurationController = statusBarConfigurationControllerStore.forDisplay(displayId) ?: return null val cameraProtectionLoader = cameraProtectionLoaderFactory.create(context) val displaySubcomponent = displaySubcomponentRepo[displayId] ?: return null return factory .create( context, configurationController, sysUICutoutProviderFactory.create(context, cameraProtectionLoader), ) .create(context, configurationController, displaySubcomponent.sysUICutoutProvider) .also { it.start() } } Loading Loading
packages/SystemUI/src/com/android/systemui/SysUICutoutProvider.kt +6 −14 Original line number Diff line number Diff line Loading @@ -21,10 +21,9 @@ import android.graphics.Rect import android.util.RotationUtils import android.view.Display import android.view.DisplayCutout import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.PerDisplaySingleton import com.android.systemui.display.naturalBounds import dagger.assisted.Assisted import dagger.assisted.AssistedFactory import dagger.assisted.AssistedInject import javax.inject.Inject interface SysUICutoutProvider { Loading @@ -37,11 +36,12 @@ interface SysUICutoutProvider { fun cutoutInfoForCurrentDisplayAndRotation(): SysUICutoutInformation? } @PerDisplaySingleton class SysUICutoutProviderImpl @AssistedInject @Inject constructor( @Assisted private val context: Context, @Assisted private val cameraProtectionLoader: CameraProtectionLoader, private val context: Context, private val cameraProtectionLoader: CameraProtectionLoader, ) : SysUICutoutProvider { private val cameraProtectionList by lazy { Loading Loading @@ -81,12 +81,4 @@ constructor( ) return rotatedBoundsOut } @AssistedFactory interface Factory { fun create( context: Context, cameraProtectionLoader: CameraProtectionLoader, ): SysUICutoutProviderImpl } }
packages/SystemUI/src/com/android/systemui/display/dagger/PerDisplayCommonModule.kt +16 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,10 @@ package com.android.systemui.display.dagger import android.content.Context import android.view.Display import com.android.app.displaylib.DisplayRepository import com.android.systemui.CameraProtectionLoader import com.android.systemui.CameraProtectionLoaderImpl import com.android.systemui.SysUICutoutProvider import com.android.systemui.SysUICutoutProviderImpl import com.android.systemui.coroutines.newTracingContext import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background Loading Loading @@ -69,8 +73,20 @@ interface PerDisplayCommonModule { @DisplayAware fun sysUiDarkIconDispatcher(impl: DarkIconDispatcherImpl): SysuiDarkIconDispatcher @Binds @DisplayAware fun sysUICutoutProvider(impl: SysUICutoutProviderImpl): SysUICutoutProvider companion object { @Provides @PerDisplaySingleton @DisplayAware fun cameraProtectionLoader( factory: CameraProtectionLoaderImpl.Factory, @DisplayAware context: Context, ): CameraProtectionLoader { return factory.create(context) } @Provides @PerDisplaySingleton fun provideDisplay( Loading
packages/SystemUI/src/com/android/systemui/display/dagger/SystemUIDisplaySubcomponent.kt +3 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.systemui.display.dagger import com.android.systemui.SysUICutoutProvider import com.android.systemui.common.ui.ConfigurationState import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.PerDisplaySingleton import com.android.systemui.display.data.repository.DisplayStateRepository Loading Loading @@ -67,6 +68,8 @@ interface SystemUIDisplaySubcomponent { @get:DisplayAware val configurationState: ConfigurationState @get:DisplayAware val sysUICutoutProvider: SysUICutoutProvider @Subcomponent.Factory interface Factory { fun create(@BindsInstance @DisplayId displayId: Int): SystemUIDisplaySubcomponent Loading
packages/SystemUI/src/com/android/systemui/statusbar/dagger/StatusBarModule.kt +9 −15 Original line number Diff line number Diff line Loading @@ -19,12 +19,11 @@ package com.android.systemui.statusbar.dagger import android.content.Context import android.view.Display import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR import com.android.systemui.CameraProtectionLoader import com.android.app.displaylib.PerDisplayRepository import com.android.systemui.CoreStartable import com.android.systemui.SysUICutoutProvider import com.android.systemui.SysUICutoutProviderImpl import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent import com.android.systemui.display.data.repository.DisplayWindowPropertiesRepositoryImpl import com.android.systemui.log.LogBuffer import com.android.systemui.log.LogBufferFactory Loading Loading @@ -179,25 +178,20 @@ interface StatusBarModule { return factory.create("StatusBarWindow", 120) } @Provides @SysUISingleton fun sysUiCutoutProvider( factory: SysUICutoutProviderImpl.Factory, context: Context, cameraProtectionLoader: CameraProtectionLoader, ): SysUICutoutProvider { return factory.create(context, cameraProtectionLoader) } @Provides @SysUISingleton fun contentInsetsProvider( factory: StatusBarContentInsetsProviderImpl.Factory, context: Context, configurationController: ConfigurationController, sysUICutoutProvider: SysUICutoutProvider, displaySubcomponentRepo: PerDisplayRepository<SystemUIDisplaySubcomponent>, ): StatusBarContentInsetsProvider { return factory.create(context, configurationController, sysUICutoutProvider) val displaySubcomponent = displaySubcomponentRepo[Display.DEFAULT_DISPLAY]!! return factory.create( context, configurationController, displaySubcomponent.sysUICutoutProvider, ) } @Provides Loading
packages/SystemUI/src/com/android/systemui/statusbar/data/repository/StatusBarContentInsetsProviderStore.kt +5 −10 Original line number Diff line number Diff line Loading @@ -17,11 +17,11 @@ package com.android.systemui.statusbar.data.repository import android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR import com.android.systemui.CameraProtectionLoaderImpl import com.android.app.displaylib.PerDisplayRepository import com.android.systemui.CoreStartable import com.android.systemui.SysUICutoutProviderImpl import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent import com.android.systemui.display.data.repository.DisplayRepository import com.android.systemui.display.data.repository.DisplayWindowPropertiesRepository import com.android.systemui.display.data.repository.PerDisplayStore Loading Loading @@ -49,8 +49,7 @@ constructor( private val factory: StatusBarContentInsetsProviderImpl.Factory, private val displayWindowPropertiesRepository: DisplayWindowPropertiesRepository, private val statusBarConfigurationControllerStore: StatusBarConfigurationControllerStore, private val sysUICutoutProviderFactory: SysUICutoutProviderImpl.Factory, private val cameraProtectionLoaderFactory: CameraProtectionLoaderImpl.Factory, private val displaySubcomponentRepo: PerDisplayRepository<SystemUIDisplaySubcomponent>, ) : StatusBarContentInsetsProviderStore, StatusBarPerDisplayStoreImpl<StatusBarContentInsetsProvider>( Loading @@ -64,13 +63,9 @@ constructor( val context = displayWindowProperties.context val configurationController = statusBarConfigurationControllerStore.forDisplay(displayId) ?: return null val cameraProtectionLoader = cameraProtectionLoaderFactory.create(context) val displaySubcomponent = displaySubcomponentRepo[displayId] ?: return null return factory .create( context, configurationController, sysUICutoutProviderFactory.create(context, cameraProtectionLoader), ) .create(context, configurationController, displaySubcomponent.sysUICutoutProvider) .also { it.start() } } Loading