Skip to content

Commit 236b166

Browse files
Add AppearanceManager
1 parent b740e14 commit 236b166

File tree

4 files changed

+455
-35
lines changed

4 files changed

+455
-35
lines changed

docs/architecture/frameworks.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,23 @@ class MyFramework:
5656

5757
## Available Frameworks
5858

59+
### AppearanceManager
60+
Manages visual appearance: light/dark mode, theme colors, UI dimensions, and LVGL styling.
61+
62+
```python
63+
from mpos import AppearanceManager
64+
65+
# Initialize at startup
66+
AppearanceManager.init(prefs)
67+
68+
# Use anywhere
69+
if AppearanceManager.is_light_mode():
70+
print("Light mode enabled")
71+
72+
bar_height = AppearanceManager.get_notification_bar_height()
73+
primary_color = AppearanceManager.get_primary_color()
74+
```
75+
5976
### AudioFlinger
6077
Manages audio playback and recording.
6178

@@ -155,6 +172,7 @@ Frameworks should be initialized once at system startup in the board initializat
155172
```python
156173
# In board/your_board.py
157174
from mpos import (
175+
AppearanceManager,
158176
AudioFlinger,
159177
DownloadManager,
160178
ConnectivityManager,
@@ -165,6 +183,7 @@ from mpos import (
165183

166184
def init_frameworks():
167185
"""Initialize all frameworks."""
186+
AppearanceManager.init(prefs) # Requires SharedPreferences
168187
AudioFlinger.init()
169188
DownloadManager.init()
170189
ConnectivityManager.init()
@@ -250,6 +269,7 @@ All frameworks are imported consistently as classes:
250269

251270
```python
252271
from mpos import (
272+
AppearanceManager,
253273
AudioFlinger,
254274
CameraManager,
255275
ConnectivityManager,

0 commit comments

Comments
 (0)