Merge "Make DialogLaunchAnimator.showFromDialog more lenient" into tm-qpr-dev am: 0d5d95b08d

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

Change-Id: Idba05ccd769ac0d9a22c1454d8111e477a1108f5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jordan Demeulenaere
2023-02-07 09:53:45 +00:00
committed by Automerger Merge Worker
2 changed files with 16 additions and 4 deletions

View File

@@ -304,10 +304,16 @@ constructor(
) { ) {
val view = val view =
openedDialogs.firstOrNull { it.dialog == animateFrom }?.dialogContentWithBackground openedDialogs.firstOrNull { it.dialog == animateFrom }?.dialogContentWithBackground
?: throw IllegalStateException( if (view == null) {
"The animateFrom dialog was not animated using " + Log.w(
"DialogLaunchAnimator.showFrom(View|Dialog)" TAG,
) "Showing dialog $dialog normally as the dialog it is shown from was not shown " +
"using DialogLaunchAnimator"
)
dialog.show()
return
}
showFromView( showFromView(
dialog, dialog,
view, view,

View File

@@ -268,6 +268,12 @@ class DialogLaunchAnimatorTest : SysuiTestCase() {
} }
} }
@Test
fun showFromDialogDoesNotCrashWhenShownFromRandomDialog() {
val dialog = createDialogAndShowFromDialog(animateFrom = TestDialog(context))
dialog.dismiss()
}
private fun createAndShowDialog( private fun createAndShowDialog(
animator: DialogLaunchAnimator = dialogLaunchAnimator, animator: DialogLaunchAnimator = dialogLaunchAnimator,
): TestDialog { ): TestDialog {