Merge "Make DialogLaunchAnimator.showFromDialog more lenient" into tm-qpr-dev am: 0d5d95b08d am: f9f31bd6af
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21295778 Change-Id: I2a5e2553d2da59ab8de4270527f41f6918975252 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
committed by
Automerger Merge Worker
commit
aabd1baa07
@@ -304,10 +304,16 @@ constructor(
|
||||
) {
|
||||
val view =
|
||||
openedDialogs.firstOrNull { it.dialog == animateFrom }?.dialogContentWithBackground
|
||||
?: throw IllegalStateException(
|
||||
"The animateFrom dialog was not animated using " +
|
||||
"DialogLaunchAnimator.showFrom(View|Dialog)"
|
||||
)
|
||||
if (view == null) {
|
||||
Log.w(
|
||||
TAG,
|
||||
"Showing dialog $dialog normally as the dialog it is shown from was not shown " +
|
||||
"using DialogLaunchAnimator"
|
||||
)
|
||||
dialog.show()
|
||||
return
|
||||
}
|
||||
|
||||
showFromView(
|
||||
dialog,
|
||||
view,
|
||||
|
||||
@@ -268,6 +268,12 @@ class DialogLaunchAnimatorTest : SysuiTestCase() {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun showFromDialogDoesNotCrashWhenShownFromRandomDialog() {
|
||||
val dialog = createDialogAndShowFromDialog(animateFrom = TestDialog(context))
|
||||
dialog.dismiss()
|
||||
}
|
||||
|
||||
private fun createAndShowDialog(
|
||||
animator: DialogLaunchAnimator = dialogLaunchAnimator,
|
||||
): TestDialog {
|
||||
|
||||
Reference in New Issue
Block a user