Merge "Fixed an issue where the media would reappear animated" into rvc-dev am: 93920d3b10 am: 6455510f71 am: aa695145b6

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

Change-Id: I4d5af3a5d3fb76e48f782e7b555f9e4bd0b867a7
This commit is contained in:
TreeHugger Robot
2020-07-01 23:49:35 +00:00
committed by Automerger Merge Worker

View File

@@ -39,6 +39,28 @@ import com.android.systemui.util.animation.UniqueObjectHostView
import javax.inject.Inject
import javax.inject.Singleton
/**
* Similarly to isShown but also excludes views that have 0 alpha
*/
val View.isShownNotFaded: Boolean
get() {
var current: View = this
while (true) {
if (current.visibility != View.VISIBLE) {
return false
}
if (current.alpha == 0.0f) {
return false
}
val parent = current.parent ?: return false // We are not attached to the view root
if (parent !is View) {
// we reached the viewroot, hurray
return true
}
current = parent
}
}
/**
* This manager is responsible for placement of the unique media view between the different hosts
* and animate the positions of the views to achieve seamless transitions.
@@ -368,7 +390,7 @@ class MediaHierarchyManager @Inject constructor(
// non-trivial reattaching logic happening that will make the view not-shown earlier
return true
}
return mediaFrame.isShown || animator.isRunning || animationPending
return mediaFrame.isShownNotFaded || animator.isRunning || animationPending
}
private fun adjustAnimatorForTransition(desiredLocation: Int, previousLocation: Int) {