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

Commit fb7ddf3e authored by Omar Miatello's avatar Omar Miatello Committed by Automerger Merge Worker
Browse files

Merge "Do not reset roundness on ExpandableOutlineView.initDimens()" into...

Merge "Do not reset roundness on ExpandableOutlineView.initDimens()" into tm-qpr-dev am: f37fea93 am: 3af48116

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/20745286



Change-Id: I09298a6d1df8c3cd4404987001b466505481cab7
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 27f74bf8 3af48116
Loading
Loading
Loading
Loading
+12 −2
Original line number Diff line number Diff line
@@ -306,9 +306,12 @@ interface Roundable {
 */
class RoundableState(
    internal val targetView: View,
    roundable: Roundable,
    internal val maxRadius: Float,
    private val roundable: Roundable,
    maxRadius: Float,
) {
    internal var maxRadius = maxRadius
        private set

    /** Animatable for top roundness */
    private val topAnimatable = topAnimatable(roundable)

@@ -356,6 +359,13 @@ class RoundableState(
        PropertyAnimator.setProperty(targetView, bottomAnimatable, value, DURATION, animated)
    }

    fun setMaxRadius(radius: Float) {
        if (maxRadius != radius) {
            maxRadius = radius
            roundable.applyRoundnessAndInvalidate()
        }
    }

    fun debugString() = buildString {
        append("TargetView: ${targetView.hashCode()} ")
        append("Top: $topRoundness ")
+5 −1
Original line number Diff line number Diff line
@@ -214,7 +214,11 @@ public abstract class ExpandableOutlineView extends ExpandableView {
        } else {
            maxRadius = res.getDimensionPixelSize(R.dimen.notification_corner_radius);
        }
        if (mRoundableState == null) {
            mRoundableState = new RoundableState(this, this, maxRadius);
        } else {
            mRoundableState.setMaxRadius(maxRadius);
        }
        setClipToOutline(mAlwaysRoundBothCorners);
    }

+14 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import com.android.systemui.R
import com.android.systemui.SysuiTestCase
import com.android.systemui.statusbar.notification.FakeShadowView
import com.android.systemui.statusbar.notification.NotificationUtils
import com.android.systemui.statusbar.notification.SourceType
import com.android.systemui.util.mockito.mock
import com.google.common.truth.Truth.assertThat
import org.junit.Before
@@ -83,4 +84,17 @@ class ActivatableNotificationViewTest : SysuiTestCase() {
        mView.updateBackgroundColors()
        assertThat(mView.currentBackgroundTint).isEqualTo(mNormalColor)
    }

    @Test
    fun roundnessShouldBeTheSame_after_onDensityOrFontScaleChanged() {
        val roundableState = mView.roundableState
        assertThat(mView.topRoundness).isEqualTo(0f)
        mView.requestTopRoundness(1f, SourceType.from(""))
        assertThat(mView.topRoundness).isEqualTo(1f)

        mView.onDensityOrFontScaleChanged()

        assertThat(mView.topRoundness).isEqualTo(1f)
        assertThat(mView.roundableState.hashCode()).isEqualTo(roundableState.hashCode())
    }
}
 No newline at end of file