1- from mpos import Activity , DisplayMetrics , BuildInfo , DeviceInfo
2-
31import sys
42
3+ from mpos import Activity , DisplayMetrics , BuildInfo , DeviceInfo
4+
55class About (Activity ):
66
7- def _add_label (self , parent , text , is_header = False ):
7+ def _add_label (self , parent , text , is_header = False , margin_top = DisplayMetrics . pct_of_height ( 5 ) ):
88 """Helper to create and add a label with text."""
99 label = lv .label (parent )
1010 label .set_text (text )
1111 if is_header :
1212 primary_color = lv .theme_get_color_primary (None )
1313 label .set_style_text_color (primary_color , 0 )
1414 label .set_style_text_font (lv .font_montserrat_14 , 0 )
15- label .set_style_margin_top (12 , 0 )
16- label .set_style_margin_bottom (4 , 0 )
15+ label .set_style_margin_top (margin_top , 0 )
16+ label .set_style_margin_bottom (DisplayMetrics . pct_of_height ( 2 ) , 0 )
1717 else :
1818 label .set_style_text_font (lv .font_montserrat_12 , 0 )
1919 label .set_style_margin_bottom (2 , 0 )
@@ -37,23 +37,34 @@ def onCreate(self):
3737 screen = lv .obj ()
3838 screen .set_style_border_width (0 , 0 )
3939 screen .set_flex_flow (lv .FLEX_FLOW .COLUMN )
40- screen .set_style_pad_all (DisplayMetrics .pct_of_width (2 ), 0 )
40+ screen .set_style_pad_all (DisplayMetrics .pct_of_width (2 ), lv . PART . MAIN )
4141 # Make the screen focusable so it can be scrolled with the arrow keys
4242 focusgroup = lv .group_get_default ()
4343 if focusgroup :
4444 focusgroup .add_obj (screen )
4545
46+ # Logo
47+ img = lv .image (screen )
48+ img .set_src ("M:builtin/res/mipmap-mdpi/MicroPythonOS-logo-white-long-w296.png" ) # from the MPOS-logo repo
49+ img .set_blend_mode (lv .BLEND_MODE .DIFFERENCE )
50+
4651 # Basic OS info
47- self ._add_label (screen , f"{ lv .SYMBOL .HOME } System Information" , is_header = True )
48- self ._add_label (screen , f"MicroPythonOS version: { BuildInfo .version .release } " )
52+ self ._add_label (screen , f"{ lv .SYMBOL .HOME } Build Information" , is_header = True , margin_top = 0 ) # close to logo
53+ self ._add_label (screen , f"Release version: { BuildInfo .version .release } " )
54+ self ._add_label (screen , f"API Level: { BuildInfo .version .api_level } " )
4955 self ._add_label (screen , f"Hardware ID: { DeviceInfo .hardware_id } " )
5056 self ._add_label (screen , f"sys.version: { sys .version } " )
5157 self ._add_label (screen , f"sys.implementation: { sys .implementation } " )
5258 self ._add_label (screen , f"sys.byteorder: { sys .byteorder } " )
5359 self ._add_label (screen , f"sys.maxsize of integer: { sys .maxsize } " )
5460
61+ # Platform info
62+ self ._add_label (screen , f"{ lv .SYMBOL .FILE } Platform" , is_header = True )
63+ self ._add_label (screen , f"sys.platform: { sys .platform } " )
64+ self ._add_label (screen , f"sys.path: { sys .path } " )
65+
5566 # MPY version info
56- self ._add_label (screen , f"{ lv .SYMBOL .SETTINGS } MicroPython Version " , is_header = True )
67+ self ._add_label (screen , f"{ lv .SYMBOL .SETTINGS } Binary MPY Format " , is_header = True )
5768 sys_mpy = sys .implementation ._mpy
5869 self ._add_label (screen , f'mpy version: { sys_mpy & 0xff } ' )
5970 self ._add_label (screen , f'mpy sub-version: { sys_mpy >> 8 & 3 } ' )
@@ -68,11 +79,6 @@ def onCreate(self):
6879 if len (flags ) > 0 :
6980 self ._add_label (screen , 'mpy flags: ' + flags )
7081
71- # Platform info
72- self ._add_label (screen , f"{ lv .SYMBOL .FILE } Platform" , is_header = True )
73- self ._add_label (screen , f"sys.platform: { sys .platform } " )
74- self ._add_label (screen , f"sys.path: { sys .path } " )
75-
7682 # MicroPython and memory info
7783 self ._add_label (screen , f"{ lv .SYMBOL .DRIVE } Memory & Performance" , is_header = True )
7884 import micropython
0 commit comments