Commit Graph

514 Commits

Author SHA1 Message Date
Thomas Farstrike 588d6edca9 fix showbattery link 2026-02-13 13:29:25 +01:00
Thomas Farstrike 2b25d2624f ShowBattery: increment version 2026-02-11 21:24:58 +01:00
Pavel Machek 058e5a0324 show_battery: Implement nice info display, battery widget and battery history graph 2026-02-02 13:21:54 +01:00
Thomas Farstrike c73baf94d6 Increment version numbers 2026-01-27 16:31:02 +01:00
Quasi Kili 0f7a2c03e9 updated icons helloworld, wifi, settings, appstore, nostr 2026-01-27 00:00:04 +01:00
Thomas Farstrike de48c4a88c Update version 2026-01-26 23:22:23 +01:00
Thomas Farstrike 1bef944115 Increment versions 2026-01-26 20:21:53 +01:00
Thomas Farstrike e8c3cb84d5 Change confetti icon
The old one was a bit too big, but looked better than the new one, IMHO.

So this updated one is the old one, but a bit smaller (55x55) like the others.
2026-01-26 20:12:49 +01:00
Thomas Farstrike 06389ab8de Alternative Hello World icon
The new one looked very good for a chat app, with the text bubble,
so let's save it for a messaging app. The old one was a bit too big
and the "World" in blue on yellow was hard to write, so here's an alternative.
2026-01-26 20:11:38 +01:00
Quasi Kili 488b92514f added icon redesigns for every app, including a standard usable app icon (now in launcher) 2026-01-26 18:28:28 +01:00
Thomas Farstrike 053851fe3a Fix confetti icon 2026-01-26 15:39:53 +01:00
Thomas Farstrike 1f9eee3a9d Rename AudioFlinger to AudioManager framework 2026-01-26 13:13:54 +01:00
Thomas Farstrike a32a020e57 Replace 'magic' value 0 with semantic lv.PART.MAIN 2026-01-26 12:30:50 +01:00
Thomas Farstrike cd5fe31bbf About app: show logo at the top 2026-01-26 11:05:32 +01:00
Thomas Farstrike e1d3f1a279 Update showbattery app 2026-01-25 23:52:05 +01:00
Thomas Farstrike 77974685ba Comments 2026-01-25 23:27:34 +01:00
Thomas Farstrike d7e49d04dc Add new BatteryManager framework 2026-01-25 23:22:53 +01:00
Thomas Farstrike 8e734b1e53 InputManager: add has_indev_type to figure out if there are buttons 2026-01-25 21:52:25 +01:00
Thomas Farstrike 2a70e32375 Add InputManager framework 2026-01-25 21:17:20 +01:00
Thomas Farstrike a017db8499 Draw app: use propose pointer_xy() 2026-01-25 19:47:01 +01:00
Thomas Farstrike 553a89f2d4 Synchronize confetti.py 2026-01-25 18:35:10 +01:00
Thomas Farstrike b8cc049e0e Increment version numbers 2026-01-24 23:00:31 +01:00
Thomas Farstrike 9bbab6a908 Fix ImageView 2026-01-23 22:25:52 +01:00
Thomas Farstrike 86d9c38902 Introduce DisplayMetrics framework 2026-01-23 20:46:36 +01:00
Thomas Farstrike 30b3764710 Harmonize frameworks
All frameworks now follow the same singleton class pattern with class methods:

AudioFlinger (already had this pattern)
DownloadManager (refactored)
ConnectivityManager (refactored)
CameraManager (refactored)
SensorManager (refactored)
Pattern Structure:

class FrameworkName:
    _initialized = False
    _instance_data = {}

    @classmethod
    def init(cls, *args, **kwargs):
        """Initialize the framework"""
        cls._initialized = True
        # initialization logic

    @classmethod
    def is_available(cls):
        """Check if framework is available"""
        return cls._initialized

    @classmethod
    def method_name(cls, *args):
        """Framework methods as class methods"""
        # implementation

2. Standardized Imports in __init__.py
All frameworks are now imported consistently as classes:

from .content.package_manager import PackageManager
from .config import SharedPreferences
from .net.connectivity_manager import ConnectivityManager
from .net.wifi_service import WifiService
from .audio.audioflinger import AudioFlinger
from .net.download_manager import DownloadManager
from .task_manager import TaskManager
from .camera_manager import CameraManager
from .sensor_manager import SensorManager
3. Updated Board Initialization Files
Fixed imports in all board files to use the new class-based pattern:

linux.py
fri3d_2024.py
fri3d_2026.py
waveshare_esp32_s3_touch_lcd_2.py
4. Updated UI Components
Fixed topmenu.py to import SensorManager as a class instead of a module.

5. Benefits of This Harmonization
 Consistency: All frameworks follow the same pattern - no more mixing of module imports and class imports  Simplicity: Single, clear way to use frameworks - always as classes with class methods  Functionality: All frameworks work identically - init(), is_available(), and other methods are consistent  Maintainability: New developers see one pattern to follow across all frameworks  No Breaking Changes: Apps continue to work without modification (Quasi apps, Lightning Piggy, etc.)

6. Testing
All tests pass successfully, confirming:

Framework initialization works correctly
Board hardware detection functions properly
UI components render without errors
No regressions in existing functionality
The harmonization is complete and production-ready. All frameworks now provide a unified, predictable interface that's easy to understand and extend.
2026-01-23 15:31:47 +01:00