* Alternative solution could be to set
onTaskViewVisibilityChanged(true) for the taskView that is about
to be dismissed so it loads it's taskIcon/thumbnail back from the cache
* However, that does still leave us open to race conditions (even though
we can be reasonably confident the icon is probably in the cache)
* Also made other changes to allow already public fields on some classes
to be mockable for unit testing
Fixes: 275267738
Test: Tested with fullscreen task at end of overview,
GroupedTaskView at end of overview,
Initiating split from home,
Initiating split from overview actions,
Initiating split from overview app icon
Change-Id: Ic9059c93c07b90f61c9f418d5d36d6ba201ff96a
* Consolidated init calls in SplitSelectStateController
* Also add support to launch from taskbar all apps
* Add logic in SplitSelectStateController to know whether
or not we need to dismiss existing TaskView vs relying
on mSplitHiddenTaskView null check
* Default click handling for SplitShortcut is to start
split selection mode
Bug: 251747761
Test: Initiated split from smart actions, thumbnail app
icon, home, taskbar in overview, all apps. Saw it choose
the latest thumbnail
Change-Id: Ib4f64e619c97615af458a19a9c0efd86c92979d9
* Instead of passing in screenWidth to be that
of entire screen when using split, scale screenWidth
to that of only the amount that the given split app
is taking.
* Created TODO(b/254378592) to consolidate different
SplitBounds classes
Fixes: 250817893
Test: Checked phone/tablet swiping quickswitching
portrait and landscape
Change-Id: I5c3b2076110e358366284b2c794fd8df8a79f034
* Use "select" when in the split screen
invocation process
* Drop usage of "staged" except when defining
constants
Fixes: 233006032
Change-Id: I809f0e1e9742aa6b6b09ad8731896ad3f0c9deb0
The task thumbnails of splitting task might not start with (0, 0), like
the case when IME panel pushing up split layout. Updated to consider
different start position while calculating split percentage.
Fix: 218704243
Test: enter split in portrait, toggle on IME panel, observed task
thumbnails been placed properly after swiped up to overview.
Change-Id: I5b0d9710b56e9d77b86369c7fff4bc3ca75d9c7e
In grouped task view, paired icons will now align better with task thumbnails.
Fixes: 218783211
Test: Extensive manual testing on local device(s).
Change-Id: I372d2ee90302a8d96ace048ff4f82126d9b2b363
(cherry picked from commit d6826c74a4)
- This was causing bleed through between split tasks and perhaps
some rounded corners to be calculated incorrectly
- Also reset the translation after it is adjusted for dismissing
in case the dismiss gesture is canceled. This doesn't fix the
issue with bleed through between the task views (to be fixed
separately), but makes sure it isn't permanently set on the task
Bug: 206739664
Test: Split tasks, swipe up and check the bounds
Change-Id: I34430e958ca7a75f48621bc27a281e93fdf97179
* Also add indicator if split was originally started
in portrait of landscape, so we know which dimension
of the divider bar to use if user goes to overview
and then rotates device (horizontal divider vs
vertical)
Fixes: 199461137
Test: Swipe to overview with staged split
Rotate device with and without live tile
Doesn't overlap with overview actions
Change-Id: I8b7f104f16d5b7265828f1b3d98ba3426b28d44f
* Divider bar dimensions manually calculated since
the leash that is provided has bounds larger than
the space that is visually shown between the two split
apps
Bug: 181704764
Test: Swipe up on large and normal screen,
w/ and w/o home rotation enabled
Change-Id: I1fde053151d47c6ce3e11f16f8ae4a153d273871
* Maintain task split percentages when swiping up.
* Split percentages not maintained in GroupedTaskView, however.
That is a TODO.
Bug: 181704764, 181705607
Test: Swiped up in landscape with home rotation on/off.
Portrait still works.
Change-Id: Iec62abae34f6ccadf98e2afdc9409cf3160f8223
* Currently only works for portrait 50/50 split
* Have gesture swipe animation flow use multiple
TaskViewSimulators, one for each app in split
* Added new APIs in shell to query for actively running
tasks to determine if we're in split screen
* Lots of UI polish needed during gesture
* Launching into staged split after live tile ends
not implemented yet.
Bug: 181704764
Change-Id: Ib90e99e1e10b19121e8709385e1334b9380d6502
TODO:
* Extract out common elements in TaskShortcutFactory.MultiWindowFactory
for commonalities between new and old way of
invoking split screen
* Integrate with WM APIs (b/182002789)
* Write tests for SplitSelectStateController
Bug: 181704764
Change-Id: Ice35adb4ea82897f5e2433dc9b93a549f3d511b5