From 918561595ac6d7e2b25c4594732d9f78e111b920 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Sat, 29 Nov 2025 08:16:23 +0100 Subject: [PATCH] Camera app: scanqr_mode and use_webcam aware --- .../assets/camera_app.py | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/internal_filesystem/apps/com.micropythonos.camera/assets/camera_app.py b/internal_filesystem/apps/com.micropythonos.camera/assets/camera_app.py index 4b071f6e..240ebace 100644 --- a/internal_filesystem/apps/com.micropythonos.camera/assets/camera_app.py +++ b/internal_filesystem/apps/com.micropythonos.camera/assets/camera_app.py @@ -305,7 +305,7 @@ class CameraApp(Activity): def open_settings(self): self.image_dsc.data = None self.current_cam_buffer = None - intent = Intent(activity_class=CameraSettingsActivity) + intent = Intent(activity_class=CameraSettingsActivity, extras={"use_webcam": self.use_webcam, "scanqr_mode": self.scanqr_mode}) self.startActivity(intent) def try_capture(self, event): @@ -618,6 +618,9 @@ class CameraSettingsActivity(Activity): ("1920x1080", "1920x1080"), ] + use_webcam = False + scanqr_mode = False + # Widgets: button_cont = None @@ -630,19 +633,18 @@ class CameraSettingsActivity(Activity): self.resolutions = [] def onCreate(self): - # Load preferences - prefs = SharedPreferences(CameraApp.APPNAME) - - # Detect platform (webcam vs ESP32) - try: - import webcam - self.is_webcam = True + self.scanqr_mode = self.getIntent().extras.get("scanqr_mode") + self.use_webcam = self.getIntent().extras.get("use_webcam") + if self.use_webcam: self.resolutions = self.WEBCAM_RESOLUTIONS print("Using webcam resolutions") - except: + else: self.resolutions = self.ESP32_RESOLUTIONS print("Using ESP32 camera resolutions") + # Load preferences + prefs = SharedPreferences(CameraApp.APPNAME) + # Create main screen screen = lv.obj() screen.set_size(lv.pct(100), lv.pct(100)) @@ -658,7 +660,7 @@ class CameraSettingsActivity(Activity): self.create_basic_tab(basic_tab, prefs) # Create Advanced and Expert tabs only for ESP32 camera - if not self.is_webcam or True: # for now, show all tabs + if not self.use_webcam or True: # for now, show all tabs advanced_tab = tabview.add_tab("Advanced") self.create_advanced_tab(advanced_tab, prefs)