Loading packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java +2 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.dagger.StartCentralSurfacesModule; import com.android.systemui.statusbar.events.StatusBarEventsModule; import com.android.systemui.statusbar.phone.DozeServiceHost; import com.android.systemui.statusbar.phone.HeadsUpModule; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; Loading Loading @@ -98,6 +99,7 @@ import javax.inject.Named; ReferenceScreenshotModule.class, RotationLockModule.class, SceneContainerFrameworkModule.class, StatusBarEventsModule.class, StartCentralSurfacesModule.class, VolumeModule.class, WallpaperModule.class, Loading packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +0 −2 Original line number Diff line number Diff line Loading @@ -96,7 +96,6 @@ import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.connectivity.ConnectivityModule; import com.android.systemui.statusbar.dagger.StatusBarModule; import com.android.systemui.statusbar.disableflags.dagger.DisableFlagsModule; import com.android.systemui.statusbar.events.StatusBarEventsModule; import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.collection.NotifPipeline; Loading Loading @@ -210,7 +209,6 @@ import javax.inject.Named; SettingsUtilModule.class, SmartRepliesInflationModule.class, SmartspaceModule.class, StatusBarEventsModule.class, StatusBarModule.class, StatusBarPipelineModule.class, StatusBarPolicyModule.class, Loading packages/SystemUI/src/com/android/systemui/flags/Flags.kt +3 −0 Original line number Diff line number Diff line Loading @@ -409,6 +409,9 @@ object Flags { val FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS = releasedFlag("filter_provisioning_network_subscriptions") // TODO(b/265892345): Tracking Bug val PLUG_IN_STATUS_BAR_CHIP = releasedFlag("plug_in_status_bar_chip") // TODO(b/292533677): Tracking Bug val WIFI_TRACKER_LIB_FOR_WIFI_ICON = releasedFlag("wifi_tracker_lib_for_wifi_icon") Loading packages/SystemUI/src/com/android/systemui/statusbar/events/StatusBarEventsModule.kt +45 −7 Original line number Diff line number Diff line Loading @@ -17,11 +17,19 @@ package com.android.systemui.statusbar.events import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.log.LogBuffer import com.android.systemui.log.LogBufferFactory import dagger.Binds import com.android.systemui.statusbar.window.StatusBarWindowController import com.android.systemui.util.concurrency.DelayableExecutor import com.android.systemui.util.time.SystemClock import dagger.Module import dagger.Provides import kotlinx.coroutines.CoroutineScope @Module interface StatusBarEventsModule { Loading @@ -34,11 +42,41 @@ interface StatusBarEventsModule { fun provideSystemStatusAnimationSchedulerLogBuffer(factory: LogBufferFactory): LogBuffer { return factory.create("SystemStatusAnimationSchedulerLog", 60) } } @Binds @Provides @SysUISingleton fun bindSystemStatusAnimationScheduler( systemStatusAnimationSchedulerImpl: SystemStatusAnimationSchedulerImpl ): SystemStatusAnimationScheduler fun provideSystemStatusAnimationScheduler( featureFlags: FeatureFlags, coordinator: SystemEventCoordinator, chipAnimationController: SystemEventChipAnimationController, statusBarWindowController: StatusBarWindowController, dumpManager: DumpManager, systemClock: SystemClock, @Application coroutineScope: CoroutineScope, @Main executor: DelayableExecutor, logger: SystemStatusAnimationSchedulerLogger ): SystemStatusAnimationScheduler { return if (featureFlags.isEnabled(Flags.PLUG_IN_STATUS_BAR_CHIP)) { SystemStatusAnimationSchedulerImpl( coordinator, chipAnimationController, statusBarWindowController, dumpManager, systemClock, coroutineScope, logger ) } else { SystemStatusAnimationSchedulerLegacyImpl( coordinator, chipAnimationController, statusBarWindowController, dumpManager, systemClock, executor ) } } } } packages/SystemUI/src/com/android/systemui/statusbar/events/SystemEventChipAnimationController.kt +13 −3 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ import androidx.core.animation.AnimatorSet import androidx.core.animation.ValueAnimator import com.android.internal.annotations.VisibleForTesting import com.android.systemui.res.R import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.statusbar.phone.StatusBarContentInsetsChangedListener import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider import com.android.systemui.statusbar.window.StatusBarWindowController Loading @@ -45,7 +47,8 @@ import kotlin.math.roundToInt class SystemEventChipAnimationController @Inject constructor( private val context: Context, private val statusBarWindowController: StatusBarWindowController, private val contentInsetsProvider: StatusBarContentInsetsProvider private val contentInsetsProvider: StatusBarContentInsetsProvider, private val featureFlags: FeatureFlags, ) : SystemStatusAnimationCallback { private lateinit var animationWindowView: FrameLayout Loading Loading @@ -314,8 +317,15 @@ class SystemEventChipAnimationController @Inject constructor( it.marginEnd = marginEnd } private fun initializeAnimRect() = animRect.set(chipBounds) private fun initializeAnimRect() = if (featureFlags.isEnabled(Flags.PLUG_IN_STATUS_BAR_CHIP)) { animRect.set(chipBounds) } else { animRect.set( chipLeft, currentAnimatedView!!.view.top, chipRight, currentAnimatedView!!.view.bottom) } /** * To be called during an animation, sets the width and updates the current animated chip view Loading Loading
packages/SystemUI/src/com/android/systemui/dagger/ReferenceSystemUIModule.java +2 −0 Original line number Diff line number Diff line Loading @@ -48,6 +48,7 @@ import com.android.systemui.statusbar.NotificationLockscreenUserManager; import com.android.systemui.statusbar.NotificationLockscreenUserManagerImpl; import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.dagger.StartCentralSurfacesModule; import com.android.systemui.statusbar.events.StatusBarEventsModule; import com.android.systemui.statusbar.phone.DozeServiceHost; import com.android.systemui.statusbar.phone.HeadsUpModule; import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager; Loading Loading @@ -98,6 +99,7 @@ import javax.inject.Named; ReferenceScreenshotModule.class, RotationLockModule.class, SceneContainerFrameworkModule.class, StatusBarEventsModule.class, StartCentralSurfacesModule.class, VolumeModule.class, WallpaperModule.class, Loading
packages/SystemUI/src/com/android/systemui/dagger/SystemUIModule.java +0 −2 Original line number Diff line number Diff line Loading @@ -96,7 +96,6 @@ import com.android.systemui.statusbar.NotificationShadeWindowController; import com.android.systemui.statusbar.connectivity.ConnectivityModule; import com.android.systemui.statusbar.dagger.StatusBarModule; import com.android.systemui.statusbar.disableflags.dagger.DisableFlagsModule; import com.android.systemui.statusbar.events.StatusBarEventsModule; import com.android.systemui.statusbar.events.SystemStatusAnimationScheduler; import com.android.systemui.statusbar.notification.NotifPipelineFlags; import com.android.systemui.statusbar.notification.collection.NotifPipeline; Loading Loading @@ -210,7 +209,6 @@ import javax.inject.Named; SettingsUtilModule.class, SmartRepliesInflationModule.class, SmartspaceModule.class, StatusBarEventsModule.class, StatusBarModule.class, StatusBarPipelineModule.class, StatusBarPolicyModule.class, Loading
packages/SystemUI/src/com/android/systemui/flags/Flags.kt +3 −0 Original line number Diff line number Diff line Loading @@ -409,6 +409,9 @@ object Flags { val FILTER_PROVISIONING_NETWORK_SUBSCRIPTIONS = releasedFlag("filter_provisioning_network_subscriptions") // TODO(b/265892345): Tracking Bug val PLUG_IN_STATUS_BAR_CHIP = releasedFlag("plug_in_status_bar_chip") // TODO(b/292533677): Tracking Bug val WIFI_TRACKER_LIB_FOR_WIFI_ICON = releasedFlag("wifi_tracker_lib_for_wifi_icon") Loading
packages/SystemUI/src/com/android/systemui/statusbar/events/StatusBarEventsModule.kt +45 −7 Original line number Diff line number Diff line Loading @@ -17,11 +17,19 @@ package com.android.systemui.statusbar.events import com.android.systemui.dagger.SysUISingleton import com.android.systemui.dagger.qualifiers.Application import com.android.systemui.dagger.qualifiers.Main import com.android.systemui.dump.DumpManager import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.log.LogBuffer import com.android.systemui.log.LogBufferFactory import dagger.Binds import com.android.systemui.statusbar.window.StatusBarWindowController import com.android.systemui.util.concurrency.DelayableExecutor import com.android.systemui.util.time.SystemClock import dagger.Module import dagger.Provides import kotlinx.coroutines.CoroutineScope @Module interface StatusBarEventsModule { Loading @@ -34,11 +42,41 @@ interface StatusBarEventsModule { fun provideSystemStatusAnimationSchedulerLogBuffer(factory: LogBufferFactory): LogBuffer { return factory.create("SystemStatusAnimationSchedulerLog", 60) } } @Binds @Provides @SysUISingleton fun bindSystemStatusAnimationScheduler( systemStatusAnimationSchedulerImpl: SystemStatusAnimationSchedulerImpl ): SystemStatusAnimationScheduler fun provideSystemStatusAnimationScheduler( featureFlags: FeatureFlags, coordinator: SystemEventCoordinator, chipAnimationController: SystemEventChipAnimationController, statusBarWindowController: StatusBarWindowController, dumpManager: DumpManager, systemClock: SystemClock, @Application coroutineScope: CoroutineScope, @Main executor: DelayableExecutor, logger: SystemStatusAnimationSchedulerLogger ): SystemStatusAnimationScheduler { return if (featureFlags.isEnabled(Flags.PLUG_IN_STATUS_BAR_CHIP)) { SystemStatusAnimationSchedulerImpl( coordinator, chipAnimationController, statusBarWindowController, dumpManager, systemClock, coroutineScope, logger ) } else { SystemStatusAnimationSchedulerLegacyImpl( coordinator, chipAnimationController, statusBarWindowController, dumpManager, systemClock, executor ) } } } }
packages/SystemUI/src/com/android/systemui/statusbar/events/SystemEventChipAnimationController.kt +13 −3 Original line number Diff line number Diff line Loading @@ -32,6 +32,8 @@ import androidx.core.animation.AnimatorSet import androidx.core.animation.ValueAnimator import com.android.internal.annotations.VisibleForTesting import com.android.systemui.res.R import com.android.systemui.flags.FeatureFlags import com.android.systemui.flags.Flags import com.android.systemui.statusbar.phone.StatusBarContentInsetsChangedListener import com.android.systemui.statusbar.phone.StatusBarContentInsetsProvider import com.android.systemui.statusbar.window.StatusBarWindowController Loading @@ -45,7 +47,8 @@ import kotlin.math.roundToInt class SystemEventChipAnimationController @Inject constructor( private val context: Context, private val statusBarWindowController: StatusBarWindowController, private val contentInsetsProvider: StatusBarContentInsetsProvider private val contentInsetsProvider: StatusBarContentInsetsProvider, private val featureFlags: FeatureFlags, ) : SystemStatusAnimationCallback { private lateinit var animationWindowView: FrameLayout Loading Loading @@ -314,8 +317,15 @@ class SystemEventChipAnimationController @Inject constructor( it.marginEnd = marginEnd } private fun initializeAnimRect() = animRect.set(chipBounds) private fun initializeAnimRect() = if (featureFlags.isEnabled(Flags.PLUG_IN_STATUS_BAR_CHIP)) { animRect.set(chipBounds) } else { animRect.set( chipLeft, currentAnimatedView!!.view.top, chipRight, currentAnimatedView!!.view.bottom) } /** * To be called during an animation, sets the width and updates the current animated chip view Loading