Skip to content

Commit 9185615

Browse files
Camera app: scanqr_mode and use_webcam aware
1 parent cee0b92 commit 9185615

File tree

1 file changed

+12
-10
lines changed
  • internal_filesystem/apps/com.micropythonos.camera/assets

1 file changed

+12
-10
lines changed

internal_filesystem/apps/com.micropythonos.camera/assets/camera_app.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ def zoom_button_click(self, e):
305305
def open_settings(self):
306306
self.image_dsc.data = None
307307
self.current_cam_buffer = None
308-
intent = Intent(activity_class=CameraSettingsActivity)
308+
intent = Intent(activity_class=CameraSettingsActivity, extras={"use_webcam": self.use_webcam, "scanqr_mode": self.scanqr_mode})
309309
self.startActivity(intent)
310310

311311
def try_capture(self, event):
@@ -618,6 +618,9 @@ class CameraSettingsActivity(Activity):
618618
("1920x1080", "1920x1080"),
619619
]
620620

621+
use_webcam = False
622+
scanqr_mode = False
623+
621624
# Widgets:
622625
button_cont = None
623626

@@ -630,19 +633,18 @@ def __init__(self):
630633
self.resolutions = []
631634

632635
def onCreate(self):
633-
# Load preferences
634-
prefs = SharedPreferences(CameraApp.APPNAME)
635-
636-
# Detect platform (webcam vs ESP32)
637-
try:
638-
import webcam
639-
self.is_webcam = True
636+
self.scanqr_mode = self.getIntent().extras.get("scanqr_mode")
637+
self.use_webcam = self.getIntent().extras.get("use_webcam")
638+
if self.use_webcam:
640639
self.resolutions = self.WEBCAM_RESOLUTIONS
641640
print("Using webcam resolutions")
642-
except:
641+
else:
643642
self.resolutions = self.ESP32_RESOLUTIONS
644643
print("Using ESP32 camera resolutions")
645644

645+
# Load preferences
646+
prefs = SharedPreferences(CameraApp.APPNAME)
647+
646648
# Create main screen
647649
screen = lv.obj()
648650
screen.set_size(lv.pct(100), lv.pct(100))
@@ -658,7 +660,7 @@ def onCreate(self):
658660
self.create_basic_tab(basic_tab, prefs)
659661

660662
# Create Advanced and Expert tabs only for ESP32 camera
661-
if not self.is_webcam or True: # for now, show all tabs
663+
if not self.use_webcam or True: # for now, show all tabs
662664
advanced_tab = tabview.add_tab("Advanced")
663665
self.create_advanced_tab(advanced_tab, prefs)
664666

0 commit comments

Comments
 (0)