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

Commit d1550125 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "[flexiglass] Minor refactoring in a few shade-adjacent classes." into main

parents e7e8e3dd ccf81f8d
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -52,7 +52,6 @@ import com.android.systemui.shade.ui.composable.OverlayShade
import com.android.systemui.shade.ui.composable.OverlayShadeHeader
import com.android.systemui.shade.ui.composable.isFullWidthShade
import com.android.systemui.statusbar.notification.stack.ui.view.NotificationScrollView
import com.android.systemui.util.Utils
import dagger.Lazy
import javax.inject.Inject
import javax.inject.Named
@@ -98,7 +97,7 @@ constructor(
            }

        val usingCollapsedLandscapeMedia =
            Utils.useCollapsedMediaInLandscape(LocalResources.current)
            LocalResources.current.getBoolean(R.bool.config_quickSettingsMediaLandscapeCollapsed)
        mediaHost.get().expansion =
            if (usingCollapsedLandscapeMedia && isLandscape()) COLLAPSED else EXPANDED

+5 −18
Original line number Diff line number Diff line
@@ -87,7 +87,6 @@ import com.android.systemui.common.ui.compose.windowinsets.LocalDisplayCutout
import com.android.systemui.common.ui.compose.windowinsets.LocalScreenCornerRadius
import com.android.systemui.compose.modifiers.sysuiResTag
import com.android.systemui.kairos.ExperimentalKairosApi
import com.android.systemui.kairos.buildSpec
import com.android.systemui.privacy.OngoingPrivacyChip
import com.android.systemui.res.R
import com.android.systemui.scene.shared.model.DualShadeEducationElement
@@ -134,9 +133,6 @@ object ShadeHeader {
    }

    object Colors {
        val ColorScheme.shadeHeaderText: Color
            get() = Color.White

        val ColorScheme.onScrimDim: Color
            get() = Color.DarkGray
    }
