@@ -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