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

Commit e27d800a authored by Aaron Liu's avatar Aaron Liu Committed by Android (Google) Code Review
Browse files

Merge "Add Media Carousel to compose lockscreen" into main

parents cd94108a 74174793
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -35,11 +35,13 @@ import com.android.systemui.keyguard.ui.composable.section.AmbientIndicationSect
import com.android.systemui.keyguard.ui.composable.section.BottomAreaSection
import com.android.systemui.keyguard.ui.composable.section.DefaultClockSection
import com.android.systemui.keyguard.ui.composable.section.LockSection
import com.android.systemui.keyguard.ui.composable.section.MediaCarouselSection
import com.android.systemui.keyguard.ui.composable.section.NotificationSection
import com.android.systemui.keyguard.ui.composable.section.SettingsMenuSection
import com.android.systemui.keyguard.ui.composable.section.SmartSpaceSection
import com.android.systemui.keyguard.ui.composable.section.StatusBarSection
import com.android.systemui.keyguard.ui.viewmodel.LockscreenContentViewModel
import com.android.systemui.media.controls.ui.composable.MediaCarousel
import com.android.systemui.res.R
import dagger.Binds
import dagger.Module
@@ -63,6 +65,7 @@ constructor(
    private val ambientIndicationSectionOptional: Optional<AmbientIndicationSection>,
    private val bottomAreaSection: BottomAreaSection,
    private val settingsMenuSection: SettingsMenuSection,
    private val mediaCarouselSection: MediaCarouselSection,
    private val clockInteractor: KeyguardClockInteractor,
) : ComposableLockscreenSceneBlueprint {

@@ -112,10 +115,16 @@ constructor(

                        if (viewModel.isLargeClockVisible) {
                            Spacer(modifier = Modifier.weight(weight = 1f))
                            with(clockSection) { LargeClock(modifier = Modifier.fillMaxWidth()) }
                            with(clockSection) {
                                LargeClock(
                                    modifier = Modifier.fillMaxWidth(),
                                )
                            }
                        }

                        with(mediaCarouselSection) { MediaCarousel() }

                        if (viewModel.areNotificationsVisible) {
                        if (viewModel.areNotificationsVisible(resources = resources)) {
                            with(notificationSection) {
                                Notifications(
                                    modifier = Modifier.fillMaxWidth().weight(weight = 1f)
+5 −1
Original line number Diff line number Diff line
@@ -35,6 +35,7 @@ import com.android.systemui.keyguard.ui.composable.section.AmbientIndicationSect
import com.android.systemui.keyguard.ui.composable.section.BottomAreaSection
import com.android.systemui.keyguard.ui.composable.section.DefaultClockSection
import com.android.systemui.keyguard.ui.composable.section.LockSection
import com.android.systemui.keyguard.ui.composable.section.MediaCarouselSection
import com.android.systemui.keyguard.ui.composable.section.NotificationSection
import com.android.systemui.keyguard.ui.composable.section.SettingsMenuSection
import com.android.systemui.keyguard.ui.composable.section.SmartSpaceSection
@@ -63,6 +64,7 @@ constructor(
    private val ambientIndicationSectionOptional: Optional<AmbientIndicationSection>,
    private val bottomAreaSection: BottomAreaSection,
    private val settingsMenuSection: SettingsMenuSection,
    private val mediaCarouselSection: MediaCarouselSection,
    private val clockInteractor: KeyguardClockInteractor,
) : ComposableLockscreenSceneBlueprint {

@@ -115,7 +117,9 @@ constructor(
                            with(clockSection) { LargeClock(modifier = Modifier.fillMaxWidth()) }
                        }

                        if (viewModel.areNotificationsVisible) {
                        with(mediaCarouselSection) { MediaCarousel() }

                        if (viewModel.areNotificationsVisible(resources = resources)) {
                            with(notificationSection) {
                                Notifications(
                                    modifier = Modifier.fillMaxWidth().weight(weight = 1f)
+17 −3
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import com.android.systemui.keyguard.ui.composable.section.AmbientIndicationSect
import com.android.systemui.keyguard.ui.composable.section.BottomAreaSection
import com.android.systemui.keyguard.ui.composable.section.DefaultClockSection
import com.android.systemui.keyguard.ui.composable.section.LockSection
import com.android.systemui.keyguard.ui.composable.section.MediaCarouselSection
import com.android.systemui.keyguard.ui.composable.section.NotificationSection
import com.android.systemui.keyguard.ui.composable.section.SettingsMenuSection
import com.android.systemui.keyguard.ui.composable.section.SmartSpaceSection
@@ -70,6 +71,7 @@ constructor(
    private val ambientIndicationSectionOptional: Optional<AmbientIndicationSection>,
    private val bottomAreaSection: BottomAreaSection,
    private val settingsMenuSection: SettingsMenuSection,
    private val mediaCarouselSection: MediaCarouselSection,
    private val clockInteractor: KeyguardClockInteractor,
    private val largeScreenHeaderHelper: LargeScreenHeaderHelper,
) : ComposableLockscreenSceneBlueprint {
@@ -100,6 +102,14 @@ constructor(
                                modifier = Modifier.fillMaxHeight().weight(weight = 1f),
                                horizontalAlignment = Alignment.CenterHorizontally,
                            ) {
                                with(clockSection) {
                                    SmallClock(
                                        burnInParams = burnIn.parameters,
                                        onTopChanged = burnIn.onSmallClockTopChanged,
                                        modifier = Modifier.fillMaxWidth(),
                                    )
                                }

                                with(smartSpaceSection) {
                                    SmartSpace(
                                        burnInParams = burnIn.parameters,
@@ -121,10 +131,14 @@ constructor(
                                    )
                                }

                                if (viewModel.isLargeClockVisible) {
                                    Spacer(modifier = Modifier.weight(weight = 1f))
                                    with(clockSection) { LargeClock() }
                                    Spacer(modifier = Modifier.weight(weight = 1f))
                                }

                                with(mediaCarouselSection) { MediaCarousel() }
                            }
                            with(notificationSection) {
                                val splitShadeTopMargin: Dp =
                                    if (Flags.centralizedStatusBarHeightFix()) {
+9 −1
Original line number Diff line number Diff line
@@ -41,12 +41,14 @@ import com.android.systemui.keyguard.ui.composable.LockscreenLongPress
import com.android.systemui.keyguard.ui.composable.section.AmbientIndicationSection
import com.android.systemui.keyguard.ui.composable.section.BottomAreaSection
import com.android.systemui.keyguard.ui.composable.section.LockSection
import com.android.systemui.keyguard.ui.composable.section.MediaCarouselSection
import com.android.systemui.keyguard.ui.composable.section.NotificationSection
import com.android.systemui.keyguard.ui.composable.section.SettingsMenuSection
import com.android.systemui.keyguard.ui.composable.section.SmartSpaceSection
import com.android.systemui.keyguard.ui.composable.section.StatusBarSection
import com.android.systemui.keyguard.ui.composable.section.WeatherClockSection
import com.android.systemui.keyguard.ui.viewmodel.LockscreenContentViewModel
import com.android.systemui.media.controls.ui.composable.MediaCarousel
import com.android.systemui.res.R
import com.android.systemui.shade.LargeScreenHeaderHelper
import dagger.Binds
@@ -68,6 +70,7 @@ constructor(
    private val bottomAreaSection: BottomAreaSection,
    private val settingsMenuSection: SettingsMenuSection,
    private val clockInteractor: KeyguardClockInteractor,
    private val mediaCarouselSection: MediaCarouselSection,
) : ComposableLockscreenSceneBlueprint {

    override val id: String = WEATHER_CLOCK_BLUEPRINT_ID
@@ -107,7 +110,9 @@ constructor(
                            )
                        }

                        if (viewModel.areNotificationsVisible) {
                        with(mediaCarouselSection) { MediaCarousel() }

                        if (viewModel.areNotificationsVisible(resources = resources)) {
                            with(notificationSection) {
                                Notifications(
                                    modifier = Modifier.fillMaxWidth().weight(weight = 1f)
@@ -228,6 +233,7 @@ constructor(
    private val clockInteractor: KeyguardClockInteractor,
    private val largeScreenHeaderHelper: LargeScreenHeaderHelper,
    private val weatherClockSection: WeatherClockSection,
    private val mediaCarouselSection: MediaCarouselSection,
) : ComposableLockscreenSceneBlueprint {
    override val id: String = SPLIT_SHADE_WEATHER_CLOCK_BLUEPRINT_ID

@@ -276,6 +282,8 @@ constructor(
                                                ),
                                    )
                                }

                                with(mediaCarouselSection) { MediaCarousel() }
                            }
                            with(notificationSection) {
                                val splitShadeTopMargin: Dp =
+1 −7
Original line number Diff line number Diff line
@@ -39,7 +39,6 @@ import com.android.systemui.keyguard.ui.composable.modifier.onTopPlacementChange
import com.android.systemui.keyguard.ui.viewmodel.AodBurnInViewModel
import com.android.systemui.keyguard.ui.viewmodel.BurnInParameters
import com.android.systemui.keyguard.ui.viewmodel.KeyguardClockViewModel
import com.android.systemui.statusbar.lockscreen.LockscreenSmartspaceController
import javax.inject.Inject

/** Provides small clock and large clock composables for the default clock face. */
@@ -49,7 +48,6 @@ constructor(
    private val viewModel: KeyguardClockViewModel,
    private val clockInteractor: KeyguardClockInteractor,
    private val aodBurnInViewModel: AodBurnInViewModel,
    private val lockscreenSmartspaceController: LockscreenSmartspaceController,
) {

    @Composable
@@ -62,15 +60,11 @@ constructor(
        val currentClock by viewModel.currentClock.collectAsState()
        viewModel.clock = currentClock

        if (clockSize != KeyguardClockSwitch.SMALL) {
        if (clockSize != KeyguardClockSwitch.SMALL || currentClock?.smallClock?.view == null) {
            onTopChanged(null)
            return
        }

        if (currentClock?.smallClock?.view == null) {
            return
        }

        val view = LocalView.current

        DisposableEffect(view) {
Loading