fix: null pointer in call participants list [WPB-15783] #3855
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
Issues
IndexOutOfBoundsException
inVerticalCallingPager
that occurred when removing the first participant (self user
) in Picture-in-Picture (PiP) mode.participantsChunkedList
due to inconsistent page count calculations.Causes (Optional)
subList(1, participants.size)
. However,pagerState.pageCount
was calculated before this modification, leading to a mismatch in page count.rememberPagerState
relied onparticipants.size
, which didn't reflect the adjusted participant list aftersubList()
, sometimes leading topageIndex
being out of range.LaunchedEffect
block was trying to accessparticipantsChunkedList[pagerState.currentPage]
without verifying ifpageIndex
was within bounds.Solutions
newParticipants
calculation outside ofVerticalPager
, ensuring it is computed beforepagerState.pageCount
is determined.pagerState
to correctly reflect the actual number of pages by usingparticipantsChunkedList.size
instead of the originalparticipants.size
.getOrNull(pageIndex)
when retrieving elements fromparticipantsChunkedList
to preventIndexOutOfBoundsException
.LaunchedEffect
only attempts to request video streams when the current page index is valid.