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

Commit 8ac9f9c3 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Improve long press menu readability" into tm-dev am: b592a68a...

Merge "Merge "Improve long press menu readability" into tm-dev am: b592a68a am: af4a064f am: 297594e8" into tm-qpr-dev-plus-aosp
parents f2ab4ba2 a49b9d54
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@
        android:layout_marginStart="@dimen/qs_media_padding"
        android:layout_marginEnd="@dimen/qs_media_padding"
        android:id="@+id/remove_text"
        android:fontFamily="@*android:string/config_headlineFontFamily"
        android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
@@ -62,7 +62,6 @@
        android:layout_marginEnd="@dimen/qs_media_action_spacing"
        android:layout_marginBottom="@dimen/qs_media_padding"
        app:layout_constrainedWidth="true"
        app:layout_constraintWidth_min="@dimen/min_clickable_item_size"
        app:layout_constraintHeight_min="@dimen/min_clickable_item_size"
        app:layout_constraintHorizontal_chainStyle="packed"
        app:layout_constraintStart_toStartOf="parent"
@@ -73,6 +72,7 @@
            android:id="@+id/dismiss_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:layout_constraintWidth_min="@dimen/min_clickable_item_size"
            android:layout_gravity="center|top"
            style="@style/MediaPlayer.SolidButton"
            android:background="@drawable/qs_media_solid_button"
+1 −0
Original line number Diff line number Diff line
@@ -238,5 +238,6 @@ class ColorSchemeTransition internal constructor(
    fun updateColorScheme(colorScheme: ColorScheme?, enableGradient: Boolean) {
        isGradientEnabled = enableGradient
        colorTransitions.forEach { it.updateColorScheme(colorScheme) }
        colorScheme?.let { mediaViewHolder.gutsViewHolder.colorScheme = colorScheme }
    }
}
+23 −6
Original line number Diff line number Diff line
@@ -40,6 +40,9 @@ class GutsViewHolder constructor(itemView: View) {
    val dismissText: TextView = itemView.requireViewById(R.id.dismiss_text)
    val settings: ImageButton = itemView.requireViewById(R.id.settings)

    private var isDismissible: Boolean = true
    var colorScheme: ColorScheme? = null

    /** Marquees the main text of the guts menu. */
    fun marquee(start: Boolean, delay: Long, tag: String) {
        val gutsTextHandler = gutsText.handler
@@ -50,16 +53,28 @@ class GutsViewHolder constructor(itemView: View) {
        gutsTextHandler.postDelayed({ gutsText.isSelected = start }, delay)
    }

    /** Set whether this control can be dismissed, and update appearance to match */
    fun setDismissible(dismissible: Boolean) {
        if (isDismissible == dismissible) return

        isDismissible = dismissible
        colorScheme?.let { setColors(it) }
    }

    /** Sets the right colors on all the guts views based on the given [ColorScheme]. */
    fun setColors(colorScheme: ColorScheme) {
        setSurfaceColor(surfaceFromScheme(colorScheme))
        setTextPrimaryColor(textPrimaryFromScheme(colorScheme))
        setAccentPrimaryColor(accentPrimaryFromScheme(colorScheme))
    fun setColors(scheme: ColorScheme) {
        colorScheme = scheme
        setSurfaceColor(surfaceFromScheme(scheme))
        setTextPrimaryColor(textPrimaryFromScheme(scheme))
        setAccentPrimaryColor(accentPrimaryFromScheme(scheme))
    }

    /** Sets the surface color on all guts views that use it. */
    fun setSurfaceColor(surfaceColor: Int) {
        dismissText.setTextColor(surfaceColor)
        if (!isDismissible) {
            cancelText.setTextColor(surfaceColor)
        }
    }

    /** Sets the primary accent color on all guts views that use it. */
@@ -74,8 +89,10 @@ class GutsViewHolder constructor(itemView: View) {
    fun setTextPrimaryColor(textPrimary: Int) {
        val textColorList = ColorStateList.valueOf(textPrimary)
        gutsText.setTextColor(textColorList)
        if (isDismissible) {
            cancelText.setTextColor(textColorList)
        }
    }

    companion object {
        val ids = setOf(
+8 −1
Original line number Diff line number Diff line
@@ -1231,7 +1231,7 @@ public class MediaControlPanel {
        gutsViewHolder.getGutsText().setText(text);

        // Dismiss button
        gutsViewHolder.getDismissText().setAlpha(isDismissible ? 1 : DISABLED_ALPHA);
        gutsViewHolder.getDismissText().setVisibility(isDismissible ? View.VISIBLE : View.GONE);
        gutsViewHolder.getDismiss().setEnabled(isDismissible);
        gutsViewHolder.getDismiss().setOnClickListener(v -> {
            if (mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) return;
@@ -1242,11 +1242,18 @@ public class MediaControlPanel {
        });

        // Cancel button
        TextView cancelText = gutsViewHolder.getCancelText();
        if (isDismissible) {
            cancelText.setBackground(mContext.getDrawable(R.drawable.qs_media_outline_button));
        } else {
            cancelText.setBackground(mContext.getDrawable(R.drawable.qs_media_solid_button));
        }
        gutsViewHolder.getCancel().setOnClickListener(v -> {
            if (!mFalsingManager.isFalseTap(FalsingManager.LOW_PENALTY)) {
                closeGuts();
            }
        });
        gutsViewHolder.setDismissible(isDismissible);

        // Settings button
        gutsViewHolder.getSettings().setOnClickListener(v -> {
+5 −2
Original line number Diff line number Diff line
@@ -270,8 +270,11 @@ class MediaViewController @Inject constructor(
            }
        }
        gutsIds.forEach { id ->
            viewState.widgetStates.get(id)?.alpha = if (isGutsVisible) 1f else 0f
            viewState.widgetStates.get(id)?.gone = !isGutsVisible
            viewState.widgetStates.get(id)?.let { state ->
                // Make sure to use the unmodified state if guts are visible
                state.alpha = if (isGutsVisible) state.alpha else 0f
                state.gone = if (isGutsVisible) state.gone else true
            }
        }
    }

Loading