@@ -253,7 +249,7 @@ fun ContentScope.ExpandedShadeHeader(
            }
        }
        Column(
            verticalArrangement = Arrangement.Bottom,
            verticalArrangement = Arrangement.spacedBy(space = 16.dp, alignment = Alignment.Bottom),
            modifier =
                Modifier.fillMaxWidth()
                    .defaultMinSize(minHeight = ShadeHeader.Dimensions.ExpandedHeight),
@@ -274,9 +270,9 @@ fun ContentScope.ExpandedShadeHeader(
                    )
                }
            }
            Spacer(modifier = Modifier.height(16.dp))
            Row(
                verticalAlignment = Alignment.CenterVertically,
                horizontalArrangement = Arrangement.SpaceBetween,
                modifier = Modifier.element(ShadeHeader.Elements.ExpandedContent),
            ) {
                VariableDayDate(
@@ -285,7 +281,6 @@ fun ContentScope.ExpandedShadeHeader(
                    textColor = colorAttr(android.R.attr.textColorPrimary),
                    modifier = Modifier.widthIn(max = 90.dp),
                )
                Spacer(modifier = Modifier.weight(1f))
                SystemIconChip {
                    val paddingEnd =
                        with(LocalDensity.current) {
@@ -880,18 +875,10 @@ private fun Modifier.bouncy(

private fun shouldUseExpandedFormat(state: TransitionState): Boolean {
    return when (state) {
        is TransitionState.Idle -> {
            state.currentScene == Scenes.QuickSettings
        }
        is TransitionState.Idle -> state.currentScene == Scenes.QuickSettings
        is TransitionState.Transition -> {
            ((state.isTransitioning(Scenes.Shade, Scenes.QuickSettings) ||
                state.isTransitioning(Scenes.Gone, Scenes.QuickSettings) ||
                state.isTransitioning(Scenes.Lockscreen, Scenes.QuickSettings)) &&
                state.progress >= 0.5) ||
                ((state.isTransitioning(Scenes.QuickSettings, Scenes.Shade) ||
                    state.isTransitioning(Scenes.QuickSettings, Scenes.Gone) ||
                    state.isTransitioning(Scenes.QuickSettings, Scenes.Lockscreen)) &&
                    state.progress <= 0.5)
            (state.isTransitioning(to = Scenes.QuickSettings) && state.progress >= 0.5) ||
                (state.isTransitioning(from = Scenes.QuickSettings) && state.progress <= 0.5)
        }
    }
}
+5 −19
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.systemui.shade.ui.composable

import android.view.ViewGroup
import androidx.compose.animation.core.animateDpAsState
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.animation.core.tween
@@ -54,8 +53,8 @@ import androidx.compose.ui.graphics.CompositingStrategy
import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.layout.Layout
import androidx.compose.ui.layout.layoutId
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.platform.LocalResources
import androidx.compose.ui.res.colorResource
import androidx.compose.ui.res.dimensionResource
import androidx.compose.ui.unit.dp
@@ -69,12 +68,10 @@ import com.android.compose.animation.scene.UserAction
import com.android.compose.animation.scene.UserActionResult
import com.android.compose.animation.scene.animateContentDpAsState
import com.android.compose.animation.scene.animateContentFloatAsState
import com.android.compose.animation.scene.animateSceneFloatAsState
import com.android.compose.animation.scene.content.state.TransitionState
import com.android.compose.modifiers.padding
import com.android.compose.modifiers.thenIf
import com.android.internal.jank.InteractionJankMonitor
import com.android.systemui.battery.BatteryMeterViewController
import com.android.systemui.common.ui.compose.windowinsets.CutoutLocation
import com.android.systemui.common.ui.compose.windowinsets.LocalDisplayCutout
import com.android.systemui.compose.modifiers.sysuiResTag
@@ -108,10 +105,6 @@ import com.android.systemui.shade.ui.viewmodel.ShadeSceneContentViewModel
import com.android.systemui.shade.ui.viewmodel.ShadeUserActionsViewModel
import com.android.systemui.statusbar.notification.stack.ui.view.NotificationScrollView
import com.android.systemui.statusbar.notification.stack.ui.viewmodel.NotificationsPlaceholderViewModel
import com.android.systemui.statusbar.phone.StatusBarLocation
import com.android.systemui.statusbar.phone.ui.StatusBarIconController
import com.android.systemui.statusbar.phone.ui.TintedIconManager
import com.android.systemui.util.Utils
import dagger.Lazy
import javax.inject.Inject
import javax.inject.Named
@@ -140,9 +133,6 @@ constructor(
    private val actionsViewModelFactory: ShadeUserActionsViewModel.Factory,
    private val contentViewModelFactory: ShadeSceneContentViewModel.Factory,
    private val notificationsPlaceholderViewModelFactory: NotificationsPlaceholderViewModel.Factory,
    private val tintedIconManagerFactory: TintedIconManager.Factory,
    private val batteryMeterViewControllerFactory: BatteryMeterViewController.Factory,
    private val statusBarIconController: StatusBarIconController,
    private val mediaCarouselController: MediaCarouselController,
    @Named(QUICK_QS_PANEL) private val qqsMediaHost: MediaHost,
    @Named(QS_PANEL) private val qsMediaHost: MediaHost,
@@ -178,9 +168,6 @@ constructor(
            viewModel = viewModel,
            headerViewModel = headerViewModel,
            notificationsPlaceholderViewModel = notificationsPlaceholderViewModel,
            createTintedIconManager = tintedIconManagerFactory::create,
            createBatteryMeterViewController = batteryMeterViewControllerFactory::create,
            statusBarIconController = statusBarIconController,
            mediaCarouselController = mediaCarouselController,
            qqsMediaHost = qqsMediaHost,
            qsMediaHost = qsMediaHost,
@@ -188,7 +175,9 @@ constructor(
            modifier = modifier,
            shadeSession = shadeSession,
            usingCollapsedLandscapeMedia =
                Utils.useCollapsedMediaInLandscape(LocalContext.current.resources),
                LocalResources.current.getBoolean(
                    R.bool.config_quickSettingsMediaLandscapeCollapsed
                ),
        )
    }

@@ -209,9 +198,6 @@ private fun ContentScope.ShadeScene(
    viewModel: ShadeSceneContentViewModel,
    headerViewModel: ShadeHeaderViewModel,
    notificationsPlaceholderViewModel: NotificationsPlaceholderViewModel,
    createTintedIconManager: (ViewGroup, StatusBarLocation) -> TintedIconManager,
    createBatteryMeterViewController: (ViewGroup, StatusBarLocation) -> BatteryMeterViewController,
    statusBarIconController: StatusBarIconController,
    mediaCarouselController: MediaCarouselController,
    qqsMediaHost: MediaHost,
    qsMediaHost: MediaHost,
@@ -270,7 +256,7 @@ private fun ContentScope.SingleShade(

    var maxNotifScrimTop by remember { mutableIntStateOf(0) }
    val tileSquishiness by
        animateSceneFloatAsState(
        animateContentFloatAsState(
            value = 1f,
            key = QuickSettings.SharedValues.TilesSquishiness,
            canOverflow = false,
+6 −10
Original line number Diff line number Diff line
@@ -16,34 +16,30 @@

package com.android.systemui.qs.dagger;

import static com.android.systemui.util.Utils.useCollapsedMediaInLandscape;
import static com.android.systemui.util.Utils.useQsMediaPlayer;

import android.content.Context;

import com.android.systemui.res.R;

import dagger.Module;
import dagger.Provides;

import javax.inject.Named;

/**
 * Dagger Module for {@link QSFragmentComponent}.
 */
/** Dagger Module for {@link QSFragmentComponent}. */
@Module(includes = {QSScopeModule.class})
public interface QSFragmentModule {
    /** */
    @Provides
    @Named(QSScopeModule.QS_USING_MEDIA_PLAYER)
    static boolean providesQSUsingMediaPlayer(Context context) {
        return useQsMediaPlayer(context);
    }



    /** */
    @Provides
    @Named(QSScopeModule.QS_USING_COLLAPSED_LANDSCAPE_MEDIA)
    static boolean providesQSUsingCollapsedLandscapeMedia(Context context) {
        return useCollapsedMediaInLandscape(context.getResources());
        return context.getResources().getBoolean(
                R.bool.config_quickSettingsMediaLandscapeCollapsed);
    }
}
 No newline at end of file
+0 −27
Original line number Diff line number Diff line
@@ -34,30 +34,11 @@ import com.android.systemui.settings.DisplayTracker;
import com.android.systemui.shared.system.QuickStepContract;

import java.util.List;
import java.util.function.Consumer;

public class Utils {

    private static Boolean sUseQsMediaPlayer = null;

    /**
     * Allows lambda iteration over a list. It is done in reverse order so it is safe
     * to add or remove items during the iteration.  Skips over null items.
     *
     * @deprecated According to b/286841705, this is *not* safe: If an item is removed from the
     *   list, then list.get(i) could throw an IndexOutOfBoundsException. This method should not be
     *   used; try using `synchronized` or making a copy of the list instead.
     */
    @Deprecated
    public static <T> void safeForeach(List<T> list, Consumer<T> c) {
        for (int i = list.size() - 1; i >= 0; i--) {
            T item = list.get(i);
            if (item != null) {
                c.accept(item);
            }
        }
    }

    /**
     * Returns {@code true} iff the package {@code packageName} is a headless remote display
     * provider, i.e, that the package holds the privileged {@code REMOTE_DISPLAY_PROVIDER}
@@ -138,14 +119,6 @@ public class Utils {
        return useQsMediaPlayer(context) && flag > 0;
    }

    /**
     * Returns true if the device should use the collapsed layout for the media player when in
     * landscape (or seascape) orientation
     */
    public static boolean useCollapsedMediaInLandscape(Resources resources) {
        return resources.getBoolean(R.bool.config_quickSettingsMediaLandscapeCollapsed);
    }

    /**
     * Gets the {@link R.dimen#status_bar_header_height_keyguard}.
     *