mirror of
https://github.com/narrrl/proton-stream.git
synced 2026-11-11 17:27:04 +01:00
feat(android): palette resolved before the first frame
storedPalette() reads and resolves the theme file without building the engine, so onCreate can set the window background and system-bar icon polarity before anything draws. Previously the background was a hex literal in themes.xml and the bar icons were pinned dark, which meant every cold start flashed one flavour's colour and Latte drew white icons on a near-white page. Adds the Material scheme mapping, type ramp and shape tokens the palette feeds, plus unit tests for both.
This commit is contained in:
1 parent
cb03f96eca
commit
1a9a4624f8
11 files changed
+918
-31
No files matched your search
@@ -0,0 +1,9 @@
|
||||
<resources>
|
||||
<!--
|
||||
`pstr_core::appearance::Palette::PROTON.background` — the shipped default,
|
||||
and the only colour in this file. It is what the window is painted before
|
||||
the stored palette has been read; from then on
|
||||
MainActivity.dressWindow overrides it with the flavour in force.
|
||||
-->
|
||||
<color name="window_background">#0E0E12</color>
|
||||
</resources>
|
||||
@@ -1,8 +1,23 @@
|
||||
<resources>
|
||||
<!--
|
||||
The window before Compose owns it.
|
||||
|
||||
Everything about the *look* is decided by the stored palette and applied
|
||||
in MainActivity.dressWindow: the background colour here is only the one
|
||||
the shipped default resolves to, so that a first-ever launch — before
|
||||
there is a theme file to read — starts on the right colour rather than on
|
||||
the platform's white. The bar polarity is likewise set from the palette;
|
||||
what is left here is the dark reading, which is right for four of the five
|
||||
flavours and is corrected in the same frame for the fifth.
|
||||
|
||||
A hex literal from one specific flavour used to live here, and it was the
|
||||
reason every cold start flashed Catppuccin Mocha's base regardless of what
|
||||
the viewer had chosen.
|
||||
-->
|
||||
<style name="Theme.ProtonStream" parent="android:style/Theme.Material.NoActionBar">
|
||||
<item name="android:fontFamily">sans</item>
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
<item name="android:windowLightNavigationBar">false</item>
|
||||
<item name="android:windowBackground">#1E1E2E</item>
|
||||
<item name="android:windowBackground">@color/window_background</item>
|
||||
</style>
|
||||
</resources>
|
||||
Reference in new issue
Block a user