Refactor TaskView.getTaskIds and its attribute container to support any number of tasks

- getTaskIds and getTaskIdAttributeContainers will now return an array with any sizes:
  - Not bound -> empty array
  - Single task -> 1 element array
  - Split task -> 2 elements array
  - Desktop task -> N elements array
- Updates TaskView.containsTaskId/containsMultipleTasks accordingly
- Removed unnecessary overrides in GroupedTaskView and DesktopTaskView
- Updates RecentsView.hasAllValidTaskIds accordingly
- Reviewed all direct and indirect usage of getTaskIds, to make sure caller don't access the array without length checking; migrate usage to stream if applicable
- Simplfied RecentsView.shouldAddStubTaskView to use getTaskViewByTaskIds to find TaksView with exact match of taskIds
- Simplfied RecentsView.setContentAlpha to match TaskView ref instead of doing taskId matching

Bug: 249371338
Test: With single, split, desktop task in Overview, try different CUJs like launch, menu, dismiss, scroll, swipe up etc.
Flag: NONE
Change-Id: I39a5a36c85ce8b366fe25132a349b08244fb1217
5 files changed