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

Commit 129f6b99 authored by Chris Göllner's avatar Chris Göllner Committed by Android (Google) Code Review
Browse files

Merge "HomeStatusBarViewModel: use display specific CoroutineScope" into main

parents 9a63755a 8b276974
Loading
Loading
Loading
Loading
+16 −2
Original line number Diff line number Diff line
@@ -19,14 +19,18 @@ package com.android.systemui.display.dagger
import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.DisplayAware
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment
import com.android.systemui.statusbar.phone.fragment.dagger.HomeStatusBarComponent
import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder
import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinderImpl
import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel.HomeStatusBarViewModelFactory
import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModelImpl.HomeStatusBarViewModelFactoryImpl
import dagger.Binds
import dagger.Module

/**
 * "Phone" specific module for SysUI classes that should be instantiated once per display.
 *
 * If the classes are common to all SysUI flavors, they should be added to
 * [PerDisplayCommonModule] instead.
 * If the classes are common to all SysUI flavors, they should be added to [PerDisplayCommonModule]
 * instead.
 */
@Module(subcomponents = [HomeStatusBarComponent::class])
interface PerDisplayPhoneModule {
@@ -40,4 +44,14 @@ interface PerDisplayPhoneModule {
    @Binds
    @DisplayAware
    fun statusBarFragmentProvider(fragment: CollapsedStatusBarFragment): CollapsedStatusBarFragment

    @Binds
    @DisplayAware
    fun homeStatusBarViewModelFactory(
        impl: HomeStatusBarViewModelFactoryImpl
    ): HomeStatusBarViewModelFactory

    @Binds
    @DisplayAware
    fun homeStatusBarViewBinder(impl: HomeStatusBarViewBinderImpl): HomeStatusBarViewBinder
}
+6 −0
Original line number Diff line number Diff line
@@ -21,6 +21,8 @@ import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.DisplayId
import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.PerDisplaySingleton
import com.android.systemui.statusbar.phone.fragment.CollapsedStatusBarFragment
import com.android.systemui.statusbar.phone.fragment.dagger.HomeStatusBarComponent
import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder
import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel.HomeStatusBarViewModelFactory
import dagger.BindsInstance
import dagger.Subcomponent
import javax.inject.Provider
@@ -53,6 +55,10 @@ interface SystemUIPhoneDisplaySubcomponent : SystemUIDisplaySubcomponent {
    @get:DisplayAware
    val statusBarFragmentProvider: Provider<CollapsedStatusBarFragment>

    @get:DisplayAware val homeStatusBarViewModelFactory: HomeStatusBarViewModelFactory

    @get:DisplayAware val homeStatusBarViewBinder: HomeStatusBarViewBinder

    @Subcomponent.Factory
    interface Factory : SystemUIDisplaySubcomponent.Factory {
        override fun create(
+4 −3
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import com.android.systemui.Dumpable;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.demomode.DemoMode;
import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.DisplayAware;
import com.android.systemui.dump.DumpManager;
import com.android.systemui.plugins.DarkIconDispatcher;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
@@ -259,8 +260,8 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
            ShadeExpansionStateManager shadeExpansionStateManager,
            StatusBarIconController statusBarIconController,
            DarkIconManager.Factory darkIconManagerFactory,
            HomeStatusBarViewModelFactory homeStatusBarViewModelFactory,
            HomeStatusBarViewBinder homeStatusBarViewBinder,
            @DisplayAware HomeStatusBarViewModelFactory homeStatusBarViewModelFactory,
            @DisplayAware HomeStatusBarViewBinder homeStatusBarViewBinder,
            StatusBarHideIconsForBouncerManager statusBarHideIconsForBouncerManager,
            KeyguardStateController keyguardStateController,
            PanelExpansionInteractor panelExpansionInteractor,
@@ -413,7 +414,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
        mCarrierConfigTracker.addCallback(mCarrierConfigCallback);
        mCarrierConfigTracker.addDefaultDataSubscriptionChangedListener(mDefaultDataListener);

        mHomeStatusBarViewModel = mHomeStatusBarViewModelFactory.create(displayId);
        mHomeStatusBarViewModel = mHomeStatusBarViewModelFactory.create();
        mHomeStatusBarViewBinder.bind(
                view.getContext().getDisplayId(),
                mStatusBar,
+0 −12
Original line number Diff line number Diff line
@@ -70,10 +70,6 @@ import com.android.systemui.statusbar.pipeline.shared.ConnectivityConstants
import com.android.systemui.statusbar.pipeline.shared.ConnectivityConstantsImpl
import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepository
import com.android.systemui.statusbar.pipeline.shared.data.repository.ConnectivityRepositoryImpl
import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinder
import com.android.systemui.statusbar.pipeline.shared.ui.binder.HomeStatusBarViewBinderImpl
import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModel.HomeStatusBarViewModelFactory
import com.android.systemui.statusbar.pipeline.shared.ui.viewmodel.HomeStatusBarViewModelImpl.HomeStatusBarViewModelFactoryImpl
import com.android.systemui.statusbar.pipeline.wifi.data.repository.RealWifiRepository
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepository
import com.android.systemui.statusbar.pipeline.wifi.data.repository.WifiRepositorySwitcher
@@ -172,14 +168,6 @@ abstract class StatusBarPipelineModule {
    @ClassKey(CarrierConfigCoreStartable::class)
    abstract fun bindCarrierConfigStartable(impl: CarrierConfigCoreStartable): CoreStartable

    @Binds
    abstract fun homeStatusBarViewModelFactory(
        impl: HomeStatusBarViewModelFactoryImpl
    ): HomeStatusBarViewModelFactory

    @Binds
    abstract fun homeStatusBarViewBinder(impl: HomeStatusBarViewBinderImpl): HomeStatusBarViewBinder

    companion object {

        @Provides
+2 −2
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import com.android.app.animation.Interpolators
import com.android.systemui.dagger.SysUISingleton
import com.android.systemui.display.dagger.SystemUIDisplaySubcomponent.PerDisplaySingleton
import com.android.systemui.lifecycle.repeatWhenAttached
import com.android.systemui.res.R
import com.android.systemui.scene.shared.flag.SceneContainerFlag
@@ -74,7 +74,7 @@ interface HomeStatusBarViewBinder {
    )
}

@SysUISingleton
@PerDisplaySingleton
class HomeStatusBarViewBinderImpl
@Inject
constructor(
Loading