Suppress IndexOutOfBoundsException when cancelling low light animation

This is a temporary fix for udc-dev to prevent a SysUI crash.

Bug: 285666217
Test: manually confirmed on device that cancelling the animation does not cause a crah
Change-Id: I5a05b174eced7db0b79260f95e4646f961417d9c
This commit is contained in:
William Xiao
2023-07-06 12:57:32 -07:00
parent 18e95cc580
commit 36b2e9cf0d

View File

@@ -111,8 +111,14 @@ class LowLightTransitionCoordinator @Inject constructor() {
}
animator.addListener(listener)
continuation.invokeOnCancellation {
animator.removeListener(listener)
animator.cancel()
try {
animator.removeListener(listener)
animator.cancel()
} catch (exception: IndexOutOfBoundsException) {
// TODO(b/285666217): remove this try/catch once a proper fix is implemented.
// Cancelling the animator can cause an exception since we may be removing a
// listener during the cancellation. See b/285666217 for more details.
}
}
}
}