Loading packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -973,6 +973,16 @@ flag { } } flag { name: "use_notif_inflation_thread_for_footer" namespace: "systemui" description: "use the @NotifInflation thread for FooterView and EmptyShadeView inflation" bug: "375320642" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "notify_power_manager_user_activity_background" namespace: "systemui" Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewbinder/NotificationListViewBinder.kt +4 −4 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import com.android.internal.logging.MetricsLogger import com.android.internal.logging.nano.MetricsProto import com.android.systemui.common.ui.ConfigurationState import com.android.systemui.common.ui.view.setImportantForAccessibilityYesNo import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.NotifInflation import com.android.systemui.lifecycle.repeatWhenAttached import com.android.systemui.lifecycle.repeatWhenAttachedToWindow import com.android.systemui.plugins.FalsingManager Loading Loading @@ -76,7 +76,7 @@ import kotlinx.coroutines.flow.stateIn class NotificationListViewBinder @Inject constructor( @Background private val backgroundDispatcher: CoroutineDispatcher, @NotifInflation private val inflationDispatcher: CoroutineDispatcher, private val hiderTracker: DisplaySwitchNotificationsHiderTracker, @ShadeDisplayAware private val configuration: ConfigurationState, private val falsingManager: FalsingManager, Loading Loading @@ -155,7 +155,7 @@ constructor( parentView, attachToRoot = false, ) .flowOn(backgroundDispatcher) .flowOn(inflationDispatcher) .collectLatest { footerView: FooterView -> traceAsync("bind FooterView") { parentView.setFooterView(footerView) Loading Loading @@ -240,7 +240,7 @@ constructor( parentView, attachToRoot = false, ) .flowOn(backgroundDispatcher) .flowOn(inflationDispatcher) .collectLatest { emptyShadeView: EmptyShadeView -> traceAsync("bind EmptyShadeView") { parentView.setEmptyShadeView(emptyShadeView) Loading packages/SystemUI/src/com/android/systemui/util/kotlin/SysUICoroutinesModule.kt +16 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import com.android.systemui.coroutines.newTracingContext import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.NotifInflation import com.android.systemui.dagger.qualifiers.UiBackground import com.android.systemui.util.settings.SettingsSingleThreadBackground import dagger.Module Loading Loading @@ -123,4 +124,19 @@ class SysUICoroutinesModule { ): CoroutineContext { return uiBgCoroutineDispatcher } /** Coroutine dispatcher for background notification inflation. */ @Provides @NotifInflation @SysUISingleton fun notifInflationCoroutineDispatcher( @NotifInflation notifInflationExecutor: Executor, @Background bgCoroutineDispatcher: CoroutineDispatcher, ): CoroutineDispatcher { if (com.android.systemui.Flags.useNotifInflationThreadForFooter()) { return notifInflationExecutor.asCoroutineDispatcher() } else { return bgCoroutineDispatcher } } } packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewbinder/NotificationListViewBinderKosmos.kt +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import java.util.Optional val Kosmos.notificationListViewBinder by Fixture { NotificationListViewBinder( backgroundDispatcher = testDispatcher, inflationDispatcher = testDispatcher, hiderTracker = displaySwitchNotificationsHiderTracker, configuration = configurationState, falsingManager = falsingManager, Loading Loading
packages/SystemUI/aconfig/systemui.aconfig +10 −0 Original line number Diff line number Diff line Loading @@ -973,6 +973,16 @@ flag { } } flag { name: "use_notif_inflation_thread_for_footer" namespace: "systemui" description: "use the @NotifInflation thread for FooterView and EmptyShadeView inflation" bug: "375320642" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "notify_power_manager_user_activity_background" namespace: "systemui" Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/ui/viewbinder/NotificationListViewBinder.kt +4 −4 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import com.android.internal.logging.MetricsLogger import com.android.internal.logging.nano.MetricsProto import com.android.systemui.common.ui.ConfigurationState import com.android.systemui.common.ui.view.setImportantForAccessibilityYesNo import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.NotifInflation import com.android.systemui.lifecycle.repeatWhenAttached import com.android.systemui.lifecycle.repeatWhenAttachedToWindow import com.android.systemui.plugins.FalsingManager Loading Loading @@ -76,7 +76,7 @@ import kotlinx.coroutines.flow.stateIn class NotificationListViewBinder @Inject constructor( @Background private val backgroundDispatcher: CoroutineDispatcher, @NotifInflation private val inflationDispatcher: CoroutineDispatcher, private val hiderTracker: DisplaySwitchNotificationsHiderTracker, @ShadeDisplayAware private val configuration: ConfigurationState, private val falsingManager: FalsingManager, Loading Loading @@ -155,7 +155,7 @@ constructor( parentView, attachToRoot = false, ) .flowOn(backgroundDispatcher) .flowOn(inflationDispatcher) .collectLatest { footerView: FooterView -> traceAsync("bind FooterView") { parentView.setFooterView(footerView) Loading Loading @@ -240,7 +240,7 @@ constructor( parentView, attachToRoot = false, ) .flowOn(backgroundDispatcher) .flowOn(inflationDispatcher) .collectLatest { emptyShadeView: EmptyShadeView -> traceAsync("bind EmptyShadeView") { parentView.setEmptyShadeView(emptyShadeView) Loading
packages/SystemUI/src/com/android/systemui/util/kotlin/SysUICoroutinesModule.kt +16 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import com.android.systemui.coroutines.newTracingContext import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Background import com.android.systemui.dagger.qualifiers.NotifInflation import com.android.systemui.dagger.qualifiers.UiBackground import com.android.systemui.util.settings.SettingsSingleThreadBackground import dagger.Module Loading Loading @@ -123,4 +124,19 @@ class SysUICoroutinesModule { ): CoroutineContext { return uiBgCoroutineDispatcher } /** Coroutine dispatcher for background notification inflation. */ @Provides @NotifInflation @SysUISingleton fun notifInflationCoroutineDispatcher( @NotifInflation notifInflationExecutor: Executor, @Background bgCoroutineDispatcher: CoroutineDispatcher, ): CoroutineDispatcher { if (com.android.systemui.Flags.useNotifInflationThreadForFooter()) { return notifInflationExecutor.asCoroutineDispatcher() } else { return bgCoroutineDispatcher } } }
packages/SystemUI/tests/utils/src/com/android/systemui/statusbar/notification/stack/ui/viewbinder/NotificationListViewBinderKosmos.kt +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import java.util.Optional val Kosmos.notificationListViewBinder by Fixture { NotificationListViewBinder( backgroundDispatcher = testDispatcher, inflationDispatcher = testDispatcher, hiderTracker = displaySwitchNotificationsHiderTracker, configuration = configurationState, falsingManager = falsingManager, Loading