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

This commit is contained in:
Selim Cinek
2020-06-15 20:17:32 +00:00
committed by Android (Google) Code Review
2 changed files with 11 additions and 4 deletions

View File

@@ -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);
}

View File

@@ -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)