|
9 | 9 | import mpos.time |
10 | 10 |
|
11 | 11 | from setting_activity import SettingActivity |
12 | | - |
13 | | -# Import IMU calibration activities |
14 | | -from check_imu_calibration import CheckIMUCalibrationActivity |
15 | 12 | from calibrate_imu import CalibrateIMUActivity |
| 13 | +from check_imu_calibration import CheckIMUCalibrationActivity |
16 | 14 |
|
17 | 15 | # Used to list and edit all settings: |
18 | 16 | class SettingsActivity(Activity): |
@@ -52,8 +50,8 @@ def __init__(self): |
52 | 50 | # Advanced settings, alphabetically: |
53 | 51 | #{"title": "Audio Output Device", "key": "audio_device", "value_label": None, "cont": None, "ui": "radiobuttons", "ui_options": [("Auto-detect", "auto"), ("I2S (Digital Audio)", "i2s"), ("Buzzer (PWM Tones)", "buzzer"), ("Both I2S and Buzzer", "both"), ("Disabled", "null")], "changed_callback": self.audio_device_changed}, |
54 | 52 | {"title": "Auto Start App", "key": "auto_start_app", "value_label": None, "cont": None, "ui": "radiobuttons", "ui_options": [(app.name, app.fullname) for app in PackageManager.get_app_list()]}, |
55 | | - {"title": "Check IMU Calibration", "key": "check_imu_calibration", "value_label": None, "cont": None, "ui": "activity", "activity_class": "CheckIMUCalibrationActivity"}, |
56 | | - {"title": "Calibrate IMU", "key": "calibrate_imu", "value_label": None, "cont": None, "ui": "activity", "activity_class": "CalibrateIMUActivity"}, |
| 53 | + {"title": "Check IMU Calibration", "key": "check_imu_calibration", "value_label": None, "cont": None, "ui": "activity", "activity_class": CheckIMUCalibrationActivity}, |
| 54 | + {"title": "Calibrate IMU", "key": "calibrate_imu", "value_label": None, "cont": None, "ui": "activity", "activity_class": CalibrateIMUActivity}, |
57 | 55 | # Expert settings, alphabetically |
58 | 56 | {"title": "Restart to Bootloader", "key": "boot_mode", "dont_persist": True, "value_label": None, "cont": None, "ui": "radiobuttons", "ui_options": [("Normal", "normal"), ("Bootloader", "bootloader")], "changed_callback": self.reset_into_bootloader}, |
59 | 57 | {"title": "Format internal data partition", "key": "format_internal_data_partition", "dont_persist": True, "value_label": None, "cont": None, "ui": "radiobuttons", "ui_options": [("No, do not format", "no"), ("Yes, erase all settings, files and non-builtin apps", "yes")], "changed_callback": self.format_internal_data_partition}, |
@@ -116,19 +114,13 @@ def onResume(self, screen): |
116 | 114 | def startSettingActivity(self, setting): |
117 | 115 | ui_type = setting.get("ui") |
118 | 116 |
|
119 | | - # Handle activity-based settings (NEW) |
| 117 | + activity_class = SettingActivity |
120 | 118 | if ui_type == "activity": |
121 | | - activity_class_name = setting.get("activity_class") |
122 | | - if activity_class_name == "CheckIMUCalibrationActivity": |
123 | | - intent = Intent(activity_class=CheckIMUCalibrationActivity) |
124 | | - self.startActivity(intent) |
125 | | - elif activity_class_name == "CalibrateIMUActivity": |
126 | | - intent = Intent(activity_class=CalibrateIMUActivity) |
127 | | - self.startActivity(intent) |
128 | | - return |
| 119 | + activity_class = setting.get("activity_class") |
| 120 | + if not activity_class: |
| 121 | + print("ERROR: Setting is defined as 'activity' ui without 'activity_class', aborting...") |
129 | 122 |
|
130 | | - # Handle traditional settings (existing code) |
131 | | - intent = Intent(activity_class=SettingActivity) |
| 123 | + intent = Intent(activity_class=activity_class) |
132 | 124 | intent.putExtra("setting", setting) |
133 | 125 | intent.putExtra("prefs", self.prefs) |
134 | 126 | self.startActivity(intent) |
|
0 commit comments