Add cover art picker setting and update file handling accordingly

- Added new `useCoverArtPicker` setting to CrossPointSettings.
- Updated saveToFile and loadFromFile methods to handle the new setting.
- Modified ReaderActivity to use CoverArtPickerActivity if enabled.
- Adjusted settings count in SettingsActivity.
This commit is contained in:
altsysrq
2025-12-31 17:43:06 -06:00
parent 2c5c5503a5
commit 490ae79ede
7 changed files with 385 additions and 5 deletions

View File

@@ -12,7 +12,7 @@ CrossPointSettings CrossPointSettings::instance;
namespace {
constexpr uint8_t SETTINGS_FILE_VERSION = 1;
// Increment this when adding new persisted settings fields
constexpr uint8_t SETTINGS_COUNT = 11;
constexpr uint8_t SETTINGS_COUNT = 12;
constexpr char SETTINGS_FILE[] = "/.crosspoint/settings.bin";
} // namespace
@@ -38,6 +38,7 @@ bool CrossPointSettings::saveToFile() const {
serialization::writePod(outputFile, fontSize);
serialization::writePod(outputFile, lineSpacing);
serialization::writePod(outputFile, bluetoothEnabled);
serialization::writePod(outputFile, useCoverArtPicker);
outputFile.close();
Serial.printf("[%lu] [CPS] Settings saved to file\n", millis());
@@ -86,6 +87,8 @@ bool CrossPointSettings::loadFromFile() {
if (++settingsRead >= fileSettingsCount) break;
serialization::readPod(inputFile, bluetoothEnabled);
if (++settingsRead >= fileSettingsCount) break;
serialization::readPod(inputFile, useCoverArtPicker);
if (++settingsRead >= fileSettingsCount) break;
} while (false);
inputFile.close();