* refactor: A bunch of (mostly XML) styling
* fix(Main Activity): Make use of a dedicated Splash Activity to enable Dynamic coloring in MainActivity
* feat(edge-to-edge): Ground work to support edge-to-edge experiences throughout the IDE
* fix(edge-to-edge): Manually set bottom padding for fragment containment
* feat(edge-to-edge): Allow full activity rebuild on configuration changes for MainActivity. This allows to ship more specific layout changes and is a ground work to support split screen mode.
* Bug introduced: templates are not shown in the TemplateListFragment after full activity rebuild
* fix: Finish the Splash Activity after launching the Main one
* fix(templates): The list of templates no longer disappears after an activity rebuild or a configuration change
* fix(templates): Keep OnGlobalLayoutListener attached while the View is alive. This ensures that the last item in template list is always aligned to the start.
* feat(design): Custom layout for MainActivity's main fragment in landscape mode
* feat(edge-to-edge): Implement edge-to-edge for PreferencesActivity, move InsetUtils outside of the LimitlessIDEActivity.
* refactor(IDEPreferencesFragment.kt): Comply with the line-length rule, fix a one-line if statement to follow the general codestyle
* refactor(edge-to-edge): Remove PaddingUtils.kt
The reasoning behind this is that after `view.setPadding(left, top, right, bottom)` is executed, `view.getPaddingBottom()` (or for any other side) still returns the old value of padding before the view is measured again. Therefore the implementation of PaddingUtils.kt produces an unwanted and unexpected behaviour.
* feat(edge-to-edge): Create a BottomInsetHeightDistributor view
* fix(templates/design): Use OutlinedButton style for the *Exit* button inside the *New project* wizard's footer
* refactor: Comply with AndroidIDE's code style
* refactor: Make use of helper methods. Optimize XML
* fix(edge-to-edge): Wrong system bar coloring in Dark Mode