Merge "Fixed an issue where the Device output chip lost its alpha" into rvc-dev
This commit is contained in:
@@ -257,16 +257,18 @@ public class MediaControlPanel {
|
|||||||
rect.setColor(Color.TRANSPARENT);
|
rect.setColor(Color.TRANSPARENT);
|
||||||
|
|
||||||
final MediaDeviceData device = data.getDevice();
|
final MediaDeviceData device = data.getDevice();
|
||||||
|
int seamlessId = mViewHolder.getSeamless().getId();
|
||||||
if (device != null && !device.getEnabled()) {
|
if (device != null && !device.getEnabled()) {
|
||||||
mViewHolder.getSeamless().setEnabled(false);
|
mViewHolder.getSeamless().setEnabled(false);
|
||||||
// TODO(b/156875717): setEnabled should cause the alpha to change.
|
expandedSet.setAlpha(seamlessId, 0.38f);
|
||||||
mViewHolder.getSeamless().setAlpha(0.38f);
|
collapsedSet.setAlpha(seamlessId, 0.38f);
|
||||||
iconView.setImageResource(R.drawable.ic_hardware_speaker);
|
iconView.setImageResource(R.drawable.ic_hardware_speaker);
|
||||||
iconView.setVisibility(View.VISIBLE);
|
iconView.setVisibility(View.VISIBLE);
|
||||||
deviceName.setText(R.string.media_seamless_remote_device);
|
deviceName.setText(R.string.media_seamless_remote_device);
|
||||||
} else if (device != null) {
|
} else if (device != null) {
|
||||||
mViewHolder.getSeamless().setEnabled(true);
|
mViewHolder.getSeamless().setEnabled(true);
|
||||||
mViewHolder.getSeamless().setAlpha(1f);
|
expandedSet.setAlpha(seamlessId, 1.0f);
|
||||||
|
collapsedSet.setAlpha(seamlessId, 1.0f);
|
||||||
Drawable icon = device.getIcon();
|
Drawable icon = device.getIcon();
|
||||||
iconView.setVisibility(View.VISIBLE);
|
iconView.setVisibility(View.VISIBLE);
|
||||||
|
|
||||||
@@ -282,7 +284,8 @@ public class MediaControlPanel {
|
|||||||
// Reset to default
|
// Reset to default
|
||||||
Log.w(TAG, "device is null. Not binding output chip.");
|
Log.w(TAG, "device is null. Not binding output chip.");
|
||||||
mViewHolder.getSeamless().setEnabled(true);
|
mViewHolder.getSeamless().setEnabled(true);
|
||||||
mViewHolder.getSeamless().setAlpha(1f);
|
expandedSet.setAlpha(seamlessId, 1.0f);
|
||||||
|
collapsedSet.setAlpha(seamlessId, 1.0f);
|
||||||
iconView.setVisibility(View.GONE);
|
iconView.setVisibility(View.GONE);
|
||||||
deviceName.setText(com.android.internal.R.string.ext_media_seamless_action);
|
deviceName.setText(com.android.internal.R.string.ext_media_seamless_action);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ class TransitionLayout @JvmOverloads constructor(
|
|||||||
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
) : ConstraintLayout(context, attrs, defStyleAttr) {
|
||||||
|
|
||||||
private val originalGoneChildrenSet: MutableSet<Int> = mutableSetOf()
|
private val originalGoneChildrenSet: MutableSet<Int> = mutableSetOf()
|
||||||
|
private val originalViewAlphas: MutableMap<Int, Float> = mutableMapOf()
|
||||||
private var measureAsConstraint: Boolean = false
|
private var measureAsConstraint: Boolean = false
|
||||||
private var currentState: TransitionViewState = TransitionViewState()
|
private var currentState: TransitionViewState = TransitionViewState()
|
||||||
private var updateScheduled = false
|
private var updateScheduled = false
|
||||||
@@ -67,6 +68,7 @@ class TransitionLayout @JvmOverloads constructor(
|
|||||||
if (child.visibility == GONE) {
|
if (child.visibility == GONE) {
|
||||||
originalGoneChildrenSet.add(child.id)
|
originalGoneChildrenSet.add(child.id)
|
||||||
}
|
}
|
||||||
|
originalViewAlphas[child.id] = child.alpha
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -198,6 +200,8 @@ class TransitionLayout @JvmOverloads constructor(
|
|||||||
if (originalGoneChildrenSet.contains(child.id)) {
|
if (originalGoneChildrenSet.contains(child.id)) {
|
||||||
child.visibility = View.GONE
|
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
|
// Let's now apply the constraintSet to get the full state
|
||||||
constraintSet.applyTo(this)
|
constraintSet.applyTo(this)
|
||||||
|
|||||||
Reference in New Issue
Block a user