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

Commit 3cd94450 authored by Mark Renouf's avatar Mark Renouf Committed by Gerrit Code Review
Browse files

Merge "Backport fixes and enable new Dagger Validations" into main

parents 1e566026 400a1a46
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -214,6 +214,8 @@ android_library {

    javacflags: [
        "-Adagger.fastInit=enabled",
        "-Adagger.explicitBindingConflictsWithInject=ERROR",
        "-Adagger.strictMultibindingValidation=enabled",
        "-Aroom.schemaLocation=frameworks/base/packages/SystemUI/schemas",
    ],
    kotlincflags: ["-Xjvm-default=all"],
+2 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ import com.android.systemui.statusbar.policy.IndividualSensorPrivacyController;
import com.android.systemui.statusbar.policy.IndividualSensorPrivacyControllerImpl;
import com.android.systemui.statusbar.policy.SensorPrivacyController;
import com.android.systemui.statusbar.policy.SensorPrivacyControllerImpl;
import com.android.systemui.unfold.UnfoldTransitionModule;
import com.android.systemui.volume.dagger.VolumeModule;
import com.android.systemui.wallpapers.dagger.WallpaperModule;

@@ -99,6 +100,7 @@ import javax.inject.Named;
        RotationLockModule.class,
        SceneContainerFrameworkModule.class,
        StartCentralSurfacesModule.class,
        UnfoldTransitionModule.Startables.class,
        VolumeModule.class,
        WallpaperModule.class,
        KeyboardShortcutsModule.class
+5 −8
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import com.android.systemui.unfold.util.ScopedUnfoldTransitionProgressProvider
import com.android.systemui.unfold.util.UnfoldKeyguardVisibilityManager
import com.android.systemui.util.kotlin.getOrNull
import dagger.BindsInstance
import dagger.Lazy
import dagger.Module
import dagger.Provides
import dagger.Subcomponent
@@ -34,7 +33,9 @@ import java.util.Optional
import javax.inject.Named
import javax.inject.Scope

@Scope @MustBeDocumented @Retention(AnnotationRetention.RUNTIME) annotation class SysUIUnfoldScope
@Scope @MustBeDocumented
@Retention(AnnotationRetention.RUNTIME)
annotation class SysUIUnfoldScope

/**
 * Creates an injectable [SysUIUnfoldComponent] that provides objects that have been scoped with
@@ -49,7 +50,6 @@ import javax.inject.Scope
 */
@Module(subcomponents = [SysUIUnfoldComponent::class])
class SysUIUnfoldModule {

    @Provides
    @SysUISingleton
    fun provideSysUIUnfoldComponent(
@@ -57,8 +57,7 @@ class SysUIUnfoldModule {
        rotationProvider: Optional<NaturalRotationUnfoldProgressProvider>,
        @Named(UNFOLD_STATUS_BAR) scopedProvider: Optional<ScopedUnfoldTransitionProgressProvider>,
        @UnfoldBg bgProvider: Optional<UnfoldTransitionProgressProvider>,
        unfoldLatencyTracker: Lazy<UnfoldLatencyTracker>,
        factory: SysUIUnfoldComponent.Factory
        factory: SysUIUnfoldComponent.Factory,
    ): Optional<SysUIUnfoldComponent> {
        val p1 = provider.getOrNull()
        val p2 = rotationProvider.getOrNull()
@@ -67,7 +66,7 @@ class SysUIUnfoldModule {
        return if (p1 == null || p2 == null || p3 == null || p4 == null) {
            Optional.empty()
        } else {
            Optional.of(factory.create(p1, p2, p3, p4, unfoldLatencyTracker.get()))
            Optional.of(factory.create(p1, p2, p3, p4))
        }
    }
}
@@ -75,7 +74,6 @@ class SysUIUnfoldModule {
@SysUIUnfoldScope
@Subcomponent
interface SysUIUnfoldComponent {

    @Subcomponent.Factory
    interface Factory {
        fun create(
@@ -83,7 +81,6 @@ interface SysUIUnfoldComponent {
            @BindsInstance p2: NaturalRotationUnfoldProgressProvider,
            @BindsInstance p3: ScopedUnfoldTransitionProgressProvider,
            @BindsInstance @UnfoldBg p4: UnfoldTransitionProgressProvider,
            @BindsInstance p5: UnfoldLatencyTracker,
        ): SysUIUnfoldComponent
    }

+7 −4
Original line number Diff line number Diff line
@@ -170,14 +170,17 @@ class UnfoldTransitionModule {

    @Module
    interface Bindings {
        @Binds fun bindRepository(impl: UnfoldTransitionRepositoryImpl): UnfoldTransitionRepository

        @Binds fun bindInteractor(impl: UnfoldTransitionInteractorImpl): UnfoldTransitionInteractor
    }

    @Module
    interface Startables {
        @Binds
        @IntoMap
        @ClassKey(UnfoldTraceLogger::class)
        fun bindUnfoldTraceLogger(impl: UnfoldTraceLogger): CoreStartable

        @Binds fun bindRepository(impl: UnfoldTransitionRepositoryImpl): UnfoldTransitionRepository

        @Binds fun bindInteractor(impl: UnfoldTransitionInteractorImpl): UnfoldTransitionInteractor
    }
}