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

Commit 962ee554 authored by Michael Mikhail's avatar Michael Mikhail Committed by Android (Google) Code Review
Browse files

Merge "Access id of view from its view holder" into udc-dev

parents 9e9c5aac 3c0fe187
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -147,6 +147,7 @@ class MediaViewHolder constructor(itemView: View) {

        val expandedBottomActionIds =
            setOf(
                R.id.media_progress_bar,
                R.id.actionPrev,
                R.id.actionNext,
                R.id.action0,
@@ -155,7 +156,22 @@ class MediaViewHolder constructor(itemView: View) {
                R.id.action3,
                R.id.action4,
                R.id.media_scrubbing_elapsed_time,
                R.id.media_scrubbing_total_time
                R.id.media_scrubbing_total_time,
            )

        val detailIds =
            setOf(
                R.id.header_title,
                R.id.header_artist,
                R.id.media_explicit_indicator,
                R.id.actionPlayPause,
            )

        val backgroundIds =
            setOf(
                R.id.album_art,
                R.id.turbulence_noise_view,
                R.id.touch_ripple_view,
            )
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -180,5 +180,7 @@ class RecommendationViewHolder private constructor(itemView: View, updatedView:
                R.id.media_cover2_container,
                R.id.media_cover3_container
            )

        val backgroundId = R.id.sizing_view
    }
}
+11 −43
Original line number Diff line number Diff line
@@ -61,37 +61,6 @@ constructor(

    companion object {
        @JvmField val GUTS_ANIMATION_DURATION = 500L
        val controlIds =
            setOf(
                R.id.media_progress_bar,
                R.id.actionNext,
                R.id.actionPrev,
                R.id.action0,
                R.id.action1,
                R.id.action2,
                R.id.action3,
                R.id.action4,
                R.id.media_scrubbing_elapsed_time,
                R.id.media_scrubbing_total_time
            )

        val detailIds =
            setOf(
                R.id.header_title,
                R.id.header_artist,
                R.id.media_explicit_indicator,
                R.id.actionPlayPause,
            )

        val backgroundIds =
            setOf(
                R.id.album_art,
                R.id.turbulence_noise_view,
                R.id.touch_ripple_view,
            )

        // Sizing view id for recommendation card view.
        val recSizingViewId = R.id.sizing_view
    }

    /** A listener when the current dimensions of the player change */
@@ -182,19 +151,18 @@ constructor(
                        lastOrientation = newOrientation
                        // Update the height of media controls for the expanded layout. it is needed
                        // for large screen devices.
                        val backgroundIds =
                            if (type == TYPE.PLAYER) {
                                MediaViewHolder.backgroundIds
                            } else {
                                setOf(RecommendationViewHolder.backgroundId)
                            }
                        backgroundIds.forEach { id ->
                            expandedLayout.getConstraint(id).layout.mHeight =
                                context.resources.getDimensionPixelSize(
                                    R.dimen.qs_media_session_height_expanded
                                )
                        }
                        } else {
                            expandedLayout.getConstraint(recSizingViewId).layout.mHeight =
                                context.resources.getDimensionPixelSize(
                                    R.dimen.qs_media_session_height_expanded
                                )
                        }
                    }
                    if (this@MediaViewController::configurationChangeListener.isInitialized) {
                        configurationChangeListener.invoke()
@@ -338,19 +306,19 @@ constructor(
        squishedViewState.height = squishedHeight
        // We are not overriding the squishedViewStates height but only the children to avoid
        // them remeasuring the whole view. Instead it just remains as the original size
        backgroundIds.forEach { id ->
        MediaViewHolder.backgroundIds.forEach { id ->
            squishedViewState.widgetStates.get(id)?.let { state -> state.height = squishedHeight }
        }

        // media player
        calculateWidgetGroupAlphaForSquishiness(
            controlIds,
            MediaViewHolder.expandedBottomActionIds,
            squishedViewState.measureHeight.toFloat(),
            squishedViewState,
            squishFraction
        )
        calculateWidgetGroupAlphaForSquishiness(
            detailIds,
            MediaViewHolder.detailIds,
            squishedViewState.measureHeight.toFloat(),
            squishedViewState,
            squishFraction
@@ -660,7 +628,7 @@ constructor(
                result.height = result.measureHeight
                result.width = result.measureWidth
                // Make sure all background views are also resized such that their size is correct
                backgroundIds.forEach { id ->
                MediaViewHolder.backgroundIds.forEach { id ->
                    result.widgetStates.get(id)?.let { state ->
                        state.height = result.height
                        state.width = result.width
+7 −6
Original line number Diff line number Diff line
@@ -24,6 +24,8 @@ import android.view.View
import androidx.test.filters.SmallTest
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.media.controls.models.player.MediaViewHolder
import com.android.systemui.media.controls.models.recommendation.RecommendationViewHolder
import com.android.systemui.media.controls.util.MediaFlags
import com.android.systemui.util.animation.MeasurementInput
import com.android.systemui.util.animation.TransitionLayout
@@ -55,13 +57,12 @@ class MediaViewControllerTest : SysuiTestCase() {
    @Mock private lateinit var mockCopiedState: TransitionViewState
    @Mock private lateinit var detailWidgetState: WidgetState
    @Mock private lateinit var controlWidgetState: WidgetState
    @Mock private lateinit var bgWidgetState: WidgetState
    @Mock private lateinit var mediaTitleWidgetState: WidgetState
    @Mock private lateinit var mediaSubTitleWidgetState: WidgetState
    @Mock private lateinit var mediaContainerWidgetState: WidgetState
    @Mock private lateinit var mediaFlags: MediaFlags

    val delta = 0.1F
    private val delta = 0.1F

    private lateinit var mediaViewController: MediaViewController

@@ -84,13 +85,13 @@ class MediaViewControllerTest : SysuiTestCase() {

        mediaViewController.attach(player, MediaViewController.TYPE.PLAYER)
        // Change the height to see the effect of orientation change.
        MediaViewController.backgroundIds.forEach { id ->
        MediaViewHolder.backgroundIds.forEach { id ->
            mediaViewController.expandedLayout.getConstraint(id).layout.mHeight = 10
        }
        newConfig.orientation = ORIENTATION_LANDSCAPE
        configurationController.onConfigurationChanged(newConfig)

        MediaViewController.backgroundIds.forEach { id ->
        MediaViewHolder.backgroundIds.forEach { id ->
            assertTrue(
                mediaViewController.expandedLayout.getConstraint(id).layout.mHeight ==
                    context.resources.getDimensionPixelSize(
@@ -107,7 +108,7 @@ class MediaViewControllerTest : SysuiTestCase() {
        mediaViewController.attach(recommendation, MediaViewController.TYPE.RECOMMENDATION)
        // Change the height to see the effect of orientation change.
        mediaViewController.expandedLayout
            .getConstraint(MediaViewController.recSizingViewId)
            .getConstraint(RecommendationViewHolder.backgroundId)
            .layout
            .mHeight = 10
        newConfig.orientation = ORIENTATION_LANDSCAPE
@@ -115,7 +116,7 @@ class MediaViewControllerTest : SysuiTestCase() {

        assertTrue(
            mediaViewController.expandedLayout
                .getConstraint(MediaViewController.recSizingViewId)
                .getConstraint(RecommendationViewHolder.backgroundId)
                .layout
                .mHeight ==
                context.resources.getDimensionPixelSize(R.dimen.qs_media_session_height_expanded)