In Android 7.0 and later, users can have multiple apps simultaneously displayed on their device screen with the platform feature multi-window. The default mode is split-screen, which provides two activity panes for users to place apps.
Android 8.0 improves split-screen by refining the feature and adding more functionality to it. In the default implementation, if a user taps Home after entering split-screen, the top pane compresses and the launcher resizes. This shows users that the top app is still open while maintaining their launcher layout so they can find and launch apps from their home screen.
There is a reference implementation of this new functionality in the Launcher3
code in /platform/packages/apps/Launcher3/
These Change IDs are related to implementing split-screen in Launcher3, and can act as a reference for device manufacturers who want to make similar updates to their launchers.
I48e5cb3bd15e70627d9bf007d93bc731612fba2e
I86753bab5b24aafc417e0f77d8c471fc4c0dc7f0
Id6557d070edb664aa1f4851de7abf494cf8a0677
Icdaf73ecd89a30e57fe7f405292d793f2d6a3ee8
Ie50279f4edb94812120dea492aefa4f18218162f
I6f9ee7be12d3266f021796576c771f86f6120246
I106fe12041565a090047f146a07d4bc80a074b4a
Ibb49c56aab29d1223a0ab36476a32d565566eb25
Id60c793730d982277c9d91860e9fb0e6a0df7d38
I9d358e74ab403989929dee87542d3dde78c2f229
I925d5ac9d29439c5d61cf089e7784065a8cb5ebd
I776c6f710e081645cff891487022cf787869ee3f
I2d17c89db2eb8d60b3393c2abc3b026e5574085d
Id6ee68826c4f3cc579880540812fd8ed834f8267
Here are example screens that show the user experience for the default implementation of this feature.
Figure 1. Example screens for launcher resizing in split-screen mode.
While Android 8.0 provides a reference implementation for this update to split-screen, it's up to device manufacturers to determine their implementations in their launchers. To support this feature:
task_height_of_minimized_mode
value in:
frameworks/base/core/res/res/values/dimens.xml
Use manual testing to ensure your implementation is working correctly.
Ensure that the launcher resizes correctly in all device orientations that it supports.