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

Commit b10928c2 authored by Selim Cinek's avatar Selim Cinek Committed by Automerger Merge Worker
Browse files

Merge "Fixed an issue where the Device output chip lost its alpha" into rvc-dev am: fc8443cf

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

Change-Id: I74458aeb861176547526fbf61cc4dc83d5caf005
parents a7d9ccee fc8443cf
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -257,16 +257,18 @@ public class MediaControlPanel {
        rect.setColor(Color.TRANSPARENT);

        final MediaDeviceData device = data.getDevice();
        int seamlessId = mViewHolder.getSeamless().getId();
        if (device != null && !device.getEnabled()) {
            mViewHolder.getSeamless().setEnabled(false);
            // TODO(b/156875717): setEnabled should cause the alpha to change.
            mViewHolder.getSeamless().setAlpha(0.38f);
            expandedSet.setAlpha(seamlessId, 0.38f);
            collapsedSet.setAlpha(seamlessId, 0.38f);
            iconView.setImageResource(R.drawable.ic_hardware_speaker);
            iconView.setVisibility(View.VISIBLE);
            deviceName.setText(R.string.media_seamless_remote_device);
        } else if (device != null) {
            mViewHolder.getSeamless().setEnabled(true);
            mViewHolder.getSeamless().setAlpha(1f);
            expandedSet.setAlpha(seamlessId, 1.0f);
            collapsedSet.setAlpha(seamlessId, 1.0f);
            Drawable icon = device.getIcon();
            iconView.setVisibility(View.VISIBLE);

@@ -282,7 +284,8 @@ public class MediaControlPanel {
            // Reset to default
            Log.w(TAG, "device is null. Not binding output chip.");
            mViewHolder.getSeamless().setEnabled(true);
            mViewHolder.getSeamless().setAlpha(1f);
            expandedSet.setAlpha(seamlessId, 1.0f);
            collapsedSet.setAlpha(seamlessId, 1.0f);
            iconView.setVisibility(View.GONE);
            deviceName.setText(com.android.internal.R.string.ext_media_seamless_action);
        }
+4 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ class TransitionLayout @JvmOverloads constructor(
) : ConstraintLayout(context, attrs, defStyleAttr) {

    private val originalGoneChildrenSet: MutableSet<Int> = mutableSetOf()
    private val originalViewAlphas: MutableMap<Int, Float> = mutableMapOf()
    private var measureAsConstraint: Boolean = false
    private var currentState: TransitionViewState = TransitionViewState()
    private var updateScheduled = false
@@ -67,6 +68,7 @@ class TransitionLayout @JvmOverloads constructor(
            if (child.visibility == GONE) {
                originalGoneChildrenSet.add(child.id)
            }
            originalViewAlphas[child.id] = child.alpha
        }
    }

@@ -198,6 +200,8 @@ class TransitionLayout @JvmOverloads constructor(
            if (originalGoneChildrenSet.contains(child.id)) {
                child.visibility = View.GONE
            }
            // Reset the alphas, to only have the alphas present from the constraintset
            child.alpha = originalViewAlphas[child.id] ?: 1.0f
        }
        // Let's now apply the constraintSet to get the full state
        constraintSet.applyTo(this)