Version 9.1 - Bug in VisionPortalImpl.close()
25wangj opened this issue · comments
When VisionPortalImpl tries to remove cameraMonitorViewId from viewsInUse, it uses ArrayList.remove(int)
instead of ArrayList.remove(Object)
. This causes an IndexOutOfBoundsError. Line 663 of VisionPortalImpl should change from:
viewsInUse.remove(cameraMonitorViewId);
to
viewsInUse.remove(Integer.valueOf(cameraMonitorViewId));
If other people think this is correct I will submit a PR.
Ooops. Yes, that is correct. Unfortunately, the deploy model of the SDK does not facilitate the acceptance of PRs against this repo.
A workaround for now would be to (a) stop streaming but not actually close the portal if you're doing it to save resources, or (b) simply allow the built-in clean up to run its course.
NB: this was missed in testing because the usage of close()
in the samples did not trigger a crash display, which in and of itself is a bug. That is, this bug was masked in the samples by the presence of another bug.
This was fixed in v9.2